Skip to main content

pre-commit Ruff Python versions CI/CD status Coverage status Documentation

IMAS Standard Names

Grammar library for IMAS Standard Names — a controlled vocabulary for fusion data variables.

This repository owns the grammar: the controlled vocabulary, the parser and renderer, catalog validation, and the documentation site. AI-assistant tools over standard names are served by imas-codex.

Quick Start

pip install imas-standard-names

Python Library

from imas_standard_names import StandardNameIR, compose, parse
from imas_standard_names.repository import StandardNameCatalog

catalog = StandardNameCatalog()
entry = catalog.get("electron_temperature")
print(f"{entry.name}: {entry.unit} — {entry.description}")

# Strict parsing is the validity oracle for both flat names and recursive
# operator expressions.
result = parse("square_of_inverse_of_pressure", strict=True)
assert isinstance(result.ir, StandardNameIR)
assert [operator.op for operator in result.ir.operators] == ["square", "inverse"]
assert compose(result.ir) == "square_of_inverse_of_pressure"

Installation

The tools and catalog are distributed separately:

Package Purpose
imas-standard-names Grammar library, parser, validation
imas-standard-names-catalog Standard names catalog (YAML + SQLite)

Basic Installation

# Tools + catalog (recommended)
pip install imas-standard-names[catalog]

# Tools only
pip install imas-standard-names

Catalog Options

The catalog can be accessed in several ways:

# Option 1: Install catalog package (recommended)
pip install imas-standard-names-catalog

# Option 2: Download pre-built database
wget https://github.com/iterorganization/imas-standard-names-catalog/releases/latest/download/catalog.db
export STANDARD_NAMES_CATALOG_DB=./catalog.db

# Option 3: Clone catalog repository (for development)
git clone https://github.com/iterorganization/imas-standard-names-catalog.git
export STANDARD_NAMES_CATALOG_ROOT=./imas-standard-names-catalog/standard_names

Development Setup

git clone https://github.com/iterorganization/imas-standard-names.git
cd imas-standard-names
uv sync

Architecture

This project uses a two-repository architecture:

Name generation is handled by imas-codex, which uses ISN's grammar API to mint candidates.

This separation allows independent versioning — catalog content, tooling, and generation logic evolve separately.

Documentation

Full documentation: iterorganization.github.io/IMAS-Standard-Names

Python API

Entry point Purpose
imas_standard_names.parse(name, strict=True) Authoritative validation for flat and recursively ordered grammar
imas_standard_names.parse(name) Diagnostic parse into a lossless StandardNameIR
imas_standard_names.compose Render a StandardNameIR into its canonical spelling
imas_standard_names.StandardNameIR Public recursive representation; operator lists are outermost first
imas_standard_names.grammar.model.parse_standard_name Strict-validating projection into the flat StandardName facade; may reject a valid ordered tree it cannot represent
imas_standard_names.validate_round_trip Diagnostic parse/render drift check; not a validity test
imas_standard_names.grammar.context.get_grammar_context Grammar rules and vocabulary for LLM pipelines
imas_standard_names.repository.StandardNameCatalog Query the catalog
imas_standard_names.canonical_unit Canonical unit authority
standard-names (CLI) Build, search, and serve the catalog site
validate_catalog (CLI) Check catalog integrity and grammar compliance

Tools that expose these over the Model Context Protocol live in imas-codex.

License

MIT

Metadata

Release files for imas-standard-names 0.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for imas-standard-names 0.9.1
File Size Uploaded Provenance
imas_standard_names-0.9.1.tar.gz 1.4 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for imas-standard-names 0.9.1
File Interpreter ABI Platform
imas_standard_names-0.9.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.7 MB

Release files / imas_standard_names-0.9.1.tar.gz

Download URL imas_standard_names-0.9.1.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
63a0c3fc16b010693ac55cfcc9465cf2ac544d2d799ed023fe566c9e99467b8c
BLAKE2b-256 checksum
How to use checksums
5c17b629285dae6c91ecaa9f55710872b8d6d34a156b5e2e2f31c0033bef9888
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

Release files / imas_standard_names-0.9.1-py3-none-any.whl

Download URL imas_standard_names-0.9.1-py3-none-any.whl
Size 363.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7cbae7fa91515c8c42600218f5ace943cfd37cfce9d03d42018c981a9eb212ed
BLAKE2b-256 checksum
How to use checksums
c901976961dfb0001fc68e07178272618baa7ccb0d6cd118fe84ecbbbacb423e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

Security for imas-standard-names 0.9.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for imas_standard_names-0.9.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.9.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page