- UUID: 00000000-0000-0000-0000-000000000000
- Name: Template
- Schema URL: "https://raw.githubusercontent.com/zarr-conventions/template/refs/tags/v1/schema.json"
- Spec URL: "https://github.com/zarr-conventions/template/blob/v1/README.md"
- Scope: Array, Group
- Extension Maturity Classification: Proposal
- Owner: @your-github-handle, @another-github-handle
This convention defines [brief description of what this convention does]. All properties use the template: namespace prefix (or nested template object) and are placed at the root attributes level following the Zarr Conventions Specification.
[Add more detailed description of the convention, its purpose, and how it fits into the Zarr ecosystem. Explain what problem it solves and how it should be used.]
- First benefit: Explanation of the first key benefit this convention provides
- Second benefit: Explanation of the second key benefit
- Third benefit: Explanation of additional benefits
- Use case alignment: How this convention aligns with common use cases in the domain
The convention must be registered in zarr_conventions:
{
"zarr_conventions": [
{
"schema_url": "https://raw.githubusercontent.com/zarr-conventions/template/refs/tags/v1/schema.json",
"spec_url": "https://github.com/zarr-conventions/template/blob/v1/README.md",
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "template:",
"description": "Brief description of the convention"
}
]
}This convention can be used with these parts of the Zarr hierarchy:
- Group
- Array
All properties are placed at the root attributes level. To avoid attribute name collisions with other conventions, this convention supports the following pattern [remove the pattern irrelevant for this convention]:
Individual attributes are prefixed with template:. This is the recommended approach as it enables better composability - other conventions can extend objects defined by this convention.
Convention metadata name: template:
| Field Name | Type | Description |
|---|---|---|
| template:new_field | string | REQUIRED. Describe the required field... |
| template:xyz | XYZ Object | Describe the field... |
| template:another_one | [number] | Describe the field... |
Example:
{
"attributes": {
"zarr_conventions": [
{ "name": "template:", "spec_url": "..." }
],
"template:new_field": "example value",
"template:xyz": { "x": 1.0, "y": 2.0, "z": 3.0 }
}
}All convention properties are nested under a single template key.
Convention metadata name: template
| Field Name | Type | Description |
|---|---|---|
| template | Template Object | REQUIRED. Template convention properties |
Example:
{
"attributes": {
"zarr_conventions": [
{ "name": "template", "spec_url": "..." }
],
"template": {
"new_field": "example value",
"xyz": { "x": 1.0, "y": 2.0, "z": 3.0 }
}
}
}When using the nested pattern, all properties are contained in the template object:
| Field Name | Type | Description |
|---|---|---|
| new_field | string | REQUIRED. Describe the required field... |
| xyz | XYZ Object | Describe the field... |
| another_one | [number] | Describe the field... |
This is a much more detailed description of the field new_field...
This is the introduction for the purpose and the content of the XYZ Object...
| Field Name | Type | Description |
|---|---|---|
| x | number | REQUIRED. Describe the required field... |
| y | number | REQUIRED. Describe the required field... |
| z | number | REQUIRED. Describe the required field... |
This section helps potential implementers assess the convention's maturity and adoption, and provides a way for the community to collaborate on future revisions.
-
Library/Tool Name - Brief description of the implementation
- Language: Python/JavaScript/Rust/etc.
- Status: Experimental/Stable/Production
- Maintainer: @github-handle
- Since: Version X.Y or Date
-
Another Implementation - Description
- Language: Language
- Status: Status
- Maintainer: @handle
- Since: Version/Date
- Dataset Name - Description of the dataset and how it uses this convention
- Another Dataset - Description
- Tutorials, blog posts, or other resources demonstrating this convention
- Community discussions or working groups
If you implement or use this convention, please add your implementation to this list by submitting a pull request.
This template is based on the STAC extensions template.