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

Add a task to declare the minimum pins from a locked project #447

Open
maximlt opened this issue Nov 19, 2024 · 0 comments
Open

Add a task to declare the minimum pins from a locked project #447

maximlt opened this issue Nov 19, 2024 · 0 comments

Comments

@maximlt
Copy link
Contributor

maximlt commented Nov 19, 2024

There's already been some discussion about this topic:

We've asked Jason and Isaiah to manually add the min pins to the project YAML (see the modernization checklist https://github.com/holoviz-topics/examples/wiki/Example-Modernization-Checklist-(2024)#change-anaconda-projectyml-to-use-the-latest-workable-version-of-packages):

Add/update the lower pin of all other dependencies (e.g. hvplot to hvplot>=0.9.2, hvplot>=0.8 to hvplot>=0.9.2). Usually, the new/updated lower pin of a dependency will be the version resolved after anaconda prepare has been run. Execute !conda list in a notebook, or anaconda run conda list in the terminal, to display the version of each dependency installed in the environment. Adjusting the lower pin helps ensure that the locks produced for each platform (linux-64, win-64, osx-64, osx-arm64) rely on the tested dependencies and not on some older versions.

The main reason these min pins need to be set is to ensure that the locks for other platforms don't end up with an older version than the one used for development. Typically, I develop an example on osx-arm64 and it gets tested on the Ci for linux. So it doesn't run on Windows at all :) I've seen cases where the lock file had Panel 1 for some platforms, and Panel 0 for others, don't trust the solver it you don't constraint it a little! (cc @droumis, this is the main reason for the min pins that I forgot to mention in our recent discussion).

Alternatively, setting ==, <=, <= pins isn't really recommended as then updating a project becomes even more painful than it is now (all of this should be revised when we use a new workflow tool).

@droumis created a utility to perform that task https://github.com/droumis/minpin, we should certainly use it.

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

No branches or pull requests

1 participant