Skip to main content

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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

adam_community-1.0.25-py3-none-any.whl (50.2 kB view details)

Uploaded Python 3

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

Hashes for adam_community-1.0.25.tar.gz
Algorithm Hash digest
SHA256 e72caa2866878e52f1b1a7b58b84c994540ed271a350b5eaf80400252d49816f
MD5 c7e8295d0d5ad1ff0fdb4fdf02d57cd1
BLAKE2b-256 c7e76f2c0771f0c7c3be1f8470c075a8e0bfba21256b418dbf1ecae8493c3f98

See more details on using hashes here.

File details

Details for the file adam_community-1.0.25-py3-none-any.whl.

File metadata

File hashes

Hashes for adam_community-1.0.25-py3-none-any.whl
Algorithm Hash digest
SHA256 3d4963f17f5901aac0ae005e15625d982a743436686ba42e0ea7c3cee31bc508
MD5 6c127d1c97c90c71098afc895551b897
BLAKE2b-256 c601e4e47a27b701ffd03340073b50d93dbd615c749060fcc147611b8f19e076

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page