Python工具集,包含飞书API、AutoDL API和日志工具
Project description
zdpytools
Python工具集,提供日志、飞书API和AutoDL API集成功能。
功能
- 日志工具:基于loguru的简单易用的日志模块
- 飞书API:飞书开放平台API的封装,支持多维表格操作
- AutoDL API:基于httpx的AutoDL弹性部署API异步封装
安装
pip install zdpytools
使用示例
日志工具
from zdpytools.utils.log import logger
logger.info("这是一条信息日志")
logger.error("这是一条错误日志")
飞书API
import asyncio
from zdpytools.feishu import Feishu
async def example():
fs = Feishu(app_id="你的飞书应用ID", app_secret="你的飞书应用密钥")
try:
# 查询多维表格记录
result = await fs.bitable_records_search("app_token", "table_id")
print(result)
finally:
await fs.close()
asyncio.run(example())
AutoDL API
import asyncio
from zdpytools.autodl import AutoDLClient
from zdpytools.utils.log import logger
async def example():
# 可以直接传入token或者设置环境变量 AUTODL_TOKEN
async with AutoDLClient() as client:
try:
# 获取GPU库存
gpu_stock = await client.get_gpu_stock(
region_sign="westDC2",
cuda_v_from=117,
cuda_v_to=128
)
for gpu_info in gpu_stock:
for gpu_name, stock in gpu_info.items():
logger.info(f"GPU型号: {gpu_name}, 空闲数量: {stock.get('idle_gpu_num')}")
except Exception as e:
logger.error(f"获取GPU库存失败: {e}")
asyncio.run(example())
命名原则
根据 Python 的最佳实践和代码可读性,建议采用以下命名规范:
-
模块文件(.py文件):
- 使用小写字母加下划线(snake_case)
- 例如:
feishu.py,webhook.py,const.py - 原因:这是 Python 社区的标准做法,符合 PEP 8 规范
-
类文件:
- 使用驼峰命名法(CamelCase)
- 例如:
BaseModel.py,FeishuBase.py - 原因:类名通常使用驼峰法,这样更容易识别类的定义
-
目录名:
- 使用小写字母加下划线
- 例如:
feishu/,utils/ - 原因:保持与模块命名一致
-
特殊文件:
__init__.py保持原样(这是 Python 包的标准命名)__pycache__保持原样(这是 Python 的标准目录)
这样的命名规范有以下优点:
- 符合 Python 社区规范
- 提高代码可读性
- 便于区分模块和类
- 保持一致性
- 避免命名冲突
封装更新
修改setup.py中的版本
version="xxx",
修改__init__.py中的版本
__version__ = "0.1.1"
运行构建脚本
python build_package.py
发布
twine upload dist/*
许可证
MIT
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
zdpytools-0.1.8.tar.gz
(21.5 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
zdpytools-0.1.8-py3-none-any.whl
(24.5 kB
view details)
File details
Details for the file zdpytools-0.1.8.tar.gz.
File metadata
- Download URL: zdpytools-0.1.8.tar.gz
- Upload date:
- Size: 21.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc38c16d947f38c7231518e8ae185f0ad121a669efb1f30488753596bfeceaaf
|
|
| MD5 |
10a6c90489a9dc79039a74396ca9b602
|
|
| BLAKE2b-256 |
dd392ccabae70f0dfb44c3e8471522c4473f8af6f47eadc758e8007f7e6760f2
|
File details
Details for the file zdpytools-0.1.8-py3-none-any.whl.
File metadata
- Download URL: zdpytools-0.1.8-py3-none-any.whl
- Upload date:
- Size: 24.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40784d21b8f7ff7efbdc9e4db14f0fd742e06afa7d85530205d8229b5e6e0743
|
|
| MD5 |
9a6120c83b650937ae531be462b4c4a9
|
|
| BLAKE2b-256 |
07bedfbd63f53acc9e141d92efa31842b23de48882b1d05cbad764e77596fdc8
|