[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