/barril

Python package to manage units for physical quantities

Primary LanguagePythonMIT LicenseMIT

Barril

image

image

image

image

image

image

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.

  1. 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 install virtualenv in the root environment:

    $ conda install -n root virtualenv

    Don't worry as this is safe to do.

  2. Update pip:

    $ python -m pip install -U pip
  3. Install development dependencies:

    $ pip install -e .[testing]
  4. Install pre-commit:

    $ pre-commit install
  5. Run tests:

    $ pytest --pyargs barril
  6. 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

  1. Create a release-VERSION branch from upstream/master.
  2. Update CHANGELOG.rst.
  3. Push a branch with the changes.
  4. Once all builds pass, push a VERSION tag to upstream.
  5. Merge the PR.

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.