Barril
What is Barril?
Python package to manage units for physical quantities.
Quick example:
from barril.units import Scalar
s1 = Scalar(10, "m")
s2 = Scalar(500, "cm")
assert s1 + s2 == Scalar(15, "m")
Features
Pre-defined unit database containing several physical quantities for the Oil & Gas industry.
Data types with an associated unit:
Scalar
,Array
,Quantity
,FixedArray
.Automatic conversion during arithmetic operations.
Development
For complete description of what type of contributions are possible, see the full CONTRIBUTING guide.
Here is a quick summary of the steps necessary to setup your environment to contribute to barril
.
Create a virtual environment and activate it:
$ python -m virtualenv .env $ .env\Scripts\activate # windows $ source .env/bin/activate # linux
Note
If you use
conda
, you can installvirtualenv
in the root environment:$ conda install -n root virtualenv
Don’t worry as this is safe to do.
Update
pip
:$ python -m pip install -U pip
Install development dependencies:
$ pip install -e .[testing]
Install pre-commit:
$ pre-commit install
Run tests:
$ pytest --pyargs barril
Generate docs locally:
$ tox -e docs
The documentation files will be generated in
docs/_build
.
Release
A reminder for the maintainers on how to make a new release.
Note that the VERSION should folow the semantic versioning as X.Y.Z Ex.: v1.0.5
Create a
release-VERSION
branch fromupstream/master
.Update
CHANGELOG.rst
.Push a branch with the changes.
Once all builds pass, push a
VERSION
tag toupstream
.Merge the PR.
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.