logo
5
5
Login

Python CNB OpenAPI SDK

PyPI Python Version License

CNB OpenAPI的Python SDK,方便与CNB平台进行交互。

该 sdk 由 cnb-sdk-generator 生成

功能特性

  • 完整的API覆盖(用户、仓库、Issue等)
  • 基于Pydantic的强类型模型
  • 完善的错误处理机制
  • 自动重试和超时控制

安装

pip install -e .

或通过PyPI安装(已发布):

pip install python-cnb

快速开始

#!/usr/bin/env python import os from dotenv import load_dotenv from cnb import CNBClient from cnb.exceptions import CNBAPIError from cnb.models import api # 加载环境变量 load_dotenv() def get_user_info(): # 初始化客户端 client = CNBClient( base_url="https://api.cnb.cool", api_key=os.getenv("CNB_TOKEN"), # 从环境变量获取API Key max_retries=3, # 最大重试次数 timeout=30, # 请求超时时间(秒) ) try: user_info = client.cnb.users.get_user_info() print(f"user_info: {user_info}") except CNBAPIError as e: print(f"API调用失败: {e}") def create_issue(): # 初始化客户端 client = CNBClient( base_url="https://api.cnb.cool", api_key=os.getenv("CNB_TOKEN"), # 从环境变量获取API Key max_retries=3, # 最大重试次数 timeout=30, # 请求超时时间(秒) ) try: issue = client.cnb.issues.create_issue( repo="looc/test-ci", body_params=api.PostIssueForm( title="测试 Issue", priority="111" ) ) print(f"issue: {issue}") except CNBAPIError as e: print(f"API调用失败: {e.errcode}") if __name__ == "__main__": get_user_info() list_issues()

许可证

MIT License - 详见LICENSE文件

About

python-cnb 是一个用于访问 CNB API 的 Python SDK。

sdk
1.79 MiB
5 forks5 stars2 branches3 TagREADMEMIT license
Language
Python98.2%
Markdown1.1%
License0.3%
gitignore0.3%
Others0.1%