Universal unit converter for engineers
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
700205c7d32d8e4b69b6de526460f537f7dba6032ded9e7a4716232a23be8b43
|
|
| MD5 |
451504cc111ff1a0c4791c744a7e0cde
|
|
| BLAKE2b-256 |
00440ee781fa869eb902227ef972c928f8e12a895f2dfc8813c03b135bbadef0
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52b413e9d3c0b8e387649b86180c0665622adfbe4015ef4bcbeff19a62166379
|
|
| MD5 |
ea2b5188ab773e42d1ce18873a9ed952
|
|
| BLAKE2b-256 |
b7231e8310c6ab4948f8d20440c6850efbc635f19e2368d117bd7cb87d78379c
|