-
Notifications
You must be signed in to change notification settings - Fork 63
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
refactor: lock-file v4 #484
refactor: lock-file v4 #484
Conversation
rattler-lock has been completely overhauled to include a new file format that much better serves our goals. It allows storing multiple environments and includes the complete PackageRecord information.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did a quick read, and the only thing I found strange so far is a line that you didn't changed 😉
Awesome work
d511d43
to
c004992
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really exited for this!! Left a few questions
Refactors pixi to make use of the changes made in conda/rattler#484 . This completely refactors how lock-files are checked and how they are rebuilt. @ruben-arts Please carefully test that lock-files are still properly verified and updated. Note that this does **not** add multi-env support yet. This work is just done to integrate with multi-env capable lock-files.
This completely refactors the lock-file implementation in
rattler-lock
significantly changing the format. Old lock-files can still be read by the current implementation.The goal of the refactor is to allow multiple environments to be stored in the lock-file as well as significantly simplifying the format itself.
See the top-level crate documentation for more information about the design and considerations.
@ruben-arts I also added behavior to write packages non-alphabetic but in a more "human-readable" friendly style.
Note
This significantly deviates from our previous implementation loosely based on conda-lock.
The code is still able to parse
conda-lock.yml
files! Its just not able to output a compatible conda-lock file.Note that this has already been the case for a long time but the differences didn't used to be so big.
Important
This PR is still in previous because I want to first test out the API in Pixi. Nonetheless, reviews are already welcome!
I also realize this is a huge change, Id be happy to walk anyone through the code on discord!
Closes #465