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

pipeline status coverage report

D-SI Parser

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

Instalaltion

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 weather 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 weather 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 pers and the combinig 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')
scalfactor,baseUnit=mps.isScalablyEqualTo(kmh)
print("The unit "+str(mps)+" is equal to "+str(kmh)+"with a factor of ",scalfactor," 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.2.2.tar.gz (38.9 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.2.2-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dsiunits-2.2.2.tar.gz
Algorithm Hash digest
SHA256 26d04d22a472294973d26f9ae6188fe12293cd643ac1e828b6cceb5d78593c06
MD5 6e8f7de5a17ba3b00d2766d6ba9d6184
BLAKE2b-256 bdb52c576cee5edf0d4e0194c71f24bd137efa69e5fdbde0223ea038b151d468

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dsiunits-2.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c7cd19c9d26976aeb5636ede8df397efdf4a4321aa471afde9debbf2e5292282
MD5 e83458f312730e30232894d2272ef6ad
BLAKE2b-256 edc6e4913d6dfdcbbde095ee0b20b89b6936e06b2f8ccd96e5bd5e2986bc407e

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