BattINFO#
BattINFO is the semantic data layer for battery technology — a Python library, CLI, and canonical asset suite that validates, maps, and publishes battery metadata as machine-readable Linked Data aligned with the EMMO Battery Domain Ontology.
Here is a minimal example that creates a canonical cell-spec record and publishes it locally. It uses the same flagship cell shown on battinfo.org (A123 ANR26650M1-B); the full canonical record lives at examples/cell-spec/A123__ANR26650M1-B.json.
from battinfo import CellSpec, publish
spec = CellSpec(
manufacturer="A123",
model="ANR26650M1-B",
format="cylindrical",
chemistry="Li-ion",
nominal_capacity={"value": 2.5, "unit": "Ah"},
)
result = publish(spec, destination="local")
# → writes a canonical BattINFO record with a persistent spec IRI
{
"schema_version": "0.1.0",
"cell_spec": {
"id": "https://w3id.org/battinfo/spec/7d9k-2m4p-8t3x-6nq5",
"name": "A123 ANR26650M1-B",
"model": "ANR26650M1-B",
"manufacturer": { "type": "Organization", "name": "A123" },
"category": "battery cell",
"cell_format": "cylindrical",
"chemistry": "Li-ion",
"positive_electrode_basis": "LFP"
},
"properties": {
"nominal_capacity": { "value": 2.5, "unit": "Ah" },
"nominal_voltage": { "value": 3.3, "unit": "V" }
}
}
{
"@context": "https://w3id.org/battinfo/context/domain-battery.jsonld",
"@id": "https://w3id.org/battinfo/spec/7d9k-2m4p-8t3x-6nq5",
"@type": ["BatteryCell", "CylindricalBattery", "LithiumIonBattery"],
"skos:prefLabel": "A123 ANR26650M1-B",
"manufacturer": { "@type": "Organization", "name": "A123" },
"hasProperty": [
{
"@type": ["NominalCapacity", "ConventionalProperty"],
"hasNumericalPart": { "@type": "Real", "hasNumericalValue": 2.5 },
"hasMeasurementUnit": "https://w3id.org/emmo#AmpereHour"
}
]
}
Explore the documentation#
The documentation follows the Diátaxis structure: tutorials teach, how-to guides solve one task each, reference states the facts, and concepts explain the design.
Get Started
Install BattINFO and publish your first records in five minutes.
Tutorials
Six notebooks, one story — from the record model to a published, citable dataset.
How-to guides
Task-shaped recipes: bulk ingest, fixing validation errors, resuming submissions, funding tags.
Reference
Python API, CLI commands, schemas, and the validation policy contract.
Concepts
Ontology architecture, the spec-and-instance model, and how BattINFO is built.
How BattINFO is built
The orientation roadmap: layers, data flow, and where each module fits.