BI SomConnexió API的Python封装
项目描述
此库是访问Som Connexió BI API的Python封装。
操作
- 使用账单运行编号开始计费
- 使用发票编号通知BI API
安装
$ pip install bi-sc-client
配置环境
要使用此库,您必须公开所需的环境变量
BI_URL:
BI_USER:
BI_PASSWORD:
这些环境变量用于定位和访问BI API。
使用方法
- 使用账单运行编号开始计费
billing_run_uuid = 1234
BISomConnexioClient().start_billing_run_invoicing(
billing_run_number=billing_run_uuid,
)
- 使用发票编号通知BI API
invoice_number = "AB-1234Z"
BISomConnexioClient().notify_invoice_number(
invoice_number=invoice_number,
)
开发
设置环境
- 安装
pyenv
curl https://pyenv.run | bash
- 构建Python版本
pyenv install 3.7.13
- 创建virtualenv
pyenv virtualenv 3.7.13 bi-sc-client
- 安装依赖项
pyenv exec pip install -r requirements.txt
- 安装pre-commit钩子
pyenv exec pre-commit install
以开发模式本地安装包
当我们在其他项目中使用此包时,我们需要将其安装以在其他文件中使用导入。以开发模式安装包可以帮助我们修改包并在新版本中用于其他项目。
pip install -e .
测试HTTP请求
我们使用Pytest的HTTP录制插件: pytest-recording。
使用VCR,我们可以捕获HTTP响应,然后,使用它们执行测试。
添加新测试
- 公开所需的envvars。在配置环境部分中查找它们
- 使用
pytest
命令执行测试 - 如果您正在编写一个新的测试,该测试正在发出请求,则应运行
$ pytest --record-mode=once path/to/your/test
- 您可能需要为特定的测试记录请求。在这种情况下,请确保只运行受影响的测试并运行
$ pytest --record-mode=rewrite path/to/your/test
- 将新的
cassetes
添加到提交并推送它们。 - CI使用cassetes在测试中模拟HTTP响应。
运行测试套件
$ tox
格式化
我们使用Black作为格式化工具。首先提交,运行black
命令
$ black .
All done! ✨ 🍰 ✨
29 files left unchanged.
更暗
Black 是一个优秀的格式化工具,但为了在不执行 black
命令的情况下维护您的代码,您可以配置您的 IDE 使用 darker,在保存文件时仅格式化更改或新增的代码。
发布流程
按照以下步骤更新 CHANGELOG.md
- 添加合并请求中缺少的任何条目。
- 复制
[Unreleased]
标题。 - 将第二个
Unreleased
替换为版本号和当前日期。请从之前的发布中复制确切的格式。
然后,您可以发布并发布包到 PyPi
- 更新
__init__.py
中的__version__
变量,使其与 CHANGELOG 中指定的版本相匹配。 - 为团队打开一个合并请求以供批准这些更改
- 合并它,在合并提交上添加 git 标签并将其推送。
- 一旦管道成功通过,您的包就已经发布。