docneedle / pyproject.toml
N4YuC4's picture
Deploy DocNeedle updates
0b3d084 verified
Raw History Blame Contribute Delete
2.54 kB
[project]
name = "docneedle"
version = "0.1.0"
description = "Privacy-first local RAG document extraction microservice"
readme = "README.md"
requires-python = ">=3.14"
dependencies = [
"fastapi>=0.115.0",
"uvicorn[standard]>=0.32.0",
"pydantic>=2.9.0",
"pydantic-settings>=2.5.0",
"python-multipart>=0.0.12",
"httpx>=0.27.0",
"numpy>=2.0.0",
"gradio>=6.0.0",
"pillow>=10.0.0",
"tokenizers>=0.19.0",
"huggingface-hub>=0.25.0",
"python-dotenv>=1.0.0",
"docling-core[chunking]>=2.15.0",
"python-docx>=1.1.0",
"openpyxl>=3.1.0",
"beautifulsoup4>=4.12.0",
"onnxruntime-gpu>=1.19.0; (platform_system == 'Linux' or platform_system == 'Windows') and (platform_machine == 'x86_64' or platform_machine == 'AMD64' or platform_machine == 'aarch64')",
"onnxruntime>=1.19.0; platform_system == 'Darwin' or (platform_machine != 'x86_64' and platform_machine != 'AMD64' and platform_machine != 'aarch64')",
"rapidocr>=3.0.0",
"rank-bm25>=0.2.2",
"llama-cpp-python>=0.3.0,<0.4.0",
"pypdfium2>=4.30.0",
]
[dependency-groups]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.24.0",
"ruff>=0.7.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.24.0",
"ruff>=0.7.0",
]
cuda = [
"nvidia-cuda-runtime-cu12; platform_system == 'Linux' and (platform_machine == 'x86_64' or platform_machine == 'aarch64')",
"nvidia-cublas-cu12; platform_system == 'Linux' and (platform_machine == 'x86_64' or platform_machine == 'aarch64')",
"cuda-toolkit[cublas,cudart,cufft,curand,nvrtc]>=13.0.0; platform_system == 'Linux' and (platform_machine == 'x86_64' or platform_machine == 'aarch64')",
"nvidia-cudnn-cu13>=9.0.0; platform_system == 'Linux' and (platform_machine == 'x86_64' or platform_machine == 'aarch64')",
]
# Backward-compatibility alias for scripts invoking '.[ml]'
ml = []
[tool.uv]
default-groups = ["dev"]
[tool.uv.extra-build-variables]
llama-cpp-python = { CMAKE_ARGS = "-DGGML_CUDA=on -DCMAKE_CUDA_ARCHITECTURES=native -DCUDAToolkit_ROOT=/usr/local/cuda", CUDACXX = "/usr/local/cuda/bin/nvcc" }
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/docneedle"]
[tool.ruff]
target-version = "py314"
line-length = 100
[tool.ruff.lint]
select = ["E", "F", "I"]
ignore = ["EXE002"]
[tool.ruff.lint.per-file-ignores]
"app.py" = ["E501"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
pythonpath = ["src", "."]