Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Poncho pinned #3955

Merged
merged 3 commits into from
Oct 15, 2024
Merged

Poncho pinned #3955

merged 3 commits into from
Oct 15, 2024

Conversation

btovar
Copy link
Member

@btovar btovar commented Oct 11, 2024

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:

{
    "conda": {
        "channels": ["conda-forge"],
        "packages": [
            "ndcctools",
        ]
    },
    "pinned": {
      "conda": {
        "python": "3.8.20=h4a871b0_2_cpython"
      }
    }
}

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.
  • PR RTM Mark your PR as ready to merge.

@dthain dthain merged commit 9f0da1f into cooperative-computing-lab:master Oct 15, 2024
8 checks passed
btovar added a commit that referenced this pull request Oct 21, 2024
* correctly handle conda exec arg in poncho package create

* use with open for spec

* add pinned to spec
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants