Skip to main content

This is a Python module for handling the SI units as objects in Python, parsing them from strings and converting them to Latex and Unicode, as well as performing math operations and calculating scale factors.

Project description

D-SI Parser

This library converts D-SI unit strings to Latex. And is able to perform math operations *, / and power with the D-SI units as well as checken weather teh can be converted into each other with scalar multiplication

Installation

pip install dsiUnits

Usage

The Constructor dsiUnit(str) will parse the string and create a dsiUnit object. The dsiUnit object has the following methods:

  • toLatex(): returns the Latex representation of the unit
  • toUTF8(): returns the UTF8 representation of the unit
  • isScalablyEqualTo(other): checks whether the unit is equal to another unit with scalar multiplication

And following magic functions:

  • __mul__(other): "*" multiplies the unit with another unit or a scalar

  • __truediv__(other): "/" divides the unit by another unit or a scalar

  • __pow__(other): "**" raises the unit to the power of another unit or a scalar

  • __eq__(other): "==" checks whether the unit is equal to another unit

  • __str__: "str()" returns the string representation of the unit

  • __repr__: returns the string representation of the unit

  • toBaseUnitTree(): returns the base unit tree of the unit

  • reduceFraction(): reduces the fraction of the unit by resolving all \per and combining same units by exponent addition

  • sortTree(): sorts the base unit tree of the unit

from dsiUnits import dsiUnit

unit = dsiUnit('\metre\second\tothe{-1}')
latexStr=unit.toLatex()
print(latexStr)
from dsiUnits import dsiUnit

mps = dsiUnit(r'\metre\second\tothe{-1}')
kmh = dsiUnit(r'\kilo\metre\per\hour')
scaleFactor, baseUnit = mps.isScalablyEqualTo(kmh)
print("The unit "+str(mps)+" is equal to "+str(kmh)+" with a factor of "+scaleFactor+" and base unit "+str(baseUnit))

For more usage examples see the Example Notebook, as well as the pytest file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dsiunits-2.4.0.tar.gz (45.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dsiunits-2.4.0-py3-none-any.whl (39.9 kB view details)

Uploaded Python 3

File details

Details for the file dsiunits-2.4.0.tar.gz.

File metadata

  • Download URL: dsiunits-2.4.0.tar.gz
  • Upload date:
  • Size: 45.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for dsiunits-2.4.0.tar.gz
Algorithm Hash digest
SHA256 7083bd0faca4b8228519582643b2e7f093f9ac65a3118c18e65d75eb8ee2fb6f
MD5 f7dfbecd4f8e654aea050d2b37f2cd92
BLAKE2b-256 51e897e4c491dc8bf45a171052555d70a0ff8adf39d5bc273566e578b5f79289

See more details on using hashes here.

File details

Details for the file dsiunits-2.4.0-py3-none-any.whl.

File metadata

  • Download URL: dsiunits-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 39.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for dsiunits-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 02fa2cf4779c9a9a807e693d95620b30603066fc5ff2be907fa2dcfb6fd24d34
MD5 35a95e55a76f95e1ce1a025630e6563e
BLAKE2b-256 12dc21eaabdd84d61ff97e619dac72dcfde37b0c39204d45216a8dc1a7a70933

See more details on using hashes here.

Supported by

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