Unit Computation with Pint
Cognitive prosthetics for unit-aware computation. Use Pint for converting between units, performing unit arithmetic, checking dimensional compatibility, and simplifying compound units.
When to Use Converting between units (meters to feet, kg to pounds) Unit-aware arithmetic (velocity x time = distance) Dimensional analysis (is force = mass x acceleration?) Simplifying compound units to base or named units Parsing and analyzing quantities with units Quick Reference I want to... Command Example Convert units convert convert "5 meters" --to feet Unit math calc calc "10 m/s * 5 s" Check dimensions check check newton --against "kg * m / s^2" Parse quantity parse parse "100 km/h" Simplify units simplify simplify "1 kg*m/s^2" Commands parse
Parse a quantity string into magnitude, units, and dimensionality.
uv run python -m runtime.harness scripts/pint_compute.py \ parse "100 km/h"
uv run python -m runtime.harness scripts/pint_compute.py \ parse "9.8 m/s^2"
convert
Convert a quantity to different units.
uv run python -m runtime.harness scripts/pint_compute.py \ convert "5 meters" --to feet
uv run python -m runtime.harness scripts/pint_compute.py \ convert "100 km/h" --to mph
uv run python -m runtime.harness scripts/pint_compute.py \ convert "1 atmosphere" --to pascal
calc
Perform unit-aware arithmetic. Operators must be space-separated.
uv run python -m runtime.harness scripts/pint_compute.py \ calc "5 m * 3 s"
uv run python -m runtime.harness scripts/pint_compute.py \ calc "10 m / 2 s"
uv run python -m runtime.harness scripts/pint_compute.py \ calc "5 meters + 300 cm"
check
Check if two units have compatible dimensions.
uv run python -m runtime.harness scripts/pint_compute.py \ check newton --against "kg * m / s^2"
uv run python -m runtime.harness scripts/pint_compute.py \ check joule --against "kg * m^2 / s^2"
simplify
Simplify compound units to base or compact form.
uv run python -m runtime.harness scripts/pint_compute.py \ simplify "1 kg*m/s^2"
uv run python -m runtime.harness scripts/pint_compute.py \ simplify "1000 m"
Common Unit Domains Domain Examples Length meter, foot, inch, mile, km, yard Time second, minute, hour, day, year Mass kg, gram, pound, ounce, ton Velocity m/s, km/h, mph, knot Energy joule, calorie, eV, kWh, BTU Force newton, pound_force, dyne Temperature kelvin, celsius, fahrenheit Pressure pascal, bar, atmosphere, psi Power watt, horsepower Output Format
All commands return JSON with relevant fields:
{ "result": "16.4042 foot", "magnitude": 16.4042, "units": "foot", "dimensionality": "[length]", "latex": "16.4042\,\mathrm{ft}" }
Error Handling
Dimensionality errors are caught and reported:
This will error - incompatible dimensions
uv run python -m runtime.harness scripts/pint_compute.py \ convert "5 meters" --to kg
Error: Cannot convert '[length]' to '[mass]'
Related Skills /math-mode - Full math orchestration (SymPy + Z3) /sympy-compute - Symbolic computation