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.25.tar.gz
(38.6 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.25.tar.gz.
File metadata
- Download URL: adam_community-1.0.25.tar.gz
- Upload date:
- Size: 38.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e72caa2866878e52f1b1a7b58b84c994540ed271a350b5eaf80400252d49816f
|
|
| MD5 |
c7e8295d0d5ad1ff0fdb4fdf02d57cd1
|
|
| BLAKE2b-256 |
c7e76f2c0771f0c7c3be1f8470c075a8e0bfba21256b418dbf1ecae8493c3f98
|
File details
Details for the file adam_community-1.0.25-py3-none-any.whl.
File metadata
- Download URL: adam_community-1.0.25-py3-none-any.whl
- Upload date:
- Size: 50.2 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 |
3d4963f17f5901aac0ae005e15625d982a743436686ba42e0ea7c3cee31bc508
|
|
| MD5 |
6c127d1c97c90c71098afc895551b897
|
|
| BLAKE2b-256 |
c601e4e47a27b701ffd03340073b50d93dbd615c749060fcc147611b8f19e076
|