[ANN] Pint 0.4 (Units in Pythono

Hernan Grecco hgrecco at gmail.com
Wed Dec 18 14:21:02 CET 2013


Hi,

We are happy to announce Pint 0.4. Pint is a Python package to define,
operate and manipulate physical quantities: the product of a numerical
value and a unit of measurement. This release brings a lot of new
exciting features including Context. A Context enables to convert
between unrelated dimensions based on pre-established rules.

Check out the blog post for more details:

http://python-in-the-lab.blogspot.com.ar/2013/12/context-aware-unit-conversion-in-pint.html

You can get pint using pip:

    $ pip install pint

or get the source code:

    https://github.com/hgrecco/pint

and check the docs:

    http://pint.readthedocs.org/


What is Pint?
---

Pint is Python package to define, operate and manipulate physical
quantities: the product of a numerical value and a unit of
measurement. It allows arithmetic operations between them and
conversions from and to different units.

It is distributed with a comprehensive list of physical units,
prefixes and constants. Due to it’s modular design, you can extend (or
even rewrite!) the complete list without changing the source code.

It has a complete test coverage. It runs in Python 2.7 and 3.X with no
other dependency. It licensed under BSD.


Highlights
---

* Unit parsing: prefixed and pluralized forms of units are recognized
without explicitly defining them. In other words: as the prefix kilo
and the unit meter are defined, Pint understands kilometers. This
results in a much shorter and maintainable unit definition list as
compared to other packages.

* Standalone unit definitions: units definitions are loaded from a
text file which is simple and easy to edit. Adding and changing units
and their definitions does not involve changing the code.

* Advanced string formatting: a quantity can be formatted into string
using PEP 3101 syntax. Extended conversion flags are given to provide
symbolic, latex and pretty formatting.

* Free to choose the numerical type: You can use any numerical type
(fraction, float, decimal, numpy.ndarray, etc). NumPy is not required
but supported.

* NumPy integration: When you choose to use a NumPy ndarray, its
methods and ufuncs are supported including automatic conversion of
units. For example numpy.arccos(q) will require a dimensionless q and
the units of the output quantity will be radian.

* Handle temperature: conversion between units with different
reference points, like positions on a map or absolute temperature
scales.

* Small codebase: easy to maintain codebase with a flat hierarchy.

* Dependency free: it depends only on Python and it’s standard library.

* Python 2 and 3: a single codebase that runs unchanged in Python 2.7+
and Python 3.0+.


Thanks to the people that contributed bug reports, suggestions and
patches since 0.3. In particular to: John David Reaver, Giel van
Schijndel and Nate Bogdanowicz.

Enjoy!

Hernán


More information about the Python-announce-list mailing list