Skip to main content

PyCUC: A lightweight Python package for creating custom unit conversions.

Project description

🔄 Python Custom Unit Converter (PyCUC)

PyCUC Logo

Downloads PyPI Python Version License Read the Docs

Python Custom Unit Converter (PyCUC) is an open-source package designed to simplify unit conversions in Python. With PyCUC, you can effortlessly create custom conversion factors, convert between units, and streamline calculations in various fields, such as physics, engineering, and scientific computing.

✨ Key Features

  • 📐 Custom Conversion Factors: Define your own conversion factors for unique units

  • 🔄 Flexible Unit Conversions: Convert between units with ease, using simple and intuitive methods

  • 🪶 Lightweight: Minimal dependencies and optimized for performance

  • 🚀 Easy to Use: Simple installation and straightforward usage

References

PyCUC supports a wide range of unit conversions. Below are the updated references you can use for conversions:

  • Density: Convert between units like kg/m³, g/cm³, lb/ft³, etc.

  • Energy: Convert between units like J, kJ, cal, BTU, etc.

  • Heat Capacity: Convert between units like J/mol·K, kJ/mol·K, cal/mol·K, etc.

  • Volume: Convert between units like m³, L, mL, ft³, etc.

  • Mass: Convert between units like kg, g, lb, oz, etc.

  • Power: Convert between units like W, kW, HP, etc.

  • Length: Convert between units like m, cm, mm, in, ft, etc.

  • Force: Convert between units like N, kN, lbf, etc.

📊 Google Colab

You can use the following code to run PyCUC in Google Colab:

Open In Colab

📥 Installation

Install PyCUC with pip:

import pycuc

# check version

print(pycuc.__version__)

🔍 Usage Examples

📋 Example 1: Basic Operations

🔍 Check References

print(pycuc.check_reference('pressure'))

🛠️ Create a Custom Unit Converter

# ! pressure

my_cuc_1 = pycuc.create_cuc(1, 'MPa')

# convert to Pa

print(my_cuc_1.convert('Pa'))

print(my_cuc_1.convert('bar'))

print(my_cuc_1.convert('kPa'))



# ! temperature

my_cuc_2 = pycuc.create_cuc(358, 'K')

# convert to K

print(my_cuc_2.convert('C'))

print(my_cuc_2.convert('F'))

print(my_cuc_2.convert('R'))

↔️ Convert From/To

# ! pressure

print(pycuc.convert_from_to(1, 'MPa', 'Pa'))

# ! temperature

print(pycuc.convert_from_to(358, 'K', 'C'))

print(pycuc.convert_from_to(25, 'C', 'K'))

🔄 Convert From/To (Short Format)

# ! pressure

print(pycuc.to(125, 'MPa => Pa'))

# ! temperature

print(pycuc.to(360, 'K => C'))

print(pycuc.to(250, 'C => K'))

✏️ Define a New Unit

# ! heat capacity unit: J/mol.K

my_cuc_3 = pycuc.create_cuc(25, 'J/mol.K')

# add custom

my_cuc_3.add_custom_unit('J/mol.K', 1)

my_cuc_3.add_custom_unit('kJ/mol.K', 1000)

# conversion

print(my_cuc_3.convert('J/mol.K'))

print(my_cuc_3.convert('kJ/mol.K'))

📚 Check Reference

# ! pressure

print(my_cuc_3.check_reference('pressure'))

# ! temperature

print(my_cuc_3.check_reference('temperature'))

# ! custom

print(my_cuc_3.check_reference('custom'))

📋 Example 2: Advanced Usage

📂 Load Custom Units from YML Files

# load unit yml file

unit_file = os.path.join(os.getcwd(), 'test', 'custom-unit.yml')

my_cuc = pycuc.go(reference_file=unit_file)

🔀 Using from_to Method

# ! pressure

print(my_cuc.from_to(1, 'MPa', 'Pa'))

🚀 Using to Method

# ! pressure

print(my_cuc.to(125, 'MPa => Pa'))

📋 Check References

# ! from yml file

print(my_cuc.check_reference('custom::CUSTOM'))

print(my_cuc.check_reference('custom::HEAT-CAPACITY'))

print(my_cuc.check_reference('custom::ENERGY'))

❓ FAQ

For any questions, contact me on LinkedIn

👨‍💻 Authors

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

pycuc-2.1.0.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

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

pycuc-2.1.0-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file pycuc-2.1.0.tar.gz.

File metadata

  • Download URL: pycuc-2.1.0.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for pycuc-2.1.0.tar.gz
Algorithm Hash digest
SHA256 e682312999017668208ac620c5e53f7440d6a8be771abcd0523787cea7c2b120
MD5 1edd08dcae2375a2ae4ddf4185ae8e29
BLAKE2b-256 0a4f66cadaffb0bea273c5b839902dc6c772871af9dcba84156340c91971ebdc

See more details on using hashes here.

File details

Details for the file pycuc-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: pycuc-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for pycuc-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 748f36236e51bce9d19045e007127ddfa9fbcd7fe4f28d18825121c21cbd35cf
MD5 2e18bdd5657e29bb794a7a8733404dc4
BLAKE2b-256 01e6e09bcd2228033be5c894e801b4aa2b55bd93877279ad665c263c31b63008

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