diff --git a/pyproject.rocm.toml b/pyproject.rocm.toml index c9d7b57a9..26f1b68af 100644 --- a/pyproject.rocm.toml +++ b/pyproject.rocm.toml @@ -23,7 +23,7 @@ classifiers = [ requires-python = ">=3.10,<3.14" dependencies = [ "numpy", - "unisim-core==2.2.5", + "unisim-core==2.3.0", "prettytable>=3.10", "torch==2.14.0", "triton-rocm==3.8.0 ; sys_platform == 'linux' and platform_machine == 'x86_64'", @@ -68,10 +68,8 @@ mujoco = [ "mujoco~=3.11.0", "mjbatch-uni~=0.2.5", ] -motrix = ["unisim-core[motrix]==2.2.5"] +motrix = ["unisim-core[motrix]==2.3.0"] genesis = ["genesis-world==1.3.3"] -# Keep the optional tensor-ray extra aligned with pyproject.toml. -ray = ["uniray[warp]==0.1.0"] # Keep the training-stack extra aligned with pyproject.toml. unirl = [ "tensordict", diff --git a/pyproject.toml b/pyproject.toml index 9387429d3..012f2df13 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,7 +33,7 @@ classifiers = [ requires-python = ">=3.10,<3.14" dependencies = [ "numpy", - "unisim-core==2.2.5", + "unisim-core==2.3.0", "prettytable>=3.10", # A range (not an exact pin) lets ROCm users substitute a ROCm torch # build; uv.lock pins the tested CUDA builds via tool.uv.sources. @@ -102,17 +102,17 @@ newton = [ "pyglet>=2.1.6,<3", "imgui-bundle>=1.92.0", ] -motrix = ["unisim-core[motrix]==2.2.5"] +motrix = ["unisim-core[motrix]==2.3.0"] genesis = ["genesis-world==1.3.3"] # Wheels are CPython 3.12/3.13 Linux x86_64 only; the marker keeps uv lock # resolvable for the other required-environments. superdex = [ - "unisim-core[superdex]==2.2.5 ; python_version >= '3.12' and sys_platform == 'linux' and platform_machine == 'x86_64'", + "unisim-core[superdex]==2.3.0 ; python_version >= '3.12' and sys_platform == 'linux' and platform_machine == 'x86_64'", ] # Tensor ray perception is optional and is discovered through UniSim's public # caster factory. The PyPI distribution is `uniray`; the import namespace is # `uni_ray`. -ray = ["uniray[warp]==0.1.0"] +ray = ["uniray[warp]==0.1.1"] # The merged RL/training stack (unilab.rl) needs these optional packages; # `pip install unilab` stays a lightweight env without them. Single extra on # purpose: APPO/SAC/FlashSAC/off-policy share these; only PPO (rsl-rl) is diff --git a/tests/scripts/test_rocm_dependency_profile.py b/tests/scripts/test_rocm_dependency_profile.py index 25101ffcf..35d126b8d 100644 --- a/tests/scripts/test_rocm_dependency_profile.py +++ b/tests/scripts/test_rocm_dependency_profile.py @@ -69,12 +69,13 @@ def test_rocm_profile_publishes_genesis_extra() -> None: def test_ray_optional_dependencies_use_published_packages() -> None: - for path in (ROOT / "pyproject.toml", ROOT / "pyproject.rocm.toml"): - project = _project(path) - extras = project["project"]["optional-dependencies"] - assert extras["ray"] == ["uniray[warp]==0.1.0"] - assert "uniray" not in _dependencies(path) + default_project = _project(ROOT / "pyproject.toml") + assert default_project["project"]["optional-dependencies"]["ray"] == ["uniray[warp]==0.1.1"] + + rocm_project = _project(ROOT / "pyproject.rocm.toml") + assert "ray" not in rocm_project["project"]["optional-dependencies"] + for project in (default_project, rocm_project): sources = project["tool"]["uv"]["sources"] assert "unisim-core" not in sources assert "uniray" not in sources diff --git a/uv.lock b/uv.lock index 3370c46cb..7c39c75c8 100644 --- a/uv.lock +++ b/uv.lock @@ -5273,10 +5273,10 @@ requires-dist = [ { name = "tqdm" }, { name = "trimesh", specifier = ">=3.21.7" }, { name = "typing-extensions" }, - { name = "uniray", extras = ["warp"], marker = "extra == 'ray'", specifier = "==0.1.0" }, - { name = "unisim-core", specifier = "==2.2.5" }, - { name = "unisim-core", extras = ["motrix"], marker = "extra == 'motrix'", specifier = "==2.2.5" }, - { name = "unisim-core", extras = ["superdex"], marker = "python_full_version >= '3.12' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'superdex'", specifier = "==2.2.5" }, + { name = "uniray", extras = ["warp"], marker = "extra == 'ray'", specifier = "==0.1.1" }, + { name = "unisim-core", specifier = "==2.3.0" }, + { name = "unisim-core", extras = ["motrix"], marker = "extra == 'motrix'", specifier = "==2.3.0" }, + { name = "unisim-core", extras = ["superdex"], marker = "python_full_version >= '3.12' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'superdex'", specifier = "==2.3.0" }, { name = "viser", specifier = ">=1.0.26" }, { name = "wandb", marker = "extra == 'unirl'", specifier = ">=0.22.3" }, { name = "warp-lang", marker = "extra == 'mjwarp'", specifier = "==1.16.0" }, @@ -5295,16 +5295,16 @@ dev = [ [[package]] name = "uniray" -version = "0.1.0" +version = "0.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "unisim-core" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/12/d4/71015d68bae08d996f0c7d19e17516cb012e43c5f480fc56a9c1fe9ab4ba/uniray-0.1.0.tar.gz", hash = "sha256:2bbc87029615d6a4efa7315a12615f217d5219f53e0627a8ba8ac93b5ea045ee", size = 32970, upload-time = "2026-10-26T12:03:45.548Z" } +sdist = { url = "https://files.pythonhosted.org/packages/55/55/8dcfc3840149ee69ca0c387161fbcfe60e5c786ffc6cc5734210251115bb/uniray-0.1.1.tar.gz", hash = "sha256:c37d16ab82b8394547e453ebe3ec97e104820d796c7642f23378b9c93c396e16", size = 33218, upload-time = "2026-10-31T09:40:38.083Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7a/79/4c27367b240a58610657673f9e83499ed4ed5295dad0d17d07ac551d897c/uniray-0.1.0-py3-none-any.whl", hash = "sha256:b4bbfd5e3befb4f6327593172f4ed8e583e49086e437926b80cdf81738f7c88b", size = 36533, upload-time = "2026-10-26T12:03:40.835Z" }, + { url = "https://files.pythonhosted.org/packages/5d/1a/2de1c62495e72c84ce9662acf37668b16a09e0139e412713ce57ad6746fa/uniray-0.1.1-py3-none-any.whl", hash = "sha256:b1f637ac95beb6c2ee9386eed8a70a43d5fa3dd36571855078bb9391bb3ae00c", size = 36977, upload-time = "2026-10-31T09:40:36.748Z" }, ] [package.optional-dependencies] @@ -5314,15 +5314,15 @@ warp = [ [[package]] name = "unisim-core" -version = "2.2.5" +version = "2.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5c/40/1b4ef18c155eb56857678c1b61585e4fbb76c650b8b55a125da8c45a6638/unisim_core-2.2.5.tar.gz", hash = "sha256:46bf6e1f0edf2a98b912b57ea6bebcd3fed6d27f67e18382f3e9d83d6678427c", size = 760419, upload-time = "2026-10-31T09:28:00.341Z" } +sdist = { url = "https://files.pythonhosted.org/packages/31/ba/960eb850827015f38c9533aa634fdd9cecfdfe9bfcb13c5ab73afc8dc9fe/unisim_core-2.3.0.tar.gz", hash = "sha256:72a2cf426c871bbc8ebdd9fe67aceac605bb7f565f6a089a4c2d4a6979e50b08", size = 760373, upload-time = "2026-10-31T09:33:04.774Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/be/29/4ffa1f1fd4bfc0c6eab8b34a99b48a55d1506c3c5b741ba7cfe0976df6e7/unisim_core-2.2.5-py3-none-any.whl", hash = "sha256:da5e3b25833ea8fff4514d3204ebd66a09d4e119e2995d5d8f7593dd146c43bd", size = 808720, upload-time = "2026-10-31T09:27:58.437Z" }, + { url = "https://files.pythonhosted.org/packages/1c/01/eae91b154d0873f61aa35e3a8b1887feb4230aa0c4c0421109fc4bd922d9/unisim_core-2.3.0-py3-none-any.whl", hash = "sha256:5525bf7260c50d9ec684c1cc43cb0761fc7e65ac9ba3d44731e7dcfb0c96157b", size = 808722, upload-time = "2026-10-31T09:33:02.623Z" }, ] [package.optional-dependencies] diff --git a/uv.rocm.lock b/uv.rocm.lock index 676de544b..8197da5f7 100644 --- a/uv.rocm.lock +++ b/uv.rocm.lock @@ -4734,9 +4734,6 @@ mujoco = [ { name = "mjbatch-uni" }, { name = "mujoco" }, ] -ray = [ - { name = "uniray", extra = ["warp"] }, -] unirl = [ { name = "rsl-rl-lib" }, { name = "tensorboard" }, @@ -4785,13 +4782,12 @@ requires-dist = [ { name = "trimesh", specifier = ">=3.21.7" }, { name = "triton-rocm", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'", specifier = "==3.8.0", index = "https://download.pytorch.org/whl/rocm7.2" }, { name = "typing-extensions" }, - { name = "uniray", extras = ["warp"], marker = "extra == 'ray'", specifier = "==0.1.0" }, - { name = "unisim-core", specifier = "==2.2.5" }, - { name = "unisim-core", extras = ["motrix"], marker = "extra == 'motrix'", specifier = "==2.2.5" }, + { name = "unisim-core", specifier = "==2.3.0" }, + { name = "unisim-core", extras = ["motrix"], marker = "extra == 'motrix'", specifier = "==2.3.0" }, { name = "viser", specifier = ">=1.0.26" }, { name = "wandb", marker = "extra == 'unirl'", specifier = ">=0.22.3" }, ] -provides-extras = ["drake", "mujoco", "motrix", "genesis", "ray", "unirl"] +provides-extras = ["drake", "mujoco", "motrix", "genesis", "unirl"] [package.metadata.requires-dev] dev = [ @@ -4802,36 +4798,17 @@ dev = [ { name = "ruff" }, ] -[[package]] -name = "uniray" -version = "0.1.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, - { name = "unisim-core" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/12/d4/71015d68bae08d996f0c7d19e17516cb012e43c5f480fc56a9c1fe9ab4ba/uniray-0.1.0.tar.gz", hash = "sha256:2bbc87029615d6a4efa7315a12615f217d5219f53e0627a8ba8ac93b5ea045ee", size = 32970, upload-time = "2026-10-26T12:03:45.548Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7a/79/4c27367b240a58610657673f9e83499ed4ed5295dad0d17d07ac551d897c/uniray-0.1.0-py3-none-any.whl", hash = "sha256:b4bbfd5e3befb4f6327593172f4ed8e583e49086e437926b80cdf81738f7c88b", size = 36533, upload-time = "2026-10-26T12:03:40.835Z" }, -] - -[package.optional-dependencies] -warp = [ - { name = "warp-lang" }, -] - [[package]] name = "unisim-core" -version = "2.2.5" +version = "2.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5c/40/1b4ef18c155eb56857678c1b61585e4fbb76c650b8b55a125da8c45a6638/unisim_core-2.2.5.tar.gz", hash = "sha256:46bf6e1f0edf2a98b912b57ea6bebcd3fed6d27f67e18382f3e9d83d6678427c", size = 760419, upload-time = "2026-10-31T09:28:00.341Z" } +sdist = { url = "https://files.pythonhosted.org/packages/31/ba/960eb850827015f38c9533aa634fdd9cecfdfe9bfcb13c5ab73afc8dc9fe/unisim_core-2.3.0.tar.gz", hash = "sha256:72a2cf426c871bbc8ebdd9fe67aceac605bb7f565f6a089a4c2d4a6979e50b08", size = 760373, upload-time = "2026-10-31T09:33:04.774Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/be/29/4ffa1f1fd4bfc0c6eab8b34a99b48a55d1506c3c5b741ba7cfe0976df6e7/unisim_core-2.2.5-py3-none-any.whl", hash = "sha256:da5e3b25833ea8fff4514d3204ebd66a09d4e119e2995d5d8f7593dd146c43bd", size = 808720, upload-time = "2026-10-31T09:27:58.437Z" }, + { url = "https://files.pythonhosted.org/packages/1c/01/eae91b154d0873f61aa35e3a8b1887feb4230aa0c4c0421109fc4bd922d9/unisim_core-2.3.0-py3-none-any.whl", hash = "sha256:5525bf7260c50d9ec684c1cc43cb0761fc7e65ac9ba3d44731e7dcfb0c96157b", size = 808722, upload-time = "2026-10-31T09:33:02.623Z" }, ] [package.optional-dependencies] @@ -4970,21 +4947,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c4/e8/76836b75d401ff5912aaf513176e64557ceaec4c4946bfd38a698ff84d48/wandb-0.25.1-py3-none-win_arm64.whl", hash = "sha256:cc7c34b70cf4b7be4d395541e82e325fd9d2be978d62c9ec01f1a7141523b6bb", size = 22080774, upload-time = "2026-03-10T23:51:40.196Z" }, ] -[[package]] -name = "warp-lang" -version = "1.16.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/73/8a/8be711f3b5431a6e0bdb97117d681b03cf2bb95d6fcf8869861900898d88/warp_lang-1.16.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:19a7590c4484e8250ab19165311d2a1774138663b361c41e8be2865c7515c4ae", size = 25221601, upload-time = "2026-08-03T02:26:38.389Z" }, - { url = "https://files.pythonhosted.org/packages/1d/3d/47feef2eee4739437e19d6949ea231ca4181c9eacbaa39144761e6130d94/warp_lang-1.16.0-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:96449fc1e3b354185e2f09434fb794b5953ab2e8673b104d7e7f48d5d418bb35", size = 163074225, upload-time = "2026-08-03T02:27:03.632Z" }, - { url = "https://files.pythonhosted.org/packages/db/96/0c2b070b3101c669955cafd36262548b2e8b00dfdeda3aeb7afbc0f9d65c/warp_lang-1.16.0-py3-none-manylinux_2_34_aarch64.whl", hash = "sha256:d4715171bd6821436b82293d774c9a082ace08215c189572b4348d1e48fb8ee8", size = 167563789, upload-time = "2026-08-03T02:27:37.512Z" }, - { url = "https://files.pythonhosted.org/packages/7e/17/c98fab81156f0d25f17200f52f69210b94a9abba101066736df8cc493522/warp_lang-1.16.0-py3-none-win_amd64.whl", hash = "sha256:8690c9096e0a271985339d4aa4b37675e7d62852620ca861ac032dc85b124542", size = 146387135, upload-time = "2026-08-03T02:28:17.956Z" }, -] - [[package]] name = "wcwidth" version = "0.6.0"