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.