[project] name = "manipulator-isaac-learning" version = "0.1.0" description = "Simulation-first manipulation learning with Isaac Lab + LeRobot" readme = "README.md" requires-python = "==3.11.*" dependencies = [ "numpy>=1.26.0", "python-dotenv>=1.0.0", ] [project.optional-dependencies] # Sim: runs natively on the host VM (not in Docker). # isaaclab[isaacsim,all] pulls in isaacsim 5.x from pypi.nvidia.com automatically. # Per: https://isaac-sim.github.io/IsaacLab/main/source/setup/installation/isaaclab_pip_installation.html sim = [ "isaaclab[isaacsim,all]==2.3.2.post1", "huggingface_hub>=0.23.0", "pyzmq>=26.0.0", ] # Train lives in train/ — its own Python 3.12 package with its own lockfile. # See train/pyproject.toml and Dockerfile. # --------------------------------------------------------------------------- # uv configuration # --------------------------------------------------------------------------- [tool.uv] # Solve only for the Linux/3.11 target where Isaac Sim runs. environments = [ "sys_platform == 'linux' and python_version == '3.11'", ] # pywin32 is Windows-only but some transitive dep omits the platform marker. override-dependencies = [ "pywin32 ; sys_platform == 'win32'", ] [tool.uv.sources] # isaacsim is pulled in transitively by isaaclab[isaacsim,all] — route it to nvidia PyPI. isaacsim = [{ index = "nvidia" }] [[tool.uv.index]] name = "nvidia" url = "https://pypi.nvidia.com" explicit = true # --------------------------------------------------------------------------- # Build # --------------------------------------------------------------------------- [project.scripts] test-robot = "manipulator_learning.test_robot:main" [build-system] requires = ["setuptools>=68"] build-backend = "setuptools.build_meta" [tool.setuptools.packages.find] where = ["src"]