Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
23 of 228 committers (10.1%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.5%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Operate and manipulate physical quantities in Python
Basic Info
- Host: GitHub
- Owner: hgrecco
- License: other
- Language: Python
- Default Branch: master
- Homepage: http://pint.readthedocs.org/
- Size: 4.46 MB
Statistics
- Stars: 2,619
- Watchers: 46
- Forks: 485
- Open Issues: 305
- Releases: 0
Topics
Metadata Files
README.rst
.. image:: https://img.shields.io/pypi/v/pint.svg
:target: https://pypi.python.org/pypi/pint
:alt: Latest Version
.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
:target: https://github.com/astral-sh/ruff
:alt: Ruff
.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/format.json
:target: https://github.com/astral-sh/ruff
:alt: Ruff-Format
.. image:: https://readthedocs.org/projects/pint/badge/
:target: https://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://github.com/hgrecco/pint/workflows/CI/badge.svg
:target: https://github.com/hgrecco/pint/actions?query=workflow%3ACI
:alt: CI
.. image:: https://github.com/hgrecco/pint/workflows/Lint/badge.svg
:target: https://github.com/hgrecco/pint/actions?query=workflow%3ALint
:alt: LINTER
.. image:: https://coveralls.io/repos/github/hgrecco/pint/badge.svg?branch=master
:target: https://coveralls.io/github/hgrecco/pint?branch=master
:alt: Coverage
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.9+ with no other dependency.
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
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
>>> np.sum(_)
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/
Command-line converter
----------------------
A command-line script `pint-convert` provides a quick way to convert between
units or get conversion factors.
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`_.
Pint is maintained by a community of scientists, programmers and enthusiasts around the world.
See AUTHORS_ for a complete list.
To review an ordered list of notable changes for each version of a project,
see CHANGES_
.. _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/development/extending.html#extension-types
.. _`pint-pandas Jupyter notebook`: https://github.com/hgrecco/pint-pandas/blob/master/notebooks/pint-pandas.ipynb
.. _`AUTHORS`: https://github.com/hgrecco/pint/blob/master/AUTHORS
.. _`CHANGES`: https://github.com/hgrecco/pint/blob/master/CHANGES
Owner
- Name: Hernan Grecco
- Login: hgrecco
- Kind: user
- Twitter: GreccoHernan
- Repositories: 78
- Profile: https://github.com/hgrecco
GitHub Events
Total
- Issues event: 113
- Watch event: 215
- Delete event: 2
- Issue comment event: 335
- Push event: 65
- Pull request review event: 24
- Pull request review comment event: 23
- Pull request event: 91
- Fork event: 31
- Create event: 6
Last Year
- Issues event: 113
- Watch event: 215
- Delete event: 2
- Issue comment event: 335
- Push event: 65
- Pull request review event: 24
- Pull request review comment event: 23
- Pull request event: 91
- Fork event: 31
- Create event: 6
Committers
Last synced: 10 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Hernan Grecco | h****o@g****m | 956 |
| Keewis | k****s@p****e | 208 |
| Guido Imperiale | c****y@g****m | 116 |
| andrewgsavage | a****e@g****m | 75 |
| Jules Chéron | j****n@g****m | 65 |
| Jon Thielen | g****b@j****c | 62 |
| David Linke | d****o | 41 |
| 5igno | s****x@g****m | 31 |
| Guido Imperiale | g****e@a****m | 29 |
| Clark Willison | c****n@g****m | 27 |
| Michael Tiemann | 7****C | 25 |
| Martin Teichmann | m****n@x****u | 20 |
| github-actions[bot] | g****] | 18 |
| Ryan May | r****y@u****u | 16 |
| Jim Turner | j****4@g****m | 15 |
| Jellby | j****y@y****m | 13 |
| Ryan Dwyer | r****r@g****m | 12 |
| Carlos Pascual | c****l@c****s | 10 |
| Giel van Schijndel | me@m****u | 10 |
| Jonathan Wheeler | j****r@g****m | 10 |
| Juan Nunez-Iglesias | j****s@m****u | 10 |
| Russell Manser | r****r@t****u | 10 |
| Emilien Kofman | e****n@g****m | 9 |
| Giuseppe Corbelli | c****e@m****t | 9 |
| loganthomas | l****5@g****m | 8 |
| Ryan Kingsbury | R****y@a****u | 8 |
| Tom Ritchford | t****m@s****m | 8 |
| Porcelain Mouse | p****b@n****m | 8 |
| Constantine Evans | c****t@c****u | 8 |
| Hugo | h****k | 8 |
| and 198 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 331
- Total pull requests: 286
- Average time to close issues: over 1 year
- Average time to close pull requests: 4 months
- Total issue authors: 238
- Total pull request authors: 92
- Average comments per issue: 2.78
- Average comments per pull request: 2.4
- Merged pull requests: 164
- Bot issues: 0
- Bot pull requests: 2
Past Year
- Issues: 79
- Pull requests: 91
- Average time to close issues: 12 days
- Average time to close pull requests: 10 days
- Issue authors: 63
- Pull request authors: 26
- Average comments per issue: 0.9
- Average comments per pull request: 1.18
- Merged pull requests: 51
- Bot issues: 0
- Bot pull requests: 1
Top Authors
Issue Authors
- andrewgsavage (17)
- hgrecco (10)
- doronbehar (6)
- jules-ch (6)
- PlasmaHH (4)
- mgab (4)
- rufuswilson (3)
- lafrech (3)
- mmarras (3)
- mhechthz (3)
- aulemahal (3)
- LecrisUT (3)
- nmadura (3)
- lucascolley (3)
- nneskildsf (3)
Pull Request Authors
- andrewgsavage (79)
- hgrecco (14)
- keewis (10)
- nneskildsf (8)
- jules-ch (8)
- maurosilber (6)
- dalito (5)
- MichaelTiemannOSC (5)
- dopplershift (5)
- daspk04 (4)
- simonw (4)
- denialhaag (4)
- em1208 (4)
- mattwthompson (3)
- Saelyos (3)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 4
-
Total downloads:
- pypi 1,831,261 last-month
- Total docker downloads: 6,680
-
Total dependent packages: 463
(may contain duplicates) -
Total dependent repositories: 1,069
(may contain duplicates) - Total versions: 97
- Total maintainers: 3
pypi.org: pint
Physical quantities module
- Homepage: https://github.com/hgrecco/pint
- Documentation: https://pint.readthedocs.io/
- License: BSD
-
Latest release: 0.24.4
published over 1 year ago
Rankings
Maintainers (1)
conda-forge.org: pint
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.
- Homepage: https://github.com/hgrecco/pint
- License: BSD-3-Clause
-
Latest release: 0.20.1
published over 3 years ago
Rankings
spack.io: py-pint
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.
- Homepage: https://github.com/hgrecco/pint
- License: []
-
Latest release: 0.24.4
published 6 months ago
Rankings
Maintainers (1)
pypi.org: pint-mtools
Physical quantities module (modified for unitdoc)
- Homepage: https://github.com/hgrecco/pint
- Documentation: https://pint-mtools.readthedocs.io/
- License: BSD
-
Latest release: 0.12.3
published almost 6 years ago
Rankings
Maintainers (1)
Dependencies
- actions/cache v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/cache v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/cache v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- technote-space/create-pr-action bfd4392c80dbeb54e0bacbcf4750540aecae6ed4 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- pre-commit/action v2.0.0 composite
- Serialize *
- dask *
- graphviz *
- ipykernel *
- ipython *
- jupyter_client *
- matplotlib *
- nbsphinx *
- numpy *
- pooch *
- pygments >=2.4
- pytest *
- setuptools >=41.2
- sparse *
- sphinx >4
- sphinx-book-theme ==0.3.3
- sphinx_copybutton *
- sphinx_design *
- xarray *
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
- appdirs >=1.4.4
- flexcache >=0.3
- flexparser >=0.3
- typing_extensions *
- CodSpeedHQ/action v1 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite