Skip to content
/ template Public template

A template repository for new conventions. It enables CI for schema publishing and proposes some core structures.

License

Notifications You must be signed in to change notification settings

zarr-conventions/template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Template Convention Metadata

Description

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.]

Motivation

  • 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

Convention Registration

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"
    }
  ]
}

Applicable To

This convention can be used with these parts of the Zarr hierarchy:

  • Group
  • Array

Properties

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]:

1. Key-Prefixed Pattern (Recommended)

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 }
  }
}

2. Nested Pattern

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 }
    }
  }
}

Template Object

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...

Additional Field Information

new_field (template:new_field or template.new_field)

This is a much more detailed description of the field new_field...

XYZ Object

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...

Known Implementations

This section helps potential implementers assess the convention's maturity and adoption, and provides a way for the community to collaborate on future revisions.

Libraries and Tools

  • 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

Datasets Using This Convention

Resources

  • 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.

Acknowledgements

This template is based on the STAC extensions template.

About

A template repository for new conventions. It enables CI for schema publishing and proposes some core structures.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published