The Cooperative Computing Tools (cctools) enable large scale distributed computations to harness hundreds to thousands of machines from clusters, clouds, and grids.
This pr adds “pinned” to the poncho spec. The target use case is something like topcoffea, where we want to create an environment compatible with another environment. For example, we want numpy in the former, which means it should be the same version of numpy in the latter. The “pinned” spec allows specifying versions of packages that should be used in case they need to be installed as a dependency.
The above will try to install ndcctools, which depends on python. Python is pinned to version 3.8.20 and thus the version installed for ndcctools is 7.12.0, the last version that exists with python 3.8 support.
Currently this only works for conda packages. I'm thinking how to do this easily for pip.
If this looks good, I can update the docs.
Merge Checklist
The following items must be completed before PRs can be merge.
Check these off to verify you have completed all steps.
[ ] make test Run local tests prior to pushing.
[ ] make format Format source code to comply with lint policies. Note that some lint errors can only be resolved manually (e.g., Python)
[ ] make lint Run lint on source code prior to pushing.
[ ] Manual Update Update the manual to reflect user-visible changes.
[ ] Type Labels Select a github label for the type: bugfix, enhancement, etc.
[ ] Product Labels Select a github label for the product: TaskVine, Makeflow, etc.
Proposed Changes
This pr adds “pinned” to the poncho spec. The target use case is something like topcoffea, where we want to create an environment compatible with another environment. For example, we want numpy in the former, which means it should be the same version of numpy in the latter. The “pinned” spec allows specifying versions of packages that should be used in case they need to be installed as a dependency.
As an example:
The above will try to install
ndcctools
, which depends on python. Python is pinned to version3.8.20
and thus the version installed forndcctools
is7.12.0
, the last version that exists with python 3.8 support.Currently this only works for conda packages. I'm thinking how to do this easily for pip.
If this looks good, I can update the docs.
Merge Checklist
The following items must be completed before PRs can be merge. Check these off to verify you have completed all steps.
make test
Run local tests prior to pushing.make format
Format source code to comply with lint policies. Note that some lint errors can only be resolved manually (e.g., Python)make lint
Run lint on source code prior to pushing.