[project]
name = "tdz-c64-knowledge"
version = "1.0.0"
description = "MCP server for C64 documentation knowledge base"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
"mcp>=1.0.0",
"pypdf>=4.0.0",
"rank-bm25>=0.2.2",
"nltk>=3.8.0",
"cachetools>=5.0.0",
"openpyxl>=3.0.0",
"beautifulsoup4>=4.9.0",
"chardet>=5.0.0",
"requests>=2.31.0",
"aiohttp>=3.9.0",
"tqdm>=4.65.0",
]
[project.optional-dependencies]
dev = [
"pytest>=7.0.0",
"pytest-cov>=4.0.0",
"httpx>=0.25.0", # For FastAPI TestClient
]
semantic = [
"sentence-transformers>=2.0.0",
"faiss-cpu>=1.7.0",
]
ocr = [
"pytesseract>=0.3.10",
"Pillow>=10.0.0",
"pdf2image>=1.16.0",
]
fuzzy = [
"rapidfuzz>=3.0.0",
]
gui = [
"streamlit>=1.28.0",
"pandas>=2.0.0",
"pyvis>=0.3.2",
"networkx>=3.0",
"internetarchive>=5.7.0",
]
rest = [
"fastapi>=0.104.0",
"uvicorn[standard]>=0.24.0",
"pydantic>=2.0.0",
"python-multipart>=0.0.6",
]
[project.scripts]
tdz-c64-knowledge = "server:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["."]
only-include = ["server.py", "cli.py"]