pyqudt

Python library for working with the QUDT (Quantity, Unit, Dimension and Type) ontology.


License
BSD-3-Clause
Install
pip install pyqudt==1.1.0

Documentation

Introduction

pyqudt is a Python library for working with QUDT units and convertions between them. It is based on jQUDT, a similar Java library.

QUDT is "Quantities, Units, Dimensions and Data Types in OWL and XML".

http://www.qudt.org

QUDT is a CC-SA-BY project by NASA Ames Research Center and TopQuadrant, Inc.

License of this Python library: 3-clause BSD ("New BSD License")

Installation

pip3 install pyqudt

Status

The package is relatively complete and test cases cover most code. Version 1.0.0 has been released.

Quick demo

Keep in mind, these conversions are purely derived from data in the QUDT ontology.

Source:

from qudt.quantity import Quantity
from qudt.units.concentration import ConcentrationUnit
from qudt.units.temperature import TemperatureUnit

obs = Quantity(0.1, ConcentrationUnit.MICROMOLAR)
print(f'{obs} = {obs.convert_to(ConcentrationUnit.NANOMOLAR)}')

temp = Quantity(20, TemperatureUnit.CELSIUS)
print(f'{temp} = {temp.convert_to(TemperatureUnit.KELVIN)}')

Output

0.1 μM = 100.00000000000001 nM
20 degC = 293.15 K

Developing

The CI suite is run using tox, which assumes you have all Python versions installed, either from source or using deadsnakes repo on Ubuntu LTS. To run tox:

pip3 install tox
tox

Tox calls into Poetry, which is used for dependency management. To test outside of tox, install Poetry and then install the project dependencies:

pip3 install poetry
poetry install