Python包,用于管理物理量的单位
项目描述
什么是 Barril?
用于管理物理量单位的 Python 包。
快速示例
from barril.units import Scalar
s1 = Scalar(10, "m")
s2 = Scalar(500, "cm")
assert s1 + s2 == Scalar(15, "m")
特性
包含石油和天然气行业多个物理量的预定义单位数据库。
具有关联单位的类型:标量、数组、量、固定数组。
在算术运算过程中自动转换。
开发
有关可能贡献的类型完整描述,请参阅完整的CONTRIBUTING指南。
以下是设置您环境以贡献到barril所需的步骤的快速总结。
创建一个虚拟环境并激活它
$ python -m virtualenv .env $ .env\Scripts\activate # windows $ source .env/bin/activate # linux
更新pip
$ python -m pip install -U pip
安装开发依赖
$ pip install -e .[testing]
安装pre-commit
$ pre-commit install
运行测试
$ pytest --pyargs barril
本地生成文档
$ tox -e docs
文档文件将生成在docs/_build。
发布
提醒维护者如何发布新版本。
请注意,VERSION应遵循语义版本控制,如X.Y.Z。例如:v1.0.5
从upstream/master创建一个release-VERSION分支。
更新CHANGELOG.rst。
推送包含更改的分支。
一旦所有构建通过,将VERSION标签推送到upstream。
合并PR。
致谢
此包是用Cookiecutter和audreyr/cookiecutter-pypackage项目模板创建的。
2.0.1 (2024-02-15)
添加了对Python 3.11和3.12的支持。
删除了对已结束生命周期的Python 3.6和3.7的支持。
添加类别和数量类型henry溶度系数(单位:mol/m3.Pa)
添加类别和数量类型结晶动力学速率(单位:mol/m2.s.Pa)
1.19.0 (2023-08-10)
定义类别和数量类型密度对焓的导数(默认单位:kg2/m3.J)
1.18.0 (2023-06-01)
定义类别Forchheimer线性生产指数和Forchheimer线性生产指数。
定义数量类型Forchheimer线性生产指数和Forchheimer二次生产指数。
为类别Forchheimer线性生产指数和Forchheimer二次生产指数添加单位。
1.17.0 (2023-05-02)
标准化lbmol的使用
为每质量摩尔类别添加更多有效单位
1.16.0 (2023-04-26)
为每质量摩尔数量添加更多单位。
定义molality类别。
1.15.0 (2023-04-03)
将单位m3/d/kgf/cm2添加到生产指数类别。
将压力单位的Pa(g)、kPa(g)、bar(g)和kgf/cm2(g)添加到压力类别。
1.14.1 (2022-11-03)
添加数量类型mol/kg(每质量摩尔)。
1.13.0 (2021-11-30)
将单位牛顿每秒每米从Ns/m更新到N.s/m,以使单位显示与其他同一类别的单位保持一致(增加了对旧单位输入的支持)。
添加数量类型力除以速度平方(单位:N.s2/m2、lbf.s2/ft2、lbf.s2/in2、kgf.s2/m2)。
1.12.0 (2021-11-08)
barril现在完全类型注解,正在使用mypy进行测试。
Array和FixedArray是Generic子类,由容器类型参数化。
1.11.1 (2021-10-08)
修复单位名称中的错误:将kilkodynes(单位=kdyne)更正为kilodynes,将killowatts/cubic metre degree Kelvin(单位=kW/m3.K)更正为kilowatts/cubic metre degree Kelvin。
1.11.0 (2021-06-18)
添加新单位:“Stokes”(St)。
使用来自 oop-ext 1.1 的 TypeCheckingSupport。
将 cubic feet per day per psi(ft3/psi.d)单位添加到“生产指数”类别。
将 calories/metre hour degree Celsius(cal/m.h.degC)单位添加到“热导率”类别。
将 calorie/hour square metre deg C(cal/h.m2.degC)单位添加到“传热系数”类别。
将 std cubic metres/second(sm3/s)单位添加到“每时间标准体积”类别。
将 million std cubic feet/stock tank barrel(MMscf/stb)、stock tank barrel/std cubic feet(stb/scf)和 stock tank barrel/million std cubic feet(stb/MMscf)单位添加到“每标准体积标准体积”类别。
1.10.0 (2020-10-22)
将 thermodynamic temperature 从 degF 和 degR 单位的默认类别中移除。
1.9.0 (2020-02-20)
添加新的类方法 Array.FromScalars,它可以从一个 List[Scalar] 创建一个 Array。
添加新单位:“每秒桶”(bbl/s)。
1.8.0 (2020-01-10)
添加新类别:“每标准体积标准体积”。
将单位 sm3/sm3 从“体积/体积”移动到“每标准体积标准体积”。
1.7.2 (2019-10-16)
将 _foundation 重命名为 _util,并移除了很多不再使用的函数。
添加新的单位类别质量温度每摩尔(kg.K/mol)。
一些单位已被重命名,因为在石油行业中它们被认为不适合,改为更常见的名称(例如,1000ft3/d 变为 Mcf/d)。这些单位的旧表示形式仍然受支持,但它们将在 Quantity 创建时自动转换,因此此更改不应影响用户太多。
修复了除法 1.0 / a 中的错误,其中 a 是 Scalar 或 Array,并添加了对整除的支持,即 a // b 这样的操作,其中 a 和 b 是 Scalar 或 Array(以及与 float 或 int 的组合)。
为焦耳-汤姆逊系数添加新的单位类别(K/Pa)。
为密度对温度的导数添加新的温度单位(kg/m3.K)。
1.7.1 (2019-10-03)
修复了 FixedArray 的 / 和 - 运算符中的错误。
1.7.0 (2019-06-18)
添加单位系统。
1.6.1 (2019-04-11)
更改导出以包括 ICurve 和 Curve,并排除 IReadOnlyScalar。
1.6.0 (2019-04-10)
添加曲线实现。
添加对来自 oop-ext 的接口的支持。
停止支持 Python 2。
1.5.0 (2019-01-09)
Quantity.CheckValue 现在引发 QuantityValidationError 而不是 ValueError。
1.4.0 (2018-12-17)
为“浓度比”添加新类别。
1.3.0 (2018-10-13)
将“每微米”单位添加到“每长度”类别。
删除内部 barril.fixtures 模块,因为它不再必要或不是公共 API 的一部分。
1.2.0 (2018-09-26)
添加定义弹簧-阻尼运动的单位。
1.1.0 (2018-09-24)
将 number 和 fraction 属性添加到 FractionValue。
将 单位 只读属性添加到 数量。
1.0.0 (2018-09-21)
第一个功能发布。
0.1.0 (2018-09-03)
第一个PyPI发布。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。
源分布
构建分布
barril-2.0.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f344dacf795d3410c8191f585eba663bb85d0db1f1db6a6348b52fa9ecb52f7f |
|
MD5 | 4cb32714bcfb4afd10abfd84f5891c95 |
|
BLAKE2b-256 | 0e9d7687483cbaafb9e1b53a9c8939426874622d41c08609bd5b187b9c91b499 |
barril-2.0.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ab90dee6121233604de95c9e0580e002b7c914053dda2cf4cd1fd6a2cd5febd1 |
|
MD5 | 42e1dada0b815ee7315af992b1ad6ba3 |
|
BLAKE2b-256 | ac37f4ad1b9e8e96d236277a217ce99be1cd51cdeabba7437e0654989807a88b |