Files
docling-eval/pyproject.toml
2025-07-30 08:06:12 +00:00

173 lines
4.8 KiB
TOML

[project]
name = "docling-eval"
version = "0.7.0" # DO NOT EDIT, updated automatically
description = "Evaluation of Docling"
license = "MIT"
keywords= ["docling", "evaluation", "convert", "document", "pdf", "docx", "html", "markdown", "layout model", "segmentation", "table structure", "table former"]
readme = "README.md"
authors = [
{ name = "Peter Staar", email = "taa@zurich.ibm.com" },
{ name = "Panos Vagenas", email = "pva@zurich.ibm.com" },
{ name = "Ahmed Nassar", email = "ahn@zurich.ibm.com" },
{ name = "Nikos Livathinos", email = "nli@zurich.ibm.com" },
{ name = "Maxim Lysak", email = "mly@zurich.ibm.com" },
{ name = "Michele Dolfi", email = "dol@zurich.ibm.com" },
{ name = "Christoph Auer", email = "cau@zurich.ibm.com" },
]
classifiers = [
"Operating System :: MacOS :: MacOS X",
"Operating System :: POSIX :: Linux",
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Programming Language :: Python :: 3",
]
requires-python = '>=3.10,<4.0'
dependencies = [
'docling[vlm] (>=2.42.0,<3.0.0)',
"docling-core>=2.43.1",
'pydantic (>=2.0.0,<3.0.0)',
'lxml (>=5.3.0,<6.0.0)',
'datasets (>=3.2.0,<4.0.0)',
'apted (>=1.0.3,<2.0.0)',
'Distance (>=0.1.3,<0.2.0)',
'matplotlib (>=3.10.0,<4.0.0)',
'torch (>=2.5.1,<3.0.0)',
'torchmetrics (>=1.6.0,<2.0.0)',
'pycocotools (>=2.0.8,<3.0.0)',
'tabulate (>=0.9.0,<0.10.0)',
'tqdm (>=4.67.1,<5.0.0)',
'pillow (>=10.3.0,<12.0.0)',
'evaluate (>=0.4.3,<0.5.0)',
'nltk (>=3.9.1,<4.0.0)',
'beautifulsoup4 (>=4.12.3,<5.0.0)',
'jiwer (>=3.1.0,<4.0.0)',
'pandas (>=2.2.3,<3.0.0)',
'openpyxl (>=3.1.5,<4.0.0)',
'pypdf2 (>=3.0.1,<4.0.0)',
"xmltodict (>=0.14.2,<0.15.0)",
'edit-distance (>=1.0.6,<2.0.0)',
'mlx-vlm<0.2; sys_platform == "darwin" and platform_machine == "arm64"',
"pyarrow>=20.0.0",
"typer>=0.16.0",
"scipy>=1.15.3",
"scipy-stubs>=1.15.3.0",
"editdistance>=0.8.1",
]
[project.urls]
homepage = "https://github.com/docling-project/docling-eval"
repository = "https://github.com/docling-project/docling-eval"
issues = "https://github.com/docling-project/docling-eval/issues"
changelog = "https://github.com/docling-project/docling-eval/blob/main/CHANGELOG.md"
[project.scripts]
docling-eval = "docling_eval.cli.main:app"
[project.optional-dependencies]
hyperscalers = [
'azure-ai-documentintelligence (>=1.0.2,<2.0.0)',
'azure-common (>=1.1.28,<2.0.0)',
'azure-core (>=1.33.0,<2.0.0)',
'boto3 (>=1.37.8,<2.0.0)',
'google-cloud-documentai (>=3.2.0,<4.0.0)',
'ibm-cos-sdk (>=2.1.40,<3.0.0)',
]
cvat_tools = [
"cvat-sdk>=2.40.0",
'ocrmac>=1.0.0; sys_platform == "darwin" and platform_machine == "arm64"',
]
[dependency-groups]
dev = [
"pre-commit~=3.7",
"mypy~=1.10",
"black~=24.4",
"isort~=5.10",
"autoflake~=2.0",
"flake8~=7.1",
"flake8-docstrings~=1.6",
"types-setuptools~=70.3",
"pandas-stubs~=2.1",
"types-openpyxl~=3.1",
"types-requests~=2.31",
"types-protobuf~=5.29",
"boto3-stubs~=1.37",
"types-urllib3~=1.26",
"coverage~=7.6",
"pytest~=8.3",
"pytest-cov>=6.1.1",
"pytest-dependency~=0.6",
"pytest-xdist~=3.3",
"python-semantic-release~=7.32",
]
[tool.uv]
package = true
[tool.setuptools.packages.find]
include = ["docling_eval*"]
[tool.black]
line-length = 88
target-version = ["py310"]
include = '\.pyi?$'
[tool.isort]
profile = "black"
line_length = 88
py_version = 310
[tool.mypy]
pretty = true
# strict = true
no_implicit_optional = true
plugins = "pydantic.mypy"
python_version = "3.10"
[[tool.mypy.overrides]]
module = [
"docling_core.*",
"cvat_sdk.*",
"docling.*",
"docling_parse.*",
"docling_ibm_models.*",
"pypdfium2.*",
"lxml.*",
"distance.*",
"edit_distance.*",
"datasets.*",
"apted.*",
"nltk.*",
"huggingface_hub.*",
"PIL.*",
"evaluate.*",
"tqdm.*",
"azure.*",
"google.*",
"pycocotools.*",
"pyarrow.*",
"ocrmac.*",
"editdistance.*",
"xlsxwriter.*",
]
ignore_missing_imports = true
[tool.flake8]
max-line-length = 88
extend-ignore = ["E203", "E501"]
[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"