tools for dealing with measured quantities: uncertainty propagation and unit conversion

# MetroloPy

tools for dealing with physical quantities: uncertainty propagation and unit conversion

MetroloPy is a pure python package and requires Python 3.5 or later and the SciPy stack (NumPy, SciPy and Pandas). It looks best in a Jupyter Notebook.

Install MetroloPy with `pip install metrolopy` or `conda install -c conda-forge metrolopy`.

Physical quantities can then be represented in Python as `gummy` objects with an uncertainty and (or) a unit:

``````>>> import metrolopy as uc
>>> a = uc.gummy(1.2345,u=0.0234,unit='cm')
>>> a
1.234(23) cm

>>> b = uc.gummy(3.034,u=0.174,unit='mm')
>>> f = uc.gummy(uc.UniformDist(center=0.9345,half_width=0.096),unit='N')
>>> p = f/(a*b)
>>> p
2.50(21) N/cm2

>>> p.unit = 'kPa'
>>> p.uunit = '%'
>>> p
25.0 kPa ± 8.5%
``````

MetroloPy can do much more including Monte-Carlo uncertainty propagation, generating uncertainty budget tables, and curve fitting. It can also handle expanded uncertainties, degrees of freedom, correlated quantities, and complex valued quantities. See:

## new in version 0.6.0

• A constant library has been added with physical constants that can be accessed by name or alias with the `constant` function. The `search_constants` function with no argument gives a listing of all built-in constants. Each constant definition includes any correlations with other constants.

• The `Quantity` class has been added to represent a general numerical value multiplied by a unit and the `unit` function has been added to retrieve `Unit` instances from the unit library by name or alias. `Unit` instances can now be multiplied and divided by other `Unit` instances to produce composite units, can be multiplied and divided by numbers to produce `Quantity` instances or multiply or divide `Quantity` instances. The `gummy` class is now a subclass of `Quantity` with a `nummy` value rather than a subclass of `nummy`. A `QuantityArray` class has been introduced to represent an array of values all with the same unit. Multiplying a `Unit` instance by a list, tuple, or numpy array produces a `QuantityArray` instance.

• The `immy` class has been introduced as an `ummy` valued counterpart of the `jummy` class for representing complex values with uncertainties. `immy` and `jummy` values can now be displayed in a polar representation in addition to a cartesian representation. `immy` and `jummy` .r and .phi properties have been added to access the magnitude and argument of the values as a complement to the .real and .imag properties.

## Project details

This version 0.6.3 0.6.2 0.6.1 0.6.0 0.5.7 0.5.6 0.5.5 0.5.4 0.5.3 0.5.2 0.5.1 0.5.0

Uploaded `source`
Uploaded `py3`