[tool.poetry] name = "docling" version = "1.18.0" # DO NOT EDIT, updated automatically description = "Docling PDF conversion package" authors = ["Christoph Auer ", "Michele Dolfi ", "Maxim Lysak ", "Nikos Livathinos ", "Ahmed Nassar ", "Peter Staar "] license = "MIT" readme = "README.md" repository = "https://github.com/DS4SD/docling" homepage = "https://github.com/DS4SD/docling" keywords= ["docling", "convert", "document", "pdf", "layout model", "segmentation", "table structure", "table former"] classifiers = [ "License :: OSI Approved :: MIT License", "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" ] packages = [{include = "docling"}] [tool.poetry.dependencies] ############## # constraints: ############## torch = [ {version = "^2.2.2", optional = true, markers = "sys_platform != 'darwin' or platform_machine != 'x86_64'"}, {version = "~2.2.2", optional = true, markers = "sys_platform == 'darwin' and platform_machine == 'x86_64'"} ] torchvision = [ {version = "^0", optional = true, markers = "sys_platform != 'darwin' or platform_machine != 'x86_64'"}, {version = "~0.17.2", optional = true, markers = "sys_platform == 'darwin' and platform_machine == 'x86_64'"} ] ###################### # actual dependencies: ###################### python = "^3.10" pydantic = "^2.0.0" docling-core = "^1.6.2" docling-ibm-models = "^2.0.0" deepsearch-glm = "^0.22.0" filetype = "^1.2.0" pypdfium2 = "^4.30.0" pydantic-settings = "^2.3.0" huggingface_hub = ">=0.23,<1" requests = "^2.32.3" easyocr = "^1.7" tesserocr = { version = "^2.7.1", optional = true } docling-parse = "^1.4.1" certifi = ">=2024.7.4" rtree = "^1.3.0" scipy = "^1.14.1" pyarrow = "^16.1.0" typer = "^0.12.5" [tool.poetry.group.dev.dependencies] black = {extras = ["jupyter"], version = "^24.4.2"} pytest = "^7.2.2" pre-commit = "^3.7.1" mypy = "^1.10.1" isort = "^5.10.1" python-semantic-release = "^7.32.2" flake8 = "^6.0.0" pyproject-flake8 = "^6.0.0" pytest-xdist = "^3.3.1" types-requests = "^2.31.0.2" flake8-pyproject = "^1.2.3" pylint = "^2.17.5" pandas-stubs = "^2.2.2.240909" ipykernel = "^6.29.5" ipywidgets = "^8.1.5" nbqa = "^1.9.0" [tool.poetry.group.examples.dependencies] datasets = "^2.21.0" python-dotenv = "^1.0.1" llama-index-embeddings-huggingface = "^0.3.1" llama-index-llms-huggingface-api = "^0.2.0" llama-index-vector-stores-milvus = "^0.2.1" langchain-huggingface = "^0.0.3" langchain-milvus = "^0.1.4" langchain-text-splitters = "^0.2.4" [tool.poetry.extras] tesserocr = ["tesserocr"] [tool.poetry.scripts] docling = "docling.cli.main:app" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.black] line-length = 88 target-version = ["py310"] include = '\.pyi?$' [tool.isort] profile = "black" line_length = 88 py_version=311 [tool.mypy] pretty = true # strict = true no_implicit_optional = true python_version = "3.10" [[tool.mypy.overrides]] module = [ "docling_parse.*", "pypdfium2.*", "networkx.*", ] 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"