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.0.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.0-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: uniconv-1.0.0.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.0.tar.gz
Algorithm Hash digest
SHA256 700205c7d32d8e4b69b6de526460f537f7dba6032ded9e7a4716232a23be8b43
MD5 451504cc111ff1a0c4791c744a7e0cde
BLAKE2b-256 00440ee781fa869eb902227ef972c928f8e12a895f2dfc8813c03b135bbadef0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uniconv-1.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 52b413e9d3c0b8e387649b86180c0665622adfbe4015ef4bcbeff19a62166379
MD5 ea2b5188ab773e42d1ce18873a9ed952
BLAKE2b-256 b7231e8310c6ab4948f8d20440c6850efbc635f19e2368d117bd7cb87d78379c

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