units

cli.units

Inspect the curated unit vocabulary, and promote a unit into it.

TVBO reasons about a unit only when it holds that unit’s facts — its scale, its base dimensions, its quantity kind. Those are vendored from QUDT rather than written here, so “curating a unit” means pulling its authoritative record in, not inventing one.

The unit slot itself is open: an uncurated unit is recorded as written and carries no dimensional claim, so nothing is blocked while it waits. add is what turns it from recorded into reasoned-about.

Attributes

Name Description
app

Functions

Name Description
add Pull a unit’s QUDT record into the vendored ontology.
list_units List the unit vocabulary with the QUDT facts behind each value.
show Print everything TVBO knows about one unit, and say plainly when that is nothing.

add

cli.units.add(
    unit=typer.Argument(..., help='The UnitEnum value to curate.'),
    qudt=typer.Option(None, '--qudt', help='QUDT unit IRI, e.g. NanoSEC.'),
    factors=typer.Option(None, '--factor', help='Factor unit as QUDT_IRI:EXPONENT, repeatable — for a compound QUDT has no IRI for.'),
)

Pull a unit’s QUDT record into the vendored ontology.

Either name the QUDT unit directly, or decompose it into factor units TVBO already vendors. The facts are transcribed or computed from those atoms — nothing about the unit is authored here, which is what keeps the vocabulary authoritative rather than locally parsed.

list_units

cli.units.list_units(
    uncurated=typer.Option(False, '--uncurated', help='Show only units carrying no facts.'),
)

List the unit vocabulary with the QUDT facts behind each value.

show

cli.units.show(
    unit=typer.Argument(..., help='A UnitEnum value, or any unit string.'),
)

Print everything TVBO knows about one unit, and say plainly when that is nothing.