mcpField
P
pint-compute

pint-compute

github.com/parcadeiData & databases3.9k484 installsUpdated 39w ago
Repository

About pint-compute

pint-compute is a skill for parsing and computing with physical quantities using Pint. It helps users convert units, check dimensions, and work with compound units through commands that return JSON.

Key features

  1. 01Parse quantities and dimensions
  2. 02Convert between units
  3. 03Calculate with unit-aware arithmetic
  4. 04Check dimensional compatibility
  5. 05Simplify compound units
  6. 06Return results as JSON

Use cases

  1. 01Convert measurements between unit systems
  2. 02Calculate distance from velocity and time
  3. 03Check whether units match a formula
  4. 04Reduce compound units to base or compact form

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/parcadei/continuous-claude-v3 --skill pint-compute

After installing, type/pint-computein Claude Code to confirm it loaded.

Details

From the project README

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...CommandExample
Convert unitsconvertconvert "5 meters" --to feet
Unit mathcalccalc "10 m/s * 5 s"
Check dimensionscheckcheck newton --against "kg * m / s^2"
Parse quantityparseparse "100 km/h"
Simplify unitssimplifysimplify "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

DomainExamples
Lengthmeter, foot, inch, mile, km, yard
Timesecond, minute, hour, day, year
Masskg, gram, pound, ounce, ton
Velocitym/s, km/h, mph, knot
Energyjoule, calorie, eV, kWh, BTU
Forcenewton, pound_force, dyne
Temperaturekelvin, celsius, fahrenheit
Pressurepascal, bar, atmosphere, psi
Powerwatt, 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

Comments

Markdown supported