The development recipes here create conda packages for scientific and numerical software components associated with the Omnia project. The packages built from these recipes are shared with the community on anaconda.org.
These are development recipes for building packages from the bleeding-edge latest source versions of selected packages.
Packages are built daily by Azure's Schedules.
To install a development package, use
conda install -c conda-forge -c omnia-dev -c omnia <package_name>You can use channel labels to request a specific variant, like CUDA versions. For example, for CUDA 11.0:
conda install -c conda-forge -c omnia-dev/label/cuda110 -c omnia openmmDefault CUDA version is currently 11.0
Python packages are built against:
- Python 3.6, 3.7, 3.8, 3.9
- CUDA 8.0, 9.0, 9.1, 9.2, 10.0, 10.1, 10.2, 11.0
- Linux-64, MacOS, Windows
To add a new Python version:
- Edit
.conda_configs/gen_confs.pyto extendPYTHONSwith the new Python version - Re-run
gen_confs.pyto generate new YAML files - Commit the new YAML files to the repository
- Update this
README.mdwith the newly supported Python versions - Edit YAML files in
.azure-pipelines/to extend build matrix with new Python version - Edit
conda_build_config.yamlto add Python version to thepython:tag
The recipes here are automatically built using Azure DevOps
for all platforms. For linux, we use a modified
Conda-forge Linux Anvil to ensure that the
packages are fully compatible across multiple linux distributions and versions. These images are maintained in omnia-md/cf-docker-images.
To build a package yourself, run conda build <package_name>, or
./conda-build-all ./* to build multiple packages across each of the
supported Python/Numpy configurations.
The conda-build-all script supports certain flags and modifications to the meta.yaml files to help control the
build environment.
- meta.yaml
extra:include_omnia_label {str}: Allows specifying a specific tag in the Omnia channel to check the package for dependencies and building against. - meta.yaml
extra:scheduled: {bool}: Flags a recipe to be built in the nightly builds, but will always upload to theomnia-devchannel - meta.yaml
extra:force_upload {bool}: Forces the built recipes to be uploaded, even if they already exist on omnia (normally pre-existing blocks a build)