Frink
For people in Python-world, I've tried many units packages and tend to prefer <a href="https://pint.readthedocs.io" rel="nofollow">https://pint.readthedocs.io</a><p>For the bedroom example someone posted, here's the equivalent in pint:<p><pre><code>    import pint
    # Possibly my least favorite thing about Pint is 
    # the verbose importing/instantiating dance
    u = pint.UnitRegistry()
    q = u.quantity()

    # there are multiple ways of making <Quantity> objects:
    volume = q('10 feet') * q(10, 'feet') * (10 * u.feet)
    volume.to('gallons)
    
    # How deep could you fill the room?
    (q('2 tons') / (q('10 feet') * q('12 feet') * u.water/u.gravity)).to('feet')
</code></pre>
Notes:<p>- Pint has far fewer material property entries in its database (though one can make arbitrary unit registries --- I'm wondering about an importer for the Frink ones... but <a href="https://frinklang.org/frinkdata/units.txt" rel="nofollow">https://frinklang.org/frinkdata/units.txt</a> doesn't seem to have a license?)<p>- That said, I'm not wild about Frink's treatment of material properties: Why is the constant `butter` a density, but `eggwhite` a mass, and `naturalgas` a specific energy?<p>- Pint works (mostly) nicely with numpy and can (sometimes) drop into existing code, since <Quantity> objects quack like builtin numbers.