Metadata-Version: 2.1
Name: measured
Version: 0.12.2
Summary: Fast and Pythonic library for working with measurements and quantities
Home-page: https://github.com/chrisguidry/measured
Author: Chris Guidry
Author-email: chris@theguidrys.us
License: MIT
Project-URL: Bug Tracker, https://github.com/chrisguidry/measured/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Astronomy
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: typing-extensions; python_version < "3.9"
Provides-Extra: dev
Requires-Dist: black[jupyter]; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: cloudpickle; extra == "dev"
Requires-Dist: fastapi; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: flake8-black; extra == "dev"
Requires-Dist: httpx; extra == "dev"
Requires-Dist: hypothesis; extra == "dev"
Requires-Dist: icecream; extra == "dev"
Requires-Dist: isort>=5.12.0; extra == "dev"
Requires-Dist: ipython; extra == "dev"
Requires-Dist: jupyter; extra == "dev"
Requires-Dist: lark; extra == "dev"
Requires-Dist: memray; (implementation_name == "cpython" and python_version <= "3.10") and extra == "dev"
Requires-Dist: mkdocs; extra == "dev"
Requires-Dist: mkdocs-material; extra == "dev"
Requires-Dist: mkdocstrings[python]; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pydantic>2; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-asyncio; extra == "dev"
Requires-Dist: pytest-benchmark; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: pytest-xdist; extra == "dev"
Requires-Dist: snakeviz; extra == "dev"
Requires-Dist: sqlalchemy; extra == "dev"
Requires-Dist: tox; extra == "dev"
Requires-Dist: typer; extra == "dev"
Requires-Dist: tuna; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: wheel; extra == "dev"
Requires-Dist: types-sqlalchemy; extra == "dev"

# `measured`

`measured` is a library for measurements and quantities.

[![PyPi](https://img.shields.io/pypi/v/measured)](https://pypi.org/project/measured)
[![Build and test](https://github.com/chrisguidry/measured/actions/workflows/test.yml/badge.svg?event=push)](https://github.com/chrisguidry/measured/actions)
[![Code Coverage](https://img.shields.io/codecov/c/github/chrisguidry/measured?flag=python-3.10)](https://app.codecov.io/gh/chrisguidry/measured/)
[![Documentation Status](https://readthedocs.org/projects/measured/badge/?version=latest)](https://measured.readthedocs.io/en/latest/?badge=latest)

```python
>>> from measured import Speed
>>> from measured.si import Meter, Second
>>> distance = 10 * Meter
>>> time = 2 * Second
>>> speed = distance / time
>>> assert speed == 5 * Meter / Second
>>> assert speed.unit is Meter / Second
>>> assert speed.unit.dimension is Speed
```

The goal of `measured` is to provide a sound foundation for recording and converting
physical quantities, while maintaining the integrity of their units and dimensions.

While it aims to be the fastest library of its kind, automatically tracking the units
and dimensions of quantities introduces significant overhead.  You can use `measured`
for applications where the accuracy of the units is more important than raw numerical
computing speed.

`measured` is licenced under the MIT Licence.

[![MIT License](https://img.shields.io/github/license/chrisguidry/measured)](https://github.com/chrisguidry/measured/blob/main/LICENSE.txt)

## Installing

`measured` is available on [PyPi](https://pypi.org/project/measured), and is tested with
with Python and PyPy 3.8+:

```bash
$ pip install measured
```
[![Python Versions](https://img.shields.io/pypi/pyversions/measured)](https://pypi.org/project/measured)

## Reference

The documentation for `measured` is on [Read the
Docs](https://measured.readthedocs.io/).

## Contributing

Contributions are welcome!  Please report bug and submit pull requests to
https://github.com/chrisguidry/measured.

[![Issues](https://img.shields.io/github/issues/chrisguidry/measured)](https://github.com/chrisguidry/measured/issues) [![Pull Requests](https://img.shields.io/github/issues-pr/chrisguidry/measured)](https://github.com/chrisguidry/measured/pulls)
