65 lines
1.3 KiB
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"]
|