From b5fe44be6ee273b8c776aec677089ae8d3476d04 Mon Sep 17 00:00:00 2001 From: jaimergp Date: Wed, 15 Jul 2026 13:03:14 +0200 Subject: [PATCH 1/2] Use underscore-separated field names --- cep-0044.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/cep-0044.md b/cep-0044.md index d40996b0..3692b049 100644 --- a/cep-0044.md +++ b/cep-0044.md @@ -9,7 +9,7 @@ Jaime Rodríguez-Guerra <jaime.rogue@gmail.com> Created Feb 5, 2025 - Updated May 14, 2026 + Updated Jul 15, 2026 Discussion https://github.com/conda/ceps/pull/111, https://github.com/conda/ceps/pull/165 Implementation NA @@ -32,11 +32,11 @@ Instead of overloading the repodata documents with more package names (which cau ## Rationale -The chosen keyword in CEP 29 `MatchSpec`, keywords is `extras` given its popularity in Python packaging. For CEP 34 `info/index.json` records is `extra-depends` to avoid ambiguity with a hypothetical `extra-constraints`. +The chosen keyword in CEP 29 `MatchSpec`, keywords is `extras` given its popularity in Python packaging. For CEP 34 `info/index.json` records is `extra_depends` to avoid ambiguity with a hypothetical `extra_constraints`. ## 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`. +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`. The `extras` field MUST also be exposed in recipe formats v1 and above, under the `requirements.extras` section (sibling to `build`, `host`, `run`, etc), that renders to the same schema (`dict[str, list[MatchSpec]]`). @@ -44,7 +44,7 @@ This new field must be selectable by `MatchSpec` syntax using the `extras` keywo ## Examples -A repodata record with `extra-depends`: +A repodata record with `extra_depends`: ```js { @@ -56,7 +56,7 @@ A repodata record with `extra-depends`: "depends": [ "main-dependency" ] - "extra-depends": { + "extra_depends": { "group-name": [ "extra-dependency>=2", "another-dependency>=1" @@ -104,4 +104,6 @@ All CEPs are explicitly [CC0 1.0 Universal](https://creativecommons.org/publicdo ## Changelog -- May 29, 2026: Fixed regex for valid extra group names. +- 2026-07-15: Changed `extra-depends` to `extras_depends` for consistency with other undescore-separated field names in `index.json`. +- 2026-05-29: Fixed regex for valid extra group names. +- 2026-05-14: Accepted. From fca5553a878a5d90e2dad627e0f29af884d4d2c9 Mon Sep 17 00:00:00 2001 From: jaimergp Date: Wed, 15 Jul 2026 13:04:18 +0200 Subject: [PATCH 2/2] Add PR link to discussion --- cep-0044.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cep-0044.md b/cep-0044.md index 3692b049..3beecca9 100644 --- a/cep-0044.md +++ b/cep-0044.md @@ -10,7 +10,7 @@ Created Feb 5, 2025 Updated Jul 15, 2026 - Discussion https://github.com/conda/ceps/pull/111, https://github.com/conda/ceps/pull/165 + Discussion https://github.com/conda/ceps/pull/111, https://github.com/conda/ceps/pull/165, https://github.com/conda/ceps/pull/181 Implementation NA