Skip to content

Check that the new environment is compatible with both PIP and conda#1

Merged
sdvillal merged 2 commits into
modernize-conda-environmentfrom
modernize-conda-environment-with-pypi-compatibility
Dec 23, 2025
Merged

Check that the new environment is compatible with both PIP and conda#1
sdvillal merged 2 commits into
modernize-conda-environmentfrom
modernize-conda-environment-with-pypi-compatibility

Conversation

@Emrys-Merlin
Copy link
Copy Markdown
Collaborator

This branch aims to find a middleground between the PyPI and conda world. Openfold-3 should be intallable in both.

For testing, I created two new Dockerfiles. One for the PyPI setup (using uv) and one for the pixi setup. This was to isolate everything as far as possible from the base system. Think of these Dockerfiles as build instructions. These build by no means production ready docker images (however, I tried to keep them very minimal).

Build the docker images

docker build -f Docker.$SUFFIX -t of3_$SUFFIX .

where $SUFFIX should be one of pypi or pixi.

Run the inference tests

docker run -v $HOME/.openfold3:/root/.openfold3 --gpus all of3_$SUFFIX

Please note the volume mount. It is necessary to mount the checkpoint inside the docker image. I thought of adding the checkpoints directly to the image, but the setup_openfold entrypoint is purely interactive (no force option), which made that difficult and I did not want to spend the time to fix it. The volume mount solution needs another manual step. Inside the directory is a file calld ckpt_root which stores the absolute path to the checkpoint. This needs to be changed to /root/.openfold3. Sorry for that.

Note: I set the python version to 3.12 for the uv setup while debugging the ABI issue and forgot to switch back. It should work with 3.13 too, I think and I can try it later if it's necesary.

@Emrys-Merlin Emrys-Merlin changed the title Modernize-conda-environment-with-pypi-compatibility Check that the new environment is compatible with both PIP and conda Dec 17, 2025
@Emrys-Merlin
Copy link
Copy Markdown
Collaborator Author

@sdvillal I finally got the "pure pip environment" to work after switching to Docker for isolation. Overall, the changes were rather minimal to get it working again.

  1. We need the hacks back (or another way to set CUTLASS_PATH and adding the cutlass headers to CPATH in the pip world)
  2. We need nvidia-cutlass. I added it in a separate dependency group for now. In this way, it's not installed when using the pixi/conda env.

@sdvillal
Copy link
Copy Markdown
Owner

Thanks a lot @Emrys-Merlin, good work, particularly with the "minimal installation instruction dockerfiles". There are also some efforts upstream to get more streamlined the current environments (see our draft PR for summary). I will merge this and keep working in the original branch.

@sdvillal sdvillal merged commit 619264d into modernize-conda-environment Dec 23, 2025
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.

2 participants