Files
docling-core/pyproject.toml
2025-03-31 11:47:58 +00:00

160 lines
4.4 KiB
TOML

[tool.poetry]
name = "docling-core"
version = "2.25.0"
description = "A python library to define and validate data types in Docling."
license = "MIT"
authors = [
"Cesar Berrospi Ramis <ceb@zurich.ibm.com>",
"Valery Weber <vwe@zurich.ibm.com>",
"Peter Staar <taa@zurich.ibm.com>",
"Christoph Auer <cau@zurich.ibm.com>",
"Tiago Santana <tiago.santana@ibm.com>",
"Michele Dolfi <dol@zurich.ibm.com>",
"Kasper Dinkla <dkl@zurich.ibm.com>",
"Rafael Teixeira de Lima <rtdl@ibm.com>",
"Panos Vagenas <pva@zurich.ibm.com>",
]
maintainers = [
"Cesar Berrospi Ramis <ceb@zurich.ibm.com>",
"Peter Staar <taa@zurich.ibm.com>",
"Christoph Auer <cau@zurich.ibm.com>",
"Michele Dolfi <dol@zurich.ibm.com>",
"Panos Vagenas <pva@zurich.ibm.com>",
]
readme = "README.md"
homepage = "https://github.com/docling-project"
repository = "https://github.com/docling-project/docling-core"
keywords = ["docling", "discovery", "etl", "information retrieval", "analytics", "database", "database schema", "schema", "JSON"]
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Topic :: Database",
"Topic :: Scientific/Engineering :: Information Analysis",
"Topic :: Software Development :: Libraries :: Python Modules",
"Typing :: Typed",
"Programming Language :: Python :: 3"
]
packages = [{ include = "docling_core" }]
[tool.poetry.scripts]
validate = "docling_core.utils.validate:main"
generate_jsonschema = "docling_core.utils.generate_jsonschema:main"
generate_docs = "docling_core.utils.generate_docs:main"
docling-view = "docling_core.cli.view:app"
[tool.poetry.dependencies]
python = "^3.9"
jsonschema = "^4.16.0"
pydantic = ">=2.6.0,<3.0.0,!=2.10.0,!=2.10.1,!=2.10.2"
jsonref = "^1.1.0"
tabulate = "^0.9.0"
pandas = "^2.1.4"
pillow = ">=10.0.0,<12.0.0"
pyyaml = ">=5.1,<7.0.0"
typing-extensions = "^4.12.2"
transformers = { version = "^4.34.0", optional = true }
semchunk = { version = "^2.2.0", optional = true }
typer = "^0.12.5"
latex2mathml = "^3.77.0"
[tool.poetry.extras]
chunking = ["transformers", "semchunk"]
[tool.poetry.group.dev.dependencies]
black = "^24.4.2"
pytest = "^7.1.2"
mypy = "^1.6.0"
isort = "^5.10.1"
pre-commit = "^3.7.1"
autoflake = "^2.0.0"
flake8 = "^7.1.0"
pycodestyle = "^2.10.0"
flake8-docstrings = "^1.6.0"
pep8-naming = "^0.13.2"
jsondiff = "^2.0.0"
types-setuptools = "^70.3.0"
python-semantic-release = "^7.32.2"
pandas-stubs = "^2.1.4.231227"
ipykernel = "^6.29.5"
[tool.poetry.group.constraints]
optional = true
[tool.poetry.group.constraints.dependencies]
numpy = [
{ version = ">=1.24.4,<3.0.0", markers = 'python_version >= "3.10"' },
{ version = ">=1.24.4,<2.1.0", markers = 'python_version < "3.10"' },
]
[tool.setuptools.packages.find]
where = ["docling_core/resources/schemas"]
[tool.setuptools.package-data]
ccs = ["*.json"]
search = ["*.json"]
generated = ["*.json"]
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.black]
line-length = 88
target-version = ["py39", "py310"]
include = '\.pyi?$'
preview = true
[tool.isort]
profile = "black"
line_length = 88
py_version = 39
multi_line_output = 3
include_trailing_comma = true
[tool.autoflake]
in-place = true
ignore-init-module-imports = true
remove-all-unused-imports = true
remove-unused-variables = true
expand-star-imports = true
recursive = true
[tool.mypy]
pretty = true
# strict = true
no_implicit_optional = true
namespace_packages = true
show_error_codes = true
python_version = "3.9"
plugins = ["pydantic.mypy"]
[[tool.mypy.overrides]]
module = [
"jsondiff.*",
"jsonref.*",
"jsonschema.*",
"requests.*",
"semchunk.*",
"tabulate.*",
"transformers.*",
"yaml.*",
]
ignore_missing_imports = true
[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"