Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 23 additions & 8 deletions cep-0014.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
<tr><td> Status </td><td> Accepted</td></tr>
<tr><td> Author(s) </td><td> Wolf Vollprecht &lt;wolf@prefix.dev&gt;</td></tr>
<tr><td> Created </td><td> May 23, 2023</td></tr>
<tr><td> Updated </td><td> Sep 26, 2025</td></tr>
<tr><td> Discussion </td><td> https://github.com/conda-incubator/ceps/pull/56 </td></tr>
<tr><td> Updated </td><td> Jul 29, 2026</td></tr>
<tr><td> Discussion </td><td> https://github.com/conda-incubator/ceps/pull/56 <br/> https://github.com/conda/ceps/pull/186 </td></tr>
<tr><td> Implementation </td><td>https://github.com/prefix-dev/rattler-build</td></tr>
</table>

Expand Down Expand Up @@ -47,6 +47,18 @@ If outputs exist, the top-level keys are 'merged' with the output keys (e.g. for

## Format

### Schema declaration

To benefit from autocompletion and other JSON Schema-based features in editors and
third-party YAML tools, we can add a `$schema` URI reference to the recipe.

```yaml
# a URL pointing at a JSON file...
$schema: https://raw.githubusercontent.com/prefix-dev/recipe-format/7e9363f2c/schema.json
# ... or relative POSIX path
# $schema: ./custom-recipe-schema.json
```

### Schema version

The implicit version of the YAML schema for a recipe is an integer 1.
Expand All @@ -59,12 +71,6 @@ The version can be explicitly set by adding a `schema_version` key to the recipe
schema_version: 1 # integer
```

To benefit from autocompletion, and other LSP features in editors, we can add a schema URL to the recipe.

```yaml
# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/73cd2eed94c576213c5f25ab57adf6d8c83e792a/schema.json
```

### Context section

The context section is a dictionary with key-value pairs that can be used for string interpolation.
Expand Down Expand Up @@ -570,6 +576,10 @@ extra:
What follows is an example recipe, using the YAML syntax discussed in <https://github.com/conda-incubator/ceps/pull/54>

```yaml
$schema: https://raw.githubusercontent.com/prefix-dev/recipe-format/7e9363f2c/schema.json

schema_version: 1

context:
name: xtensor
version: 0.24.6
Expand Down Expand Up @@ -642,6 +652,10 @@ tests:
Or a multi-output package

```yaml
$schema: https://raw.githubusercontent.com/prefix-dev/recipe-format/7e9363f2c/schema.json

schema_version: 1

context:
name: mamba
libmamba_version: "1.4.2"
Expand Down Expand Up @@ -841,3 +855,4 @@ extra:

- September 24, 2025: Removed `about.license_url` as the field exists but is unused in `conda-build`.
- September 26, 2025: Permits lists of scalars in `context`.
- July 29, 2026: Permits `$schema`.