Skip to content

Add rattler-lock-v7 support for overlap release - #143

Open
jezdez wants to merge 7 commits into
mainfrom
rattler-lock-v7
Open

jezdez wants to merge 7 commits into
mainfrom
rattler-lock-v7

Conversation

@jezdez

@jezdez jezdez commented May 8, 2026

Copy link
Copy Markdown
Member

Description

Add rattler-lock-v7 alongside rattler-lock-v6 for the overlap release. Keep the unversioned pixi alias on v6 and emit a PendingDeprecationWarning explaining the future alias change. Explicit rattler-lock-v6, pixi-lock-v6 and pixi-lock-v7 selections remain quiet.

Represent v7 platform declarations, environment options, package references and PyPI metadata. Validate environment and platform selection, reject malformed or missing package references, reject unsupported conda_source installs, and preserve PyPI references as external package metadata.

Preserve explicit conda package build_number values, including zero, in the v7 model and exporter. Build numbers remain independent of build strings, and files that omit the optional field continue to use cached package metadata. This applies the same correction as #175 to v7's separate implementation. Use conda's current YAML API for the new exporter and comparison helper.

Document the overlap aliases and maintainer warning policy. Filename-only export to pixi.lock remains subject to conda/conda#15963 while both format versions register that filename.

Closes #178. Related to #133 and #176.

Checklist - did you ...

  • Add a file to the news directory for the next release's release notes?
  • Add / update necessary tests?
  • Add / update outdated documentation?

@jezdez
jezdez marked this pull request as ready for review June 3, 2026 21:16
@jezdez
jezdez requested a review from a team June 3, 2026 21:16
@jezdez jezdez changed the title Add rattler-lock-v7 format support (overlap release) Add rattler-lock-v7 support for overlap release Jul 1, 2026
Ship the new rattler-lock-v7 canonical name alongside rattler-lock-v6
following the documented bump policy. The unversioned `pixi` alias
stays on v6 during this overlap release; `pixi-lock-v7` is available
as a version-pinned alias.

Key v7 changes modeled:
- Top-level `platforms` list (replaces implicit per-environment platforms)
- `conda_source` package type for source builds
- Per-environment `options` (channel-priority, strategy)
- Per-package `index` for PyPI custom indexes
- Split PyPI distribution/source packages

The v6 export tests are updated to pass `--format=rattler-lock-v6`
explicitly, since both versions now register `pixi.lock` as a default
filename and conda raises PluginError on the ambiguity.
Aligns the v6 test data directory naming with pixi-v7-metadata for
consistency across format versions.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support rattler-lock v7 alongside v6

2 participants