Metadata-Version: 2.1
Name: Pint
Version: 0.10.1
Summary: Physical quantities module
Home-page: https://github.com/hgrecco/pint
Author: Hernan E. Grecco
Author-email: hernan.grecco@gmail.com
License: BSD
Keywords: physical,quantities,unit,conversion,science
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.6
Provides-Extra: numpy
Provides-Extra: uncertainties
Provides-Extra: test
Requires-Dist: setuptools
Provides-Extra: numpy
Requires-Dist: numpy (>=1.14); extra == 'numpy'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-mpl; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Provides-Extra: uncertainties
Requires-Dist: uncertainties (>=3.0); extra == 'uncertainties'

.. image:: https://img.shields.io/pypi/v/pint.svg
    :target: https://pypi.python.org/pypi/pint
    :alt: Latest Version

.. image:: https://readthedocs.org/projects/pip/badge/
    :target: http://pint.readthedocs.org/
    :alt: Documentation

.. image:: https://img.shields.io/pypi/l/pint.svg
    :target: https://pypi.python.org/pypi/pint
    :alt: License

.. image:: https://img.shields.io/pypi/pyversions/pint.svg
    :target: https://pypi.python.org/pypi/pint
    :alt: Python Versions

.. image:: https://travis-ci.org/hgrecco/pint.svg?branch=master
    :target: https://travis-ci.org/hgrecco/pint
    :alt: CI

.. image:: https://coveralls.io/repos/github/hgrecco/pint/badge.svg?branch=master
    :target: https://coveralls.io/github/hgrecco/pint?branch=master
    :alt: Coverage

.. image:: https://readthedocs.org/projects/pint/badge/
    :target: http://pint.readthedocs.org/
    :alt: Docs


Pint: makes units easy
======================

Pint is a 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 its modular design, you can extend (or even rewrite!)
the complete list without changing the source code. It supports a lot of
numpy mathematical operations **without monkey patching or wrapping numpy**.

It has a complete test coverage. It runs in Python 3.6+ with no other dependency.
If you need Python 2.7 or 3.4/3.5 compatibility, use Pint 0.9.
It is licensed under BSD.

It is extremely easy and natural to use:

.. code-block:: python

    >>> import pint
    >>> ureg = pint.UnitRegistry()
    >>> 3 * ureg.meter + 4 * ureg.cm
    <Quantity(3.04, 'meter')>

and you can make good use of numpy if you want:

.. code-block:: python

    >>> import numpy as np
    >>> [3, 4] * ureg.meter + [4, 3] * ureg.cm
    <Quantity([ 3.04  4.03], 'meter')>
    >>> np.sum(_)
    <Quantity(7.07, 'meter')>


Quick Installation
------------------

To install Pint, simply:

.. code-block:: bash

    $ pip install pint

or utilizing conda, with the conda-forge channel:

.. code-block:: bash

    $ conda install -c conda-forge pint

and then simply enjoy it!


Documentation
-------------

Full documentation is available at http://pint.readthedocs.org/

GUI Website 
-----------

This Website_ wraps Pint's "dimensional analysis" methods to provide a GUI.


Design principles
-----------------

Although there are already a few very good Python packages to handle physical
quantities, no one was really fitting my needs. Like most developers, I
programmed Pint to scratch my own itches.

**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. Unit name translation is available if Babel_ is
installed.

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

**Awesome 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.

**Uncertainties integration**:  transparently handles calculations with
quantities with uncertainties (like 3.14±0.01) meter via the `uncertainties
package`_.

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

**Dependency free**: it depends only on Python and its standard library. It interacts with other packages
like numpy and uncertainties if they are installed

**Pandas integration**: Thanks to `Pandas Extension Types`_ it is now possible to use Pint with Pandas. Operations on DataFrames and between columns are units aware, providing even more convenience for users of Pandas DataFrames. For full details, see the `pint-pandas Jupyter notebook`_.


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.


.. _Website: http://www.dimensionalanalysis.org/
.. _`comprehensive list of physical units, prefixes and constants`: https://github.com/hgrecco/pint/blob/master/pint/default_en.txt
.. _`uncertainties package`: https://pythonhosted.org/uncertainties/
.. _`NumPy`: http://www.numpy.org/
.. _`PEP 3101`: https://www.python.org/dev/peps/pep-3101/
.. _`Babel`: http://babel.pocoo.org/
.. _`Pandas Extension Types`: https://pandas.pydata.org/pandas-docs/stable/extending.html#extension-types
.. _`pint-pandas Jupyter notebook`: https://github.com/hgrecco/pint-pandas/blob/master/notebooks/pandas_support.ipynb

Pint is written and maintained by Hernan E. Grecco <hernan.grecco@gmail.com>.

Other contributors, listed alphabetically, are:

* Aaron Coleman
* Alexander Böhn <fish2000@gmail.com>
* Ana Krivokapic <akrivokapic1@gmail.com>
* Andrea Zonca <code@andreazonca.com>
* Andrew Savage <andrewgsavage@gmail.com>
* Brend Wanders <b.wanders@utwente.nl>
* choloepus
* coutinho <coutinho@esrf.fr>
* Clément Pit-Claudel <clement.pitclaudel@live.com>
* Daniel Sokolowski <daniel.sokolowski@danols.com>
* Dave Brooks <dave@bcs.co.nz>
* David Linke
* Ed Schofield <ed@pythoncharmers.com>
* Eduard Bopp <eduard.bopp@aepsil0n.de>
* Eli <elifab@gmail.com>
* Felix Hummel <felix@felixhummel.de>
* Francisco Couzo <franciscouzo@gmail.com>
* Giel van Schijndel <me@mortis.eu>
* Guido Imperiale <crusaderky@gmail.com>
* Ignacio Fdez. Galván <jellby@yahoo.com>
* James Rowe <jnrowe@gmail.com>
* Jim Turner <jturner314@gmail.com>
* Joel B. Mohler <joel@kiwistrawberry.us>
* John David Reaver <jdreaver@adlerhorst.com>
* Jonas Olson <jolson@kth.se>
* Kaido Kert <kaidokert@gmail.com>
* Kenneth D. Mankoff <mankoff@gmail.com>
* Kevin Davies <kdavies4@gmail.com>
* Luke Campbell <luke.s.campbell@gmail.com>
* Matthieu Dartiailh <marul@laposte.net>
* Nate Bogdanowicz <natezb@gmail.com>
* Peter Grayson <jpgrayson@gmail.com>
* Richard Barnes <rbarnes@umn.edu>
* Ryan Dwyer <ryanpdwyer@gmail.com>
* Ryan Kingsbury <RyanSKingsbury@alumni.unc.edu>
* Ryan May
* Sigvald Marholm <sigvald@marebakken.com>
* Sundar Raman <cybertoast@gmail.com>
* Tiago Coutinho <coutinho@esrf.fr>
* Thomas Kluyver <takowl@gmail.com>
* Tom Ritchford <tom@swirly.com>
* Virgil Dupras <virgil.dupras@savoirfairelinux.com>
* Zebedee Nicholls <zebedee.nicholls@climate-energy-college.org>

(If you think that your name belongs here, please let the maintainer know)

Pint Changelog
==============

0.10.1 (2020-01-07)
-------------------

- Fixed bug introduced in 0.10 that prevented creation of size-zero Quantities
  from NumPy arrays by multiplication.
  (Issue #977, Thanks Jon Thielen)
- Fixed several Sphinx issues. Fixed intersphinx hooks to all classes missing.
  (Issue #881, Thanks Guido Imperiale)
- Fixed __array__ signature to match numpy docs (Issue #974, Thanks Ryan May)

0.10 (2020-01-05)
-----------------

- **BREAKING CHANGE**:
  Boolean value of Quantities with offsets units is ambiguous, and so, now a ValueError
  is raised when attempting to cast such a Quantity to boolean.
  (Issue #965, Thanks Jon Thielen)
- **BREAKING CHANGE**:
  `__array_ufunc__` has been implemented on `pint.Unit` to permit
  multiplication/division by units on the right of ufunc-reliant array types (like
  Sparse) with proper respect for the type casting hierarchy. However, until [an
  upstream issue with NumPy is resolved](https://github.com/numpy/numpy/issues/15200),
  this breaks creation of Masked Array Quantities by multiplication on the right.
  Read Pint's [NumPy support
  documentation](https://pint.readthedocs.io/en/latest/numpy.html) for more details.
  (Issues #963 and #966, Thanks Jon Thielen)
- Documentation on Pint's array type compatibility has been added to the NumPy support
  page, including a graph of the duck array type casting hierarchy as understood by Pint
  for N-dimensional arrays.
  (Issue #963, Thanks Jon Thielen, Stephan Hoyer, and Guido Imperiale)
- Improved compatibility for downcast duck array types like Sparse.COO. A collection
  of basic tests has been added.
  (Issue #963, Thanks Jon Thielen)
- Improvements to wraps and check:

  - fail upon decoration (not execution) by checking wrapped function signature against
    wraps/check arguments.
    (might BREAK test code)
  - wraps only accepts strings and Units (not quantities) to avoid confusion with magnitude.
    (might BREAK code not conforming to documentation)
  - when strict=True, strings that can be parsed to quantities are accepted as arguments.

- Add revolutions per second (rps)
- Improved compatibility for upcast types like xarray's DataArray or Dataset, to which
  Pint Quantities now fully defer for arithmetic and NumPy operations. A collection of
  basic tests for proper deferral has been added (for full integration tests, see
  xarray's test suite). The list of upcast types is available at
  `pint.compat.upcast_types` in the API.
  (Issue #959, Thanks Jon Thielen)
- Moved docstrings to Numpy Docs
  (Issue #958)
- Added tests for immutability of the magnitude's type under common operations
  (Issue #957, Thanks Jon Thielen)
- Switched test configuration to pytest and added tests of Pint's matplotlib support.
  (Issue #954, Thanks Jon Thielen)
- Deprecate array protocol fallback except where explicitly defined (`__array__`,
  `__array_priority__`, `__array_function__`, `__array_ufunc__`). The fallback will
  remain until the next minor version, or if the environment variable
  `PINT_ARRAY_PROTOCOL_FALLBACK` is set to 0.
  (Issue #953, Thanks Jon Thielen)
- Removed eval usage when creating UnitDefinition and PrefixDefinition from string.
  (Issue #942)
- Added `fmt_locale` argument to registry.
  (Issue #904)
- Better error message when Babel is not installed.
  (Issue #899)
- It is now possible to redefine units within a context, and use pint for currency
  conversions. Read

  - https://pint.readthedocs.io/en/latest/contexts.html
  - https://pint.readthedocs.io/en/latest/currencies.html

  (Issue #938, Thanks Guido Imperiale)
- NaN (any capitalization) in a definitions file is now treated as a number
  (Issue #938, Thanks Guido Imperiale)
- Added slinch to Avoirdupois group
  (Issue #936, Thanks awcox21)
- Fix bug where ureg.disable_contexts() would fail to fully disable throwaway contexts
  (Issue #932, Thanks Guido Imperiale)
- Use black, flake8, and isort on the project
  (Issues #929, #931, and #937, Thanks Guido Imperiale)
- Auto-increase package version at every commit when pint is installed from the git tip,
  e.g. pip install git+https://github.com/hgrecco/pint.git.
  (Issues #930 and #934, Thanks Guido Imperiale and KOLANICH)
- Fix HTML (Jupyter Notebook) and LateX representation of some units
  (Issues #927 / #928 / #933, Thanks Guido Imperiale)
- Fixed the definition of RKM unit as gf / tex
  (Issue #921, Thanks Giuseppe Corbelli)
- **BREAKING CHANGE**:
  Implement NEP-18 <https://numpy.org/neps/nep-0018-array-function-protocol.html> for
  Pint Quantities. Most NumPy functions that previously stripped units when applied to
  Pint Quantities will now return Quantities with proper units (on NumPy v1.16 with
  the array_function protocol enabled or v1.17+ by default) instead of ndarrays. Any
  non-explictly-handled functions will now raise a "no implementation found" TypeError
  instead of stripping units. The previous behavior is maintained for NumPy < v1.16 and
  when the array_function protocol is disabled.
  (Issue #905, Thanks Jon Thielen and andrewgsavage)
- Implementation of NumPy ufuncs has been refactored to share common utilities with
  NumPy function implementations
  (Issue #905, Thanks Jon Thielen)
- Pint Quantities now support the `@` matrix mulitiplication operator (on NumPy v1.16+),
  as well as the `dot`, `flatten`, `astype`, and `item` methods.
  (Issue #905, Thanks Jon Thielen)
- **BREAKING CHANGE**:
  Fix crash when applying pprint to large sets of Units.
  DefinitionSyntaxError is now a subclass of SyntaxError (was ValueError).
  DimensionalityError and OffsetUnitCalculusError are now subclasses of TypeError (was
  ValueError).
  (Issue #915, Thanks Guido Imperiale)
- All Exceptions can now be pickled and can be accessed from the top-level package.
  (Issue #915, Thanks Guido Imperiale)
- Mark regex as raw strings to avoid unnecessary warnings.
  (Issue #913, Thanks keewis)
- Implement registry-based string preprocessing as list of callables.
  (Issues #429 and #851, thanks Jon Thielen)
- Context activation and deactivation is now instantaneous; drastically reduced memory
  footprint of a context (it used to be ~1.6MB per context; now it's a few bytes)
  (Issues #909 / #923 / #938, Thanks Guido Imperiale)
- **BREAKING CHANGE**:
  Drop support for Python < 3.6, numpy < 1.14, and uncertainties < 3.0;
  if you still need them, please install pint 0.9.
  Pint now adheres to NEP-29 <https://numpy.org/neps/nep-0029-deprecation_policy.html>
  as a rolling dependencies version policy.
  (Issues #908 and #910, Thanks Guido Imperiale)
- Show proper code location of UnitStrippedWarning exception.
  (Issue #907, thanks Martin K. Scherer)
- Reimplement _Quantity.__iter__ to return an iterator.
  (Issues #751 and #760, Thanks Jon Thielen)
- Add http://www.dimensionalanalysis.org/ to README
  (Thanks  Shiri Avni)
- Allow for user defined units formatting.
  (Issue #873, Thanks Ryan Clary)
- Quantity, Unit, and Measurement are now accessible as top-level classes
  (pint.Quantity, pint.Unit, pint.Measurement) and can be
  instantiated without explicitly creating a UnitRegistry
  (Issue #880, Thanks Guido Imperiale)
- Contexts don't need to have a name anymore
  (Issue #870, Thanks Guido Imperiale)
- "Board feet" unit added top default registry
  (Issue #869, Thanks Guido Imperiale)
- New syntax to add aliases to already existing definitions
  (Issue #868, Thanks Guido Imperiale)
- copy.deepcopy() can now copy a UnitRegistry
  (Issues #864 and #877, Thanks Guido Imperiale)
- Enabled many tests in test_issues when numpy is not available
  (Issue #863, Thanks Guido Imperiale)
- Document the '_' symbols found in the definitions files
  (Issue #862, Thanks Guido Imperiale)
- Improve OffsetUnitCalculusError message.
  (Issue #839, Thanks Christoph Buchner)
- Atomic units for intensity and electric field.
  (Issue #834, Thanks Øyvind Sigmundson Schøyen)
- Allow np arrays of scalar quantities to be plotted.
  (Issue #825, Thanks andrewgsavage)
- Updated gravitational constant to CODATA 2018.
  (Issue #816, Thanks Jellby)
- Update to new SI definition and CODATA 2018.
  (Issue #811, Thanks Jellby)
- Allow units with aliases but no symbol.
  (Issue #808, Thanks Jellby)
- Fix definition of dimensionless units and constants.
  (Issue #805, Thanks Jellby)
- Added RKM unit (used in textile industry).
  (Issue #802, Thanks Giuseppe Corbelli)
- Remove __name__ method definition in BaseRegistry.
  (Issue #787, Thanks Carlos Pascual)
- Added t_force, short_ton_force and long_ton_force.
  (Issue #796, Thanks Jan Hein de Jong)
- Fixed error message of DefinitionSyntaxError
  (Issue #791, Thanks Clément Pit-Claudel)
- Expanded the potential use of Decimal type to parsing.
  (Issue #788, Thanks Francisco Couzo)
- Fixed gram name to allow translation by babel.
  (Issue #776, Thanks Hervé Cauwelier)
- Default group should only have orphan units.
  (Issue #766, Thanks Jules Chéron)
- Added custom constructors from_sequence and from_list.
  (Issue #761, Thanks deniz195)
- Add quantity formatting with ndarray.
  (Issue #559, Thanks Jules Chéron)
- Add pint-pandas notebook docs
  (Issue #754, Thanks andrewgsavage)
- Use µ as default abbreviation for micro.
  (Issue #666, Thanks Eric Prestat)


0.9 (2019-01-12)
----------------

- Add support for registering with matplotlib's unit handling
  (Issue #317, thanks dopplershift)
- Add converters for matplotlib's unit support.
  (Issue #317, thanks Ryan May)
- Fix unwanted side effects in auto dimensionality reduction.
  (Issue #516, thanks Ben Loer)
- Allow dimensionality check for non Quantity arguments.
- Make Quantity and UnitContainer objects hashable.
  (Issue #286, thanks Nevada Sanchez)
- Fix unit tests errors with numpy >=1.13.
  (Issue #577, thanks cpascual)
- Avoid error in in-place exponentiation with numpy > 1.11.
  (Issue #577, thanks cpascual)
- fix compatible units in context.
  (thanks enrico)
- Added warning for unsupported ufunc.
  (Issue #626, thanks kanhua)
- Improve IPython pretty printers.
  (Issue #590, thanks tecki)
- Drop Support for Python 2.6, 3.0, 3.1 and 3.2.
  (Issue #567)
- Prepare for deprecation announced in Python 3.7
  (Issue #747, thanks Simon Willison)
- Added several new units and Systems
  (Issues #749, #737, )
- Started experimental pandas support
  (Issue #746 and others. Thanks andrewgsavage, znicholls and others)  
- wraps and checks now supports kwargs and defaults.
  (Issue #660, thanks jondoesntgit)


0.8.1 (2017-06-05)
------------------

- Add support for datetime math.
  (Issue #510, thanks robertd)
- Fixed _repr_html_ in Python 2.7.
  (Issue #512)
- Implemented BaseRegistry.auto_reduce_dimensions.
  (Issue #500, thanks robertd)
- Fixed dimension compatibility bug introduced on Registry refactoring
  (Issue #523, thanks dalito)


0.8 (2017-04-16)
----------------

- Refactored the Registry in multiple classes for better separation of concerns and clarity.
- Implemented support for defining multiple units per `define` call (one definition per line).
  (Issue #462)
- In pow and ipow, allow array exponents (with len > 1) when base is dimensionless.
  (Issue #483)
- Wraps now gets the canonical name of the unit when passed as string.
  (Issue #468)
- NumPy exp and log keeps the type
  (Issue #95)
- Implemented a function decorator to ensure that a context is active (with_context)
  (Issue #465)
- Add warning when a System contains an unknown Group.
  (Issue #472)
- Add conda-forge installation snippet.
  (Issue #485, thanks stadelmanma)
- Properly support floor division and modulo.
  (Issue #474, thanks tecki)
- Measurement Correlated variable fix.
  (Issue #463, thanks tadhgmister)
- Implement degree sign handling.
  (Issue #449, thanks iamthad)
- Change `UndefinedUnitError` to inherit from `AttributeError`
  (Issue #480, thanks jhidding)
- Simplified travis for faster testing.
- Fixed order units in siunitx formatting.
  (Issue #441)
- Changed Systems lister to return a list instead of frozenset.
  (Issue #425, thanks GloriaVictis)
- Fixed issue with negative values in to_compact() method.
  (Issue #443, thanks nowox)
- Improved defintions.
  (Issues #448, thanks gdonval)
- Improved Parser to support capital "E" on scientific notation.
  (Issue #390, thanks javenoneal)
- Make sure that prefixed units are defined on the registry when unpickling.
  (Issue #405)
- Automatic unit names translation through babel.
  (Issue #338, thanks alexbodn)
- Support pickling Unit objects.
  (Issue #349)
- Add support for wavenumber/kayser in spectroscopy context.
  (Issue #321, thanks gerritholl)
- Improved formatting.
  (thanks endolith and others)
- Add support for inline comments in definitions file.
  (Issue #366)
- Implement Unit.__deepcopy__.
  (Issue #357, thanks noahl)
- Allow changing shape for Quantities with numpy arrays.
  (Issue #344, thanks tecki)

0.7.2 (2016-03-02)
------------------
- Fixed backward incompatibility problem when parsing dimensionless units.


0.7.1 (2016-02-23)
------------------

- Use NIST as source for most of the unit information.
- Added message to assertQuantityEqual.
- Added detection of circular dependencies in definitions.


0.7 (2016-02-20)
----------------

- Added Systems and groups.
  (Issue #215, #315)
- Implemented references for wraps decorator.
  (Issue #195)
- Added check decorator to UnitRegistry.
  (Issue #283, thanks kaidokert)
- Added compact conversion.
  (See #224, thanks Ryan Dwyer)
- Added compact formating code.
  (Issue #240)
- New Unit Class.
  (thanks Matthieu Dartiailh)
- Refactor UnitRegistry.
  (thanks Matthieu Dartiailh)
- Move definitions, errors, and converters into their own modules.
  (thanks Matthieu Dartiailh)
- UnitsContainer is now immutable
  (Issue #202, thanks Matthieu Dartiailh)
- New parser and evaluator.
  (Issue #226, thanks Aaron Coleman)
- Added support for Unicode identifiers.
- Added m_as as way top retrieve the magnitude in different units.
  (Issue #227)
- Added Short form for magnitude and units.
  (Issue #234)
- Improved deepcopy.
  (Issue #252, thanks Emilien Kofman)
- Improved testing infrastructure.
- Improved docs.
  (thanks Ryan Dwyer, Martin Thoma, Andrea Zonca)
- Fixed short names on electron_volt and hartree.
- Fixed definitions of scruple and drachm.
  (Issue #262, thanks takowl)
- Fixed troy ounce to 480 'grains'.
  (thanks elifab)
- Added 'quad' as a unit of energy (= 10**15 Btu).
  (thanks Ed Schofield)
- Added "hectare" as a supported unit of area and 'ha' as the symbol for hectare.
  (thanks Ed Schofield)
- Added peak sun hour and Langley.
  (thanks Ed Schofield)
- Added photometric units: lumen & lux.
  (Issue #230, thanks janpipek)
- A fraction magnitude quantity is conserved
  (Issue #323, thanks emilienkofman)
- Improved conversion performance by removing unnecessart try/except.
  (Issue #251)
- Added to_tuple and from_tuple to facilitate serialization.
- Fixed support for NumPy 1.10 due to a change in the Default casting rule
  (Issue #320)
- Infrastructure: Added doctesting.
- Infrastructure: Better way to specify exclude matrix in travis.


0.6 (2014-11-07)
----------------

- Fix operations with measurments and user defined units.
  (Issue #204)
- Faster conversions through caching and other performance improvements.
  (Issue #193, thanks MatthieuDartiailh)
- Better error messages on Quantity.__setitem__.
  (Issue #191)
- Fixed abbreviation of fluid_ounce.
  (Issue #187, thanks hsoft)
- Defined Angstrom symbol.
  (Issue #181, thanks JonasOlson)
- Removed fetching version from git repo as it triggers XCode installation on OSX.
  (Issue #178, thanks deanishe)
- Improved context documentation.
  (Issue #176 and 179, thanks rsking84)
- Added Chemistry context.
  (Issue #179, thanks rsking84)
- Fix help(UnitRegisty)
  (Issue #168)
- Optimized "get_dimensionality" and "get_base_name".
  (Issue #166 and #167, thanks jbmohler)
- Renamed ureg.parse_units parameter "to_delta" to "as_delta" to make clear.
  that no conversion happens. Accordingly, the parameter/property
  "default_to_delta" of UnitRegistry was renamed to "default_as_delta".
  (Issue #158, thanks dalit)
- Fixed problem when adding two uncertainties.
  (thanks dalito)
- Full support for Offset units (e.g. temperature)
  (Issue #88, #143, #147 and #161, thanks dalito)


0.5.2 (2014-07-31)
------------------

- Changed travis config to use miniconda for faster testing.
- Added wheel configuration to setup.cfg.
- Ensure resource streams are closed after reading.
- Require setuptools.
  (Issue #169)
- Implemented real, imag and T Quantity properties.
  (Issue #171)
- Implemented __int__ and __long__ for Quantity
  (Issue #170)
- Fixed SI prefix error on ureg.convert.
  (Issue #156, thanks jdreaver)
- Fixed parsing of multiparemeter contexts.
  (Issue #174)


0.5.1 (2014-06-03)
------------------

- Implemented a standard way to change the registry used in unpickling operations.
  (Issue #148)
- Fix bug where conversion would fail due to caching.
  (Issue #140, thanks jdreaver)
- Allow assigning Not a Number to a quantity array.
  (Issue #127)
- Decoupled Quantity in place and not in place unit conversion methods.
- Return None in functions that modify quantities in place.
- Improved testing infrastructure to check for unwanted warnings.
- Added test function at the package level to run all tests.


0.5 (2014-05-07)
----------------

- Improved test suite helper functions.
- Print honors default format w/o format().
  (Issue #132, thanks mankoff)
- Fixed sum() by treating number zero as a special case.
  (Issue #122, thanks rec)
- Improved behaviour in ScaleConverter, OffsetConverter and Quantity.to.
  (Issue #120)
- Reimplemented loading of default definitions to allow Pint in a cx_freeze or similar package.
  (Issue #118, thanks jbmohler)
- Implemented parsing of pretty printed units.
  (Issue #117, thanks jpgrayson)
- Fixed representation of dimensionless quantities.
  (Issue #112, thanks rec)
- Raise error when invalid formatting code is given.
  (Issue #111, thanks rec)
- Default registry to lazy load, raise error on redefinition
  (Issue #108, thanks rec, aepsil0n)
- Added condensed format.
  (Issue #107, thanks rec)
- Added UnitRegistry () operator to parse expression replacing [].
  (Issue #106, thanks rec)
- Optional case insensitive unit parsing.
  (Issue #105, thanks rec, jeremyfreeman, dbrnz)
- Change the Quantity mutability depending on magnitude type.
  (Issue #104, thanks rec)
- Implemented API to list compatible units.
  (Issue #89)
- Implemented cache of key UnitRegistry methods.
- Rewrote the Measurement class to use uncertainties.
  (Issue #24)


0.4.2 (2014-02-14)
------------------

- Python 2.6 support
  (Issue #96, thanks tiagocoutinho)
- Fixed symbol for inch.
  (Issue #102, thanks cybertoast)
- Stop raising AttributeError when wrapping funcs without all of the attributes.
  (Issue #100, thanks jturner314)
- Fixed warning appearing in Py2.x when comparing a Numpy Array with an empty string.
  (Issue #98, thanks jturner314)
- Add links to AUR packages in docs.
  (Issue #91, thanks jturner314)
- Fixed garbage collection related problem.
  (Issue #92, thanks jturner314)


0.4.1 (2014-01-12)
------------------

- Integer Division with Arrays.
  (Issue #80, thanks jdreaver)
- Improved Documentation.
  (Issue #83, thanks choloepus)
- Removed 'h' alias for hour due to conflict with Planck's constant.
  (Issue #82, thanks choloepus)
- Improved get_base_units for non-multiplicative units.
  (Issue #85, thanks exxus)
- Refactored code for multiplication.
  (Issue #84, thanks jturner314)
- Removed 'R' alias for roentgen as it collides with molar_gas_constant.
  (Issue #87, thanks rsking84)
- Improved naming of temperature units and multiplication of non-multiplicative units.
  (Issue #86, tahsnk exxus)



0.4 (2013-12-17)
----------------

- Introduced Contexts: relation between incompatible dimensions.
  (Issue #65)
- Fixed get_base_units for non multiplicative units.
  (Related to issue #66)
- Implemented default formatting for quantities.
- Changed comparison between Quantities containing NumPy arrays.
  (Issue #75) - BACKWARDS INCOMPATIBLE CHANGE
- Fixes for NumPy 1.8 due to changes in handling binary ops.
  (Issue #73)


0.3.3 (2013-11-29)
------------------

- ParseHelper can now parse units named like python keywords.
  (Issue #69)
- Fix comparison of quantities.
  (Issue #74)
- Fix Inequality operator.
  (Issue #70, thanks muggenhor)
- Improved travis configuration.
  (thanks muggenhor)


0.3.2 (2013-10-22)
------------------

- Fix get_dimensionality for non multiplicative units.
  (Issue #66)
- Proper handling of @import directive inside a file read using pkg_resources.
  (Issue #68)


0.3.1 (2013-09-15)
------------------

- fix right division on python 2.7
  (Issue #58, thanks natezb)
- fix formatting of fractional exponentials between 0 and 1.
  (Issue #62, thanks jdreaver)
- fix installation as egg.
  (Issue #61)
- fix handling of strange values as input of Quantity.
  (Issue #53)
- math operations between quantities of different registries now raise a ValueError.
  (Issue #52)


0.3 (2013-09-02)
----------------

- support for IPython autocomplete and rich display.
  (Issues #30 and #31)
- support for @import directive in definitions file.
  (Issue #22)
- support for wrapping functions to make them pint-aware.
  (Issue #16)
- support for comparing UnitsContainer to string.
  (Issue #35)
- fix error raised while converting from a single unit to one expressed as
  the relation between many.
  (Issue #29)
- fix error raised when unit symbol is missing.
  (Issue #41)
- fix error raised when magnitude is Decimal.
  (Issue #46, thanks danielsokolowski)
- support for non-installed pint.
  (Issue #42, thanks danielsokolowski)
- support for application of numpy function on non-ndarray magnitudes.
  (Issue #44)
- support for math operations on dimensionless Quantities (written with units).
  (Issue #45)
- fix obtaining dimensionless quantity from string.
  (Issue #50)
- fix adding and comparing numbers to a dimensionless quantity (written with units).
  (Issue #54)
- Support for iter in Quantity.
  (Issue #55, thanks natezb)


0.2.1 (2013-07-02)
------------------

- fix error raised while converting from a single unit to one expressed as
  the relation between many.
  (Issue #29)


0.2 (2013-05-13)
----------------

- support for Measurement (Quantity +/- error).
- implemented buckingham pi theorem for dimensional analysis.
- support for temperature units and temperature difference units.
- parser can infers if the user mean temperature or temperature difference.
- support for derived dimensions (e.g. [speed] = [length] / [time]).
- refactored the code into multiple files.
- refactored code to isolate definitions and converters.
- refactored formatter out of UnitParser class.
- added tox and travis config files for CI.
- comprehensive NumPy testing including almost all ufuncs.
- full NumPy support (features is not longer experimental).
- fixed bug preventing from having independent registries.
  (Issue #10, thanks bwanders)
- forces real division as default for Quantities.
  (Issue #7, thanks dbrnz)
- improved default unit definition file.
  (Issue #13, thanks r-barnes)
- smarter parser supporting spaces as multiplications and other nice features.
  (Issue #13, thanks r-barnes)
- moved testsuite inside package.
- short forms of binary prefixes, more units and fix to less than comparison.
  (Issue #20, thanks muggenhor)
- pint is now zip-safe
  (Issue #23, thanks muggenhor)


Version 0.1.3 (2013-01-07)
--------------------------

- abbreviated quantity string formating.
- complete Python 2.7 compatibility.
- implemented pickle support for Quantities objects.
- extended NumPy support.
- various bugfixes.


Version 0.1.2 (2012-08-12)
--------------------------

- experimenal NumPy support.
- included default unit definitions file.
  (Issue #1, thanks fish2000)
- better testing.
- various bugfixes.
- fixed some units definitions.
  (Issue #4, thanks craigholm)


Version 0.1.1 (2012-07-31)
--------------------------

- better packaging and installation.


Version 0.1   (2012-07-26)
--------------------------

- first public release.


