Software that processes real-world data or that models a physical system must have some way of managing units. While simple approaches like the understood convention that all data are in a unit system (such as the MKS SI unit system) do work in practice, they are fraught with possible sources of error both by developers and users of the software. In this paper we present unyt, a Python library based on NumPy and SymPy for handling data that has units. It is designed both to aid quick interactive calculations and to be tightly integrated into a larger Python application or library. We compare unyt with two other Python libraries for handling units, Pint and astropy.units, and find that unyt is faster, has higher test coverage, and has fewer lines of code.
The Journal of Open Source Software
- Pub Date:
- August 2018
- Astrophysics - Instrumentation and Methods for Astrophysics
- 11 pages, 6 figures. Submitted to the Journal of Open Source Software. The source code is available at https://github.com/yt-project/unyt and the documentation is available at http://unyt.readthedocs.io/en/latest/. Accepted for publication in the Journal of Open Source Software