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

refactor!: lock-file API #942

Merged

Conversation

baszalmstra
Copy link
Collaborator

This PR significantly refactors the lock-file API to make the distinction between source and binary conda packages. It also changes the way we handle borrowing data from the lock-file, preferring borrowing over owned objects.

The Python bindings have also been completely refactored to be more pythonic. Instead of having a single LockedPackage there is no a class hierarchy of LockedPackage -> CondaLockedPackage, PypiLockedPackage -> CondaLockedSourcePackage and CondaLockedBinaryPackage.

@baszalmstra baszalmstra changed the title refactor: lock-file API refactor!: lock-file API Nov 15, 2024
@baszalmstra baszalmstra merged commit 2313fba into conda:feat/pixi-build Nov 18, 2024
15 checks passed
baszalmstra added a commit that referenced this pull request Nov 18, 2024
* feat: lock file update for source dependencies (#866)

Co-authored-by: Bas Zalmstra <[email protected]>
Co-authored-by: Bas Zalmstra <[email protected]>

* feat: add input hash to conda package

* feat: add input hash/glob to lock file (#868)

* fix: mark records as changed if hash Option value is different (#874)

This adds the case that where the hash changed, which happened for my
source build, that a re-install is triggered. I think this is the
correct behavior, not sure if it will trigger *too* many re-installs but
did not feel that would be the case.

* fix: python bindings issues (#872)

* fix: normalize channel in lock file (#871)

* fix: dead-lock issue

* feat: use sha in cache lock file, needed for source builds. (#900)

* fix: package hash revalidation (#904)

* refactor!: lock-file API (#942)

This PR significantly refactors the lock-file API to make the
distinction between source and binary conda packages. It also changes
the way we handle borrowing data from the lock-file, preferring
borrowing over owned objects.

The Python bindings have also been completely refactored to be more
pythonic. Instead of having a single `LockedPackage` there is no a class
hierarchy of `LockedPackage` -> `CondaLockedPackage`,
`PypiLockedPackage` -> `CondaLockedSourcePackage` and
`CondaLockedBinaryPackage`.

---------

Co-authored-by: Tim de Jager <[email protected]>
Co-authored-by: Tim de Jager <[email protected]>
Co-authored-by: nichmor <[email protected]>
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

Successfully merging this pull request may close these issues.

2 participants