-
Notifications
You must be signed in to change notification settings - Fork 362
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 support for pixi lock files #1339
Comments
I've been thinking about lock files on and off for a long time, specifically about how to reconcile a "fully specified" environment with a lockfile with the repo2docker approach of a 'base' environment with jupyter-server, etc. about which we have some assumptions for how to launch, which gets updated with a user environment. The problem generally is that repo2docker's design is meant to enable folks to write environment specifications that don't consider Jupyter, but we make it work by adding the required dependencies. This isn't friendly to using lockfiles (and is generally a problem class of its own). There are 3 basic approaches to this that I can think of:
So far, I think the best approach is the last one, to respect lockfiles exactly as-is, and install nothing 'automatically', with the following logic:
The case this will not handle is if no kernel package is in the lockfile, there will be no kernel installed in the locked env. I don't think there's any way for us to install ipykernel that won't make a mess at least sometimes. Usually This approach would be generally applicable to lockfiles (conda-lock, pixi, anything else we decide to support). There are trade-offs for everything, but I think this is the one that's easiest to deal with and most consistent with what lockfiles are meant to do. |
Originally posted by @bollwyvl in #1312 (comment)
This was already touched upon in Issue #1312 a bit (in the above), and now also with conda/conda-lock#615 being open, but it would be quite nice if
pixi
lock files could be supported formally byrepo2docker
. The ability to do cross-platform solves in parallel already brings the accessibility barrier for projects down quite a bit, and then being able to reuse that environment solve forrepo2docker
is very attractive from a user perspective.I appreciate that supporting a new standard is a lot fo work, and @bollwyvl has already shown in Issue #1312 that these sorts of changes are hard. I'm asking as I think it would be very cool!
The text was updated successfully, but these errors were encountered: