GNU Units

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Unchained

    A fully type safe, compile time only units library. (by SciNim)

  • Anything with a finite (200 is small even) number of units misses the algebraic structure of the problem mentioned in https://news.ycombinator.com/item?id=36988497 wherein multiplying|dividing two things gives you a (potentially) new unit which implies an open ended "space" of units.

    To be concrete (hah!), in C++ a template meta-type with 12 signed integer parameters (6 numerators & 6 denominators for rational exponents of SI base units) might be one way to model it.

    Unlike C++ template stuff, Nim macros (like Lisp macros) makes metaprogramming more like procedural programming - just against abstract syntax trees. I think that helps to shield some of this type complexity from users, but the documentation README https://github.com/SciNim/Unchained does better job than I can in an HN comment.

    Of course, for unit system conversion, the number of dimensions (6 in SI, 3 in CGS/Gaussian) changes. So, for full generality you need compile-time (if you want static type integration/CT errors) linear algebra over a rational field (at least & conventionally) to project|inverse project. That might be theoretically possible in C++. I would think it very un-fun and unlikely to ever have been done. There's probably a Mathematica package, though.

  • pint

    Operate and manipulate physical quantities in Python (by hgrecco)

  • Only tangential to this but somebody might find it usefull. I’m doing lots of calculations in Python involving various units. I’m using a similar library called Pint. https://github.com/hgrecco/pint

    My business is thermodynamics of power plants. Professionals in the industry tend to use convenient units like C, bars, kJ/kg and so on. But the formulas usualy need basic SI units.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • libqalculate

    Qalculate! library and CLI

  • I personally use Qalculate (https://qalculate.github.io/), specifically their CLI version for this purpose. I'm not sure how well it compares to GNU Units, but it works well enough for my needs; and it's fairly simple using English-like syntax.

  • svntogit-community

    Discontinued Automatic import of svn 'community' repo (read-only mirror)

  • The author of the AUR package, removed it from the community repo and moved it to the AUR. And now it has another maintainer in the AUR.

    The original maintainer still maintains 2185 packages [2].

    Can't find an explanation why though.

    [0]: https://github.com/archlinux/svntogit-community/commit/2b5ec...

    [1]: https://aur.archlinux.org/cgit/aur.git/commit/?h=units&id=e6...

    [2]: https://archlinux.org/packages/?packager=arojas

  • units-wasm

    Web-based front-end for the WASM port of the the popular "units" command line tool

  • gnu-wasmunits

    A javascript (WASM) port of the popular units command line tool.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts