Spaces:
Configuration error
Configuration error
[project] | |
name = "docling-serve" | |
version = "0.5.1" # DO NOT EDIT, updated automatically | |
description = "Running Docling as a service" | |
license = {text = "MIT"} | |
authors = [ | |
{name="Michele Dolfi", email="[email protected]"}, | |
{name="Guillaume Moutier", email="[email protected]"}, | |
{name="Anil Vishnoi", email="[email protected]"}, | |
{name="Panos Vagenas", email="[email protected]"}, | |
{name="Panos Vagenas", email="[email protected]"}, | |
{name="Christoph Auer", email="[email protected]"}, | |
{name="Peter Staar", email="[email protected]"}, | |
] | |
maintainers = [ | |
{name="Michele Dolfi", email="[email protected]"}, | |
{name="Anil Vishnoi", email="[email protected]"}, | |
{name="Panos Vagenas", email="[email protected]"}, | |
{name="Christoph Auer", email="[email protected]"}, | |
{name="Peter Staar", email="[email protected]"}, | |
] | |
readme = "README.md" | |
classifiers = [ | |
"License :: OSI Approved :: MIT License", | |
"Operating System :: OS Independent", | |
# "Development Status :: 5 - Production/Stable", | |
"Intended Audience :: Developers", | |
"Typing :: Typed", | |
"Programming Language :: Python :: 3" | |
] | |
requires-python = ">=3.10" | |
dependencies = [ | |
"docling~=2.25.1", | |
"fastapi[standard]~=0.115", | |
"httpx~=0.28", | |
"pydantic~=2.10", | |
"pydantic-settings~=2.4", | |
"python-multipart>=0.0.14,<0.1.0", | |
"typer~=0.12", | |
"uvicorn[standard]>=0.29.0,<1.0.0", | |
"websockets~=14.0", | |
] | |
[project.optional-dependencies] | |
ui = [ | |
"gradio~=5.9" | |
] | |
tesserocr = [ | |
"tesserocr~=2.7" | |
] | |
rapidocr = [ | |
"rapidocr-onnxruntime~=1.4; python_version<'3.13'", | |
"onnxruntime~=1.7", | |
] | |
cpu = [ | |
"torch>=2.6.0", | |
"torchvision>=0.21.0", | |
] | |
cu124 = [ | |
"torch>=2.6.0", | |
"torchvision>=0.21.0", | |
] | |
[dependency-groups] | |
dev = [ | |
"mypy~=1.11", | |
"pre-commit-uv~=4.1", | |
"pytest~=8.3", | |
"pytest-asyncio~=0.24", | |
"pytest-check~=2.4", | |
"python-semantic-release~=7.32", | |
"ruff>=0.9.6", | |
] | |
[tool.uv] | |
package = true | |
conflicts = [ | |
[ | |
{ extra = "cpu" }, | |
{ extra = "cu124" }, | |
], | |
] | |
[tool.uv.sources] | |
torch = [ | |
{ index = "pytorch-cpu", extra = "cpu" }, | |
{ index = "pytorch-cu124", extra = "cu124" }, | |
] | |
torchvision = [ | |
{ index = "pytorch-cpu", extra = "cpu" }, | |
{ index = "pytorch-cu124", extra = "cu124" }, | |
] | |
[[tool.uv.index]] | |
name = "pytorch-cpu" | |
url = "https://download.pytorch.org/whl/cpu" | |
explicit = true | |
[[tool.uv.index]] | |
name = "pytorch-cu124" | |
url = "https://download.pytorch.org/whl/cu124" | |
explicit = true | |
[tool.setuptools.packages.find] | |
include = ["docling_serve*"] | |
namespaces = true | |
[project.scripts] | |
docling-serve = "docling_serve.__main__:main" | |
[project.urls] | |
Homepage = "https://github.com/docling-project/docling-serve" | |
# Documentation = "https://ds4sd.github.io/docling" | |
Repository = "https://github.com/docling-project/docling-serve" | |
Issues = "https://github.com/docling-project/docling-serve/issues" | |
Changelog = "https://github.com/docling-project/docling-serve/blob/main/CHANGELOG.md" | |
[tool.ruff] | |
target-version = "py310" | |
line-length = 88 | |
respect-gitignore = true | |
# extend-exclude = [ | |
# "tests", | |
# ] | |
[tool.ruff.format] | |
skip-magic-trailing-comma = false | |
[tool.ruff.lint] | |
select = [ | |
# "B", # flake8-bugbear | |
"C", # flake8-comprehensions | |
"C9", # mccabe | |
# "D", # flake8-docstrings | |
"E", # pycodestyle errors (default) | |
"F", # pyflakes (default) | |
"I", # isort | |
"PD", # pandas-vet | |
"PIE", # pie | |
# "PTH", # pathlib | |
"Q", # flake8-quotes | |
# "RET", # return | |
"RUF", # Enable all ruff-specific checks | |
# "SIM", # simplify | |
"S307", # eval | |
# "T20", # (disallow print statements) keep debugging statements out of the codebase | |
"W", # pycodestyle warnings | |
"ASYNC", # async | |
"UP", # pyupgrade | |
] | |
ignore = [ | |
"E501", # Line too long, handled by ruff formatter | |
"D107", # "Missing docstring in __init__", | |
"F811", # "redefinition of the same function" | |
"PL", # Pylint | |
"RUF012", # Mutable Class Attributes | |
"UP007", # Option and Union | |
] | |
#extend-select = [] | |
[tool.ruff.lint.per-file-ignores] | |
"__init__.py" = ["E402", "F401"] | |
"tests/*.py" = ["ASYNC"] # Disable ASYNC check for tests | |
[tool.ruff.lint.mccabe] | |
max-complexity = 15 | |
[tool.ruff.lint.isort.sections] | |
"docling" = ["docling", "docling_core"] | |
[tool.ruff.lint.isort] | |
combine-as-imports = true | |
section-order = [ | |
"future", | |
"standard-library", | |
"third-party", | |
"docling", | |
"first-party", | |
"local-folder", | |
] | |
[tool.mypy] | |
pretty = true | |
# strict = true | |
no_implicit_optional = true | |
plugins = "pydantic.mypy" | |
python_version = "3.10" | |
[[tool.mypy.overrides]] | |
module = [ | |
"easyocr.*", | |
"tesserocr.*", | |
"rapidocr_onnxruntime.*", | |
"requests.*", | |
] | |
ignore_missing_imports = true | |
[tool.pytest.ini_options] | |
asyncio_mode = "auto" | |
asyncio_default_fixture_loop_scope = "function" | |
minversion = "8.2" | |
testpaths = [ | |
"tests", | |
] | |
addopts = "-rA --color=yes --tb=short --maxfail=5" | |
markers = [ | |
"asyncio", | |
] | |
[tool.semantic_release] | |
# for default values check: | |
# https://github.com/python-semantic-release/python-semantic-release/blob/v7.32.2/semantic_release/defaults.cfg | |
version_source = "tag_only" | |
branch = "main" | |
# configure types which should trigger minor and patch version bumps respectively | |
# (note that they must be a subset of the configured allowed types): | |
parser_angular_allowed_types = "build,chore,ci,docs,feat,fix,perf,style,refactor,test" | |
parser_angular_minor_types = "feat" | |
parser_angular_patch_types = "fix,perf" | |