Skip to content

CEP 44: Optional dependency groups - #165

Merged
jaimergp merged 13 commits into
mainfrom
extras-deps
May 14, 2026
Merged

CEP 44: Optional dependency groups#165
jaimergp merged 13 commits into
mainfrom
extras-deps

Conversation

@jaimergp

@jaimergp jaimergp commented Apr 27, 2026

Copy link
Copy Markdown
Member

Checklist for submitter

  • I am submitting a new CEP: Optional Dependency Groups.
    • I am using the CEP template by creating a copy cep-0000.md named cep-XXXX.md in the root level.
  • I am submitting modifications to CEP XX.
    • The PR title reflects the CEP I'm modifying: CEP XX: Amend XYZ.
    • I updated the "Updated" date.
    • I added the link of this PR to the Discussions row.
    • I added or extended the ## Changelog section right above the final "Copyright" section with an item that uses syntax YYYY-MM-DD: Brief explanation of changes.
  • Something else: (add your description here).

Checklist for CEP approvals

  • The vote period has ended and the vote has passed the necessary quorum and approval thresholds.
  • A new CEP number has been minted. Usually, this is ${greatest-number-in-main} + 1.
  • The cep-XXXX.md file has been renamed accordingly.
  • The # CEP XXXX - header has been edited accordingly.
  • The CEP status in the table has been changed to approved.
  • The last modification date in the table has been updated accordingly.
  • The table in the README has been updated with the new CEP entry.
  • The pre-commit checks are passing.

Comes from #111

@jaimergp

jaimergp commented Apr 27, 2026

Copy link
Copy Markdown
Member Author

Dear @conda/steering-council,

The vote for this CEP has started. It will be open for two weeks, until May 11th, 2026, 23:59 Anywhere on Earth. This time period has been chosen to make it eligible for time-out rules. As an Enhancement Proposal vote, it requires 60% affirmative votes to pass.

To vote, please mark the relevant checkbox under your username:

@wolfv

wolfv commented May 4, 2026

Copy link
Copy Markdown
Contributor

Mid voting period reminder, @msarahan @marcelotrevisani @jakirkham @mariusvniekerk @chenghlee @pavelzw

Comment thread cep-0044.md

## Specification

The `info/index.json` dictionary of each conda artifact MUST allow a new field, `extra-depends`, the value of which MUST be a dictionary that maps the group names (expressed as a string that MUST match the regex `[a-z0-9_.-+]{1,64}`) to a list of `MatchSpec` strings encoding the optional dependencies. Since this is backwards incompatible behavior-wise, the `schema_version` value MUST be bumped to `3`.

@chenghlee chenghlee May 7, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Not worth blocking a "yes" vote on, but at some point, we'll likely want to further restrict the group name specification, as this regex allows _, __, and --._.-._---_..-_.--._-._.-_--_. to be a group name.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'd say that is something we should still fix. Maybe [a-z0-9]+(-[a-z0-9]+)* with a maximum of 64 characters?

@wolfv

wolfv commented May 9, 2026

Copy link
Copy Markdown
Contributor

@mbargull @jakirkham last reminder to vote!

@jaimergp

jaimergp commented May 14, 2026

Copy link
Copy Markdown
Member Author

Vote results

🗳️ The votes are in! Here is the tally for this @conda/steering-council vote. Thanks to everyone who participated.

🎉 Result: PASSED

Summary

Metric Value Threshold Status
Quorum (participation) 13/14 (92.8%) ≥ 9 voters
Approval (yes / yes+no) 12/12 (100.00%) ≥ 60%

Abstentions count toward quorum but are excluded from the approval fraction.

Tally

  • Yes: 12 (100.00% of decisive)
  • No: 0 (0.00% of decisive)
  • 🤷 Abstain: 1
  • 💤 Not voted: 1
  • ⚠️ Invalid: 0

@jaimergp jaimergp changed the title CEP XXXX: Optional dependency groups CEP 44: Optional dependency groups May 14, 2026
@jaimergp
jaimergp merged commit 325aedc into main May 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

vote Voting following governance policy

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants