Python units/quantities packages

Business > IT development > Frameworks
2
2020-05-06 18:41:47
There are far too many different packages for unit conversion / quantities calculations in Python. Developers should cooperate on one package instead of fragmenting development across many different ones. This documents which features are supported by each package.
Last updateWebsitePyPI DLs/monthGitHub StarsUsed byLast UpdateBuilt-in unitsBuilt-in constantsArbitrary prefixesnp scalar arraynp object arrayDecimalFractionUncertaintiesstringabsolute °CdBSyntaxComments
scipy.constants2020-05-06 18:32:43http://docs.scipy.org/doc/scipy/reference/constants.html16738570871813602019-12-19Yes 50Yes 400 in CODATANo- no unit objects- no unit objects- no unit objects- no unit objects- no unit objects- no unit objectsNoNoconstants.c == 299792458.0Just tables of numerical constants; unit-aware calculations not supported. scipy.constants.physical_constants specifies units as strings and uncertainties. Could be used to supply other packages with coefficients.
sympy.physics.units2020-05-06 18:32:43http://docs.sympy.org/dev/modules/physics/units.html554246924183242020-02-05Yes 200?Yes- u.mega*u.meter but not u.megameterNoYes array([1, 2, 3])*u.m- converts to sympy- converts to sympycm = u.m/100
astropy.units2020-05-06 18:32:43http://docs.astropy.org/en/stable/units/113582435137772020-03-27YesYesNoYes-YesYes15.1 * u.meter / (32.0 * u.second)
Pint2020-05-06 18:32:43https://github.com/hgrecco/pint35746112815792020-02-19YesYesYes Mm, GV, etc.Yes array([1,2,3])*ureg.m or ureg.m*array([1,2,3])No ValueErrorYesYesYes built-inYesYesNoV = 1*ureg.dm**3
unyt2020-05-06 18:41:47https://unyt.readthedocs.io/en/stable/243292020-02-18Yes 101Yes 33Yes km4*m + 3*cm - 5*ft + 6*yard
Quantities2020-05-06 18:32:43http://python-quantities.readthedocs.org39171472312020-01-08Yes array([1,2,3]) * pq.JNo
Units2020-05-06 18:32:43https://bitbucket.org/adonohue/units/13762017-02-05
numericalunits2020-05-06 18:32:43https://pypi.python.org/pypi/numericalunits445692019-11-29Overflow issues, random set of units = not deterministic, need to do calculations twice to confirm they are being done correctly
SciMath Units2020-05-06 18:32:43http://scimath.readthedocs.org/en/latest/units/index.html430362019-02-07Yes built-in
Buckingham2020-05-06 18:32:43https://github.com/mdipierro/buckingham3612002019-05-25Yes 53NoYesV = Number(1,dims='decimeter^3')Single file
Unum2020-05-06 18:32:43https://bitbucket.org/kiv/unum3342018-03-23
natu2020-05-06 18:32:43http://kdavies4.github.io/natu/3152014-08-08YesYes 40YesYes m*array([1, 2, 3])Yes array([1, 2, 3])*mNoNoYesNoYesYesV = 1*dm**3weird format for dB, Hz != 1/s, "pre-release state"
misu2020-05-06 18:32:43https://github.com/cjrh/misu3081102018-10-20
Magnitude2020-05-06 18:32:43http://juanreyero.com/open/magnitude/23816312015-10-20YesYesYes
udunitspy2020-05-06 18:32:43https://github.com/blazetopher/udunitspy/188202013-04-30Python wrapper for UDUNITS2
DimPy2016-03-07 03:52:06http://www.inference.phy.cam.ac.uk/db410/0
Scalar2016-03-07 03:52:06http://russp.us/scalar-python.htm02008-03-18
ScientificPython PhysicalQuantities2016-03-07 03:52:06http://dirac.cnrs-orleans.fr/ScientificPython/ScientificPythonManual/Scientific.Physics.PhysicalQuantities-module.html0
Embed
  • 2016-03-06 19:38:38
    2020-05-06 18:41:47
  • Frameworks
    English
  • this is an excerpt
  • Public
    Public
  • Creative Commons License CC-BY-SA 3.0 / GNU FDL
    Manage backups

Comments

  • voted for this Comparison (Like)
    Posted 2020-05-06 18:58:19 by Alexis
  • voted for this Comparison (Like)
    Posted 2020-05-06 00:36:47 by wkpk2x62vz

Leave a comment

Register Sign in