跳转到主要内容

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,
    )

开发

设置环境

  1. 安装 pyenv
curl https://pyenv.run | bash
  1. 构建Python版本
pyenv install  3.7.13
  1. 创建virtualenv
pyenv virtualenv 3.7.13 bi-sc-client
  1. 安装依赖项
pyenv exec pip install -r requirements.txt
  1. 安装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

  1. 添加合并请求中缺少的任何条目。
  2. 复制 [Unreleased] 标题。
  3. 将第二个 Unreleased 替换为版本号和当前日期。请从之前的发布中复制确切的格式。

然后,您可以发布并发布包到 PyPi

  1. 更新 __init__.py 中的 __version__ 变量,使其与 CHANGELOG 中指定的版本相匹配。
  2. 为团队打开一个合并请求以供批准这些更改
  3. 合并它,在合并提交上添加 git 标签并将其推送。
  4. 一旦管道成功通过,您的包就已经发布。

项目详情


下载文件

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

源分布

bi-sc-client-0.0.4.tar.gz (4.9 kB 查看哈希值)

上传

构建分布

bi_sc_client-0.0.4-py2.py3-none-any.whl (6.1 kB 查看哈希值)

上传 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面