Skip to main content

a unit converter based on graph network and classes to operate with units.

Project description

unyts

After culminating a project for a class from MITx courses, I saw the opportunity to use a digraph network to build a unit converter able to convert from any units to any units without the need to populate a huge but finite table of possible conversions. Powered by the BFS algorithm to search through the network, this converter can find conversions from a particular unit (or ratio of units) to any other unit (or ratio) as long as a path connecting them exists.

This package is under development and is regularly updated. Back compatibility is intended to be maintained when possible.

What Contains This Package

  • It is loaded with the network of units preloaded for distances, area, volume, mass and time conversions defined for SI and Imperial systems according to the definition of each unit, i.e.: 1_foot = 12_inches.
  • Prefixes applied to the basic units, like k to m to make km, are loaded as a network of conversion paths allowing the algorithm to apply the prefix to any other unit on the same system.
  • It provides classes of units useful powered with arithmetic and logic operations to intrinsically consider unit conversions when making calculations.

How To Use It

To install it from the PyPI repository:
pip install unyts

To use the converter:

from unyts import convert
convert(value, sourceUnits, unitsToConvertTo) where:

  • value is a number (int, float, etc)
  • sourceUnits is a string defining the units of value (i.e.: 'ft')
  • unitsToConvertTo is a string representing the units to convert value (i.e.: 'km')

To use the units class:

from unyts import units
variable = units(value, units)

  • value is a number (int, float, etc)
  • units is a string defining the units of value (i.e.: 'ft')

Then simple operate with the units instances or their variables:
In: units(6, 'in') + units(1, 'ft')
Out: 18_in

For further examples:

The Jupyter notebook unyts_demo intends to be a guide on how to use this converter and units classes.

Requisites

  • NumPy

To install this package:

pip install unyts

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

unyts-0.3.0.tar.gz (26.1 kB view hashes)

Uploaded Source

Built Distribution

unyts-0.3.0-py3-none-any.whl (33.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page