Source code for visionsim.simulate

from __future__ import annotations

import os
import shlex
import subprocess
import sys
from pathlib import Path

import visionsim

from . import install


[docs] def install_dependencies( executable: str | os.PathLike | None = None, editable: bool = False ) -> subprocess.CompletedProcess: """Install additional packages into blender`s runtime. Args: executable (str | os.PathLike | None, optional): Same as `BlenderServer.spawn`. Defaults to None. editable: (bool, optional): If set, install current visionsim as editable in blender. Only works if visionsim is already installed as editable locally. """ cmd = f"{executable or 'blender'} -b --python-use-system-env --python '{install.__file__}' -- " cmd += ( f"--version={visionsim.__version__}" if not editable else f"--editable='{Path(visionsim.__path__[0]).parent.as_posix()}'" ) return subprocess.run(shlex.split(cmd), stdout=sys.stdout, stderr=subprocess.STDOUT, universal_newlines=True)