CNB OpenAPI的Python SDK,方便与CNB平台进行交互
Project description
Python CNB OpenAPI SDK
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()
配置
在项目根目录创建.env文件:
API_KEY=your_cnb_api_key
BASE_URL=https://api.cnb.cool
许可证
MIT License - 详见LICENSE文件
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
python_cnb-0.3.0.tar.gz
(38.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_cnb-0.3.0.tar.gz.
File metadata
- Download URL: python_cnb-0.3.0.tar.gz
- Upload date:
- Size: 38.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54f502ea0cab309a44db23ce72aee012e4fa083766aae81e0d7131e32e8788e8
|
|
| MD5 |
aca90cfb4bf089d9fd68d2a70cfdd9ab
|
|
| BLAKE2b-256 |
74872e465f9dfba6e193ae297681b0f447acecf3a4276131f252bb1aac126cc5
|
File details
Details for the file python_cnb-0.3.0-py3-none-any.whl.
File metadata
- Download URL: python_cnb-0.3.0-py3-none-any.whl
- Upload date:
- Size: 57.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5059085c937074ed53a184f2afa7b5b187532b8d90bad577556d6deced5656bc
|
|
| MD5 |
49417f216d97aa4de535bf7de0add21b
|
|
| BLAKE2b-256 |
772fa3c2a774e1fff767317f63d517a7b668793707b02bb04704c2c5fbe7177a
|