跳转到主要内容

OBP会计服务的Python SDK。

项目描述

obp-accounting-sdk

Build status License Code coverage CodeQL PyPI

描述

OBP会计服务的Python SDK。

用法

该API提供以下主要类,用于异步操作:

  • obp_accounting_sdk.AsyncAccountingSessionFactory
  • obp_accounting_sdk.AsyncOneshotSession

以及相应的同步版本:

  • obp_accounting_sdk.AccountingSessionFactory
  • obp_accounting_sdk.OneshotSession

工厂类必须只实例化一次,可以通过调用用作上下文管理器的oneshot_session方法来获取新的会话

subtype: ServiceSubtype = ...
proj_id: UUID = ...
estimated_count: int = ...
async with accounting_session_factory.oneshot_session(
    subtype=subtype,
    proj_id=proj_id,
    count=estimated_count,
) as acc_session:
    # actual logic
    acc_session.count = actual_count

在上面的示例中

  • 与会计服务的预订发生在进入上下文管理器时。
  • 退出上下文管理器时将使用用例发送到会计服务,除非抛出异常,因为在这种情况假设实际要计费的业务逻辑没有执行。
  • estimated_count的值用于预订,也用于使用,除非将新值分配给acc_session.count

示例

请参阅演示应用,其中包含集成到简单FastAPI应用的示例。

如果您已安装tox,您可以通过以下方式设置所需的env变量并运行演示:

export ACCOUNTING_BASE_URL=http://127.0.0.1:8100
export UVICORN_PORT=8000
tox -e demo

并使用以下方式设置有效项目ID后调用端点:

export PROJECT_ID=8eb248a8-672c-4158-9365-b95286cba796
curl -vs "http://127.0.0.1:$UVICORN_PORT/query" \
-H "content-type: application/json" \
-H "project-id: $PROJECT_ID" \
--data-binary @- <<EOF
{"input_text": "my query"}
EOF

贡献指南

参见贡献

致谢

本软件的开发得到了瑞士联邦理工学院洛桑联邦理工学院(EPFL)的研究中心蓝脑项目的资金支持。

有关许可证和作者,请参阅许可证作者

版权 © 2024 蓝脑项目/EPFL

项目详情


下载文件

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

源代码分布

obp_accounting_sdk-0.1.1.tar.gz (18.5 kB 查看哈希值)

上传时间 源代码

构建分布

obp_accounting_sdk-0.1.1-py3-none-any.whl (14.1 kB 查看哈希值)

上传时间 Python 3

支持者