Skip to content

build: set pyproject and uv as the dependency managers - #623

Merged
RyanPCo merged 1 commit into
mainfrom
ryanco/phase1-packaging
Sep 20, 2026
Merged

RyanPCo merged 1 commit into
mainfrom
ryanco/phase1-packaging

Conversation

@RyanPCo

@RyanPCo RyanPCo commented Sep 12, 2026 •

Copy link
Copy Markdown
Contributor
  • Delete setup.py (superseded by [project]) and environment.yaml (a wrapper
    around requirements.txt). requirements.txt stays untouched: the Eva robot
    Dockerfile installs it (it has drifted from the lock: torch 2.6.0 /
    transformers 4.57.3 vs 2.7.1 / 4.53.2, but that image is out of scope).
    requirements-ray.txt stays: the Ray cluster yamls install it.
  • packages.find: include = ["egomimic*"]. The wheel had shipped external/
    (lerobot, rpl_vision_utils, scale) and tests/ as top-level packages.
  • package-data: hydra_configs/**/.yaml and resources/ (0 of 76 yamls and no
    URDF/XML were in the wheel, so only pip install -e . ever worked).
  • Declare scipy (imported by 7 modules, arrived transitively); uv.lock updated.
  • openpi is documented, not declared: the fork's lerobot pin needs av>=14.2,
    which conflicts with av==12.0.0, so an extra cannot resolve. README now gives
    the no-deps install + transformers_replace patch the lab venv actually uses.
  • README install section points at pyproject; .gitignore build/.
  • tests/unit/test_packaging.py builds the wheel via the build backend (from a
    clean build/, removed again afterwards) and checks it ships every hydra yaml
    and the resources, and nothing outside egomimic/.
    Also verified by installing the wheel into a fresh venv.

Not touched (reverted from an earlier revision of this PR): Dockerfile and
requirements.txt. The Eva robot image installs requirements.txt in step 11,
so both stay exactly as on main. The only remaining reference to a deleted
file was the README's conda env create -f environment.yaml, now a plain
conda create -n emimic python=3.11. pip install -e . and the wheel build
go through pyproject's setuptools backend and never needed setup.py.

Co-Authored-By: Claude Fable 5.1 [email protected]
Claude-Session: https://claude.ai/code/session_01UHDiN8yfERcsiFdz4mXuZi

🤖 Generated with Claude Code

https://claude.ai/code/session_01UHDiN8yfERcsiFdz4mXuZi

@RyanPCo
RyanPCo marked this pull request as ready for review September 12, 2026 17:30
@RyanPCo
RyanPCo force-pushed the ryanco/phase1-packaging branch from 084598b to e85fec0 Compare September 12, 2026 19:39
@RyanPCo
RyanPCo force-pushed the ryanco/phase1-configs branch 2 times, most recently from f363b4d to 5aa55b6 Compare September 12, 2026 21:28
@RyanPCo
RyanPCo force-pushed the ryanco/phase1-packaging branch from e85fec0 to 0c70e63 Compare September 12, 2026 21:28
@RyanPCo
RyanPCo force-pushed the ryanco/phase1-configs branch from 5aa55b6 to 793e0e5 Compare September 12, 2026 21:32
@RyanPCo
RyanPCo force-pushed the ryanco/phase1-packaging branch from 0c70e63 to 74f588b Compare September 12, 2026 21:32
@RyanPCo
RyanPCo force-pushed the ryanco/phase1-packaging branch from 74f588b to c5b24d9 Compare September 12, 2026 22:01
@RyanPCo
RyanPCo force-pushed the ryanco/phase1-configs branch from 793e0e5 to 046a402 Compare September 12, 2026 22:01
@RyanPCo
RyanPCo force-pushed the ryanco/phase1-packaging branch 3 times, most recently from 50582b8 to 7026573 Compare September 12, 2026 22:23
@RyanPCo RyanPCo changed the title build: pyproject + uv.lock as the single dependency spec; fix the wheel build: pyproject + uv.lock as the dependency spec; fix the wheel Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant