Skip to main content

Universal unit converter for engineers

Project description

UniConv: Универсальный конвертер инженерных единиц

PyPI version License: MIT

Универсальный и расширяемый конвертер инженерных единиц измерения, ориентированный на термодинамические и теплогидравлические расчеты.

Особенности

  • Гибкость: Легко добавляйте новые физические параметры (вязкость, скорость) и единицы измерения "на лету".
  • Специализация: "Из коробки" содержит все основные единицы, используемые в теплотехнике (кгс/см², ккал/кг, т/ч и др.).
  • Соответствие ГОСТ: Обозначения единиц приведены в соответствие с ГОСТ 8.417.
  • Надежность: Код покрыт набором автоматизированных тестов.
  • Чистая архитектура: Логика конвертации отделена от физических констант для удобства поддержки.

Установка

Библиотека может быть установлена из PyPI с помощью pip:

pip install uniconv

Быстрый старт

Использование конвертера интуитивно понятно.

from uniconv import UnitConverter

# 1. Создаем экземпляр конвертера
uc = UnitConverter()

# 2. Конвертируем значение
# Пример: перевести давление 10 бар в технические атмосферы (кгс/см²)
p_kgf = uc.convert(10, from_unit="бар", to_unit="кгс/см²", parameter_type="pressure")
print(f"10 бар = {p_kgf:.3f} кгс/см²")
# >> 10 бар = 10.197 кгс/см²

# 3. Получаем список доступных единиц для параметра
pressure_units = uc.get_available_units("pressure")
print("Доступные единицы давления:", pressure_units)
# >> Доступные единицы давления: ['кгс/см²', 'ат', 'Па', 'кПа', 'МПа', 'бар', 'атм', 'мм рт. ст.']

# 4. Расширение "на лету"
# Добавляем параметр "скорость" и новую единицу "км/ч"
uc.add_parameter(
    parameter_type="speed",
    parameter_name="Скорость",
    base_unit_symbol="м/с",
    base_unit_name="Метр в секунду"
)
uc.add_unit(
    "speed",
    unit_symbol="км/ч",
    unit_name="Километр в час",
    to_base=1/3.6
)

# Используем новую единицу
speed_ms = uc.convert(100, from_unit="км/ч", to_unit="м/с", parameter_type="speed")
print(f"100 км/ч = {speed_ms:.2f} м/с")
# >> 100 км/ч = 27.78 м/с

Лицензия

Этот проект распространяется под лицензией MIT. Детали см. в файле LICENSE.

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

uniconv-1.0.1.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

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

uniconv-1.0.1-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file uniconv-1.0.1.tar.gz.

File metadata

  • Download URL: uniconv-1.0.1.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for uniconv-1.0.1.tar.gz
Algorithm Hash digest
SHA256 b51e26b86aef873446fcfb62a2d6e80a3be36ed604c7bc30300b374c26b16f89
MD5 a32828f6faa46b294a62ec9dd59abc98
BLAKE2b-256 61be75abed0bfeeaeb2edab3373e4a17ea7c15d881e760a1721978f5d90d3871

See more details on using hashes here.

File details

Details for the file uniconv-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: uniconv-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for uniconv-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f81a496d240fdba0dce05169dd30c6f600c759adc14cd6b287e57c9f21510d31
MD5 474ea18a37870cde25266da0db7a3447
BLAKE2b-256 9ccde62ecf2c86a7d2cf562caa091d42406127be35e123fd32553615bc64897b

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