跳转到主要内容

Python包,用于管理物理量的单位

项目描述

https://img.shields.io/pypi/v/barril.svg https://img.shields.io/pypi/pyversions/barril.svg https://github.com/ESSS/barril/workflows/test/badge.svg https://codecov.io/gh/ESSS/barril/branch/master/graph/badge.svg https://img.shields.io/readthedocs/barril.svg https://sonarcloud.io/api/project_badges/measure?project=ESSS_barril&metric=alert_status

什么是 Barril?

用于管理物理量单位的 Python 包。

快速示例

from barril.units import Scalar

s1 = Scalar(10, "m")
s2 = Scalar(500, "cm")
assert s1 + s2 == Scalar(15, "m")

特性

  • 包含石油和天然气行业多个物理量的预定义单位数据库。

  • 具有关联单位的类型:标量、数组、量、固定数组。

  • 在算术运算过程中自动转换。

开发

有关可能贡献的类型完整描述,请参阅完整的CONTRIBUTING指南。

以下是设置您环境以贡献到barril所需的步骤的快速总结。

  1. 创建一个虚拟环境并激活它

    $ python -m virtualenv .env
    $ .env\Scripts\activate  # windows
    $ source .env/bin/activate  # linux
  2. 更新pip

    $ python -m pip install -U pip
  3. 安装开发依赖

    $ pip install -e .[testing]
  4. 安装pre-commit

    $ pre-commit install
  5. 运行测试

    $ pytest --pyargs barril
  6. 本地生成文档

    $ tox -e docs

    文档文件将生成在docs/_build

发布

提醒维护者如何发布新版本。

请注意,VERSION应遵循语义版本控制,如X.Y.Z。例如:v1.0.5

  1. upstream/master创建一个release-VERSION分支。

  2. 更新CHANGELOG.rst

  3. 推送包含更改的分支。

  4. 一旦所有构建通过,将VERSION标签推送到upstream

  5. 合并PR。

致谢

此包是用Cookiecutteraudreyr/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进行测试。

  • ArrayFixedArrayGeneric子类,由容器类型参数化。

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.1TypeCheckingSupport

  • cubic feet per day per psift3/psi.d)单位添加到“生产指数”类别。

  • calories/metre hour degree Celsiuscal/m.h.degC)单位添加到“热导率”类别。

  • calorie/hour square metre deg Ccal/h.m2.degC)单位添加到“传热系数”类别。

  • std cubic metres/secondsm3/s)单位添加到“每时间标准体积”类别。

  • million std cubic feet/stock tank barrelMMscf/stb)、stock tank barrel/std cubic feetstb/scf)和 stock tank barrel/million std cubic feetstb/MMscf)单位添加到“每标准体积标准体积”类别。

1.10.0 (2020-10-22)

  • thermodynamic temperaturedegFdegR 单位的默认类别中移除。

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 中的错误,其中 aScalarArray,并添加了对整除的支持,即 a // b 这样的操作,其中 abScalarArray(以及与 floatint 的组合)。

  • 为焦耳-汤姆逊系数添加新的单位类别(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)

  • numberfraction 属性添加到 FractionValue

  • 单位 只读属性添加到 数量

1.0.0 (2018-09-21)

  • 第一个功能发布。

0.1.0 (2018-09-03)

  • 第一个PyPI发布。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。

源分布

barril-2.0.1.tar.gz (180.8 kB 查看哈希值)

上传时间

构建分布

barril-2.0.1-py3-none-any.whl (160.6 kB 查看哈希值)

上传时间 Python 3

由以下支持