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
Description: .. 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.
        
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
