fischer-agentkit/pyproject.toml

102 lines
2.5 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[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