- Add offline Dockerfile with tiktoken cache - Create GitHub workflow for offline builds - Update dockerignore for cleaner builds - Exclude dev dirs from package setup - Remove tiktoken volume from compose
146 lines
3.2 KiB
TOML
146 lines
3.2 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=64", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "lightrag-hku"
|
|
dynamic = ["version"]
|
|
authors = [
|
|
{name = "Zirui Guo"}
|
|
]
|
|
description = "LightRAG: Simple and Fast Retrieval-Augmented Generation"
|
|
readme = "README.md"
|
|
license = {text = "MIT"}
|
|
requires-python = ">=3.10"
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Programming Language :: Python :: 3",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Operating System :: OS Independent",
|
|
"Intended Audience :: Developers",
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
]
|
|
dependencies = [
|
|
"aiohttp",
|
|
"configparser",
|
|
"dotenv",
|
|
"future",
|
|
"json_repair",
|
|
"nano-vectordb",
|
|
"networkx",
|
|
"numpy",
|
|
"pandas>=2.0.0",
|
|
"pipmaster",
|
|
"pydantic",
|
|
"pypinyin",
|
|
"python-dotenv",
|
|
"setuptools",
|
|
"tenacity",
|
|
"tiktoken",
|
|
"xlsxwriter>=3.1.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
api = [
|
|
# Core dependencies
|
|
"aiohttp",
|
|
"configparser",
|
|
"dotenv",
|
|
"future",
|
|
"json_repair",
|
|
"nano-vectordb",
|
|
"networkx",
|
|
"numpy",
|
|
"openai",
|
|
"pandas>=2.0.0",
|
|
"pipmaster",
|
|
"pydantic",
|
|
"pypinyin",
|
|
"python-dotenv",
|
|
"setuptools",
|
|
"tenacity",
|
|
"tiktoken",
|
|
"xlsxwriter>=3.1.0",
|
|
# API-specific dependencies
|
|
"aiofiles",
|
|
"ascii_colors",
|
|
"asyncpg",
|
|
"distro",
|
|
"fastapi",
|
|
"httpcore",
|
|
"httpx",
|
|
"jiter",
|
|
"passlib[bcrypt]",
|
|
"psutil",
|
|
"PyJWT",
|
|
"python-jose[cryptography]",
|
|
"python-multipart",
|
|
"pytz",
|
|
"uvicorn",
|
|
]
|
|
|
|
# Offline deployment dependencies (layered design for flexibility)
|
|
offline-docs = [
|
|
# Document processing dependencies
|
|
"docling>=1.0.0",
|
|
"pypdf2>=3.0.0",
|
|
"python-docx>=0.8.11",
|
|
"python-pptx>=0.6.21",
|
|
"openpyxl>=3.0.0",
|
|
]
|
|
|
|
offline-storage = [
|
|
# Storage backend dependencies
|
|
"redis>=5.0.0",
|
|
"neo4j>=5.0.0",
|
|
"pymilvus>=2.6.2",
|
|
"pymongo>=4.0.0",
|
|
"asyncpg>=0.29.0",
|
|
"qdrant-client>=1.7.0",
|
|
]
|
|
|
|
offline-llm = [
|
|
# LLM provider dependencies
|
|
"openai>=1.0.0",
|
|
"anthropic>=0.18.0",
|
|
"ollama>=0.1.0",
|
|
"zhipuai>=2.0.0",
|
|
"aioboto3>=12.0.0",
|
|
"voyageai>=0.2.0",
|
|
"llama-index>=0.9.0",
|
|
"transformers>=4.30.0",
|
|
"torch>=2.0.0",
|
|
]
|
|
|
|
offline = [
|
|
# Complete offline package (includes all offline dependencies)
|
|
"lightrag-hku[offline-docs,offline-storage,offline-llm]",
|
|
]
|
|
|
|
[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"
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/HKUDS/LightRAG"
|
|
Documentation = "https://github.com/HKUDS/LightRAG"
|
|
Repository = "https://github.com/HKUDS/LightRAG"
|
|
"Bug Tracker" = "https://github.com/HKUDS/LightRAG/issues"
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["lightrag*"]
|
|
exclude = ["data*", "tests*", "scripts*", "examples*", "dickens*", "reproduce*", "output_complete*", "rag_storage*", "inputs*"]
|
|
|
|
[tool.setuptools]
|
|
include-package-data = true
|
|
|
|
[tool.setuptools.dynamic]
|
|
version = {attr = "lightrag.__version__"}
|
|
|
|
[tool.setuptools.package-data]
|
|
lightrag = ["api/webui/**/*"]
|
|
|
|
[tool.ruff]
|
|
target-version = "py310"
|