Skip to content

feat: implement v3 repodata/matchspec support in pixi spec#6015

Open
wolfv wants to merge 4 commits into
prefix-dev:mainfrom
wolfv:v3-matchspec-pixi
Open

feat: implement v3 repodata/matchspec support in pixi spec#6015
wolfv wants to merge 4 commits into
prefix-dev:mainfrom
wolfv:v3-matchspec-pixi

Conversation

@wolfv
Copy link
Copy Markdown
Member

@wolfv wolfv commented May 5, 2026

Description

Adds new fields to PixiSpec types (extras, flags, license_family, condition, track_features) and switches MatchSpec parsing to v3-aware ParseMatchSpecOptions across pixi crates. The repodata reporter now surfaces a deduplicated warning when a backend reports an unsupported repodata revision.

This is the pixi-side half of v3 support; the pixi-build backend changes follow in a separate PR.

How Has This Been Tested?

You can test with the packages from this channel: https://preview-pr-2147.prefix.dev/channels/test-v3

AI Disclosure

  • This PR contains AI-generated content.
    • I have tested any AI-generated content in my PR.
    • I take responsibility for any AI-generated content in my PR.

Tools: Claude

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added sufficient tests to cover my changes.
  • I have verified that changes that would impact the JSON schema have been made in schema/model.py.

Adds new fields to PixiSpec types (extras, flags, license_family,
condition, track_features) and switches MatchSpec parsing to v3-aware
ParseMatchSpecOptions across pixi crates. The repodata reporter now
surfaces a deduplicated warning when a backend reports an unsupported
repodata revision.

This is the pixi-side half of v3 support; the pixi-build backend
changes follow in a separate PR.
@hunger
Copy link
Copy Markdown
Contributor

hunger commented May 5, 2026

Why don't we need ParseStrictness anymore? Is the new default Strict enough?

@wolfv
Copy link
Copy Markdown
Member Author

wolfv commented May 5, 2026

@hunger we use same "lenient" as before? Or where did you see that?

ParseMatchSpecOptions::lenient().with_repodata_revision(RepodataRevision::V3)

@hunger
Copy link
Copy Markdown
Contributor

hunger commented May 5, 2026

Sorry, I missed that ParseStrictness is now part of the ParseMatchSpecOptions.

wolfv added 2 commits May 14, 2026 07:38
# Conflicts:
#	crates/pixi_build_backend/src/specs_conversion.rs
#	crates/pixi_command_dispatcher/src/keys/solve_pixi_environment.rs
.as_ref()
.unwrap()
.to_string(),
"(__unix and python >=3.10 *cuda)"
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this correct or does it have to be bracket syntax?

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