Units of Measure
Project description
Units of Measure
as defined in Unit of Measurement.
- Python library:
units-of-measure
- Python package:
unitsofmeasure
Objectives
- Relate units of measure to the International System of Units (SI) to define their dimension and magnitude.
- Relate objects to units without changing the objects.
- Get the unit that an object is mapped to.
- Give units human-readable symbols and names, and computable attributes.
- Being mapped to a unit shall not keep an object from being garbage-collected.
- Provide SI units and prefixes.
Motivation
First, I used the library forallpeople
,
but that ran into issues with large scales like megatonnes and gigatonnes.
Based on my objectives I decided to create a new library that does exactly that and does not deal with quantities (yet).
Limits
Some types of objects like int
and float
cannot be mapped to units, because that would create error-prone states.
Not all accepted SI units are implemented.
Get Started
To start from the beginning, open the Jupyter notebook start_here.ipynb
.
This link is relative, so it might not work in all contexts.
There is no dependency to the package jupyter
, neither at buildtime nor at runtime.
Consequently this library does not declare jupyter
as dependency.
You can view the notebook on GitHub or in Visual Studio Code.
Beyond that there are several alternatives to view notebooks.
If you want to run or edit it, then you need something like package jupyter
or Miniconda.
Download and install the library with python -m pip install units-of-measure
.
Develop
- Clone with
git clone https://github.com/gerald-scharitzer/units-of-measure.git
- Set up with
python -m pip install -r requirements.txt
- Test with
pytest
- Document with
pydoc -w unitsofmeasure
- Build with
python -m build
- Check with
python -m twine check dist/*
- Publish with
python -m twine upload dist/*
Release Notes
Release 1.2
- new decimal prefixes defined in 2022
Release 1.1
- totally ordered prefixes
- type and value checks in constructors
- dimension symbols and names
pyproject.toml
andhatchling
instead ofsetuptools
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file units_of_measure-1.2.0.tar.gz
.
File metadata
- Download URL: units_of_measure-1.2.0.tar.gz
- Upload date:
- Size: 16.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 236f8d8ec5840beccbe5ed5513c126f126d573ed2f63ac1ae2f4c15e03cff319 |
|
MD5 | 3f88ad3f2ac083a42024d48e888176b6 |
|
BLAKE2b-256 | 1093af1a4e725ffc6037e9d7c8efe9b6398d8a101408c4524106aa9f0c91352a |
File details
Details for the file units_of_measure-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: units_of_measure-1.2.0-py3-none-any.whl
- Upload date:
- Size: 16.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83f818511610ead6263871ab25d919cbd9a1670448e47f48e5989c43eea14567 |
|
MD5 | 9ca71ea932377a7e02efa87ac36e430c |
|
BLAKE2b-256 | c6a8cd3e5f84a7c474ca8a493ed6ea0cc371226da61ebfac9c165edcdb737343 |