UniConv: Универсальный конвертер инженерных единиц
Универсальный и расширяемый конвертер инженерных единиц измерения, ориентированный на термодинамические и теплогидравлические расчеты.
Особенности
- Гибкость: Легко добавляйте новые физические параметры (вязкость, скорость) и единицы измерения "на лету".
- Специализация: "Из коробки" содержит все основные единицы, используемые в теплотехнике (кгс/см², ккал/кг, т/ч и др.).
- Соответствие ГОСТ: Обозначения единиц приведены в соответствие с ГОСТ 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.
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b51e26b86aef873446fcfb62a2d6e80a3be36ed604c7bc30300b374c26b16f89
|
|
| MD5 |
a32828f6faa46b294a62ec9dd59abc98
|
|
| BLAKE2b-256 |
61be75abed0bfeeaeb2edab3373e4a17ea7c15d881e760a1721978f5d90d3871
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f81a496d240fdba0dce05169dd30c6f600c759adc14cd6b287e57c9f21510d31
|
|
| MD5 |
474ea18a37870cde25266da0db7a3447
|
|
| BLAKE2b-256 |
9ccde62ecf2c86a7d2cf562caa091d42406127be35e123fd32553615bc64897b
|