Adam Community Tools and Utilities
Project description
Adam Community
Adam Community 是一个 Python 工具包,提供了 CLI 命令行工具和 Python 模块,用于解析和构建 Python 项目包。
安装
pip install -e .
使用方式
CLI 命令行
查看帮助:
adam-cli --help
初始化新项目:
adam-cli init
解析 Python 文件生成 functions.json:
adam-cli parse .
构建项目包:
adam-cli build .
更新 CLI 到最新版本:
adam-cli update
Python 模块导入
from adam_community.cli.parser import parse_directory, parse_python_file
from adam_community.cli.build import build_package
# 解析目录下的 Python 文件
classes = parse_directory(Path("./"))
# 构建项目包
success, errors, zip_name = build_package(Path("./"))
States Management(任务状态管理)
用于在任务执行过程中记录和读取状态,与服务端共享 states.json 文件。
from adam_community.util import setState, getState, trackPath
# 记录文件列表(自动与服务端和其他 Tool 的文件合并)
setState("files", [
{"path": "output/result.json", "is_dir": False, "mtime": 1704100800},
{"path": "cache", "is_dir": True, "mtime": 1704100000}
])
# 获取合并后的文件列表(来自 server + 所有 tools)
files = getState("files")
# 记录自定义状态(支持嵌套 key)
setState("stage", "data_cleaning")
setState("config.threshold", 0.5)
# 获取状态
stage = getState("stage") # -> "data_cleaning"
threshold = getState("config.threshold") # -> 0.5
# 追踪文件/目录(自动检测 is_dir 和 mtime,先进先出,最多 30 条)
trackPath("/path/to/output/result.json")
trackPath("/path/to/cache")
功能特性
- Python 文件解析: 自动解析 Python 类和函数的文档字符串
- JSON Schema 验证: 将 Python 类型转换为 JSON Schema 并验证
- 项目构建: 检查配置文件、文档文件并创建 zip 包
- 类型检查: 支持多种 Python 类型注解格式
- 自动更新: 智能检查和更新到最新版本,支持用户配置
开发
安装依赖:
make install
运行测试:
make test
构建包:
make build
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
adam_community-1.0.24.tar.gz
(37.1 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 adam_community-1.0.24.tar.gz.
File metadata
- Download URL: adam_community-1.0.24.tar.gz
- Upload date:
- Size: 37.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
476cb88769b54f61e8c4d17badce0f05668b0ee4a04863ff6bcb734c35016d17
|
|
| MD5 |
cd6d6044643d55c2fd3ee1ecdc1f2f38
|
|
| BLAKE2b-256 |
7491b5bcbae5661762a12d036c5292d0ba04bf27e45cee15e96ca1a84685eaab
|
File details
Details for the file adam_community-1.0.24-py3-none-any.whl.
File metadata
- Download URL: adam_community-1.0.24-py3-none-any.whl
- Upload date:
- Size: 49.1 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 |
d46b7e900763c28993c397b9d2d0564350b5a8c380bce113da985a8a2949940b
|
|
| MD5 |
4962d71a253c52b614844fd223b3cffe
|
|
| BLAKE2b-256 |
375abd8d0bb7e22d8c53a16c01fab2590ada012ff0bd8785b505c9138f5850c6
|