Prototype. BattINFO is in active development, so content and tools are still changing.
BattINFO

battinfo playground

Build one of the core objects on the left. Most are a specification (the reusable design) plus an instance (a physical thing built to it). Watch it turn into the three forms you work with: the Python that authors it, the canonical record, and the published JSON-LD. It updates as you type, and nothing leaves the page.

The Playground is for building and exploring — a quick sketch, not the full model, with identifiers added when you save. Already have a finished record and just want a pass/fail verdict? Use Validate. New to the model? Read the authoring guide.

Scope: the cell level and below — materials, electrodes, electrolytes, cells, tests, datasets. Module and pack modeling is on the roadmap.

Specification

The reusable design of a cell: format, chemistry, electrodes, and rated properties. Many physical cells can share one spec.

Conventional properties (rated / declared)

Instances

One physical cell built to the spec, with its own label, dates, and measured values. On save it links back to the spec.

Measured properties

Serializations

✓ Looks valid against the schemas
authoring code
from battinfo import CellSpec, create_cell_instance

spec = CellSpec(
    name="A123 ANR26650M1-B",
    manufacturer="A123",
    model="ANR26650M1-B",
    format="cylindrical",
    chemistry="Li-ion",
    positive_electrode_basis="LFP",
    negative_electrode_basis="graphite",
    properties={
        "nominal_capacity": {"value": 2.5, "unit": "Ah"},
        "nominal_voltage": {"value": 3.3, "unit": "V"},
    },
)
spec_record = spec.to_record()

# one physical cell built to the spec
instance = create_cell_instance(
    cell_spec_id=spec_record["cell_spec"]["id"],
    name="Cell 001",
    serial_number="SN-0001",
    manufactured_at="2024-06-01",
    expires_at="2034-06-01",
    measured={
        "state_of_health": {"value": 100, "unit": "%"},
    },
)

Checked in the browser against the canonical schemas. The CLI runs the full check on save.