from pathlib import Path ROOT = Path(__file__).parents[1] def test_space_metadata_and_runtime_files(): readme = (ROOT / "README.md").read_text() requirements = (ROOT / "requirements.txt").read_text() assert "sdk_version: 5.49.1" in readme assert "python_version: '3.10'" in readme assert "app_file: app.py" in readme assert "gradio==5.49.1" in requirements assert "huggingface-hub==0.36.2" in requirements assert "torch==2.11.0" in requirements assert "torch==2.7.1" not in requirements assert "lerobot.git@0cf864870cf29f4738d3ade893e6fd13fbd7cdb5" in requirements assert "tqdm-loggable>=0.2" in requirements assert (ROOT / "openpi_runtime/openpi/policies/ur_policy.py").is_file() assert (ROOT / "openpi_runtime/openpi_client/base_policy.py").is_file() assert "`pi05_ur_demo_no_state` (default)" in readme assert "`pi05_ur_demo_state`" in readme def test_vendored_config_contains_state_conditioned_ur_policy(): source = (ROOT / "openpi_runtime/openpi/training/config.py").read_text() assert 'name="pi05_ur_demo_state"' in source assert "LeRobotURDataConfig" in source def test_vendored_download_is_python_310_compatible(): source = (ROOT / "openpi_runtime/openpi/shared/download.py").read_text() assert "datetime.UTC" not in source assert "datetime.timezone.utc" in source