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:
You can get pint using pip:
$ pip install pint
or get the source code:
and check the docs:
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.
* 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.