feat: Relative path support in LockFile
Description
Make pixi handle relative paths to pypi dependencies in the LockFile. This helps when checking in pixi.lock files that reference local python packages. Instead of ending up with a machine specific path in the lock file we have a relative path that should work for all developers.
This depends on the rattler part which is here: https://github.com/conda/rattler/pull/1760
The PR consists of several changes:
- Update to the rattler_lock API changes made in conda/rattler#1760
- Make sure the
non-pep508-extensionsare enabled in pixi as well - Convert between uv relative paths and pixi relative paths
Note: This only works with pixi.log, not when storing the pixi configuration inline in pyproject.toml. Pyproject.toml will need to get an update to enable it to handle relative paths (like accept a work directory when parsing the file as well as non-pep508-extension support). I did not want to complicate this PR by requiring another PR to yet another crate.
Relates to: #4680
CI fails right now since rattler_lock does not have the required version.
Updated the change about adapting to rattler API changes.
Maybe we can patch the rattler versions in this PR? So we can see if CI runs and then change it back after a rattler release?