Repository to build wheels for openmm.
We are using github actions to build wheels. Wheels are found in the github actions artifacts section and when a release is made in this github repo, wheels are uploaded to the release as well.
Use ./rerender.sh to rerender this feedstock
There are two wheels for each platform. Eg: for linux
OpenMM-8.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whlopenmm_cuda-8.1.1.12-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
The first wheel contains all files except the CUDA plugins and the second wheel contains all the CUDA plugins.
When uploaded to PyPI, these wheels can be installed with
pip install openmm[cuda12]
or
pip install openmm[cuda11.2]
or
pip install openmm[cuda11.8]
To install without the CUDA plugins,
pip install openmm
- Change
versionandgit_revinrecipe/meta.yaml. - Update for new python/cuda versions. See next section.
- Run
./rerender.sh. - Make a PR and merge once CI passes.
- Make a release in this github repo and wait for CI to upload wheels. eg:
v8.1.1-0. - Download the wheels using
./download_wheels.sh v8.1.1-0. - Optionally test the wheels.
- Upload the wheels using
twine upload dist.
- Copy the migration file for python/cuda from conda-forge/openmm-feedstock For eg: python 3.12 migration
- Run
./rerender.sh. - Make a new release in the github repo. eg:
v8.1.1-1. - Follow steps 6, 7, 8 as above.
To get downstream packages as wheels, we need to do the following,
- Get a
conda-forgefeedstock up and running. - Copy the feedstock into a new repo for wheel changes
- Copy
recipe/build_openmm*,conda-forge.yml,recipe/conda_build_config.yaml,rerender.sh,download_wheels.shfrom this repo. - Copy the dependencies in
recipe/meta.yaml'sbuildindicated by# START WHEEL CHANGES. - Make sure
hostinrecipe/meta.yamlhas no C++ shared dependencies on Linux. To be compatible withmanylinuxspec, we need to build C++ shared libraries inrecipe/build_openmm.sh. - If there are CUDA specific plugins, then we need to provide a separate python wheel like
openmm-cuda. Seerecipe/0001-wheels.patchfor how to do that. - Edit
recipe/build_openmm.shto update the lists of headers, libraries to include in each wheel.