fischer-agentkit/pyproject.toml

95 lines
2.2 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",
# 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",
]
[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