Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions pyproject.rocm.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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'",
Expand Down Expand Up @@ -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",
Expand Down
8 changes: 4 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand Down
11 changes: 6 additions & 5 deletions tests/scripts/test_rocm_dependency_profile.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
20 changes: 10 additions & 10 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

50 changes: 6 additions & 44 deletions uv.rocm.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4734,9 +4734,6 @@ mujoco = [
{ name = "mjbatch-uni" },
{ name = "mujoco" },
]
ray = [
{ name = "uniray", extra = ["warp"] },
]
unirl = [
{ name = "rsl-rl-lib" },
{ name = "tensorboard" },
Expand Down Expand Up @@ -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 = [
Expand All @@ -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]
Expand Down Expand Up @@ -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"
Expand Down
Loading