fix: sync pyproject.toml from upstream

This commit is contained in:
Raphaël MANSUY 2025-12-04 19:20:01 +08:00
parent e09569527f
commit 253cc3b9e4

View file

@ -23,13 +23,13 @@ classifiers = [
dependencies = [
"aiohttp",
"configparser",
"dotenv",
"future",
"google-api-core>=2.0.0,<3.0.0",
"google-genai>=1.0.0,<2.0.0",
"json_repair",
"nano-vectordb",
"networkx",
"numpy",
"pandas>=2.0.0,<2.3.0",
"numpy>=1.24.0,<2.0.0",
"pandas>=2.0.0,<2.4.0",
"pipmaster",
"pydantic",
"pypinyin",
@ -41,18 +41,24 @@ dependencies = [
]
[project.optional-dependencies]
# Test framework dependencies (for CI/CD and testing)
pytest = [
"pytest>=8.4.2",
"pytest-asyncio>=1.2.0",
"pre-commit",
"ruff",
]
api = [
# Core dependencies
"aiohttp",
"configparser",
"dotenv",
"future",
"json_repair",
"nano-vectordb",
"networkx",
"numpy",
"openai>=1.0.0,<2.0.0",
"pandas>=2.0.0,<2.3.0",
"numpy>=1.24.0,<2.0.0",
"openai>=2.0.0,<3.0.0",
"pandas>=2.0.0,<2.4.0",
"pipmaster",
"pydantic",
"pypinyin",
@ -61,6 +67,8 @@ api = [
"tenacity",
"tiktoken",
"xlsxwriter>=3.1.0",
"google-api-core>=2.0.0,<3.0.0",
"google-genai>=1.0.0,<2.0.0",
# API-specific dependencies
"aiofiles",
"ascii_colors",
@ -68,9 +76,9 @@ api = [
"distro",
"fastapi",
"httpcore",
"httpx",
"httpx>=0.28.1",
"jiter",
"passlib[bcrypt]",
"bcrypt>=4.0.0",
"psutil",
"PyJWT>=2.8.0,<3.0.0",
"python-jose[cryptography]",
@ -88,81 +96,64 @@ api = [
# Advanced document processing engine (optional)
docling = [
"docling>=2.0.0,<3.0.0",
# On macOS, pytorch and frameworks use Objective-C are not fork-safe,
# and not compatible to gunicorn multi-worker mode
"docling>=2.0.0,<3.0.0; sys_platform != 'darwin'",
]
# Offline deployment dependencies (layered design for flexibility)
<<<<<<< HEAD
<<<<<<< HEAD
offline-docs = [
# Document processing dependencies
"docling>=1.0.0,<3.0.0",
"pypdf2>=3.0.0",
"python-docx>=0.8.11,<2.0.0",
"python-pptx>=0.6.21,<2.0.0",
"openpyxl>=3.0.0,<4.0.0",
]
=======
>>>>>>> 4b31942e (refactor: move document deps to api group, remove dynamic imports)
=======
>>>>>>> 69a0b74c (refactor: move document deps to api group, remove dynamic imports)
offline-storage = [
# Storage backend dependencies
"redis>=5.0.0,<7.0.0",
"redis>=5.0.0,<8.0.0",
"neo4j>=5.0.0,<7.0.0",
"pymilvus>=2.6.2,<3.0.0",
"pymongo>=4.0.0,<5.0.0",
"asyncpg>=0.29.0,<1.0.0",
"qdrant-client>=1.7.0,<2.0.0",
"qdrant-client>=1.11.0,<2.0.0",
]
offline-llm = [
# LLM provider dependencies
"openai>=1.0.0,<2.0.0",
"openai>=2.0.0,<3.0.0",
"anthropic>=0.18.0,<1.0.0",
"ollama>=0.1.0,<1.0.0",
"zhipuai>=2.0.0,<3.0.0",
"aioboto3>=12.0.0,<16.0.0",
"voyageai>=0.2.0,<1.0.0",
"llama-index>=0.9.0,<1.0.0",
"google-api-core>=2.0.0,<3.0.0",
"google-genai>=1.0.0,<2.0.0",
]
offline = [
# Complete offline package (includes api for document processing, plus storage and LLM)
"lightrag-hku[api,offline-storage,offline-llm]",
<<<<<<< HEAD
=======
]
test = [
"lightrag-hku[api]",
"pytest>=8.4.2",
"pytest-asyncio>=1.2.0",
"pre-commit",
"ruff",
]
evaluation = [
# RAG evaluation dependencies (RAGAS framework)
"lightrag-hku[api]",
"ragas>=0.3.7",
"datasets>=4.3.0",
"httpx>=0.28.1",
"pytest>=8.4.2",
"pytest-asyncio>=1.2.0",
]
observability = [
# LLM observability and tracing dependencies
"langfuse>=3.8.1",
>>>>>>> 69a0b74c (refactor: move document deps to api group, remove dynamic imports)
]
evaluation = [
# RAG evaluation dependencies (RAGAS framework)
"ragas>=0.3.7",
"datasets>=4.3.0",
"httpx>=0.28.1",
"pytest>=8.4.2",
"pytest-asyncio>=1.2.0",
]
[project.scripts]
lightrag-server = "lightrag.api.lightrag_server:main"
lightrag-gunicorn = "lightrag.api.run_with_gunicorn:main"
lightrag-download-cache = "lightrag.tools.download_cache:main"
lightrag-clean-llmqc = "lightrag.tools.clean_llm_query_cache:main"
[project.urls]
Homepage = "https://github.com/HKUDS/LightRAG"
@ -181,7 +172,15 @@ include-package-data = true
version = {attr = "lightrag.__version__"}
[tool.setuptools.package-data]
lightrag = ["api/webui/**/*"]
lightrag = ["api/webui/**/*", "api/static/**/*"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
[tool.ruff]
target-version = "py310"