Skip to content

Use conda-forge's kalign-python#221

Merged
jnwei merged 5 commits into
aqlaboratory:mainfrom
sdvillal:kalign-python-from-conda
May 13, 2026
Merged

Use conda-forge's kalign-python#221
jnwei merged 5 commits into
aqlaboratory:mainfrom
sdvillal:kalign-python-from-conda

Conversation

@sdvillal
Copy link
Copy Markdown
Contributor

@sdvillal sdvillal commented May 12, 2026

Summary

Use conda-forge's kalign-python instead of pypi's one in conda-centric environments. This:

Heavy-lifting was creating the package here and here.

Changes

  • Install kalign-python from conda-forge for openfold3-cpu, openfold3-cuda12, openfold3-cuda13

Related Issues

See description

Testing

Tests pass in linux-64 and osx-arm64. Inference works on osx.

Other Notes

This makes conda-centric environments safer (use consolidated building toolchain and openmp runtime). Pypi's wheels with their vendored openmp could result in hard to debug problems. It also eliminates the need to use export KMP_DUPLICATE_LIB_OK=TRUE to run inference in osx.

Important

We should either install this from conda-forge everywhere (adding it to "not-in-pypi" feature) or warn the user and heavily recommend using the conda-centric environments

To think about the pypi-centric ones, likely we should leave as is, warn the user and recommend to always favor the conda-centric ones. Alternatively we could install kalign-python from conda, but that pulls numpy (that would maybe be better anyway because of blas-linking and hopefully always up to date with pypi's numpy) and is much less foolproof for OpenMP (as pypi's dependencies still might bring their openmp runtime).

This makes conda-centric environments safer (use CF consolidated OpenMP)

To think about the pypi-centric ones, likely we should leave as is, warn
the user and recommend to always favor the conda-centric ones.
Alternatively we could install kalign-python from conda, but that pulls
numpy (arguably better because of blas linking and hopefully always up
to date with pypi's numpy) and is much less foolproof for OpenMP.
@sdvillal
Copy link
Copy Markdown
Contributor Author

I actually got one failed test:
openfold3/tests/core/data/primitives/structure/test_conformer.py::test_compute_conformer_snapshot[paracetamol_default_no_hs]

Investigating

@sdvillal sdvillal force-pushed the kalign-python-from-conda branch from 614af85 to 6a20fe5 Compare May 12, 2026 09:30
@sdvillal
Copy link
Copy Markdown
Contributor Author

Failing test was due to rdkit update. Pinned for the time being, will open a different issue.

@sdvillal sdvillal marked this pull request as ready for review May 12, 2026 09:31
@sdvillal
Copy link
Copy Markdown
Contributor Author

@jandom @jnwei reviews appreciated

Copy link
Copy Markdown
Contributor

@jnwei jnwei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! this looks great. Excited to have this in and move towards a full conda build!

Yes, I think we might have run into that rdkit issue before. @ljarosch maybe you could provide more context?

@jnwei jnwei added the safe-to-test Internal only label used to indicate PRs that are ready for automated CI testing. label May 12, 2026
@sdvillal
Copy link
Copy Markdown
Contributor Author

The problems with the docker files might be due to them shipping an old version of pixi (0.65)?

Here we have moved to >=0.68 as we are moving to lockfile v7
https://github.com/prefix-dev/pixi/releases/tag/v0.68.0

@jnwei
Copy link
Copy Markdown
Contributor

jnwei commented May 13, 2026

Yes, we needed to update the Dockerfile.pixi to reflect the new default pixi version. Triggering a manual run of the CI here: https://github.com/aqlaboratory/openfold-3/actions/runs/25776933311 If this is green, will go ahead and merge

@jnwei jnwei linked an issue May 13, 2026 that may be closed by this pull request
@jnwei jnwei merged commit f65659d into aqlaboratory:main May 13, 2026
13 of 22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe-to-test Internal only label used to indicate PRs that are ready for automated CI testing.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] pixi build fails to resolve on Apple M2 silicon

2 participants