p2pwiki-ai/pyproject.toml

65 lines
1.3 KiB
TOML

[project]
name = "p2pwiki-ai"
version = "0.1.0"
description = "AI-augmented system for P2P Foundation Wiki - chat agent and ingress pipeline"
requires-python = ">=3.10"
dependencies = [
# Core
"fastapi>=0.109.0",
"uvicorn[standard]>=0.27.0",
"pydantic>=2.5.0",
"pydantic-settings>=2.1.0",
# XML parsing
"lxml>=5.1.0",
# Vector store & embeddings
"chromadb>=0.4.22",
"sentence-transformers>=2.3.0",
# LLM integration
"openai>=1.10.0", # For Ollama-compatible API
"anthropic>=0.18.0", # For Claude API
"httpx>=0.26.0",
# Article scraping
"trafilatura>=1.6.0",
"newspaper3k>=0.2.8",
"beautifulsoup4>=4.12.0",
"requests>=2.31.0",
# Utilities
"python-dotenv>=1.0.0",
"rich>=13.7.0",
"tqdm>=4.66.0",
"tenacity>=8.2.0",
]
[project.optional-dependencies]
dev = [
"pytest>=7.4.0",
"pytest-asyncio>=0.23.0",
"black>=24.1.0",
"ruff>=0.1.0",
]
[project.scripts]
p2pwiki-parse = "src.parser:main"
p2pwiki-embed = "src.embeddings:main"
p2pwiki-serve = "src.api:main"
[build-system]
requires = ["setuptools>=68.0", "wheel"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["."]
[tool.black]
line-length = 100
target-version = ["py310"]
[tool.ruff]
line-length = 100
select = ["E", "F", "I", "N", "W"]