RETIRED, further work has moved to Debian project infrastructure
Go to file
Hernan Grecco 79b9b4d4f1 Fix catching of warnings during testing. 2014-03-24 20:44:04 -03:00
docs Added docs about serialization. 2014-03-24 19:52:12 -03:00
pint Fix catching of warnings during testing. 2014-03-24 20:44:04 -03:00
.gitignore Fix for Issue #46, calling 'to_base_units' on Quality with Decimal magnitudes no longer throws a TypeError caused by attempting to multiply a float with Decimal. Further edge cases for other magnitude types might be required. 2013-08-16 15:28:28 -04:00
.travis.yml Removed test and compat files from coverage 2014-03-10 00:59:15 -03:00
AUTHORS Updated CHANGES and AUTHORS 2014-03-12 12:49:23 -03:00
CHANGES Updated CHANGES and AUTHORS 2014-03-12 12:49:23 -03:00
LICENSE Docs and license 2012-05-03 02:21:14 +02:00
MANIFEST.in Bumped year and improved relase sequence 2013-04-22 21:14:56 -03:00
README it's vs its 2014-03-03 14:10:40 +01:00
bench.py Updated benchmarking 2014-01-17 14:04:54 -03:00
bench_base.yaml Use the cache in get_base_units and get_dimensionality. Added benchmarks. 2014-01-23 21:08:34 -03:00
bench_numpy.yaml Updated benchmarking 2014-01-17 14:04:54 -03:00
setup.cfg Bumped year and improved relase sequence 2013-04-22 21:14:56 -03:00
setup.py Python 2.6 support in docs and CHANGES 2014-02-10 15:52:26 -03:00
tox.ini Added uncertainties and coverage to tox testing. 2014-03-07 00:12:40 -03:00

README

Pint: a Python units library
============================

Pint is Python module/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 to 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.


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 programed
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 simple and
  easy to edit text file. 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 latex and pretty
  formatting.

- Small codebase: small and easy to maintain with a flat hierarchy.

- Dependency free: it depends only on Python and its standard library.

- Python 2 and 3: A single codebase that runs unchanged in Python 2.7+ and Python 3.0+.

- Advanced NumPy support: While NumPy is not a requirement for Pint,
  when available ndarray methods and ufuncs can be used in Quantity objects.