Artifact and repository naming¶
An end-to-end Tetra Data pipeline is made of three artifacts — an IDS, a task script, and a protocol — and each lives in its own repository in the tetrascience GitHub organization.
Their repository names share a common <name> slug that ties the three together and connects them to the IDS @idsType.
Repository naming convention¶
Artifact |
Repo pattern |
Example |
|---|---|---|
IDS |
|
|
Task script |
|
|
Protocol |
|
|
<name> describes the instrument technique/family or the vendor-plus-model.
It is written in kebab-case and reads general → specific: use <technique> for a family-wide artifact, or <technique>-<vendor>[-<model-or-software>] for a specific instrument.
How <name> relates to @idsType¶
@idsType is the IDS schema name — the identifier for the kind of data the IDS models (see IDS Metadata and Identifiers). The IDS name will usually start with the instrument family name, followed by the vendor name and the instrument model name if it’s designed for that specific model. The most common patterns are <instrument-family>,<instrument-family>-<vendor>-<instrument model>, or <vendor>-<software>. If the IDS is designed based on a specific vendor software, the IDS will be named after the software name.
For an IDS repository, <name> is exactly the IDS @idsType:
IDS repo |
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
The general → specific shape mirrors how a family-wide IDS relates to an instrument-specific one — for example nmr vs. nmr-bruker, or particle-size-analyzer vs. particle-size-analyzer-malvern-zetasizer-ultra.
The task-script and protocol repositories for the same pipeline use a <name> that identifies the same source. Because the parsing logic is usually specific to the instrument’s data format, the <name> will usually start with the vendor name then the instrument model name or software name. For example, <vendor>-<model/software>-raw-to-ids.
What each repository contains¶
When you locate a matching artifact, the repository layout tells you where to read the existing conventions:
IDS repo (
ts-ids-<name>):schema.json,expected.json, andREADME.md.Task-script repo (
ts-task-script-<name>-raw-to-ids):main.py,example-input/, andexample-output/.Protocol repo (
ts-protocol-<name>-raw-to-ids): the pipeline blueprint.
Read the existing schema.json and README.md to see the conventions the instrument family already follows before creating or extending an artifact.