102 lines
2.5 KiB
TOML
102 lines
2.5 KiB
TOML
[build-system]
|
||
requires = ["setuptools>=68.0", "wheel"]
|
||
build-backend = "setuptools.build_meta"
|
||
|
||
[project]
|
||
name = "fischer-agentkit"
|
||
version = "0.1.0"
|
||
description = "Unified Agent Framework with Tool/Skill plugins, Memory, Self-Evolution, MCP support, and Multi-Agent orchestration"
|
||
readme = "README.md"
|
||
requires-python = ">=3.11"
|
||
license = {text = "MIT"}
|
||
authors = [
|
||
{name = "Fischer Team"},
|
||
]
|
||
dependencies = [
|
||
"pydantic>=2.0",
|
||
"redis[hiredis]>=5.0",
|
||
"sqlalchemy[asyncio]>=2.0",
|
||
"asyncpg>=0.29",
|
||
"httpx>=0.27",
|
||
"pyyaml>=6.0",
|
||
"jsonschema>=4.0",
|
||
"typer>=0.12",
|
||
"pyjwt>=2.8",
|
||
"bcrypt>=4.0",
|
||
"aiosqlite>=0.20",
|
||
# 加密 secrets store (U10 — 多端消息适配器 AES-256-GCM)
|
||
"cryptography>=42.0",
|
||
# U15 — LiteLLM 统一 Provider 适配层(替换 6 个直接 API provider)
|
||
"litellm>=1.50",
|
||
# Calendar & schedule (RRULE expansion)
|
||
"python-dateutil>=2.9",
|
||
# Calendar ICS import/export (U8)
|
||
"icalendar>=5.0",
|
||
# Calendar CalDAV sync — Apple Calendar (U6)
|
||
"caldav>=1.3",
|
||
# Document processing (U1-U9)
|
||
"python-docx>=1.1",
|
||
"openpyxl>=3.1",
|
||
"reportlab>=4.0",
|
||
"docxtpl>=0.16",
|
||
"jinja2>=3.1",
|
||
"markdown>=3.5",
|
||
# RAG platform (P1 — LlamaIndex + pgvector)
|
||
"llama-index-core>=0.12",
|
||
"llama-index-vector-stores-postgres>=0.4",
|
||
"llama-index-embeddings-openai>=0.3",
|
||
"pgvector>=0.3",
|
||
"jieba>=0.42",
|
||
# 异步任务队列(U8 — 文档向量化)
|
||
"taskiq>=0.11",
|
||
"taskiq-redis>=0.5",
|
||
]
|
||
|
||
[project.scripts]
|
||
agentkit = "agentkit.cli.main:app"
|
||
|
||
[project.optional-dependencies]
|
||
server = [
|
||
"fastapi>=0.110",
|
||
"uvicorn>=0.27",
|
||
"sse-starlette>=2.0",
|
||
]
|
||
mcp = [
|
||
"mcp>=1.0",
|
||
]
|
||
evolution = [
|
||
"scipy>=1.12",
|
||
]
|
||
dev = [
|
||
"pytest>=8.0",
|
||
"pytest-asyncio>=0.23",
|
||
"pytest-cov>=5.0",
|
||
"pytest-httpx>=0.30",
|
||
"pytest-timeout>=2.2",
|
||
"pytest-html>=4.1",
|
||
"testcontainers[postgres,redis]>=4.0",
|
||
"ruff>=0.4",
|
||
"fastapi>=0.110",
|
||
"uvicorn>=0.27",
|
||
"websockets>=12.0",
|
||
]
|
||
|
||
[tool.setuptools.packages.find]
|
||
where = ["src"]
|
||
|
||
[tool.pytest.ini_options]
|
||
asyncio_mode = "auto"
|
||
testpaths = ["tests"]
|
||
markers = [
|
||
"integration: mark test as integration test (requires docker)",
|
||
"redis: mark test as requiring Redis",
|
||
"postgres: mark test as requiring PostgreSQL",
|
||
"e2e: end-to-end backtest (requires server)",
|
||
"e2e_basic: basic function correctness test",
|
||
"e2e_capability: agent intelligence capability test",
|
||
]
|
||
|
||
[tool.ruff]
|
||
target-version = "py311"
|
||
line-length = 100
|