diff --git a/docling_haystack/converter.py b/docling_haystack/converter.py index 2028715..a7b3964 100644 --- a/docling_haystack/converter.py +++ b/docling_haystack/converter.py @@ -4,16 +4,26 @@ # """Docling Haystack converter module.""" - +import logging +import mimetypes from abc import ABC, abstractmethod from enum import Enum +from io import BytesIO from pathlib import Path -from typing import Any, Iterable, Optional, Union +from typing import Any, Dict, List, Optional, Union from docling.chunking import BaseChunk, BaseChunker, HybridChunker +from docling.datamodel.base_models import DocumentStream from docling.datamodel.document import DoclingDocument from docling.document_converter import DocumentConverter from haystack import Document, component +from haystack.components.converters.utils import ( + get_bytestream_from_source, + normalize_metadata, +) +from haystack.dataclasses import ByteStream + +logger = logging.getLogger(__name__) class ExportType(str, Enum): @@ -100,40 +110,109 @@ def __init__( ) self._meta_extractor = meta_extractor or MetaExtractor() + def _extract_filename_with_extension( + self, source: Union[str, Path, ByteStream], bytestream: ByteStream + ) -> str: + """Extract filename with appropriate extension from source or bytestream. + + Args: + source: The source object (str, Path, or ByteStream) + bytestream: The bytestream created from the source + + Returns: + str: The extracted filename with appropriate extension + """ + # Default filename + filename = "unknown.pdf" + + # Extract filename from source + if isinstance(source, str) or isinstance(source, Path): + filename = Path(source).name + elif isinstance(source, ByteStream) and hasattr(source, "meta"): + # Try to get filename from ByteStream metadata + if "filename" in source.meta: + filename = source.meta["filename"] + elif "name" in source.meta: + filename = source.meta["name"] + # Try to infer extension from mime_type if available + if "mime_type" in source.meta and not Path(filename).suffix: + extension = mimetypes.guess_extension(source.meta["mime_type"]) + if extension: + filename = f"{Path(filename).stem}{extension}" + + # Check if bytestream metadata contains filename + if hasattr(bytestream, "meta"): + if "filename" in bytestream.meta: + filename = bytestream.meta["filename"] + elif "name" in bytestream.meta: + filename = bytestream.meta["name"] + # Try to infer extension from mime_type if available + if "mime_type" in bytestream.meta and not Path(filename).suffix: + extension = mimetypes.guess_extension(bytestream.meta["mime_type"]) + if extension: + filename = f"{Path(filename).stem}{extension}" + + return filename + @component.output_types(documents=list[Document]) def run( self, - paths: Iterable[Union[Path, str]], + sources: List[Union[str, Path, ByteStream]], + meta: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None, ): """Run the DoclingConverter. Args: - paths: The input document locations, either as local paths or URLs. + sources: List of file paths or byte streams to convert. + Paths can be files or directories. ByteStream is also supported. + meta: Optional metadata to attach to the Documents. + This value can be a single dictionary or a list of dictionaries, + matching the number of sources. Returns: list[Document]: The output Haystack Documents. """ documents: list[Document] = [] - for filepath in paths: + meta_list = normalize_metadata(meta, len(sources)) + + for source, metadata in zip(sources, meta_list): + try: + bytestream = get_bytestream_from_source(source=source) + except Exception as e: + logger.warning(f"Could not read {source}. Skipping it. Error: {str(e)}") + continue + + # Extract filename with appropriate extension + filename = self._extract_filename_with_extension(source, bytestream) + + source_docling = DocumentStream( + name=filename, stream=BytesIO(bytestream.data) + ) + + hs_docs = [] dl_doc = self._converter.convert( - source=filepath, + source=source_docling, **self._convert_kwargs, ).document if self._export_type == ExportType.DOC_CHUNKS: chunk_iter = self._chunker.chunk(dl_doc=dl_doc) - hs_docs = [ - Document( - content=self._chunker.serialize(chunk=chunk), - meta=self._meta_extractor.extract_chunk_meta(chunk=chunk), + for chunk in chunk_iter: + docling_meta = self._meta_extractor.extract_chunk_meta(chunk=chunk) + merged_metadata = {**bytestream.meta, **docling_meta, **metadata} + hs_docs.append( + Document( + content=self._chunker.serialize(chunk=chunk), + meta=merged_metadata, + ) ) - for chunk in chunk_iter - ] documents.extend(hs_docs) elif self._export_type == ExportType.MARKDOWN: + docling_meta = self._meta_extractor.extract_dl_doc_meta(dl_doc=dl_doc) + merged_metadata = {**bytestream.meta, **docling_meta, **metadata} hs_doc = Document( content=dl_doc.export_to_markdown(**self._md_export_kwargs), - meta=self._meta_extractor.extract_dl_doc_meta(dl_doc=dl_doc), + meta=merged_metadata, ) documents.append(hs_doc) else: diff --git a/poetry.lock b/poetry.lock index f1ef30b..1ca3087 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.1.2 and should not be changed by hand. [[package]] name = "annotated-types" @@ -6,6 +6,7 @@ version = "0.7.0" description = "Reusable constraint types to use with typing.Annotated" optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, @@ -13,13 +14,14 @@ files = [ [[package]] name = "anyio" -version = "4.8.0" +version = "4.9.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false python-versions = ">=3.9" +groups = ["main"] files = [ - {file = "anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a"}, - {file = "anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a"}, + { file = "anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c" }, + { file = "anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028" }, ] [package.dependencies] @@ -29,8 +31,8 @@ sniffio = ">=1.1" typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""} [package.extras] -doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21)"] +doc = ["Sphinx (>=8.2,<9.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"] +test = ["anyio[trio]", "blockbuster (>=1.5.23)", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "trustme", "truststore (>=0.9.1) ; python_version >= \"3.10\"", "uvloop (>=0.21) ; platform_python_implementation == \"CPython\" and platform_system != \"Windows\" and python_version < \"3.14\""] trio = ["trio (>=0.26.1)"] [[package]] @@ -39,6 +41,8 @@ version = "0.1.4" description = "Disable App Nap on macOS >= 10.9" optional = false python-versions = ">=3.6" +groups = ["dev"] +markers = "platform_system == \"Darwin\"" files = [ {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, @@ -50,6 +54,7 @@ version = "3.0.0" description = "Annotate AST trees with source code positions" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2"}, {file = "asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7"}, @@ -61,22 +66,23 @@ test = ["astroid (>=2,<4)", "pytest", "pytest-cov", "pytest-xdist"] [[package]] name = "attrs" -version = "24.3.0" +version = "25.3.0" description = "Classes Without Boilerplate" optional = false python-versions = ">=3.8" +groups = ["main"] files = [ - {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, - {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, + { file = "attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3" }, + { file = "attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" }, ] [package.extras] -benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] -tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] +benchmark = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] +cov = ["cloudpickle ; platform_python_implementation == \"CPython\"", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] +dev = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] +docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier"] +tests = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\""] [[package]] name = "autoflake" @@ -84,6 +90,7 @@ version = "2.3.1" description = "Removes unused imports and unused variables" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "autoflake-2.3.1-py3-none-any.whl", hash = "sha256:3ae7495db9084b7b32818b4140e6dc4fc280b712fb414f5b8fe57b0a8e85a840"}, {file = "autoflake-2.3.1.tar.gz", hash = "sha256:c98b75dc5b0a86459c4f01a1d32ac7eb4338ec4317a4469515ff1e687ecd909e"}, @@ -95,13 +102,14 @@ tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} [[package]] name = "autopep8" -version = "2.3.1" +version = "2.3.2" description = "A tool that automatically formats Python code to conform to the PEP 8 style guide" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["dev"] files = [ - {file = "autopep8-2.3.1-py2.py3-none-any.whl", hash = "sha256:a203fe0fcad7939987422140ab17a930f684763bf7335bdb6709991dd7ef6c2d"}, - {file = "autopep8-2.3.1.tar.gz", hash = "sha256:8d6c87eba648fdcfc83e29b788910b8643171c395d9c4bcf115ece035b9c9dda"}, + { file = "autopep8-2.3.2-py2.py3-none-any.whl", hash = "sha256:ce8ad498672c845a0c3de2629c15b635ec2b05ef8177a6e7c91c74f3e9b51128" }, + { file = "autopep8-2.3.2.tar.gz", hash = "sha256:89440a4f969197b69a995e4ce0661b031f455a9f776d2c5ba3dbd83466931758" }, ] [package.dependencies] @@ -114,6 +122,7 @@ version = "2.2.1" description = "Function decoration for backoff and retry" optional = false python-versions = ">=3.7,<4.0" +groups = ["main"] files = [ {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, @@ -125,6 +134,8 @@ version = "1.2.0" description = "Backport of CPython tarfile module" optional = false python-versions = ">=3.8" +groups = ["dev"] +markers = "python_version < \"3.12\"" files = [ {file = "backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34"}, {file = "backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991"}, @@ -136,17 +147,19 @@ testing = ["jaraco.test", "pytest (!=8.0.*)", "pytest (>=6,!=8.1.*)", "pytest-ch [[package]] name = "beautifulsoup4" -version = "4.12.3" +version = "4.13.3" description = "Screen-scraping library" optional = false -python-versions = ">=3.6.0" +python-versions = ">=3.7.0" +groups = ["main"] files = [ - {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, - {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, + { file = "beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16" }, + { file = "beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b" }, ] [package.dependencies] soupsieve = ">1.2" +typing-extensions = ">=4.0.0" [package.extras] cchardet = ["cchardet"] @@ -161,6 +174,7 @@ version = "24.10.0" description = "The uncompromising code formatter." optional = false python-versions = ">=3.9" +groups = ["dev"] files = [ {file = "black-24.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6668650ea4b685440857138e5fe40cde4d652633b1bdffc62933d0db4ed9812"}, {file = "black-24.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1c536fcf674217e87b8cc3657b81809d3c085d7bf3ef262ead700da345bfa6ea"}, @@ -203,13 +217,14 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "certifi" -version = "2024.12.14" +version = "2025.1.31" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" +groups = ["main", "dev"] files = [ - {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, - {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, + { file = "certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe" }, + { file = "certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651" }, ] [[package]] @@ -218,6 +233,8 @@ version = "1.17.1" description = "Foreign Function Interface for Python calling C code." optional = false python-versions = ">=3.8" +groups = ["dev"] +markers = "(implementation_name == \"pypy\" or sys_platform == \"linux\") and (implementation_name == \"pypy\" or platform_python_implementation != \"PyPy\")" files = [ {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, @@ -297,6 +314,7 @@ version = "3.4.0" description = "Validate configuration and produce human readable error messages." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, @@ -308,6 +326,7 @@ version = "3.4.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7" +groups = ["main", "dev"] files = [ {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, @@ -409,6 +428,7 @@ version = "8.1.8" description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" +groups = ["main", "dev"] files = [ {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, @@ -423,6 +443,7 @@ version = "0.4.0" description = "Logging integration for Click" optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "click-log-0.4.0.tar.gz", hash = "sha256:3970f8570ac54491237bcdb3d8ab5e3eef6c057df29f8c3d1151a51a9c23b975"}, {file = "click_log-0.4.0-py2.py3-none-any.whl", hash = "sha256:a43e394b528d52112af599f2fc9e4b7cf3c15f94e53581f74fa6867e68c91756"}, @@ -437,10 +458,12 @@ version = "0.4.6" description = "Cross-platform colored terminal text." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +groups = ["main", "dev"] files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] +markers = { main = "platform_system == \"Windows\"" } [[package]] name = "comm" @@ -448,6 +471,7 @@ version = "0.2.2" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"}, {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"}, @@ -465,6 +489,8 @@ version = "43.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" +groups = ["dev"] +markers = "python_version == \"3.9\" and sys_platform == \"linux\"" files = [ {file = "cryptography-43.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e"}, {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e"}, @@ -508,104 +534,120 @@ ssh = ["bcrypt (>=3.1.5)"] test = ["certifi", "cryptography-vectors (==43.0.3)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] +[[package]] +name = "cryptography" +version = "44.0.2" +description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +optional = false +python-versions = "!=3.9.0,!=3.9.1,>=3.7" +groups = ["dev"] +markers = "sys_platform == \"linux\" and python_version >= \"3.10\"" +files = [ + { file = "cryptography-44.0.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:efcfe97d1b3c79e486554efddeb8f6f53a4cdd4cf6086642784fa31fc384e1d7" }, + { file = "cryptography-44.0.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29ecec49f3ba3f3849362854b7253a9f59799e3763b0c9d0826259a88efa02f1" }, + { file = "cryptography-44.0.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc821e161ae88bfe8088d11bb39caf2916562e0a2dc7b6d56714a48b784ef0bb" }, + { file = "cryptography-44.0.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3c00b6b757b32ce0f62c574b78b939afab9eecaf597c4d624caca4f9e71e7843" }, + { file = "cryptography-44.0.2-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7bdcd82189759aba3816d1f729ce42ffded1ac304c151d0a8e89b9996ab863d5" }, + { file = "cryptography-44.0.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:4973da6ca3db4405c54cd0b26d328be54c7747e89e284fcff166132eb7bccc9c" }, + { file = "cryptography-44.0.2-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4e389622b6927d8133f314949a9812972711a111d577a5d1f4bee5e58736b80a" }, + { file = "cryptography-44.0.2-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:f514ef4cd14bb6fb484b4a60203e912cfcb64f2ab139e88c2274511514bf7308" }, + { file = "cryptography-44.0.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1bc312dfb7a6e5d66082c87c34c8a62176e684b6fe3d90fcfe1568de675e6688" }, + { file = "cryptography-44.0.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:3b721b8b4d948b218c88cb8c45a01793483821e709afe5f622861fc6182b20a7" }, + { file = "cryptography-44.0.2-cp37-abi3-win32.whl", hash = "sha256:51e4de3af4ec3899d6d178a8c005226491c27c4ba84101bfb59c901e10ca9f79" }, + { file = "cryptography-44.0.2-cp37-abi3-win_amd64.whl", hash = "sha256:c505d61b6176aaf982c5717ce04e87da5abc9a36a5b39ac03905c4aafe8de7aa" }, + { file = "cryptography-44.0.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:8e0ddd63e6bf1161800592c71ac794d3fb8001f2caebe0966e77c5234fa9efc3" }, + { file = "cryptography-44.0.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81276f0ea79a208d961c433a947029e1a15948966658cf6710bbabb60fcc2639" }, + { file = "cryptography-44.0.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a1e657c0f4ea2a23304ee3f964db058c9e9e635cc7019c4aa21c330755ef6fd" }, + { file = "cryptography-44.0.2-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:6210c05941994290f3f7f175a4a57dbbb2afd9273657614c506d5976db061181" }, + { file = "cryptography-44.0.2-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d1c3572526997b36f245a96a2b1713bf79ce99b271bbcf084beb6b9b075f29ea" }, + { file = "cryptography-44.0.2-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:b042d2a275c8cee83a4b7ae30c45a15e6a4baa65a179a0ec2d78ebb90e4f6699" }, + { file = "cryptography-44.0.2-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:d03806036b4f89e3b13b6218fefea8d5312e450935b1a2d55f0524e2ed7c59d9" }, + { file = "cryptography-44.0.2-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:c7362add18b416b69d58c910caa217f980c5ef39b23a38a0880dfd87bdf8cd23" }, + { file = "cryptography-44.0.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:8cadc6e3b5a1f144a039ea08a0bdb03a2a92e19c46be3285123d32029f40a922" }, + { file = "cryptography-44.0.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6f101b1f780f7fc613d040ca4bdf835c6ef3b00e9bd7125a4255ec574c7916e4" }, + { file = "cryptography-44.0.2-cp39-abi3-win32.whl", hash = "sha256:3dc62975e31617badc19a906481deacdeb80b4bb454394b4098e3f2525a488c5" }, + { file = "cryptography-44.0.2-cp39-abi3-win_amd64.whl", hash = "sha256:5f6f90b72d8ccadb9c6e311c775c8305381db88374c65fa1a68250aa8a9cb3a6" }, + { file = "cryptography-44.0.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:af4ff3e388f2fa7bff9f7f2b31b87d5651c45731d3e8cfa0944be43dff5cfbdb" }, + { file = "cryptography-44.0.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:0529b1d5a0105dd3731fa65680b45ce49da4d8115ea76e9da77a875396727b41" }, + { file = "cryptography-44.0.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7ca25849404be2f8e4b3c59483d9d3c51298a22c1c61a0e84415104dacaf5562" }, + { file = "cryptography-44.0.2-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:268e4e9b177c76d569e8a145a6939eca9a5fec658c932348598818acf31ae9a5" }, + { file = "cryptography-44.0.2-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:9eb9d22b0a5d8fd9925a7764a054dca914000607dff201a24c791ff5c799e1fa" }, + { file = "cryptography-44.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2bf7bf75f7df9715f810d1b038870309342bff3069c5bd8c6b96128cb158668d" }, + { file = "cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:909c97ab43a9c0c0b0ada7a1281430e4e5ec0458e6d9244c0e821bbf152f061d" }, + { file = "cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:96e7a5e9d6e71f9f4fca8eebfd603f8e86c5225bb18eb621b2c1e50b290a9471" }, + { file = "cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:d1b3031093a366ac767b3feb8bcddb596671b3aaff82d4050f984da0c248b615" }, + { file = "cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:04abd71114848aa25edb28e225ab5f268096f44cf0127f3d36975bdf1bdf3390" }, + { file = "cryptography-44.0.2.tar.gz", hash = "sha256:c63454aa261a0cf0c5b4718349629793e9e634993538db841165b3df74f37ec0" }, +] + +[package.dependencies] +cffi = { version = ">=1.12", markers = "platform_python_implementation != \"PyPy\"" } + +[package.extras] +docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=3.0.0) ; python_version >= \"3.8\""] +docstest = ["pyenchant (>=3)", "readme-renderer (>=30.0)", "sphinxcontrib-spelling (>=7.3.1)"] +nox = ["nox (>=2024.4.15)", "nox[uv] (>=2024.3.2) ; python_version >= \"3.8\""] +pep8test = ["check-sdist ; python_version >= \"3.8\"", "click (>=8.0.1)", "mypy (>=1.4)", "ruff (>=0.3.6)"] +sdist = ["build (>=1.0.0)"] +ssh = ["bcrypt (>=3.1.5)"] +test = ["certifi (>=2024)", "cryptography-vectors (==44.0.2)", "pretend (>=0.7)", "pytest (>=7.4.0)", "pytest-benchmark (>=4.0)", "pytest-cov (>=2.10.1)", "pytest-xdist (>=3.5.0)"] +test-randomorder = ["pytest-randomly"] + [[package]] name = "debugpy" -version = "1.8.11" +version = "1.8.13" description = "An implementation of the Debug Adapter Protocol for Python" optional = false python-versions = ">=3.8" -files = [ - {file = "debugpy-1.8.11-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:2b26fefc4e31ff85593d68b9022e35e8925714a10ab4858fb1b577a8a48cb8cd"}, - {file = "debugpy-1.8.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61bc8b3b265e6949855300e84dc93d02d7a3a637f2aec6d382afd4ceb9120c9f"}, - {file = "debugpy-1.8.11-cp310-cp310-win32.whl", hash = "sha256:c928bbf47f65288574b78518449edaa46c82572d340e2750889bbf8cd92f3737"}, - {file = "debugpy-1.8.11-cp310-cp310-win_amd64.whl", hash = "sha256:8da1db4ca4f22583e834dcabdc7832e56fe16275253ee53ba66627b86e304da1"}, - {file = "debugpy-1.8.11-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:85de8474ad53ad546ff1c7c7c89230db215b9b8a02754d41cb5a76f70d0be296"}, - {file = "debugpy-1.8.11-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ffc382e4afa4aee367bf413f55ed17bd91b191dcaf979890af239dda435f2a1"}, - {file = "debugpy-1.8.11-cp311-cp311-win32.whl", hash = "sha256:40499a9979c55f72f4eb2fc38695419546b62594f8af194b879d2a18439c97a9"}, - {file = "debugpy-1.8.11-cp311-cp311-win_amd64.whl", hash = "sha256:987bce16e86efa86f747d5151c54e91b3c1e36acc03ce1ddb50f9d09d16ded0e"}, - {file = "debugpy-1.8.11-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:84e511a7545d11683d32cdb8f809ef63fc17ea2a00455cc62d0a4dbb4ed1c308"}, - {file = "debugpy-1.8.11-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce291a5aca4985d82875d6779f61375e959208cdf09fcec40001e65fb0a54768"}, - {file = "debugpy-1.8.11-cp312-cp312-win32.whl", hash = "sha256:28e45b3f827d3bf2592f3cf7ae63282e859f3259db44ed2b129093ca0ac7940b"}, - {file = "debugpy-1.8.11-cp312-cp312-win_amd64.whl", hash = "sha256:44b1b8e6253bceada11f714acf4309ffb98bfa9ac55e4fce14f9e5d4484287a1"}, - {file = "debugpy-1.8.11-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:8988f7163e4381b0da7696f37eec7aca19deb02e500245df68a7159739bbd0d3"}, - {file = "debugpy-1.8.11-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c1f6a173d1140e557347419767d2b14ac1c9cd847e0b4c5444c7f3144697e4e"}, - {file = "debugpy-1.8.11-cp313-cp313-win32.whl", hash = "sha256:bb3b15e25891f38da3ca0740271e63ab9db61f41d4d8541745cfc1824252cb28"}, - {file = "debugpy-1.8.11-cp313-cp313-win_amd64.whl", hash = "sha256:d8768edcbeb34da9e11bcb8b5c2e0958d25218df7a6e56adf415ef262cd7b6d1"}, - {file = "debugpy-1.8.11-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:ad7efe588c8f5cf940f40c3de0cd683cc5b76819446abaa50dc0829a30c094db"}, - {file = "debugpy-1.8.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:189058d03a40103a57144752652b3ab08ff02b7595d0ce1f651b9acc3a3a35a0"}, - {file = "debugpy-1.8.11-cp38-cp38-win32.whl", hash = "sha256:32db46ba45849daed7ccf3f2e26f7a386867b077f39b2a974bb5c4c2c3b0a280"}, - {file = "debugpy-1.8.11-cp38-cp38-win_amd64.whl", hash = "sha256:116bf8342062246ca749013df4f6ea106f23bc159305843491f64672a55af2e5"}, - {file = "debugpy-1.8.11-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:654130ca6ad5de73d978057eaf9e582244ff72d4574b3e106fb8d3d2a0d32458"}, - {file = "debugpy-1.8.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23dc34c5e03b0212fa3c49a874df2b8b1b8fda95160bd79c01eb3ab51ea8d851"}, - {file = "debugpy-1.8.11-cp39-cp39-win32.whl", hash = "sha256:52d8a3166c9f2815bfae05f386114b0b2d274456980d41f320299a8d9a5615a7"}, - {file = "debugpy-1.8.11-cp39-cp39-win_amd64.whl", hash = "sha256:52c3cf9ecda273a19cc092961ee34eb9ba8687d67ba34cc7b79a521c1c64c4c0"}, - {file = "debugpy-1.8.11-py2.py3-none-any.whl", hash = "sha256:0e22f846f4211383e6a416d04b4c13ed174d24cc5d43f5fd52e7821d0ebc8920"}, - {file = "debugpy-1.8.11.tar.gz", hash = "sha256:6ad2688b69235c43b020e04fecccdf6a96c8943ca9c2fb340b8adc103c655e57"}, +groups = ["dev"] +files = [ + { file = "debugpy-1.8.13-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:06859f68e817966723ffe046b896b1bd75c665996a77313370336ee9e1de3e90" }, + { file = "debugpy-1.8.13-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb56c2db69fb8df3168bc857d7b7d2494fed295dfdbde9a45f27b4b152f37520" }, + { file = "debugpy-1.8.13-cp310-cp310-win32.whl", hash = "sha256:46abe0b821cad751fc1fb9f860fb2e68d75e2c5d360986d0136cd1db8cad4428" }, + { file = "debugpy-1.8.13-cp310-cp310-win_amd64.whl", hash = "sha256:dc7b77f5d32674686a5f06955e4b18c0e41fb5a605f5b33cf225790f114cfeec" }, + { file = "debugpy-1.8.13-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:eee02b2ed52a563126c97bf04194af48f2fe1f68bb522a312b05935798e922ff" }, + { file = "debugpy-1.8.13-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4caca674206e97c85c034c1efab4483f33971d4e02e73081265ecb612af65377" }, + { file = "debugpy-1.8.13-cp311-cp311-win32.whl", hash = "sha256:7d9a05efc6973b5aaf076d779cf3a6bbb1199e059a17738a2aa9d27a53bcc888" }, + { file = "debugpy-1.8.13-cp311-cp311-win_amd64.whl", hash = "sha256:62f9b4a861c256f37e163ada8cf5a81f4c8d5148fc17ee31fb46813bd658cdcc" }, + { file = "debugpy-1.8.13-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:2b8de94c5c78aa0d0ed79023eb27c7c56a64c68217d881bee2ffbcb13951d0c1" }, + { file = "debugpy-1.8.13-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:887d54276cefbe7290a754424b077e41efa405a3e07122d8897de54709dbe522" }, + { file = "debugpy-1.8.13-cp312-cp312-win32.whl", hash = "sha256:3872ce5453b17837ef47fb9f3edc25085ff998ce63543f45ba7af41e7f7d370f" }, + { file = "debugpy-1.8.13-cp312-cp312-win_amd64.whl", hash = "sha256:63ca7670563c320503fea26ac688988d9d6b9c6a12abc8a8cf2e7dd8e5f6b6ea" }, + { file = "debugpy-1.8.13-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:31abc9618be4edad0b3e3a85277bc9ab51a2d9f708ead0d99ffb5bb750e18503" }, + { file = "debugpy-1.8.13-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0bd87557f97bced5513a74088af0b84982b6ccb2e254b9312e29e8a5c4270eb" }, + { file = "debugpy-1.8.13-cp313-cp313-win32.whl", hash = "sha256:5268ae7fdca75f526d04465931cb0bd24577477ff50e8bb03dab90983f4ebd02" }, + { file = "debugpy-1.8.13-cp313-cp313-win_amd64.whl", hash = "sha256:79ce4ed40966c4c1631d0131606b055a5a2f8e430e3f7bf8fd3744b09943e8e8" }, + { file = "debugpy-1.8.13-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:acf39a6e98630959763f9669feddee540745dfc45ad28dbc9bd1f9cd60639391" }, + { file = "debugpy-1.8.13-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:924464d87e7d905eb0d79fb70846558910e906d9ee309b60c4fe597a2e802590" }, + { file = "debugpy-1.8.13-cp38-cp38-win32.whl", hash = "sha256:3dae443739c6b604802da9f3e09b0f45ddf1cf23c99161f3a1a8039f61a8bb89" }, + { file = "debugpy-1.8.13-cp38-cp38-win_amd64.whl", hash = "sha256:ed93c3155fc1f888ab2b43626182174e457fc31b7781cd1845629303790b8ad1" }, + { file = "debugpy-1.8.13-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:6fab771639332bd8ceb769aacf454a30d14d7a964f2012bf9c4e04c60f16e85b" }, + { file = "debugpy-1.8.13-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32b6857f8263a969ce2ca098f228e5cc0604d277447ec05911a8c46cf3e7e307" }, + { file = "debugpy-1.8.13-cp39-cp39-win32.whl", hash = "sha256:f14d2c4efa1809da125ca62df41050d9c7cd9cb9e380a2685d1e453c4d450ccb" }, + { file = "debugpy-1.8.13-cp39-cp39-win_amd64.whl", hash = "sha256:ea869fe405880327497e6945c09365922c79d2a1eed4c3ae04d77ac7ae34b2b5" }, + { file = "debugpy-1.8.13-py2.py3-none-any.whl", hash = "sha256:d4ba115cdd0e3a70942bd562adba9ec8c651fe69ddde2298a1be296fc331906f" }, + { file = "debugpy-1.8.13.tar.gz", hash = "sha256:837e7bef95bdefba426ae38b9a94821ebdc5bea55627879cd48165c90b9e50ce" }, ] [[package]] name = "decorator" -version = "5.1.1" +version = "5.2.1" description = "Decorators for Humans" optional = false -python-versions = ">=3.5" -files = [ - {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, - {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, -] - -[[package]] -name = "deepsearch-glm" -version = "1.0.0" -description = "Graph Language Models" -optional = false -python-versions = "<4.0,>=3.9" +python-versions = ">=3.8" +groups = ["dev"] files = [ - {file = "deepsearch_glm-1.0.0-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:94792b57df7a1c4ba8b47ebd8f36ea0a090d4f27a4fba39bd7b166b6b537260a"}, - {file = "deepsearch_glm-1.0.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:ff46e352e96a2f56ce7ae4fdf04b271ee841c29ff159b1dec0e5ecaaadba8d4d"}, - {file = "deepsearch_glm-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d77d3d94d49641888aa15f3ad23e81158e791aa9d9608dd8168dc71788e56f3"}, - {file = "deepsearch_glm-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:143de0fd111a570be12935d8799a2715fe1775d4dc4e256337860b429cee5d36"}, - {file = "deepsearch_glm-1.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:9f2872dd573cd2206ce7f9e2e6016c38b66d9ecbd983283ff5e8c6023813c311"}, - {file = "deepsearch_glm-1.0.0-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:e64d94ff5209f0a11e8c75c6b28b033ef27b95a22c2fbcbd945e7fe8cc421545"}, - {file = "deepsearch_glm-1.0.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:a5702205677b768b51f881d15d933370f6ef3c826dfac3b9aa0b904d2e6c495a"}, - {file = "deepsearch_glm-1.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0417a2ae998e1709f03458cfb9adb55423bb1328224eb055300796baa757879f"}, - {file = "deepsearch_glm-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f0e1efe9af0d28e9b473fe599246deb3a0be7c3d546a478da284747144d086a"}, - {file = "deepsearch_glm-1.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:807faf13eb0deea55a1951d479a85d5e20de0ff8b2e0b57b2f7939552759a426"}, - {file = "deepsearch_glm-1.0.0-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:56d9575df9eceb8c2ae33e3d15e133924cc195714c3d268599b6f8414c1f6bb8"}, - {file = "deepsearch_glm-1.0.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:51f5c6522f60ba73eb12eeb7217bd98d871ba7c078337a4059d05878d8baf2d6"}, - {file = "deepsearch_glm-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6211eaf497ad7cfcb68f80f9b5387940be0204fe149a9fc03988a95145f410a"}, - {file = "deepsearch_glm-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b003bf457fce61ea4de79e2d7d0228a1ae349f677eb6570e745f79d4429804f"}, - {file = "deepsearch_glm-1.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:9d61f66048e6ab60fe9f84c823fd593bf8517755833bd9efb59156d77a2b42d0"}, - {file = "deepsearch_glm-1.0.0-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:7d558e8b365c27ee665d0589165fd074fb252c73715f9cc6aeb4304a63683f37"}, - {file = "deepsearch_glm-1.0.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:3199093a9472e5756214b9b6563f827c19c001c7dd8ae00e03eed1140c12930d"}, - {file = "deepsearch_glm-1.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f18d1ee68a0479592e0c714e6cbf9e2d0fa8edd692d580da64431c84cbef5c2"}, - {file = "deepsearch_glm-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62c1c0ea0a544219da15c017632f9e0be116ecdc335b865c6c5760429557fe23"}, - {file = "deepsearch_glm-1.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:962f393dcec2204de1a5cb0f635c65258bde2424ad2d4e0f5df770139c3958de"}, - {file = "deepsearch_glm-1.0.0-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:4d328336950975c583d318a70e3511075d1ac1c599c2090a2a7928a4662fe8f2"}, - {file = "deepsearch_glm-1.0.0-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:748d077a4cacd714ff23a095c873549c176fa5ffe1a656be1bd11873148e58db"}, - {file = "deepsearch_glm-1.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c0953d1983e902327f0cc152ff8267056ec2699106eefc70a41eec6eebdbe1b"}, - {file = "deepsearch_glm-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:105c50b2e5b8f9a6ea5fb0b755a9cd38a1fb12ecb07f1a13d1290ad3cdfeaa90"}, - {file = "deepsearch_glm-1.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:25bb899317f6af062083daa578f343c93a2b12755c174549fb58596de0bc7b9d"}, - {file = "deepsearch_glm-1.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e2315cc4ffe7032dada294a0cd72a47dbc6c0121fd07d4b5719f9a9e9519d091"}, - {file = "deepsearch_glm-1.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:707b92f51bacbd0f799ee3351474766bf916ef82f97c1bcc0e7696532ba03535"}, - {file = "deepsearch_glm-1.0.0.tar.gz", hash = "sha256:e8dce88ac519a693c260f28bd3c4ec409811e65ade84fb508f6c6e37ca065e62"}, + { file = "decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a" }, + { file = "decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360" }, ] -[package.dependencies] -pywin32 = {version = ">=307,<308", markers = "sys_platform == \"win32\""} - -[package.extras] -docling = ["docling-core (>=2.0,<3.0)", "pandas (>=1.5.1,<3.0.0)"] -pyplot = ["matplotlib (>=3.7.1,<4.0.0)"] -toolkit = ["deepsearch-toolkit (>=1.1.0,<2.0.0)", "python-dotenv (>=1.0.0,<2.0.0)"] -utils = ["pandas (>=1.5.1,<3.0.0)", "python-dotenv (>=1.0.0,<2.0.0)", "requests (>=2.32.3,<3.0.0)", "rich (>=13.7.0,<14.0.0)", "tabulate (>=0.8.9)", "tqdm (>=4.64.0,<5.0.0)"] - [[package]] name = "dill" version = "0.3.9" description = "serialize all of Python" optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "dill-0.3.9-py3-none-any.whl", hash = "sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a"}, {file = "dill-0.3.9.tar.gz", hash = "sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c"}, @@ -621,6 +663,7 @@ version = "0.3.9" description = "Distribution utilities" optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"}, {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, @@ -632,6 +675,7 @@ version = "1.9.0" description = "Distro - an OS platform information API" optional = false python-versions = ">=3.6" +groups = ["main"] files = [ {file = "distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2"}, {file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"}, @@ -639,22 +683,22 @@ files = [ [[package]] name = "docling" -version = "2.15.1" +version = "2.28.4" description = "SDK and CLI for parsing PDF, DOCX, HTML, and more, to a unified document representation for powering downstream workflows such as gen AI applications." optional = false python-versions = "<4.0,>=3.9" +groups = ["main"] files = [ - {file = "docling-2.15.1-py3-none-any.whl", hash = "sha256:409a49f19f019cd4d22a81888a1b0bcd7dee21c6657efd2c812cc83d5d201938"}, - {file = "docling-2.15.1.tar.gz", hash = "sha256:578b4eb3c9833e95025aaa4174c0f3a1b9037c81a75fc616e49c16afbd217abf"}, + { file = "docling-2.28.4-py3-none-any.whl", hash = "sha256:1b88f8152d404113c1a7b5fa8ee24a6190807a425a3e5745f2ae3f57bdd5a0eb" }, + { file = "docling-2.28.4.tar.gz", hash = "sha256:d4e6c1ca787b176db930212340e0e8391c1b0b65dddcf2a3c4cdb92ce08acc15" }, ] [package.dependencies] beautifulsoup4 = ">=4.12.3,<5.0.0" certifi = ">=2024.7.4" -deepsearch-glm = ">=1.0.0,<2.0.0" -docling-core = {version = ">=2.13.1,<3.0.0", extras = ["chunking"]} -docling-ibm-models = ">=3.1.0,<4.0.0" -docling-parse = ">=3.0.0,<4.0.0" +docling-core = { version = ">=2.24.1,<3.0.0", extras = ["chunking"] } +docling-ibm-models = ">=3.4.0,<4.0.0" +docling-parse = ">=4.0.0,<5.0.0" easyocr = ">=1.7,<2.0" filetype = ">=1.2.0,<2.0.0" huggingface_hub = ">=0.23,<1" @@ -662,37 +706,47 @@ lxml = ">=4.0.0,<6.0.0" marko = ">=2.1.2,<3.0.0" openpyxl = ">=3.1.5,<4.0.0" pandas = ">=2.1.4,<3.0.0" +pillow = ">=10.0.0,<12.0.0" +pluggy = ">=1.0.0,<2.0.0" pydantic = ">=2.0.0,<3.0.0" pydantic-settings = ">=2.3.0,<3.0.0" +pylatexenc = ">=2.10,<3.0" pypdfium2 = ">=4.30.0,<5.0.0" python-docx = ">=1.1.2,<2.0.0" python-pptx = ">=1.0.2,<2.0.0" requests = ">=2.32.2,<3.0.0" rtree = ">=1.3.0,<2.0.0" -scipy = ">=1.6.0,<2.0.0" +scipy = [ + { version = ">=1.6.0,<2.0.0", markers = "python_version >= \"3.10\"" }, + { version = ">=1.6.0,<1.14.0", markers = "python_version < \"3.10\"" }, +] +tqdm = ">=4.65.0,<5.0.0" typer = ">=0.12.5,<0.13.0" [package.extras] -ocrmac = ["ocrmac (>=1.0.0,<2.0.0)"] -rapidocr = ["onnxruntime (>=1.7.0,<1.20.0)", "onnxruntime (>=1.7.0,<2.0.0)", "rapidocr-onnxruntime (>=1.4.0,<2.0.0)"] +ocrmac = ["ocrmac (>=1.0.0,<2.0.0) ; sys_platform == \"darwin\""] +rapidocr = ["onnxruntime (>=1.7.0,<1.20.0) ; python_version < \"3.10\"", "onnxruntime (>=1.7.0,<2.0.0) ; python_version >= \"3.10\"", "rapidocr-onnxruntime (>=1.4.0,<2.0.0) ; python_version < \"3.13\""] tesserocr = ["tesserocr (>=2.7.1,<3.0.0)"] +vlm = ["accelerate (>=1.2.1,<2.0.0) ; sys_platform != \"darwin\" or platform_machine != \"x86_64\"", "transformers (>=4.42.0,<4.43.0) ; sys_platform == \"darwin\" and platform_machine == \"x86_64\"", "transformers (>=4.46.0,<5.0.0) ; sys_platform != \"darwin\" or platform_machine != \"x86_64\""] [[package]] name = "docling-core" -version = "2.14.0" +version = "2.25.0" description = "A python library to define and validate data types in Docling." optional = false python-versions = "<4.0,>=3.9" +groups = ["main"] files = [ - {file = "docling_core-2.14.0-py3-none-any.whl", hash = "sha256:05a7b89872260dcdba2b0fbcc3a4619aed4846f58f155d33a10b41b23eea5188"}, - {file = "docling_core-2.14.0.tar.gz", hash = "sha256:0eb6a52e05f2a06e1777b0533d655a87b54a1a5d374b957beb244c8940aed7da"}, + { file = "docling_core-2.25.0-py3-none-any.whl", hash = "sha256:24fe431005518df8e554b69c33178bca903bcf91c230cdcd31a905369f53a461" }, + { file = "docling_core-2.25.0.tar.gz", hash = "sha256:a2019392592840b2829082ef0c1d1a9096fb3512ae44c3a93dc04a5eaef81b2f" }, ] [package.dependencies] jsonref = ">=1.1.0,<2.0.0" jsonschema = ">=4.16.0,<5.0.0" +latex2mathml = ">=3.77.0,<4.0.0" pandas = ">=2.1.4,<3.0.0" -pillow = ">=10.3.0,<11.0.0" +pillow = ">=10.0.0,<12.0.0" pydantic = ">=2.6.0,<2.10.0 || >2.10.0,<2.10.1 || >2.10.1,<2.10.2 || >2.10.2,<3.0.0" pyyaml = ">=5.1,<7.0.0" semchunk = {version = ">=2.2.0,<3.0.0", optional = true, markers = "extra == \"chunking\""} @@ -706,90 +760,78 @@ chunking = ["semchunk (>=2.2.0,<3.0.0)", "transformers (>=4.34.0,<5.0.0)"] [[package]] name = "docling-ibm-models" -version = "3.1.0" +version = "3.4.1" description = "This package contains the AI models used by the Docling PDF conversion package" optional = false python-versions = "<4.0,>=3.9" +groups = ["main"] files = [ - {file = "docling_ibm_models-3.1.0-py3-none-any.whl", hash = "sha256:a381a45dff16fdb2246b99c15a2e3d6ba880c573d48a1d6477d3ffb36bab807f"}, - {file = "docling_ibm_models-3.1.0.tar.gz", hash = "sha256:65d734ffa490edc4e2301d296b6e893afa536c63b7daae7bbda781bd15b3431e"}, + { file = "docling_ibm_models-3.4.1-py3-none-any.whl", hash = "sha256:c3582c99dddfa3f0eafcf80cf1267fd8efa39c4a74cc7a88f9dd49684fac2986" }, + { file = "docling_ibm_models-3.4.1.tar.gz", hash = "sha256:093b4dff2ea284a4953c3aa009e29945208b8d389b94fb14940a03a93f673e96" }, ] [package.dependencies] +docling-core = ">=2.19.0,<3.0.0" huggingface_hub = ">=0.23,<1" jsonlines = ">=3.1.0,<4.0.0" -numpy = ">=1.24.4,<3.0.0" -opencv-python-headless = ">=4.6.0.66,<5.0.0.0" -Pillow = ">=10.0.0,<11.0.0" -safetensors = {version = ">=0.4.3,<1", extras = ["torch"]} -torch = ">=2.2.2,<3.0.0" -torchvision = ">=0,<1" -tqdm = ">=4.64.0,<5.0.0" -transformers = ">=4.42.0,<5.0.0" - -[[package]] -name = "docling-ibm-models" -version = "3.1.2" -description = "This package contains the AI models used by the Docling PDF conversion package" -optional = false -python-versions = "<4.0,>=3.9" -files = [ - {file = "docling_ibm_models-3.1.2-py3-none-any.whl", hash = "sha256:c5d2fa83db08ec538bb77e3d5d79c9ccef7b6873aab19ddcf5bb5e9801bf4a03"}, - {file = "docling_ibm_models-3.1.2.tar.gz", hash = "sha256:68c8b8f1cb87a8d8c5c6d6fe2c86679d65a09d354ec413ed13e9493ee0cd3794"}, +numpy = [ + { version = ">=1.24.4,<3.0.0", markers = "sys_platform != \"darwin\" or platform_machine != \"x86_64\"" }, + { version = ">=1.24.4,<2.0.0", markers = "sys_platform == \"darwin\" and platform_machine == \"x86_64\"" }, ] - -[package.dependencies] -huggingface_hub = ">=0.23,<1" -jsonlines = ">=3.1.0,<4.0.0" -numpy = {version = ">=1.24.4,<3.0.0", markers = "sys_platform != \"darwin\" or platform_machine != \"x86_64\""} opencv-python-headless = ">=4.6.0.66,<5.0.0.0" -Pillow = ">=10.0.0,<11.0.0" +Pillow = ">=10.0.0,<12.0.0" +pydantic = ">=2.0.0,<3.0.0" safetensors = {version = ">=0.4.3,<1", extras = ["torch"]} torch = ">=2.2.2,<3.0.0" torchvision = ">=0,<1" tqdm = ">=4.64.0,<5.0.0" -transformers = {version = ">=4.42.0,<5.0.0", markers = "sys_platform != \"darwin\" or platform_machine != \"x86_64\""} +transformers = [ + { version = ">=4.42.0,<5.0.0", markers = "sys_platform != \"darwin\" or platform_machine != \"x86_64\"" }, + { version = ">=4.42.0,<4.43.0", markers = "sys_platform == \"darwin\" and platform_machine == \"x86_64\"" }, +] [[package]] name = "docling-parse" -version = "3.0.0" +version = "4.0.0" description = "Simple package to extract text with coordinates from programmatic PDFs" optional = false python-versions = "<4.0,>=3.9" -files = [ - {file = "docling_parse-3.0.0-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:8de583f9562549379b8878f4054c17a715ac492999187855a6178c258388d1c6"}, - {file = "docling_parse-3.0.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:0a504152836b52119c84ce6f2124006b2297eca9576c1e961745f774b8f55f59"}, - {file = "docling_parse-3.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e73836d75127b168073e76a4170ec615ee49d6d46ac37d1a3f9d5c585b2c4363"}, - {file = "docling_parse-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1fdff7e14e50c0f66350346082f1fdf6cbc0584bef809532075593fa0c2a2ab2"}, - {file = "docling_parse-3.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:f56ae44328f7242e7420330d3d737d5284ec256af8ecd0b02fe6e34719b3040a"}, - {file = "docling_parse-3.0.0-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:f228587e0d3a8f46fec46934e324d74be90d7f1ad96579c775644b130f28acdb"}, - {file = "docling_parse-3.0.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:25da7fa46449386956906f04cad5e9bec87816c00146caaef1112c8cdda6b79c"}, - {file = "docling_parse-3.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:787c200081af2fb2d267d8f404a1b57464ee2fbcda4abd8d7bab99244c1716cb"}, - {file = "docling_parse-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be7a28e7a3ae6e198722dbb29341956c565ab9d8fdbddaee91f81dc21d870dde"}, - {file = "docling_parse-3.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:4251888da7c0ff946ce77ea8f14a0896ffe24b79422155db5871b7ee1b9fbc0a"}, - {file = "docling_parse-3.0.0-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:642e47bdf090b89766e035b74cc849abffe0df520f2907ff4dede5c819b31d4a"}, - {file = "docling_parse-3.0.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:731de22e279af1505f962dc10102b6405bcaac3d855657bf3542048e7182b440"}, - {file = "docling_parse-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afd553a715e6282fc5aadd3bfd402faab4e43b77f4952bd065e3941218118f39"}, - {file = "docling_parse-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6cfb02830a918958a47144ca13ce985f09578a353c97da941935591e8917f432"}, - {file = "docling_parse-3.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:85ca7610e5debcfc37e7b6311f4fc7c62c9d0eeea11b8bf2b33a760e65dd64fe"}, - {file = "docling_parse-3.0.0-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:9171180b509a41856d1e32e1486934eaf1460575a5d86fa3a8941cb01e2955ac"}, - {file = "docling_parse-3.0.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:12c5fbeb41f491b75d77e055304fc931b723d28fab29e4c4cb2a113201a86918"}, - {file = "docling_parse-3.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83744522c1994ef2fe888865876515e28627ddfce396a119db3cb196a1a99a75"}, - {file = "docling_parse-3.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9857d8982bb7a7b51e7cefdd01613a7979e66c9c3ed40ea151e979b0fc2fc5e3"}, - {file = "docling_parse-3.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:1ff51e5153d164b957bf6284987d805ff1b43559a0244265d1788c0034cb899a"}, - {file = "docling_parse-3.0.0-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:a15efbef123b100a58425fa7073121e7bf0cb8433814bac200df416c4eb9e599"}, - {file = "docling_parse-3.0.0-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:1155d6ca8310e046e18c6a6dc7b7f57e0ed6c89791d3757db2a039f7f69694a6"}, - {file = "docling_parse-3.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:159c12370d6dfbe3e572f43a6a2804ee81d7f073d0bd7e5ca08d9acd1876aa83"}, - {file = "docling_parse-3.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:351f4d718485f44686d41d04b26867a429898dbb6ccfe43454adaae3a434d919"}, - {file = "docling_parse-3.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:9172c98615c85303a231b800dfb2e4c1e539b04e383dfc5d7f0dc5f708ea50fd"}, - {file = "docling_parse-3.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ba1c3469a38b404123bb615e220c046496d5d47e161cc5af7ae749e8cf181ab"}, - {file = "docling_parse-3.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:eb315b0af70757f2cba654b1629272ccb35a1a416facf552ff72fd89abe98967"}, - {file = "docling_parse-3.0.0.tar.gz", hash = "sha256:62a50d0fc4bb437ba840fb0419a466361d93071f300ae5f0cebe9b842ef0c8d4"}, +groups = ["main"] +files = [ + { file = "docling_parse-4.0.0-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:6de7fa8ec4919f604c9a02a3fa8ca0e13a3a8e3c0652adc41848616b737925d9" }, + { file = "docling_parse-4.0.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:82704280ab086a84a30d9ec9def6cd96b733aefc6973546b2101d09eed7a958e" }, + { file = "docling_parse-4.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f51ec645978d75e7cf232fa7c571ebf164a5bdf418588c663f9b3c062df6ba72" }, + { file = "docling_parse-4.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d5da855f35303f9229198891da550e3c1e1f4025e52ab8c0303d345669ff46f" }, + { file = "docling_parse-4.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:ba36cb329aadb306cc25901305d49fe6d2ed9e93e9dc993b4baf13fcc90a98e1" }, + { file = "docling_parse-4.0.0-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:9b7afbf09945b4d9e3ddb9c24a13d7b9f987cf32d5c9d68532ceb63fb26697df" }, + { file = "docling_parse-4.0.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:6daaec89c5045e968785a225b9b5a42b36dfe6b5a4437995e2d34e1595e2c162" }, + { file = "docling_parse-4.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93e638ef2ad36e9e4a8ef881073696467e6699bf206e5a416de4abaaf531b0e1" }, + { file = "docling_parse-4.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87246eb0d259202a7f093336f17235cb1fffb67e82b41dbc0e88f9c05b08014e" }, + { file = "docling_parse-4.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:0ae44b913b010994c3e36869e5fc9dad252a7dc7434225790928075c8b5a7f6c" }, + { file = "docling_parse-4.0.0-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:ed6d8ac29c1014ed7a126d782b6bc963c9a9c09f41224fa90f9a8b45bf3191f9" }, + { file = "docling_parse-4.0.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:4a2dd46cee8e54f3aa511dbf552ef5f9f422944c54de73888ee55b2c4a6e10b9" }, + { file = "docling_parse-4.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:722fbd63f7f28e8a49fa2cd92d1571290f6c5295b86c7406b7c20a6c6e8b3975" }, + { file = "docling_parse-4.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc155767b51a23f5bfd5abaabaf8c4a57777aa0277c813e13b9f6c43532964bd" }, + { file = "docling_parse-4.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:e45ab31fffe4ae571bd2ecc9e0a9d5665a1486463396924160add84828d2a7e7" }, + { file = "docling_parse-4.0.0-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:d93fd3cec032e5b7f6385f7a021e228c52eb381f28fc037224708aeaad487d8b" }, + { file = "docling_parse-4.0.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:d9f64847cd7e9a7a34a3d5a14f0827022ed3b7f50f39d5126ef003c55d574ba3" }, + { file = "docling_parse-4.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6ac283f08680dfde568b5629ab94830cab32795d74086553e755460b6879901" }, + { file = "docling_parse-4.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97eca28220dc5075099e01f2cb7a3e9005b9951dee0ca0eb743e298be7284279" }, + { file = "docling_parse-4.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:6019288cfe25a97993c2aab453386fc3e366d7761637e682b25915ba2c856cc4" }, + { file = "docling_parse-4.0.0-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:168c861233fc2a1e4b7d934aa6f7e1b3f568434fd478f18f0b3bcc09880d504c" }, + { file = "docling_parse-4.0.0-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:b1cc0b7a214bc9e4e05c65572c4a17c19d0f4f0795fe1fa77a0ad499ab7e4e79" }, + { file = "docling_parse-4.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cec16060eba37db3fa2ff0b34d283cf33384caecc73b0d8dbf012e3b3941c21d" }, + { file = "docling_parse-4.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a058c2330d7759d943ae50db9e4ecab60201a54116052f94e6e7a3886886b65" }, + { file = "docling_parse-4.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:05af04972fef73f2e10cc46c8f541aaf6713fdcad254502a0012884109c1d468" }, + { file = "docling_parse-4.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:30c0c1b33c0a0aeb6897537f7d8fa09ed5a26f05685b18a2d27c73a789343679" }, + { file = "docling_parse-4.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2dff48f5fef106539137a4e63ee58b5be0e7a81ac1aedd61a4453c268b8f76d1" }, + { file = "docling_parse-4.0.0.tar.gz", hash = "sha256:5be0ba4e0098524f116743e6b709f29fe273e441e61923c3a262e054643c5ee6" }, ] [package.dependencies] -autoflake = ">=2.3.1,<3.0.0" -pillow = ">=10.4.0,<11.0.0" +docling-core = ">=2.23.0,<3.0.0" +pillow = ">=10.0.0,<12.0.0" +pydantic = ">=2.0.0,<3.0.0" pywin32 = {version = ">=305", markers = "sys_platform == \"win32\""} tabulate = ">=0.9.0,<1.0.0" @@ -799,6 +841,7 @@ version = "0.21.2" description = "Docutils -- Python Documentation Utilities" optional = false python-versions = ">=3.9" +groups = ["dev"] files = [ {file = "docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2"}, {file = "docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f"}, @@ -810,6 +853,7 @@ version = "1.3.1" description = "Dictionary wrapper for quick access to deeply nested keys." optional = false python-versions = ">=3.5,<4.0" +groups = ["dev"] files = [ {file = "dotty_dict-1.3.1-py3-none-any.whl", hash = "sha256:5022d234d9922f13aa711b4950372a06a6d64cb6d6db9ba43d0ba133ebfce31f"}, {file = "dotty_dict-1.3.1.tar.gz", hash = "sha256:4b016e03b8ae265539757a53eba24b9bfda506fb94fbce0bee843c6f05541a15"}, @@ -821,6 +865,7 @@ version = "1.7.2" description = "End-to-End Multi-Lingual Optical Character Recognition (OCR) Solution" optional = false python-versions = "*" +groups = ["main"] files = [ {file = "easyocr-1.7.2-py3-none-any.whl", hash = "sha256:5be12f9b0e595d443c9c3d10b0542074b50f0ec2d98b141a109cd961fd1c177c"}, ] @@ -845,6 +890,7 @@ version = "2.0.0" description = "An implementation of lxml.xmlfile for the standard library" optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "et_xmlfile-2.0.0-py3-none-any.whl", hash = "sha256:7a91720bc756843502c3b7504c77b8fe44217c85c537d85037f0f536151b2caa"}, {file = "et_xmlfile-2.0.0.tar.gz", hash = "sha256:dab3f4764309081ce75662649be815c4c9081e88f0837825f90fd28317d4da54"}, @@ -856,6 +902,8 @@ version = "1.2.2" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" +groups = ["main", "dev"] +markers = "python_version < \"3.11\"" files = [ {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, @@ -866,33 +914,35 @@ test = ["pytest (>=6)"] [[package]] name = "executing" -version = "2.1.0" +version = "2.2.0" description = "Get the currently executing AST node of a frame, and other information" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ - {file = "executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf"}, - {file = "executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab"}, + { file = "executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa" }, + { file = "executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755" }, ] [package.extras] -tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] +tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich ; python_version >= \"3.11\""] [[package]] name = "filelock" -version = "3.16.1" +version = "3.18.0" description = "A platform independent file lock." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["main", "dev"] files = [ - {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, - {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, + { file = "filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de" }, + { file = "filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2" }, ] [package.extras] -docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] -typing = ["typing-extensions (>=4.12.2)"] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.1.3)", "sphinx-autodoc-typehints (>=3)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.10)", "diff-cover (>=9.2.1)", "pytest (>=8.3.4)", "pytest-asyncio (>=0.25.2)", "pytest-cov (>=6)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.28.1)"] +typing = ["typing-extensions (>=4.12.2) ; python_version < \"3.11\""] [[package]] name = "filetype" @@ -900,6 +950,7 @@ version = "1.2.0" description = "Infer file type and MIME type of any file/buffer. No external dependencies." optional = false python-versions = "*" +groups = ["main"] files = [ {file = "filetype-1.2.0-py2.py3-none-any.whl", hash = "sha256:7ce71b6880181241cf7ac8697a2f1eb6a8bd9b429f7ad6d27b8db9ba5f1c2d25"}, {file = "filetype-1.2.0.tar.gz", hash = "sha256:66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb"}, @@ -907,19 +958,20 @@ files = [ [[package]] name = "flake8" -version = "7.1.1" +version = "7.2.0" description = "the modular source code checker: pep8 pyflakes and co" optional = false -python-versions = ">=3.8.1" +python-versions = ">=3.9" +groups = ["dev"] files = [ - {file = "flake8-7.1.1-py2.py3-none-any.whl", hash = "sha256:597477df7860daa5aa0fdd84bf5208a043ab96b8e96ab708770ae0364dd03213"}, - {file = "flake8-7.1.1.tar.gz", hash = "sha256:049d058491e228e03e67b390f311bbf88fce2dbaa8fa673e7aea87b7198b8d38"}, + { file = "flake8-7.2.0-py2.py3-none-any.whl", hash = "sha256:93b92ba5bdb60754a6da14fa3b93a9361fd00a59632ada61fd7b130436c40343" }, + { file = "flake8-7.2.0.tar.gz", hash = "sha256:fa558ae3f6f7dbf2b4f22663e5343b6b6023620461f8d4ff2019ef4b5ee70426" }, ] [package.dependencies] mccabe = ">=0.7.0,<0.8.0" -pycodestyle = ">=2.12.0,<2.13.0" -pyflakes = ">=3.2.0,<3.3.0" +pycodestyle = ">=2.13.0,<2.14.0" +pyflakes = ">=3.3.0,<3.4.0" [[package]] name = "flake8-docstrings" @@ -927,6 +979,7 @@ version = "1.7.0" description = "Extension for flake8 which uses pydocstyle to check docstrings" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "flake8_docstrings-1.7.0-py2.py3-none-any.whl", hash = "sha256:51f2344026da083fc084166a9353f5082b01f72901df422f74b4d953ae88ac75"}, {file = "flake8_docstrings-1.7.0.tar.gz", hash = "sha256:4c8cc748dc16e6869728699e5d0d685da9a10b0ea718e090b1ba088e67a941af"}, @@ -938,13 +991,14 @@ pydocstyle = ">=2.1" [[package]] name = "fsspec" -version = "2024.12.0" +version = "2025.3.2" description = "File-system specification" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["main"] files = [ - {file = "fsspec-2024.12.0-py3-none-any.whl", hash = "sha256:b520aed47ad9804237ff878b504267a3b0b441e97508bd6d2d8774e3db85cee2"}, - {file = "fsspec-2024.12.0.tar.gz", hash = "sha256:670700c977ed2fb51e0d9f9253177ed20cbde4a3e5c0283cc5385b5870c8533f"}, + { file = "fsspec-2025.3.2-py3-none-any.whl", hash = "sha256:2daf8dc3d1dfa65b6aa37748d112773a7a08416f6c70d96b264c96476ecaf711" }, + { file = "fsspec-2025.3.2.tar.gz", hash = "sha256:e52c77ef398680bbd6a98c0e628fbc469491282981209907bbc8aea76a04fdc6" }, ] [package.extras] @@ -971,7 +1025,7 @@ sftp = ["paramiko"] smb = ["smbprotocol"] ssh = ["paramiko"] test = ["aiohttp (!=4.0.0a0,!=4.0.0a1)", "numpy", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "requests"] -test-downstream = ["aiobotocore (>=2.5.4,<3.0.0)", "dask-expr", "dask[dataframe,test]", "moto[server] (>4,<5)", "pytest-timeout", "xarray"] +test-downstream = ["aiobotocore (>=2.5.4,<3.0.0)", "dask[dataframe,test]", "moto[server] (>4,<5)", "pytest-timeout", "xarray"] test-full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "cloudpickle", "dask", "distributed", "dropbox", "dropboxdrivefs", "fastparquet", "fusepy", "gcsfs", "jinja2", "kerchunk", "libarchive-c", "lz4", "notebook", "numpy", "ocifs", "pandas", "panel", "paramiko", "pyarrow", "pyarrow (>=1)", "pyftpdlib", "pygit2", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "python-snappy", "requests", "smbprotocol", "tqdm", "urllib3", "zarr", "zstandard"] tqdm = ["tqdm"] @@ -981,6 +1035,7 @@ version = "4.0.12" description = "Git Object Database" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf"}, {file = "gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571"}, @@ -995,6 +1050,7 @@ version = "3.1.44" description = "GitPython is a Python library used to interact with Git repositories" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110"}, {file = "gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269"}, @@ -1005,7 +1061,7 @@ gitdb = ">=4.0.1,<5" [package.extras] doc = ["sphinx (>=7.1.2,<7.2)", "sphinx-autodoc-typehints", "sphinx_rtd_theme"] -test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions"] +test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock ; python_version < \"3.8\"", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions ; python_version < \"3.11\""] [[package]] name = "h11" @@ -1013,6 +1069,7 @@ version = "0.14.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" optional = false python-versions = ">=3.7" +groups = ["main"] files = [ {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, @@ -1020,25 +1077,27 @@ files = [ [[package]] name = "haystack-ai" -version = "2.8.1" +version = "2.12.0" description = "LLM framework to build customizable, production-ready LLM applications. Connect components (models, vector DBs, file converters) to pipelines or agents that can interact with your data." optional = false -python-versions = "<3.13,>=3.8" +python-versions = ">=3.9" +groups = ["main"] files = [ - {file = "haystack_ai-2.8.1-py3-none-any.whl", hash = "sha256:7e470aeeaecd4b4bb9cdfb4f91b414b260e11ffcff39247889e67caf66664cdc"}, - {file = "haystack_ai-2.8.1.tar.gz", hash = "sha256:8be007dbf95a8811d6abe42747bba8d8454944a8fe603c13c3c7643b2d16faf5"}, + { file = "haystack_ai-2.12.0-py3-none-any.whl", hash = "sha256:d30ff8e950ded87e52ed41a3a8744b328565d27b02c6bfce7fb1d448d4f2ca42" }, + { file = "haystack_ai-2.12.0.tar.gz", hash = "sha256:bf8f6abbd1640fcbbdc2ed88883645f449ac98423a52474b3c5f278d32733dc2" }, ] [package.dependencies] haystack-experimental = "*" jinja2 = "*" +jsonschema = "*" lazy-imports = "*" more-itertools = "*" networkx = "*" numpy = "*" openai = ">=1.56.1" -pandas = "*" -posthog = "*" +posthog = "!=3.12.0" +pydantic = "*" python-dateutil = "*" pyyaml = "*" requests = "*" @@ -1048,13 +1107,14 @@ typing-extensions = ">=4.7" [[package]] name = "haystack-experimental" -version = "0.4.0" +version = "0.8.0" description = "Experimental components and features for the Haystack LLM framework." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["main"] files = [ - {file = "haystack_experimental-0.4.0-py3-none-any.whl", hash = "sha256:c08a396f2eaff9dd16caeb94ef54291b97b3a98dfb1212a1823cbd6d6bab7fa3"}, - {file = "haystack_experimental-0.4.0.tar.gz", hash = "sha256:fa920484a6eb49e7a31ce05108391693ebf6ef636e2acdbb00210bfc5ea2538c"}, + { file = "haystack_experimental-0.8.0-py3-none-any.whl", hash = "sha256:04dea68fc4c28509c631f81b7f5e353eed6a382f866bd0b7381616e1a8ed9011" }, + { file = "haystack_experimental-0.8.0.tar.gz", hash = "sha256:5b3637c7e2e65c9081609d66a082dd77664ba57b74de748d3195afe455deaf4f" }, ] [package.dependencies] @@ -1067,6 +1127,7 @@ version = "1.0.7" description = "A minimal low-level HTTP client." optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"}, {file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"}, @@ -1088,6 +1149,7 @@ version = "0.28.1" description = "The next generation HTTP client." optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"}, {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"}, @@ -1100,7 +1162,7 @@ httpcore = "==1.*" idna = "*" [package.extras] -brotli = ["brotli", "brotlicffi"] +brotli = ["brotli ; platform_python_implementation == \"CPython\"", "brotlicffi ; platform_python_implementation != \"CPython\""] cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] @@ -1108,13 +1170,14 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "huggingface-hub" -version = "0.27.1" +version = "0.30.2" description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" optional = false python-versions = ">=3.8.0" +groups = ["main"] files = [ - {file = "huggingface_hub-0.27.1-py3-none-any.whl", hash = "sha256:1c5155ca7d60b60c2e2fc38cbb3ffb7f7c3adf48f824015b219af9061771daec"}, - {file = "huggingface_hub-0.27.1.tar.gz", hash = "sha256:c004463ca870283909d715d20f066ebd6968c2207dae9393fdffb3c1d4d8f98b"}, + { file = "huggingface_hub-0.30.2-py3-none-any.whl", hash = "sha256:68ff05969927058cfa41df4f2155d4bb48f5f54f719dd0390103eefa9b191e28" }, + { file = "huggingface_hub-0.30.2.tar.gz", hash = "sha256:9a7897c5b6fd9dad3168a794a8998d6378210f5b9688d0dfc180b1a228dc2466" }, ] [package.dependencies] @@ -1127,13 +1190,14 @@ tqdm = ">=4.42.1" typing-extensions = ">=3.7.4.3" [package.extras] -all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio (>=4.0.0)", "jedi", "libcst (==1.4.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.5.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio (>=4.0.0)", "jedi", "libcst (==1.4.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.9.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] cli = ["InquirerPy (==0.3.4)"] -dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio (>=4.0.0)", "jedi", "libcst (==1.4.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.5.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio (>=4.0.0)", "jedi", "libcst (==1.4.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.9.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] fastai = ["fastai (>=2.4)", "fastcore (>=1.3.27)", "toml"] hf-transfer = ["hf-transfer (>=0.1.4)"] +hf-xet = ["hf-xet (>=0.1.4)"] inference = ["aiohttp"] -quality = ["libcst (==1.4.0)", "mypy (==1.5.1)", "ruff (>=0.5.0)"] +quality = ["libcst (==1.4.0)", "mypy (==1.5.1)", "ruff (>=0.9.0)"] tensorflow = ["graphviz", "pydot", "tensorflow"] tensorflow-testing = ["keras (<3.0)", "tensorflow"] testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio (>=4.0.0)", "jedi", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"] @@ -1142,13 +1206,14 @@ typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "t [[package]] name = "identify" -version = "2.6.5" +version = "2.6.9" description = "File identification library for Python" optional = false python-versions = ">=3.9" +groups = ["dev"] files = [ - {file = "identify-2.6.5-py2.py3-none-any.whl", hash = "sha256:14181a47091eb75b337af4c23078c9d09225cd4c48929f521f3bf16b09d02566"}, - {file = "identify-2.6.5.tar.gz", hash = "sha256:c10b33f250e5bba374fae86fb57f3adcebf1161bce7cdf92031915fd480c13bc"}, + { file = "identify-2.6.9-py2.py3-none-any.whl", hash = "sha256:c98b4322da415a8e5a70ff6e51fbc2d2932c015532d77e9f8537b4ba7813b150" }, + { file = "identify-2.6.9.tar.gz", hash = "sha256:d40dfe3142a1421d8518e3d3985ef5ac42890683e32306ad614a29490abeb6bf" }, ] [package.extras] @@ -1160,6 +1225,7 @@ version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.6" +groups = ["main", "dev"] files = [ {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, @@ -1170,13 +1236,14 @@ all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2 [[package]] name = "imageio" -version = "2.36.1" +version = "2.37.0" description = "Library for reading and writing a wide range of image, video, scientific, and volumetric data formats." optional = false python-versions = ">=3.9" +groups = ["main"] files = [ - {file = "imageio-2.36.1-py3-none-any.whl", hash = "sha256:20abd2cae58e55ca1af8a8dcf43293336a59adf0391f1917bf8518633cfc2cdf"}, - {file = "imageio-2.36.1.tar.gz", hash = "sha256:e4e1d231f47f9a9e16100b0f7ce1a86e8856fb4d1c0fa2c4365a316f1746be62"}, + { file = "imageio-2.37.0-py3-none-any.whl", hash = "sha256:11efa15b87bc7871b61590326b2d635439acc321cf7f8ce996f812543ce10eed" }, + { file = "imageio-2.37.0.tar.gz", hash = "sha256:71b57b3669666272c818497aebba2b4c5f20d5b37c81720e5e1a56d59c492996" }, ] [package.dependencies] @@ -1203,36 +1270,38 @@ tifffile = ["tifffile"] [[package]] name = "importlib-metadata" -version = "8.5.0" +version = "8.6.1" description = "Read metadata from Python packages" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["dev"] files = [ - {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, - {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, + { file = "importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e" }, + { file = "importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580" }, ] [package.dependencies] zipp = ">=3.20" [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +test = ["flufl.flake8", "importlib_resources (>=1.3) ; python_version < \"3.9\"", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] type = ["pytest-mypy"] [[package]] name = "iniconfig" -version = "2.0.0" +version = "2.1.0" description = "brain-dead simple config-ini parsing" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +groups = ["dev"] files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, + { file = "iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760" }, + { file = "iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7" }, ] [[package]] @@ -1241,6 +1310,7 @@ version = "2.2.0" description = "Pythonic task execution" optional = false python-versions = ">=3.6" +groups = ["dev"] files = [ {file = "invoke-2.2.0-py3-none-any.whl", hash = "sha256:6ea924cc53d4f78e3d98bc436b08069a03077e6f85ad1ddaa8a116d7dad15820"}, {file = "invoke-2.2.0.tar.gz", hash = "sha256:ee6cbb101af1a859c7fe84f2a264c059020b0cb7fe3535f9424300ab568f6bd5"}, @@ -1252,6 +1322,7 @@ version = "6.29.5" description = "IPython Kernel for Jupyter" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5"}, {file = "ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215"}, @@ -1285,6 +1356,8 @@ version = "8.18.1" description = "IPython: Productive Interactive Computing" optional = false python-versions = ">=3.9" +groups = ["dev"] +markers = "python_version == \"3.9\"" files = [ {file = "ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397"}, {file = "ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27"}, @@ -1316,12 +1389,103 @@ qtconsole = ["qtconsole"] test = ["pickleshare", "pytest (<7.1)", "pytest-asyncio (<0.22)", "testpath"] test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.22)", "pandas", "pickleshare", "pytest (<7.1)", "pytest-asyncio (<0.22)", "testpath", "trio"] +[[package]] +name = "ipython" +version = "8.35.0" +description = "IPython: Productive Interactive Computing" +optional = false +python-versions = ">=3.10" +groups = ["dev"] +markers = "python_version == \"3.10\"" +files = [ + { file = "ipython-8.35.0-py3-none-any.whl", hash = "sha256:e6b7470468ba6f1f0a7b116bb688a3ece2f13e2f94138e508201fad677a788ba" }, + { file = "ipython-8.35.0.tar.gz", hash = "sha256:d200b7d93c3f5883fc36ab9ce28a18249c7706e51347681f80a0aef9895f2520" }, +] + +[package.dependencies] +colorama = { version = "*", markers = "sys_platform == \"win32\"" } +decorator = "*" +exceptiongroup = { version = "*", markers = "python_version < \"3.11\"" } +jedi = ">=0.16" +matplotlib-inline = "*" +pexpect = { version = ">4.3", markers = "sys_platform != \"win32\" and sys_platform != \"emscripten\"" } +prompt_toolkit = ">=3.0.41,<3.1.0" +pygments = ">=2.4.0" +stack_data = "*" +traitlets = ">=5.13.0" +typing_extensions = { version = ">=4.6", markers = "python_version < \"3.12\"" } + +[package.extras] +all = ["ipython[black,doc,kernel,matplotlib,nbconvert,nbformat,notebook,parallel,qtconsole]", "ipython[test,test-extra]"] +black = ["black"] +doc = ["docrepr", "exceptiongroup", "intersphinx_registry", "ipykernel", "ipython[test]", "matplotlib", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "sphinxcontrib-jquery", "tomli ; python_version < \"3.11\"", "typing_extensions"] +kernel = ["ipykernel"] +matplotlib = ["matplotlib"] +nbconvert = ["nbconvert"] +nbformat = ["nbformat"] +notebook = ["ipywidgets", "notebook"] +parallel = ["ipyparallel"] +qtconsole = ["qtconsole"] +test = ["packaging", "pickleshare", "pytest", "pytest-asyncio (<0.22)", "testpath"] +test-extra = ["curio", "ipython[test]", "jupyter_ai", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.23)", "pandas", "trio"] + +[[package]] +name = "ipython" +version = "9.1.0" +description = "IPython: Productive Interactive Computing" +optional = false +python-versions = ">=3.11" +groups = ["dev"] +markers = "python_version >= \"3.11\"" +files = [ + { file = "ipython-9.1.0-py3-none-any.whl", hash = "sha256:2df07257ec2f84a6b346b8d83100bcf8fa501c6e01ab75cd3799b0bb253b3d2a" }, + { file = "ipython-9.1.0.tar.gz", hash = "sha256:a47e13a5e05e02f3b8e1e7a0f9db372199fe8c3763532fe7a1e0379e4e135f16" }, +] + +[package.dependencies] +colorama = { version = "*", markers = "sys_platform == \"win32\"" } +decorator = "*" +ipython-pygments-lexers = "*" +jedi = ">=0.16" +matplotlib-inline = "*" +pexpect = { version = ">4.3", markers = "sys_platform != \"win32\" and sys_platform != \"emscripten\"" } +prompt_toolkit = ">=3.0.41,<3.1.0" +pygments = ">=2.4.0" +stack_data = "*" +traitlets = ">=5.13.0" +typing_extensions = { version = ">=4.6", markers = "python_version < \"3.12\"" } + +[package.extras] +all = ["ipython[doc,matplotlib,test,test-extra]"] +black = ["black"] +doc = ["docrepr", "exceptiongroup", "intersphinx_registry", "ipykernel", "ipython[test]", "matplotlib", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "sphinx_toml (==0.0.4)", "typing_extensions"] +matplotlib = ["matplotlib"] +test = ["packaging", "pytest", "pytest-asyncio (<0.22)", "testpath"] +test-extra = ["curio", "ipykernel", "ipython[test]", "jupyter_ai", "matplotlib (!=3.2.0)", "nbclient", "nbformat", "numpy (>=1.23)", "pandas", "trio"] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +description = "Defines a variety of Pygments lexers for highlighting IPython code." +optional = false +python-versions = ">=3.8" +groups = ["dev"] +markers = "python_version >= \"3.11\"" +files = [ + { file = "ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c" }, + { file = "ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81" }, +] + +[package.dependencies] +pygments = "*" + [[package]] name = "isort" version = "5.13.2" description = "A Python utility / library to sort Python imports." optional = false python-versions = ">=3.8.0" +groups = ["dev"] files = [ {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, @@ -1336,6 +1500,7 @@ version = "3.4.0" description = "Utility functions for Python class constructs" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790"}, {file = "jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd"}, @@ -1354,6 +1519,7 @@ version = "6.0.1" description = "Useful decorators and context managers" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "jaraco.context-6.0.1-py3-none-any.whl", hash = "sha256:f797fc481b490edb305122c9181830a3a5b76d84ef6d1aef2fb9b47ab956f9e4"}, {file = "jaraco_context-6.0.1.tar.gz", hash = "sha256:9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3"}, @@ -1364,7 +1530,7 @@ files = [ [package.extras] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -test = ["portend", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"] +test = ["portend", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] [[package]] name = "jaraco-functools" @@ -1372,6 +1538,7 @@ version = "4.1.0" description = "Functools like those found in stdlib" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "jaraco.functools-4.1.0-py3-none-any.whl", hash = "sha256:ad159f13428bc4acbf5541ad6dec511f91573b90fba04df61dafa2a1231cf649"}, {file = "jaraco_functools-4.1.0.tar.gz", hash = "sha256:70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d"}, @@ -1381,7 +1548,7 @@ files = [ more-itertools = "*" [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] @@ -1394,6 +1561,7 @@ version = "0.19.2" description = "An autocompletion tool for Python that can be used for text editors." optional = false python-versions = ">=3.6" +groups = ["dev"] files = [ {file = "jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9"}, {file = "jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0"}, @@ -1409,28 +1577,31 @@ testing = ["Django", "attrs", "colorama", "docopt", "pytest (<9.0.0)"] [[package]] name = "jeepney" -version = "0.8.0" +version = "0.9.0" description = "Low-level, pure Python DBus protocol wrapper." optional = false python-versions = ">=3.7" +groups = ["dev"] +markers = "sys_platform == \"linux\"" files = [ - {file = "jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755"}, - {file = "jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806"}, + { file = "jeepney-0.9.0-py3-none-any.whl", hash = "sha256:97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683" }, + { file = "jeepney-0.9.0.tar.gz", hash = "sha256:cf0e9e845622b81e4a28df94c40345400256ec608d0e55bb8a3feaa9163f5732" }, ] [package.extras] -test = ["async-timeout", "pytest", "pytest-asyncio (>=0.17)", "pytest-trio", "testpath", "trio"] -trio = ["async_generator", "trio"] +test = ["async-timeout ; python_version < \"3.11\"", "pytest", "pytest-asyncio (>=0.17)", "pytest-trio", "testpath", "trio"] +trio = ["trio"] [[package]] name = "jinja2" -version = "3.1.5" +version = "3.1.6" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" +groups = ["main"] files = [ - {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"}, - {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"}, + { file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67" }, + { file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" }, ] [package.dependencies] @@ -1441,87 +1612,88 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "jiter" -version = "0.8.2" +version = "0.9.0" description = "Fast iterable JSON parser." optional = false python-versions = ">=3.8" -files = [ - {file = "jiter-0.8.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:ca8577f6a413abe29b079bc30f907894d7eb07a865c4df69475e868d73e71c7b"}, - {file = "jiter-0.8.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b25bd626bde7fb51534190c7e3cb97cee89ee76b76d7585580e22f34f5e3f393"}, - {file = "jiter-0.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5c826a221851a8dc028eb6d7d6429ba03184fa3c7e83ae01cd6d3bd1d4bd17d"}, - {file = "jiter-0.8.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d35c864c2dff13dfd79fb070fc4fc6235d7b9b359efe340e1261deb21b9fcb66"}, - {file = "jiter-0.8.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f557c55bc2b7676e74d39d19bcb8775ca295c7a028246175d6a8b431e70835e5"}, - {file = "jiter-0.8.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:580ccf358539153db147e40751a0b41688a5ceb275e6f3e93d91c9467f42b2e3"}, - {file = "jiter-0.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af102d3372e917cffce49b521e4c32c497515119dc7bd8a75665e90a718bbf08"}, - {file = "jiter-0.8.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cadcc978f82397d515bb2683fc0d50103acff2a180552654bb92d6045dec2c49"}, - {file = "jiter-0.8.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ba5bdf56969cad2019d4e8ffd3f879b5fdc792624129741d3d83fc832fef8c7d"}, - {file = "jiter-0.8.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3b94a33a241bee9e34b8481cdcaa3d5c2116f575e0226e421bed3f7a6ea71cff"}, - {file = "jiter-0.8.2-cp310-cp310-win32.whl", hash = "sha256:6e5337bf454abddd91bd048ce0dca5134056fc99ca0205258766db35d0a2ea43"}, - {file = "jiter-0.8.2-cp310-cp310-win_amd64.whl", hash = "sha256:4a9220497ca0cb1fe94e3f334f65b9b5102a0b8147646118f020d8ce1de70105"}, - {file = "jiter-0.8.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:2dd61c5afc88a4fda7d8b2cf03ae5947c6ac7516d32b7a15bf4b49569a5c076b"}, - {file = "jiter-0.8.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a6c710d657c8d1d2adbbb5c0b0c6bfcec28fd35bd6b5f016395f9ac43e878a15"}, - {file = "jiter-0.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9584de0cd306072635fe4b89742bf26feae858a0683b399ad0c2509011b9dc0"}, - {file = "jiter-0.8.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5a90a923338531b7970abb063cfc087eebae6ef8ec8139762007188f6bc69a9f"}, - {file = "jiter-0.8.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d21974d246ed0181558087cd9f76e84e8321091ebfb3a93d4c341479a736f099"}, - {file = "jiter-0.8.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:32475a42b2ea7b344069dc1e81445cfc00b9d0e3ca837f0523072432332e9f74"}, - {file = "jiter-0.8.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b9931fd36ee513c26b5bf08c940b0ac875de175341cbdd4fa3be109f0492586"}, - {file = "jiter-0.8.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ce0820f4a3a59ddced7fce696d86a096d5cc48d32a4183483a17671a61edfddc"}, - {file = "jiter-0.8.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8ffc86ae5e3e6a93765d49d1ab47b6075a9c978a2b3b80f0f32628f39caa0c88"}, - {file = "jiter-0.8.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5127dc1abd809431172bc3fbe8168d6b90556a30bb10acd5ded41c3cfd6f43b6"}, - {file = "jiter-0.8.2-cp311-cp311-win32.whl", hash = "sha256:66227a2c7b575720c1871c8800d3a0122bb8ee94edb43a5685aa9aceb2782d44"}, - {file = "jiter-0.8.2-cp311-cp311-win_amd64.whl", hash = "sha256:cde031d8413842a1e7501e9129b8e676e62a657f8ec8166e18a70d94d4682855"}, - {file = "jiter-0.8.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:e6ec2be506e7d6f9527dae9ff4b7f54e68ea44a0ef6b098256ddf895218a2f8f"}, - {file = "jiter-0.8.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76e324da7b5da060287c54f2fabd3db5f76468006c811831f051942bf68c9d44"}, - {file = "jiter-0.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:180a8aea058f7535d1c84183c0362c710f4750bef66630c05f40c93c2b152a0f"}, - {file = "jiter-0.8.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:025337859077b41548bdcbabe38698bcd93cfe10b06ff66617a48ff92c9aec60"}, - {file = "jiter-0.8.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ecff0dc14f409599bbcafa7e470c00b80f17abc14d1405d38ab02e4b42e55b57"}, - {file = "jiter-0.8.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffd9fee7d0775ebaba131f7ca2e2d83839a62ad65e8e02fe2bd8fc975cedeb9e"}, - {file = "jiter-0.8.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14601dcac4889e0a1c75ccf6a0e4baf70dbc75041e51bcf8d0e9274519df6887"}, - {file = "jiter-0.8.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92249669925bc1c54fcd2ec73f70f2c1d6a817928480ee1c65af5f6b81cdf12d"}, - {file = "jiter-0.8.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e725edd0929fa79f8349ab4ec7f81c714df51dc4e991539a578e5018fa4a7152"}, - {file = "jiter-0.8.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bf55846c7b7a680eebaf9c3c48d630e1bf51bdf76c68a5f654b8524335b0ad29"}, - {file = "jiter-0.8.2-cp312-cp312-win32.whl", hash = "sha256:7efe4853ecd3d6110301665a5178b9856be7e2a9485f49d91aa4d737ad2ae49e"}, - {file = "jiter-0.8.2-cp312-cp312-win_amd64.whl", hash = "sha256:83c0efd80b29695058d0fd2fa8a556490dbce9804eac3e281f373bbc99045f6c"}, - {file = "jiter-0.8.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ca1f08b8e43dc3bd0594c992fb1fd2f7ce87f7bf0d44358198d6da8034afdf84"}, - {file = "jiter-0.8.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5672a86d55416ccd214c778efccf3266b84f87b89063b582167d803246354be4"}, - {file = "jiter-0.8.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58dc9bc9767a1101f4e5e22db1b652161a225874d66f0e5cb8e2c7d1c438b587"}, - {file = "jiter-0.8.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:37b2998606d6dadbb5ccda959a33d6a5e853252d921fec1792fc902351bb4e2c"}, - {file = "jiter-0.8.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ab9a87f3784eb0e098f84a32670cfe4a79cb6512fd8f42ae3d0709f06405d18"}, - {file = "jiter-0.8.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:79aec8172b9e3c6d05fd4b219d5de1ac616bd8da934107325a6c0d0e866a21b6"}, - {file = "jiter-0.8.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:711e408732d4e9a0208008e5892c2966b485c783cd2d9a681f3eb147cf36c7ef"}, - {file = "jiter-0.8.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:653cf462db4e8c41995e33d865965e79641ef45369d8a11f54cd30888b7e6ff1"}, - {file = "jiter-0.8.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:9c63eaef32b7bebac8ebebf4dabebdbc6769a09c127294db6babee38e9f405b9"}, - {file = "jiter-0.8.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:eb21aaa9a200d0a80dacc7a81038d2e476ffe473ffdd9c91eb745d623561de05"}, - {file = "jiter-0.8.2-cp313-cp313-win32.whl", hash = "sha256:789361ed945d8d42850f919342a8665d2dc79e7e44ca1c97cc786966a21f627a"}, - {file = "jiter-0.8.2-cp313-cp313-win_amd64.whl", hash = "sha256:ab7f43235d71e03b941c1630f4b6e3055d46b6cb8728a17663eaac9d8e83a865"}, - {file = "jiter-0.8.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b426f72cd77da3fec300ed3bc990895e2dd6b49e3bfe6c438592a3ba660e41ca"}, - {file = "jiter-0.8.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2dd880785088ff2ad21ffee205e58a8c1ddabc63612444ae41e5e4b321b39c0"}, - {file = "jiter-0.8.2-cp313-cp313t-win_amd64.whl", hash = "sha256:3ac9f578c46f22405ff7f8b1f5848fb753cc4b8377fbec8470a7dc3997ca7566"}, - {file = "jiter-0.8.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:9e1fa156ee9454642adb7e7234a383884452532bc9d53d5af2d18d98ada1d79c"}, - {file = "jiter-0.8.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0cf5dfa9956d96ff2efb0f8e9c7d055904012c952539a774305aaaf3abdf3d6c"}, - {file = "jiter-0.8.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e52bf98c7e727dd44f7c4acb980cb988448faeafed8433c867888268899b298b"}, - {file = "jiter-0.8.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a2ecaa3c23e7a7cf86d00eda3390c232f4d533cd9ddea4b04f5d0644faf642c5"}, - {file = "jiter-0.8.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:08d4c92bf480e19fc3f2717c9ce2aa31dceaa9163839a311424b6862252c943e"}, - {file = "jiter-0.8.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:99d9a1eded738299ba8e106c6779ce5c3893cffa0e32e4485d680588adae6db8"}, - {file = "jiter-0.8.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d20be8b7f606df096e08b0b1b4a3c6f0515e8dac296881fe7461dfa0fb5ec817"}, - {file = "jiter-0.8.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d33f94615fcaf872f7fd8cd98ac3b429e435c77619777e8a449d9d27e01134d1"}, - {file = "jiter-0.8.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:317b25e98a35ffec5c67efe56a4e9970852632c810d35b34ecdd70cc0e47b3b6"}, - {file = "jiter-0.8.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fc9043259ee430ecd71d178fccabd8c332a3bf1e81e50cae43cc2b28d19e4cb7"}, - {file = "jiter-0.8.2-cp38-cp38-win32.whl", hash = "sha256:fc5adda618205bd4678b146612ce44c3cbfdee9697951f2c0ffdef1f26d72b63"}, - {file = "jiter-0.8.2-cp38-cp38-win_amd64.whl", hash = "sha256:cd646c827b4f85ef4a78e4e58f4f5854fae0caf3db91b59f0d73731448a970c6"}, - {file = "jiter-0.8.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:e41e75344acef3fc59ba4765df29f107f309ca9e8eace5baacabd9217e52a5ee"}, - {file = "jiter-0.8.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7f22b16b35d5c1df9dfd58843ab2cd25e6bf15191f5a236bed177afade507bfc"}, - {file = "jiter-0.8.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7200b8f7619d36aa51c803fd52020a2dfbea36ffec1b5e22cab11fd34d95a6d"}, - {file = "jiter-0.8.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:70bf4c43652cc294040dbb62256c83c8718370c8b93dd93d934b9a7bf6c4f53c"}, - {file = "jiter-0.8.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f9d471356dc16f84ed48768b8ee79f29514295c7295cb41e1133ec0b2b8d637d"}, - {file = "jiter-0.8.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:859e8eb3507894093d01929e12e267f83b1d5f6221099d3ec976f0c995cb6bd9"}, - {file = "jiter-0.8.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaa58399c01db555346647a907b4ef6d4f584b123943be6ed5588c3f2359c9f4"}, - {file = "jiter-0.8.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8f2d5ed877f089862f4c7aacf3a542627c1496f972a34d0474ce85ee7d939c27"}, - {file = "jiter-0.8.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:03c9df035d4f8d647f8c210ddc2ae0728387275340668fb30d2421e17d9a0841"}, - {file = "jiter-0.8.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8bd2a824d08d8977bb2794ea2682f898ad3d8837932e3a74937e93d62ecbb637"}, - {file = "jiter-0.8.2-cp39-cp39-win32.whl", hash = "sha256:ca29b6371ebc40e496995c94b988a101b9fbbed48a51190a4461fcb0a68b4a36"}, - {file = "jiter-0.8.2-cp39-cp39-win_amd64.whl", hash = "sha256:1c0dfbd1be3cbefc7510102370d86e35d1d53e5a93d48519688b1bf0f761160a"}, - {file = "jiter-0.8.2.tar.gz", hash = "sha256:cd73d3e740666d0e639f678adb176fad25c1bcbdae88d8d7b857e1783bb4212d"}, +groups = ["main"] +files = [ + { file = "jiter-0.9.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:816ec9b60fdfd1fec87da1d7ed46c66c44ffec37ab2ef7de5b147b2fce3fd5ad" }, + { file = "jiter-0.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9b1d3086f8a3ee0194ecf2008cf81286a5c3e540d977fa038ff23576c023c0ea" }, + { file = "jiter-0.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1339f839b91ae30b37c409bf16ccd3dc453e8b8c3ed4bd1d6a567193651a4a51" }, + { file = "jiter-0.9.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ffba79584b3b670fefae66ceb3a28822365d25b7bf811e030609a3d5b876f538" }, + { file = "jiter-0.9.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cfc7d0a8e899089d11f065e289cb5b2daf3d82fbe028f49b20d7b809193958d" }, + { file = "jiter-0.9.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e00a1a2bbfaaf237e13c3d1592356eab3e9015d7efd59359ac8b51eb56390a12" }, + { file = "jiter-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1d9870561eb26b11448854dce0ff27a9a27cb616b632468cafc938de25e9e51" }, + { file = "jiter-0.9.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9872aeff3f21e437651df378cb75aeb7043e5297261222b6441a620218b58708" }, + { file = "jiter-0.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1fd19112d1049bdd47f17bfbb44a2c0001061312dcf0e72765bfa8abd4aa30e5" }, + { file = "jiter-0.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6ef5da104664e526836070e4a23b5f68dec1cc673b60bf1edb1bfbe8a55d0678" }, + { file = "jiter-0.9.0-cp310-cp310-win32.whl", hash = "sha256:cb12e6d65ebbefe5518de819f3eda53b73187b7089040b2d17f5b39001ff31c4" }, + { file = "jiter-0.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:c43ca669493626d8672be3b645dbb406ef25af3f4b6384cfd306da7eb2e70322" }, + { file = "jiter-0.9.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6c4d99c71508912a7e556d631768dcdef43648a93660670986916b297f1c54af" }, + { file = "jiter-0.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8f60fb8ce7df529812bf6c625635a19d27f30806885139e367af93f6e734ef58" }, + { file = "jiter-0.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51c4e1a4f8ea84d98b7b98912aa4290ac3d1eabfde8e3c34541fae30e9d1f08b" }, + { file = "jiter-0.9.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f4c677c424dc76684fea3e7285a7a2a7493424bea89ac441045e6a1fb1d7b3b" }, + { file = "jiter-0.9.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2221176dfec87f3470b21e6abca056e6b04ce9bff72315cb0b243ca9e835a4b5" }, + { file = "jiter-0.9.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c7adb66f899ffa25e3c92bfcb593391ee1947dbdd6a9a970e0d7e713237d572" }, + { file = "jiter-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c98d27330fdfb77913c1097a7aab07f38ff2259048949f499c9901700789ac15" }, + { file = "jiter-0.9.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:eda3f8cc74df66892b1d06b5d41a71670c22d95a1ca2cbab73654745ce9d0419" }, + { file = "jiter-0.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:dd5ab5ddc11418dce28343123644a100f487eaccf1de27a459ab36d6cca31043" }, + { file = "jiter-0.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:42f8a68a69f047b310319ef8e2f52fdb2e7976fb3313ef27df495cf77bcad965" }, + { file = "jiter-0.9.0-cp311-cp311-win32.whl", hash = "sha256:a25519efb78a42254d59326ee417d6f5161b06f5da827d94cf521fed961b1ff2" }, + { file = "jiter-0.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:923b54afdd697dfd00d368b7ccad008cccfeb1efb4e621f32860c75e9f25edbd" }, + { file = "jiter-0.9.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:7b46249cfd6c48da28f89eb0be3f52d6fdb40ab88e2c66804f546674e539ec11" }, + { file = "jiter-0.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:609cf3c78852f1189894383cf0b0b977665f54cb38788e3e6b941fa6d982c00e" }, + { file = "jiter-0.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d726a3890a54561e55a9c5faea1f7655eda7f105bd165067575ace6e65f80bb2" }, + { file = "jiter-0.9.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2e89dc075c1fef8fa9be219e249f14040270dbc507df4215c324a1839522ea75" }, + { file = "jiter-0.9.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04e8ffa3c353b1bc4134f96f167a2082494351e42888dfcf06e944f2729cbe1d" }, + { file = "jiter-0.9.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:203f28a72a05ae0e129b3ed1f75f56bc419d5f91dfacd057519a8bd137b00c42" }, + { file = "jiter-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fca1a02ad60ec30bb230f65bc01f611c8608b02d269f998bc29cca8619a919dc" }, + { file = "jiter-0.9.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:237e5cee4d5d2659aaf91bbf8ec45052cc217d9446070699441a91b386ae27dc" }, + { file = "jiter-0.9.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:528b6b71745e7326eed73c53d4aa57e2a522242320b6f7d65b9c5af83cf49b6e" }, + { file = "jiter-0.9.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9f48e86b57bc711eb5acdfd12b6cb580a59cc9a993f6e7dcb6d8b50522dcd50d" }, + { file = "jiter-0.9.0-cp312-cp312-win32.whl", hash = "sha256:699edfde481e191d81f9cf6d2211debbfe4bd92f06410e7637dffb8dd5dfde06" }, + { file = "jiter-0.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:099500d07b43f61d8bd780466d429c45a7b25411b334c60ca875fa775f68ccb0" }, + { file = "jiter-0.9.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:2764891d3f3e8b18dce2cff24949153ee30c9239da7c00f032511091ba688ff7" }, + { file = "jiter-0.9.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:387b22fbfd7a62418d5212b4638026d01723761c75c1c8232a8b8c37c2f1003b" }, + { file = "jiter-0.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d8da8629ccae3606c61d9184970423655fb4e33d03330bcdfe52d234d32f69" }, + { file = "jiter-0.9.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a1be73d8982bdc278b7b9377426a4b44ceb5c7952073dd7488e4ae96b88e1103" }, + { file = "jiter-0.9.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2228eaaaa111ec54b9e89f7481bffb3972e9059301a878d085b2b449fbbde635" }, + { file = "jiter-0.9.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:11509bfecbc319459647d4ac3fd391d26fdf530dad00c13c4dadabf5b81f01a4" }, + { file = "jiter-0.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f22238da568be8bbd8e0650e12feeb2cfea15eda4f9fc271d3b362a4fa0604d" }, + { file = "jiter-0.9.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:17f5d55eb856597607562257c8e36c42bc87f16bef52ef7129b7da11afc779f3" }, + { file = "jiter-0.9.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:6a99bed9fbb02f5bed416d137944419a69aa4c423e44189bc49718859ea83bc5" }, + { file = "jiter-0.9.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e057adb0cd1bd39606100be0eafe742de2de88c79df632955b9ab53a086b3c8d" }, + { file = "jiter-0.9.0-cp313-cp313-win32.whl", hash = "sha256:f7e6850991f3940f62d387ccfa54d1a92bd4bb9f89690b53aea36b4364bcab53" }, + { file = "jiter-0.9.0-cp313-cp313-win_amd64.whl", hash = "sha256:c8ae3bf27cd1ac5e6e8b7a27487bf3ab5f82318211ec2e1346a5b058756361f7" }, + { file = "jiter-0.9.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f0b2827fb88dda2cbecbbc3e596ef08d69bda06c6f57930aec8e79505dc17001" }, + { file = "jiter-0.9.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:062b756ceb1d40b0b28f326cba26cfd575a4918415b036464a52f08632731e5a" }, + { file = "jiter-0.9.0-cp313-cp313t-win_amd64.whl", hash = "sha256:6f7838bc467ab7e8ef9f387bd6de195c43bad82a569c1699cb822f6609dd4cdf" }, + { file = "jiter-0.9.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:4a2d16360d0642cd68236f931b85fe50288834c383492e4279d9f1792e309571" }, + { file = "jiter-0.9.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e84ed1c9c9ec10bbb8c37f450077cbe3c0d4e8c2b19f0a49a60ac7ace73c7452" }, + { file = "jiter-0.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f3c848209ccd1bfa344a1240763975ca917de753c7875c77ec3034f4151d06c" }, + { file = "jiter-0.9.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7825f46e50646bee937e0f849d14ef3a417910966136f59cd1eb848b8b5bb3e4" }, + { file = "jiter-0.9.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d82a811928b26d1a6311a886b2566f68ccf2b23cf3bfed042e18686f1f22c2d7" }, + { file = "jiter-0.9.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c058ecb51763a67f019ae423b1cbe3fa90f7ee6280c31a1baa6ccc0c0e2d06e" }, + { file = "jiter-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9897115ad716c48f0120c1f0c4efae348ec47037319a6c63b2d7838bb53aaef4" }, + { file = "jiter-0.9.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:351f4c90a24c4fb8c87c6a73af2944c440494ed2bea2094feecacb75c50398ae" }, + { file = "jiter-0.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d45807b0f236c485e1e525e2ce3a854807dfe28ccf0d013dd4a563395e28008a" }, + { file = "jiter-0.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:1537a890724ba00fdba21787010ac6f24dad47f763410e9e1093277913592784" }, + { file = "jiter-0.9.0-cp38-cp38-win32.whl", hash = "sha256:e3630ec20cbeaddd4b65513fa3857e1b7c4190d4481ef07fb63d0fad59033321" }, + { file = "jiter-0.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:2685f44bf80e95f8910553bf2d33b9c87bf25fceae6e9f0c1355f75d2922b0ee" }, + { file = "jiter-0.9.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9ef340fae98065071ccd5805fe81c99c8f80484e820e40043689cf97fb66b3e2" }, + { file = "jiter-0.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:efb767d92c63b2cd9ec9f24feeb48f49574a713870ec87e9ba0c2c6e9329c3e2" }, + { file = "jiter-0.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:113f30f87fb1f412510c6d7ed13e91422cfd329436364a690c34c8b8bd880c42" }, + { file = "jiter-0.9.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8793b6df019b988526f5a633fdc7456ea75e4a79bd8396a3373c371fc59f5c9b" }, + { file = "jiter-0.9.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7a9aaa5102dba4e079bb728076fadd5a2dca94c05c04ce68004cfd96f128ea34" }, + { file = "jiter-0.9.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d838650f6ebaf4ccadfb04522463e74a4c378d7e667e0eb1865cfe3990bfac49" }, + { file = "jiter-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0194f813efdf4b8865ad5f5c5f50f8566df7d770a82c51ef593d09e0b347020" }, + { file = "jiter-0.9.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a7954a401d0a8a0b8bc669199db78af435aae1e3569187c2939c477c53cb6a0a" }, + { file = "jiter-0.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4feafe787eb8a8d98168ab15637ca2577f6ddf77ac6c8c66242c2d028aa5420e" }, + { file = "jiter-0.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:27cd1f2e8bb377f31d3190b34e4328d280325ad7ef55c6ac9abde72f79e84d2e" }, + { file = "jiter-0.9.0-cp39-cp39-win32.whl", hash = "sha256:161d461dcbe658cf0bd0aa375b30a968b087cdddc624fc585f3867c63c6eca95" }, + { file = "jiter-0.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:e8b36d8a16a61993be33e75126ad3d8aa29cf450b09576f3c427d27647fcb4aa" }, + { file = "jiter-0.9.0.tar.gz", hash = "sha256:aadba0964deb424daa24492abc3d229c60c4a31bfee205aedbf1acc7639d7893" }, ] [[package]] @@ -1530,6 +1702,7 @@ version = "3.1.0" description = "Library with helpers for the jsonlines file format" optional = false python-versions = ">=3.6" +groups = ["main"] files = [ {file = "jsonlines-3.1.0-py3-none-any.whl", hash = "sha256:632f5e38f93dfcb1ac8c4e09780b92af3a55f38f26e7c47ae85109d420b6ad39"}, {file = "jsonlines-3.1.0.tar.gz", hash = "sha256:2579cb488d96f815b0eb81629e3e6b0332da0962a18fa3532958f7ba14a5c37f"}, @@ -1544,6 +1717,7 @@ version = "1.1.0" description = "jsonref is a library for automatic dereferencing of JSON Reference objects for Python." optional = false python-versions = ">=3.7" +groups = ["main"] files = [ {file = "jsonref-1.1.0-py3-none-any.whl", hash = "sha256:590dc7773df6c21cbf948b5dac07a72a251db28b0238ceecce0a2abfa8ec30a9"}, {file = "jsonref-1.1.0.tar.gz", hash = "sha256:32fe8e1d85af0fdefbebce950af85590b22b60f9e95443176adbde4e1ecea552"}, @@ -1555,6 +1729,7 @@ version = "4.23.0" description = "An implementation of JSON Schema validation for Python" optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, @@ -1576,6 +1751,7 @@ version = "2024.10.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" optional = false python-versions = ">=3.9" +groups = ["main"] files = [ {file = "jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf"}, {file = "jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272"}, @@ -1590,6 +1766,7 @@ version = "8.6.3" description = "Jupyter protocol implementation and client libraries" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f"}, {file = "jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419"}, @@ -1605,7 +1782,7 @@ traitlets = ">=5.3" [package.extras] docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] -test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] +test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko ; sys_platform == \"win32\"", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] [[package]] name = "jupyter-core" @@ -1613,6 +1790,7 @@ version = "5.7.2" description = "Jupyter core package. A base package on which Jupyter projects rely." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"}, {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"}, @@ -1633,6 +1811,7 @@ version = "25.6.0" description = "Store and access your passwords safely." optional = false python-versions = ">=3.9" +groups = ["dev"] files = [ {file = "keyring-25.6.0-py3-none-any.whl", hash = "sha256:552a3f7af126ece7ed5c89753650eec89c7eaae8617d0aa4d9ad2b75111266bd"}, {file = "keyring-25.6.0.tar.gz", hash = "sha256:0b39998aa941431eb3d9b0d4b2460bc773b9df6fed7621c2dfb291a7e0187a66"}, @@ -1648,7 +1827,7 @@ pywin32-ctypes = {version = ">=0.2.0", markers = "sys_platform == \"win32\""} SecretStorage = {version = ">=3.2", markers = "sys_platform == \"linux\""} [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] completion = ["shtab (>=1.1.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] @@ -1656,12 +1835,25 @@ enabler = ["pytest-enabler (>=2.2)"] test = ["pyfakefs", "pytest (>=6,!=8.1.*)"] type = ["pygobject-stubs", "pytest-mypy", "shtab", "types-pywin32"] +[[package]] +name = "latex2mathml" +version = "3.77.0" +description = "Pure Python library for LaTeX to MathML conversion" +optional = false +python-versions = ">=3.8.1,<4.0.0" +groups = ["main"] +files = [ + { file = "latex2mathml-3.77.0-py3-none-any.whl", hash = "sha256:5531e18a2a9eae7c24e257118b6a444cbba253cd27ff3e81f1bd6c41e88e786e" }, + { file = "latex2mathml-3.77.0.tar.gz", hash = "sha256:e2f501d1878f2e489c3f6f12786bef74c62f712d2770f7f3c837eb20a55d0a1e" }, +] + [[package]] name = "lazy-imports" version = "0.4.0" description = "Tool to support lazy imports" optional = false python-versions = ">=3.9" +groups = ["main"] files = [ {file = "lazy_imports-0.4.0-py3-none-any.whl", hash = "sha256:de0625cbbd781091c46a66003ec3953c87f0130e85a257cd1a24304237e4966b"}, {file = "lazy_imports-0.4.0.tar.gz", hash = "sha256:c3d9e4e295e6118588f58c6710d152bb2836e0276f790a120ee4ab608829cece"}, @@ -1678,6 +1870,7 @@ version = "0.4" description = "Makes it easy to load subpackages and functions on demand." optional = false python-versions = ">=3.7" +groups = ["main"] files = [ {file = "lazy_loader-0.4-py3-none-any.whl", hash = "sha256:342aa8e14d543a154047afb4ba8ef17f5563baad3fc610d7b15b213b0f119efc"}, {file = "lazy_loader-0.4.tar.gz", hash = "sha256:47c75182589b91a4e1a85a136c074285a5ad4d9f39c63e0d7fb76391c4574cd1"}, @@ -1693,157 +1886,158 @@ test = ["pytest (>=7.4)", "pytest-cov (>=4.1)"] [[package]] name = "lxml" -version = "5.3.0" +version = "5.3.2" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." optional = false python-versions = ">=3.6" -files = [ - {file = "lxml-5.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:dd36439be765e2dde7660212b5275641edbc813e7b24668831a5c8ac91180656"}, - {file = "lxml-5.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ae5fe5c4b525aa82b8076c1a59d642c17b6e8739ecf852522c6321852178119d"}, - {file = "lxml-5.3.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:501d0d7e26b4d261fca8132854d845e4988097611ba2531408ec91cf3fd9d20a"}, - {file = "lxml-5.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb66442c2546446944437df74379e9cf9e9db353e61301d1a0e26482f43f0dd8"}, - {file = "lxml-5.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e41506fec7a7f9405b14aa2d5c8abbb4dbbd09d88f9496958b6d00cb4d45330"}, - {file = "lxml-5.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f7d4a670107d75dfe5ad080bed6c341d18c4442f9378c9f58e5851e86eb79965"}, - {file = "lxml-5.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41ce1f1e2c7755abfc7e759dc34d7d05fd221723ff822947132dc934d122fe22"}, - {file = "lxml-5.3.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:44264ecae91b30e5633013fb66f6ddd05c006d3e0e884f75ce0b4755b3e3847b"}, - {file = "lxml-5.3.0-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:3c174dc350d3ec52deb77f2faf05c439331d6ed5e702fc247ccb4e6b62d884b7"}, - {file = "lxml-5.3.0-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:2dfab5fa6a28a0b60a20638dc48e6343c02ea9933e3279ccb132f555a62323d8"}, - {file = "lxml-5.3.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b1c8c20847b9f34e98080da785bb2336ea982e7f913eed5809e5a3c872900f32"}, - {file = "lxml-5.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2c86bf781b12ba417f64f3422cfc302523ac9cd1d8ae8c0f92a1c66e56ef2e86"}, - {file = "lxml-5.3.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:c162b216070f280fa7da844531169be0baf9ccb17263cf5a8bf876fcd3117fa5"}, - {file = "lxml-5.3.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:36aef61a1678cb778097b4a6eeae96a69875d51d1e8f4d4b491ab3cfb54b5a03"}, - {file = "lxml-5.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f65e5120863c2b266dbcc927b306c5b78e502c71edf3295dfcb9501ec96e5fc7"}, - {file = "lxml-5.3.0-cp310-cp310-win32.whl", hash = "sha256:ef0c1fe22171dd7c7c27147f2e9c3e86f8bdf473fed75f16b0c2e84a5030ce80"}, - {file = "lxml-5.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:052d99051e77a4f3e8482c65014cf6372e61b0a6f4fe9edb98503bb5364cfee3"}, - {file = "lxml-5.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:74bcb423462233bc5d6066e4e98b0264e7c1bed7541fff2f4e34fe6b21563c8b"}, - {file = "lxml-5.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a3d819eb6f9b8677f57f9664265d0a10dd6551d227afb4af2b9cd7bdc2ccbf18"}, - {file = "lxml-5.3.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b8f5db71b28b8c404956ddf79575ea77aa8b1538e8b2ef9ec877945b3f46442"}, - {file = "lxml-5.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c3406b63232fc7e9b8783ab0b765d7c59e7c59ff96759d8ef9632fca27c7ee4"}, - {file = "lxml-5.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ecdd78ab768f844c7a1d4a03595038c166b609f6395e25af9b0f3f26ae1230f"}, - {file = "lxml-5.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:168f2dfcfdedf611eb285efac1516c8454c8c99caf271dccda8943576b67552e"}, - {file = "lxml-5.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa617107a410245b8660028a7483b68e7914304a6d4882b5ff3d2d3eb5948d8c"}, - {file = "lxml-5.3.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:69959bd3167b993e6e710b99051265654133a98f20cec1d9b493b931942e9c16"}, - {file = "lxml-5.3.0-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:bd96517ef76c8654446fc3db9242d019a1bb5fe8b751ba414765d59f99210b79"}, - {file = "lxml-5.3.0-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:ab6dd83b970dc97c2d10bc71aa925b84788c7c05de30241b9e96f9b6d9ea3080"}, - {file = "lxml-5.3.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:eec1bb8cdbba2925bedc887bc0609a80e599c75b12d87ae42ac23fd199445654"}, - {file = "lxml-5.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6a7095eeec6f89111d03dabfe5883a1fd54da319c94e0fb104ee8f23616b572d"}, - {file = "lxml-5.3.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6f651ebd0b21ec65dfca93aa629610a0dbc13dbc13554f19b0113da2e61a4763"}, - {file = "lxml-5.3.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:f422a209d2455c56849442ae42f25dbaaba1c6c3f501d58761c619c7836642ec"}, - {file = "lxml-5.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:62f7fdb0d1ed2065451f086519865b4c90aa19aed51081979ecd05a21eb4d1be"}, - {file = "lxml-5.3.0-cp311-cp311-win32.whl", hash = "sha256:c6379f35350b655fd817cd0d6cbeef7f265f3ae5fedb1caae2eb442bbeae9ab9"}, - {file = "lxml-5.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:9c52100e2c2dbb0649b90467935c4b0de5528833c76a35ea1a2691ec9f1ee7a1"}, - {file = "lxml-5.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:e99f5507401436fdcc85036a2e7dc2e28d962550afe1cbfc07c40e454256a859"}, - {file = "lxml-5.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:384aacddf2e5813a36495233b64cb96b1949da72bef933918ba5c84e06af8f0e"}, - {file = "lxml-5.3.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:874a216bf6afaf97c263b56371434e47e2c652d215788396f60477540298218f"}, - {file = "lxml-5.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65ab5685d56914b9a2a34d67dd5488b83213d680b0c5d10b47f81da5a16b0b0e"}, - {file = "lxml-5.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aac0bbd3e8dd2d9c45ceb82249e8bdd3ac99131a32b4d35c8af3cc9db1657179"}, - {file = "lxml-5.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b369d3db3c22ed14c75ccd5af429086f166a19627e84a8fdade3f8f31426e52a"}, - {file = "lxml-5.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c24037349665434f375645fa9d1f5304800cec574d0310f618490c871fd902b3"}, - {file = "lxml-5.3.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:62d172f358f33a26d6b41b28c170c63886742f5b6772a42b59b4f0fa10526cb1"}, - {file = "lxml-5.3.0-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:c1f794c02903c2824fccce5b20c339a1a14b114e83b306ff11b597c5f71a1c8d"}, - {file = "lxml-5.3.0-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:5d6a6972b93c426ace71e0be9a6f4b2cfae9b1baed2eed2006076a746692288c"}, - {file = "lxml-5.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:3879cc6ce938ff4eb4900d901ed63555c778731a96365e53fadb36437a131a99"}, - {file = "lxml-5.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:74068c601baff6ff021c70f0935b0c7bc528baa8ea210c202e03757c68c5a4ff"}, - {file = "lxml-5.3.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:ecd4ad8453ac17bc7ba3868371bffb46f628161ad0eefbd0a855d2c8c32dd81a"}, - {file = "lxml-5.3.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:7e2f58095acc211eb9d8b5771bf04df9ff37d6b87618d1cbf85f92399c98dae8"}, - {file = "lxml-5.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e63601ad5cd8f860aa99d109889b5ac34de571c7ee902d6812d5d9ddcc77fa7d"}, - {file = "lxml-5.3.0-cp312-cp312-win32.whl", hash = "sha256:17e8d968d04a37c50ad9c456a286b525d78c4a1c15dd53aa46c1d8e06bf6fa30"}, - {file = "lxml-5.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:c1a69e58a6bb2de65902051d57fde951febad631a20a64572677a1052690482f"}, - {file = "lxml-5.3.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8c72e9563347c7395910de6a3100a4840a75a6f60e05af5e58566868d5eb2d6a"}, - {file = "lxml-5.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e92ce66cd919d18d14b3856906a61d3f6b6a8500e0794142338da644260595cd"}, - {file = "lxml-5.3.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d04f064bebdfef9240478f7a779e8c5dc32b8b7b0b2fc6a62e39b928d428e51"}, - {file = "lxml-5.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c2fb570d7823c2bbaf8b419ba6e5662137f8166e364a8b2b91051a1fb40ab8b"}, - {file = "lxml-5.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0c120f43553ec759f8de1fee2f4794452b0946773299d44c36bfe18e83caf002"}, - {file = "lxml-5.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:562e7494778a69086f0312ec9689f6b6ac1c6b65670ed7d0267e49f57ffa08c4"}, - {file = "lxml-5.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:423b121f7e6fa514ba0c7918e56955a1d4470ed35faa03e3d9f0e3baa4c7e492"}, - {file = "lxml-5.3.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:c00f323cc00576df6165cc9d21a4c21285fa6b9989c5c39830c3903dc4303ef3"}, - {file = "lxml-5.3.0-cp313-cp313-manylinux_2_28_ppc64le.whl", hash = "sha256:1fdc9fae8dd4c763e8a31e7630afef517eab9f5d5d31a278df087f307bf601f4"}, - {file = "lxml-5.3.0-cp313-cp313-manylinux_2_28_s390x.whl", hash = "sha256:658f2aa69d31e09699705949b5fc4719cbecbd4a97f9656a232e7d6c7be1a367"}, - {file = "lxml-5.3.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:1473427aff3d66a3fa2199004c3e601e6c4500ab86696edffdbc84954c72d832"}, - {file = "lxml-5.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a87de7dd873bf9a792bf1e58b1c3887b9264036629a5bf2d2e6579fe8e73edff"}, - {file = "lxml-5.3.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:0d7b36afa46c97875303a94e8f3ad932bf78bace9e18e603f2085b652422edcd"}, - {file = "lxml-5.3.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:cf120cce539453ae086eacc0130a324e7026113510efa83ab42ef3fcfccac7fb"}, - {file = "lxml-5.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:df5c7333167b9674aa8ae1d4008fa4bc17a313cc490b2cca27838bbdcc6bb15b"}, - {file = "lxml-5.3.0-cp313-cp313-win32.whl", hash = "sha256:c802e1c2ed9f0c06a65bc4ed0189d000ada8049312cfeab6ca635e39c9608957"}, - {file = "lxml-5.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:406246b96d552e0503e17a1006fd27edac678b3fcc9f1be71a2f94b4ff61528d"}, - {file = "lxml-5.3.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:8f0de2d390af441fe8b2c12626d103540b5d850d585b18fcada58d972b74a74e"}, - {file = "lxml-5.3.0-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1afe0a8c353746e610bd9031a630a95bcfb1a720684c3f2b36c4710a0a96528f"}, - {file = "lxml-5.3.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56b9861a71575f5795bde89256e7467ece3d339c9b43141dbdd54544566b3b94"}, - {file = "lxml-5.3.0-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:9fb81d2824dff4f2e297a276297e9031f46d2682cafc484f49de182aa5e5df99"}, - {file = "lxml-5.3.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2c226a06ecb8cdef28845ae976da407917542c5e6e75dcac7cc33eb04aaeb237"}, - {file = "lxml-5.3.0-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:7d3d1ca42870cdb6d0d29939630dbe48fa511c203724820fc0fd507b2fb46577"}, - {file = "lxml-5.3.0-cp36-cp36m-win32.whl", hash = "sha256:094cb601ba9f55296774c2d57ad68730daa0b13dc260e1f941b4d13678239e70"}, - {file = "lxml-5.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:eafa2c8658f4e560b098fe9fc54539f86528651f61849b22111a9b107d18910c"}, - {file = "lxml-5.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cb83f8a875b3d9b458cada4f880fa498646874ba4011dc974e071a0a84a1b033"}, - {file = "lxml-5.3.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:25f1b69d41656b05885aa185f5fdf822cb01a586d1b32739633679699f220391"}, - {file = "lxml-5.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23e0553b8055600b3bf4a00b255ec5c92e1e4aebf8c2c09334f8368e8bd174d6"}, - {file = "lxml-5.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ada35dd21dc6c039259596b358caab6b13f4db4d4a7f8665764d616daf9cc1d"}, - {file = "lxml-5.3.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:81b4e48da4c69313192d8c8d4311e5d818b8be1afe68ee20f6385d0e96fc9512"}, - {file = "lxml-5.3.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:2bc9fd5ca4729af796f9f59cd8ff160fe06a474da40aca03fcc79655ddee1a8b"}, - {file = "lxml-5.3.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:07da23d7ee08577760f0a71d67a861019103e4812c87e2fab26b039054594cc5"}, - {file = "lxml-5.3.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:ea2e2f6f801696ad7de8aec061044d6c8c0dd4037608c7cab38a9a4d316bfb11"}, - {file = "lxml-5.3.0-cp37-cp37m-win32.whl", hash = "sha256:5c54afdcbb0182d06836cc3d1be921e540be3ebdf8b8a51ee3ef987537455f84"}, - {file = "lxml-5.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:f2901429da1e645ce548bf9171784c0f74f0718c3f6150ce166be39e4dd66c3e"}, - {file = "lxml-5.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c56a1d43b2f9ee4786e4658c7903f05da35b923fb53c11025712562d5cc02753"}, - {file = "lxml-5.3.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ee8c39582d2652dcd516d1b879451500f8db3fe3607ce45d7c5957ab2596040"}, - {file = "lxml-5.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fdf3a3059611f7585a78ee10399a15566356116a4288380921a4b598d807a22"}, - {file = "lxml-5.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:146173654d79eb1fc97498b4280c1d3e1e5d58c398fa530905c9ea50ea849b22"}, - {file = "lxml-5.3.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:0a7056921edbdd7560746f4221dca89bb7a3fe457d3d74267995253f46343f15"}, - {file = "lxml-5.3.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:9e4b47ac0f5e749cfc618efdf4726269441014ae1d5583e047b452a32e221920"}, - {file = "lxml-5.3.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:f914c03e6a31deb632e2daa881fe198461f4d06e57ac3d0e05bbcab8eae01945"}, - {file = "lxml-5.3.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:213261f168c5e1d9b7535a67e68b1f59f92398dd17a56d934550837143f79c42"}, - {file = "lxml-5.3.0-cp38-cp38-win32.whl", hash = "sha256:218c1b2e17a710e363855594230f44060e2025b05c80d1f0661258142b2add2e"}, - {file = "lxml-5.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:315f9542011b2c4e1d280e4a20ddcca1761993dda3afc7a73b01235f8641e903"}, - {file = "lxml-5.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:1ffc23010330c2ab67fac02781df60998ca8fe759e8efde6f8b756a20599c5de"}, - {file = "lxml-5.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2b3778cb38212f52fac9fe913017deea2fdf4eb1a4f8e4cfc6b009a13a6d3fcc"}, - {file = "lxml-5.3.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b0c7a688944891086ba192e21c5229dea54382f4836a209ff8d0a660fac06be"}, - {file = "lxml-5.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:747a3d3e98e24597981ca0be0fd922aebd471fa99d0043a3842d00cdcad7ad6a"}, - {file = "lxml-5.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86a6b24b19eaebc448dc56b87c4865527855145d851f9fc3891673ff97950540"}, - {file = "lxml-5.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b11a5d918a6216e521c715b02749240fb07ae5a1fefd4b7bf12f833bc8b4fe70"}, - {file = "lxml-5.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68b87753c784d6acb8a25b05cb526c3406913c9d988d51f80adecc2b0775d6aa"}, - {file = "lxml-5.3.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:109fa6fede314cc50eed29e6e56c540075e63d922455346f11e4d7a036d2b8cf"}, - {file = "lxml-5.3.0-cp39-cp39-manylinux_2_28_ppc64le.whl", hash = "sha256:02ced472497b8362c8e902ade23e3300479f4f43e45f4105c85ef43b8db85229"}, - {file = "lxml-5.3.0-cp39-cp39-manylinux_2_28_s390x.whl", hash = "sha256:6b038cc86b285e4f9fea2ba5ee76e89f21ed1ea898e287dc277a25884f3a7dfe"}, - {file = "lxml-5.3.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:7437237c6a66b7ca341e868cda48be24b8701862757426852c9b3186de1da8a2"}, - {file = "lxml-5.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7f41026c1d64043a36fda21d64c5026762d53a77043e73e94b71f0521939cc71"}, - {file = "lxml-5.3.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:482c2f67761868f0108b1743098640fbb2a28a8e15bf3f47ada9fa59d9fe08c3"}, - {file = "lxml-5.3.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:1483fd3358963cc5c1c9b122c80606a3a79ee0875bcac0204149fa09d6ff2727"}, - {file = "lxml-5.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2dec2d1130a9cda5b904696cec33b2cfb451304ba9081eeda7f90f724097300a"}, - {file = "lxml-5.3.0-cp39-cp39-win32.whl", hash = "sha256:a0eabd0a81625049c5df745209dc7fcef6e2aea7793e5f003ba363610aa0a3ff"}, - {file = "lxml-5.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:89e043f1d9d341c52bf2af6d02e6adde62e0a46e6755d5eb60dc6e4f0b8aeca2"}, - {file = "lxml-5.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7b1cd427cb0d5f7393c31b7496419da594fe600e6fdc4b105a54f82405e6626c"}, - {file = "lxml-5.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51806cfe0279e06ed8500ce19479d757db42a30fd509940b1701be9c86a5ff9a"}, - {file = "lxml-5.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee70d08fd60c9565ba8190f41a46a54096afa0eeb8f76bd66f2c25d3b1b83005"}, - {file = "lxml-5.3.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:8dc2c0395bea8254d8daebc76dcf8eb3a95ec2a46fa6fae5eaccee366bfe02ce"}, - {file = "lxml-5.3.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6ba0d3dcac281aad8a0e5b14c7ed6f9fa89c8612b47939fc94f80b16e2e9bc83"}, - {file = "lxml-5.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:6e91cf736959057f7aac7adfc83481e03615a8e8dd5758aa1d95ea69e8931dba"}, - {file = "lxml-5.3.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:94d6c3782907b5e40e21cadf94b13b0842ac421192f26b84c45f13f3c9d5dc27"}, - {file = "lxml-5.3.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c300306673aa0f3ed5ed9372b21867690a17dba38c68c44b287437c362ce486b"}, - {file = "lxml-5.3.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78d9b952e07aed35fe2e1a7ad26e929595412db48535921c5013edc8aa4a35ce"}, - {file = "lxml-5.3.0-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:01220dca0d066d1349bd6a1726856a78f7929f3878f7e2ee83c296c69495309e"}, - {file = "lxml-5.3.0-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:2d9b8d9177afaef80c53c0a9e30fa252ff3036fb1c6494d427c066a4ce6a282f"}, - {file = "lxml-5.3.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:20094fc3f21ea0a8669dc4c61ed7fa8263bd37d97d93b90f28fc613371e7a875"}, - {file = "lxml-5.3.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ace2c2326a319a0bb8a8b0e5b570c764962e95818de9f259ce814ee666603f19"}, - {file = "lxml-5.3.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92e67a0be1639c251d21e35fe74df6bcc40cba445c2cda7c4a967656733249e2"}, - {file = "lxml-5.3.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd5350b55f9fecddc51385463a4f67a5da829bc741e38cf689f38ec9023f54ab"}, - {file = "lxml-5.3.0-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c1fefd7e3d00921c44dc9ca80a775af49698bbfd92ea84498e56acffd4c5469"}, - {file = "lxml-5.3.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:71a8dd38fbd2f2319136d4ae855a7078c69c9a38ae06e0c17c73fd70fc6caad8"}, - {file = "lxml-5.3.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:97acf1e1fd66ab53dacd2c35b319d7e548380c2e9e8c54525c6e76d21b1ae3b1"}, - {file = "lxml-5.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:68934b242c51eb02907c5b81d138cb977b2129a0a75a8f8b60b01cb8586c7b21"}, - {file = "lxml-5.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b710bc2b8292966b23a6a0121f7a6c51d45d2347edcc75f016ac123b8054d3f2"}, - {file = "lxml-5.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18feb4b93302091b1541221196a2155aa296c363fd233814fa11e181adebc52f"}, - {file = "lxml-5.3.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:3eb44520c4724c2e1a57c0af33a379eee41792595023f367ba3952a2d96c2aab"}, - {file = "lxml-5.3.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:609251a0ca4770e5a8768ff902aa02bf636339c5a93f9349b48eb1f606f7f3e9"}, - {file = "lxml-5.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:516f491c834eb320d6c843156440fe7fc0d50b33e44387fcec5b02f0bc118a4c"}, - {file = "lxml-5.3.0.tar.gz", hash = "sha256:4e109ca30d1edec1ac60cdbe341905dc3b8f55b16855e03a54aaf59e51ec8c6f"}, +groups = ["main"] +files = [ + { file = "lxml-5.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c4b84d6b580a9625dfa47269bf1fd7fbba7ad69e08b16366a46acb005959c395" }, + { file = "lxml-5.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b4c08ecb26e4270a62f81f81899dfff91623d349e433b126931c9c4577169666" }, + { file = "lxml-5.3.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef926e9f11e307b5a7c97b17c5c609a93fb59ffa8337afac8f89e6fe54eb0b37" }, + { file = "lxml-5.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:017ceeabe739100379fe6ed38b033cd244ce2da4e7f6f07903421f57da3a19a2" }, + { file = "lxml-5.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dae97d9435dc90590f119d056d233c33006b2fd235dd990d5564992261ee7ae8" }, + { file = "lxml-5.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:910f39425c6798ce63c93976ae5af5fff6949e2cb446acbd44d6d892103eaea8" }, + { file = "lxml-5.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9780de781a0d62a7c3680d07963db3048b919fc9e3726d9cfd97296a65ffce1" }, + { file = "lxml-5.3.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:1a06b0c6ba2e3ca45a009a78a4eb4d6b63831830c0a83dcdc495c13b9ca97d3e" }, + { file = "lxml-5.3.2-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:4c62d0a34d1110769a1bbaf77871a4b711a6f59c4846064ccb78bc9735978644" }, + { file = "lxml-5.3.2-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:8f961a4e82f411b14538fe5efc3e6b953e17f5e809c463f0756a0d0e8039b700" }, + { file = "lxml-5.3.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:3dfc78f5f9251b6b8ad37c47d4d0bfe63ceb073a916e5b50a3bf5fd67a703335" }, + { file = "lxml-5.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:10e690bc03214d3537270c88e492b8612d5e41b884f232df2b069b25b09e6711" }, + { file = "lxml-5.3.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:aa837e6ee9534de8d63bc4c1249e83882a7ac22bd24523f83fad68e6ffdf41ae" }, + { file = "lxml-5.3.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:da4c9223319400b97a2acdfb10926b807e51b69eb7eb80aad4942c0516934858" }, + { file = "lxml-5.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dc0e9bdb3aa4d1de703a437576007d366b54f52c9897cae1a3716bb44fc1fc85" }, + { file = "lxml-5.3.2-cp310-cp310-win32.whl", hash = "sha256:5f94909a1022c8ea12711db7e08752ca7cf83e5b57a87b59e8a583c5f35016ad" }, + { file = "lxml-5.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:d64ea1686474074b38da13ae218d9fde0d1dc6525266976808f41ac98d9d7980" }, + { file = "lxml-5.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9d61a7d0d208ace43986a92b111e035881c4ed45b1f5b7a270070acae8b0bfb4" }, + { file = "lxml-5.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:856dfd7eda0b75c29ac80a31a6411ca12209183e866c33faf46e77ace3ce8a79" }, + { file = "lxml-5.3.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a01679e4aad0727bedd4c9407d4d65978e920f0200107ceeffd4b019bd48529" }, + { file = "lxml-5.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6b37b4c3acb8472d191816d4582379f64d81cecbdce1a668601745c963ca5cc" }, + { file = "lxml-5.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3df5a54e7b7c31755383f126d3a84e12a4e0333db4679462ef1165d702517477" }, + { file = "lxml-5.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c09a40f28dcded933dc16217d6a092be0cc49ae25811d3b8e937c8060647c353" }, + { file = "lxml-5.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1ef20f1851ccfbe6c5a04c67ec1ce49da16ba993fdbabdce87a92926e505412" }, + { file = "lxml-5.3.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:f79a63289dbaba964eb29ed3c103b7911f2dce28c36fe87c36a114e6bd21d7ad" }, + { file = "lxml-5.3.2-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:75a72697d95f27ae00e75086aed629f117e816387b74a2f2da6ef382b460b710" }, + { file = "lxml-5.3.2-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:b9b00c9ee1cc3a76f1f16e94a23c344e0b6e5c10bec7f94cf2d820ce303b8c01" }, + { file = "lxml-5.3.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:77cbcab50cbe8c857c6ba5f37f9a3976499c60eada1bf6d38f88311373d7b4bc" }, + { file = "lxml-5.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:29424058f072a24622a0a15357bca63d796954758248a72da6d512f9bd9a4493" }, + { file = "lxml-5.3.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7d82737a8afe69a7c80ef31d7626075cc7d6e2267f16bf68af2c764b45ed68ab" }, + { file = "lxml-5.3.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:95473d1d50a5d9fcdb9321fdc0ca6e1edc164dce4c7da13616247d27f3d21e31" }, + { file = "lxml-5.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2162068f6da83613f8b2a32ca105e37a564afd0d7009b0b25834d47693ce3538" }, + { file = "lxml-5.3.2-cp311-cp311-win32.whl", hash = "sha256:f8695752cf5d639b4e981afe6c99e060621362c416058effd5c704bede9cb5d1" }, + { file = "lxml-5.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:d1a94cbb4ee64af3ab386c2d63d6d9e9cf2e256ac0fd30f33ef0a3c88f575174" }, + { file = "lxml-5.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:16b3897691ec0316a1aa3c6585f61c8b7978475587c5b16fc1d2c28d283dc1b0" }, + { file = "lxml-5.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a8d4b34a0eeaf6e73169dcfd653c8d47f25f09d806c010daf074fba2db5e2d3f" }, + { file = "lxml-5.3.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9cd7a959396da425022e1e4214895b5cfe7de7035a043bcc2d11303792b67554" }, + { file = "lxml-5.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cac5eaeec3549c5df7f8f97a5a6db6963b91639389cdd735d5a806370847732b" }, + { file = "lxml-5.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29b5f7d77334877c2146e7bb8b94e4df980325fab0a8af4d524e5d43cd6f789d" }, + { file = "lxml-5.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13f3495cfec24e3d63fffd342cc8141355d1d26ee766ad388775f5c8c5ec3932" }, + { file = "lxml-5.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e70ad4c9658beeff99856926fd3ee5fde8b519b92c693f856007177c36eb2e30" }, + { file = "lxml-5.3.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:507085365783abd7879fa0a6fa55eddf4bdd06591b17a2418403bb3aff8a267d" }, + { file = "lxml-5.3.2-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:5bb304f67cbf5dfa07edad904732782cbf693286b9cd85af27059c5779131050" }, + { file = "lxml-5.3.2-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:3d84f5c093645c21c29a4e972b84cb7cf682f707f8706484a5a0c7ff13d7a988" }, + { file = "lxml-5.3.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:bdc13911db524bd63f37b0103af014b7161427ada41f1b0b3c9b5b5a9c1ca927" }, + { file = "lxml-5.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1ec944539543f66ebc060ae180d47e86aca0188bda9cbfadff47d86b0dc057dc" }, + { file = "lxml-5.3.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:59d437cc8a7f838282df5a199cf26f97ef08f1c0fbec6e84bd6f5cc2b7913f6e" }, + { file = "lxml-5.3.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e275961adbd32e15672e14e0cc976a982075208224ce06d149c92cb43db5b93" }, + { file = "lxml-5.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:038aeb6937aa404480c2966b7f26f1440a14005cb0702078c173c028eca72c31" }, + { file = "lxml-5.3.2-cp312-cp312-win32.whl", hash = "sha256:3c2c8d0fa3277147bff180e3590be67597e17d365ce94beb2efa3138a2131f71" }, + { file = "lxml-5.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:77809fcd97dfda3f399102db1794f7280737b69830cd5c961ac87b3c5c05662d" }, + { file = "lxml-5.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:77626571fb5270ceb36134765f25b665b896243529eefe840974269b083e090d" }, + { file = "lxml-5.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:78a533375dc7aa16d0da44af3cf6e96035e484c8c6b2b2445541a5d4d3d289ee" }, + { file = "lxml-5.3.2-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a6f62b2404b3f3f0744bbcabb0381c5fe186fa2a9a67ecca3603480f4846c585" }, + { file = "lxml-5.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ea918da00091194526d40c30c4996971f09dacab032607581f8d8872db34fbf" }, + { file = "lxml-5.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c35326f94702a7264aa0eea826a79547d3396a41ae87a70511b9f6e9667ad31c" }, + { file = "lxml-5.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3bef90af21d31c4544bc917f51e04f94ae11b43156356aff243cdd84802cbf2" }, + { file = "lxml-5.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52fa7ba11a495b7cbce51573c73f638f1dcff7b3ee23697467dc063f75352a69" }, + { file = "lxml-5.3.2-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:ad131e2c4d2c3803e736bb69063382334e03648de2a6b8f56a878d700d4b557d" }, + { file = "lxml-5.3.2-cp313-cp313-manylinux_2_28_ppc64le.whl", hash = "sha256:00a4463ca409ceacd20490a893a7e08deec7870840eff33dc3093067b559ce3e" }, + { file = "lxml-5.3.2-cp313-cp313-manylinux_2_28_s390x.whl", hash = "sha256:87e8d78205331cace2b73ac8249294c24ae3cba98220687b5b8ec5971a2267f1" }, + { file = "lxml-5.3.2-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bf6389133bb255e530a4f2f553f41c4dd795b1fbb6f797aea1eff308f1e11606" }, + { file = "lxml-5.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b3709fc752b42fb6b6ffa2ba0a5b9871646d97d011d8f08f4d5b3ee61c7f3b2b" }, + { file = "lxml-5.3.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:abc795703d0de5d83943a4badd770fbe3d1ca16ee4ff3783d7caffc252f309ae" }, + { file = "lxml-5.3.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:98050830bb6510159f65d9ad1b8aca27f07c01bb3884ba95f17319ccedc4bcf9" }, + { file = "lxml-5.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6ba465a91acc419c5682f8b06bcc84a424a7aa5c91c220241c6fd31de2a72bc6" }, + { file = "lxml-5.3.2-cp313-cp313-win32.whl", hash = "sha256:56a1d56d60ea1ec940f949d7a309e0bff05243f9bd337f585721605670abb1c1" }, + { file = "lxml-5.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:1a580dc232c33d2ad87d02c8a3069d47abbcdce974b9c9cc82a79ff603065dbe" }, + { file = "lxml-5.3.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:1a59f7fe888d0ec1916d0ad69364c5400cfa2f885ae0576d909f342e94d26bc9" }, + { file = "lxml-5.3.2-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d67b50abc2df68502a26ed2ccea60c1a7054c289fb7fc31c12e5e55e4eec66bd" }, + { file = "lxml-5.3.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2cb08d2cb047c98d6fbbb2e77d6edd132ad6e3fa5aa826ffa9ea0c9b1bc74a84" }, + { file = "lxml-5.3.2-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:495ddb7e10911fb4d673d8aa8edd98d1eadafb3b56e8c1b5f427fd33cadc455b" }, + { file = "lxml-5.3.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:884d9308ac7d581b705a3371185282e1b8eebefd68ccf288e00a2d47f077cc51" }, + { file = "lxml-5.3.2-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:37f3d7cf7f2dd2520df6cc8a13df4c3e3f913c8e0a1f9a875e44f9e5f98d7fee" }, + { file = "lxml-5.3.2-cp36-cp36m-win32.whl", hash = "sha256:e885a1bf98a76dff0a0648850c3083b99d9358ef91ba8fa307c681e8e0732503" }, + { file = "lxml-5.3.2-cp36-cp36m-win_amd64.whl", hash = "sha256:b45f505d0d85f4cdd440cd7500689b8e95110371eaa09da0c0b1103e9a05030f" }, + { file = "lxml-5.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b53cd668facd60b4f0dfcf092e01bbfefd88271b5b4e7b08eca3184dd006cb30" }, + { file = "lxml-5.3.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5dea998c891f082fe204dec6565dbc2f9304478f2fc97bd4d7a940fec16c873" }, + { file = "lxml-5.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d46bc3e58b01e4f38d75e0d7f745a46875b7a282df145aca9d1479c65ff11561" }, + { file = "lxml-5.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:661feadde89159fd5f7d7639a81ccae36eec46974c4a4d5ccce533e2488949c8" }, + { file = "lxml-5.3.2-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:43af2a69af2cacc2039024da08a90174e85f3af53483e6b2e3485ced1bf37151" }, + { file = "lxml-5.3.2-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:1539f962d82436f3d386eb9f29b2a29bb42b80199c74a695dff51b367a61ec0a" }, + { file = "lxml-5.3.2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:6673920bf976421b5fac4f29b937702eef4555ee42329546a5fc68bae6178a48" }, + { file = "lxml-5.3.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:9fa722a9cd8845594593cce399a49aa6bfc13b6c83a7ee05e2ab346d9253d52f" }, + { file = "lxml-5.3.2-cp37-cp37m-win32.whl", hash = "sha256:2eadd4efa487f4710755415aed3d6ae9ac8b4327ea45226ffccb239766c8c610" }, + { file = "lxml-5.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:83d8707b1b08cd02c04d3056230ec3b771b18c566ec35e723e60cdf037064e08" }, + { file = "lxml-5.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bc6e8678bfa5ccba370103976ccfcf776c85c83da9220ead41ea6fd15d2277b4" }, + { file = "lxml-5.3.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0bed509662f67f719119ad56006cd4a38efa68cfa74383060612044915e5f7ad" }, + { file = "lxml-5.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e3925975fadd6fd72a6d80541a6ec75dfbad54044a03aa37282dafcb80fbdfa" }, + { file = "lxml-5.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83c0462dedc5213ac586164c6d7227da9d4d578cf45dd7fbab2ac49b63a008eb" }, + { file = "lxml-5.3.2-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:53e3f9ca72858834688afa17278649d62aa768a4b2018344be00c399c4d29e95" }, + { file = "lxml-5.3.2-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:32ba634ef3f1b20f781019a91d78599224dc45745dd572f951adbf1c0c9b0d75" }, + { file = "lxml-5.3.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:1b16504c53f41da5fcf04868a80ac40a39d3eec5329caf761114caec6e844ad1" }, + { file = "lxml-5.3.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:1f9682786138549da44ca4c49b20e7144d063b75f2b2ba611f4cff9b83db1062" }, + { file = "lxml-5.3.2-cp38-cp38-win32.whl", hash = "sha256:d8f74ef8aacdf6ee5c07566a597634bb8535f6b53dc89790db43412498cf6026" }, + { file = "lxml-5.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:49f1cee0fa27e1ee02589c696a9bdf4027e7427f184fa98e6bef0c6613f6f0fa" }, + { file = "lxml-5.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:741c126bcf9aa939e950e64e5e0a89c8e01eda7a5f5ffdfc67073f2ed849caea" }, + { file = "lxml-5.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ab6e9e6aca1fd7d725ffa132286e70dee5b9a4561c5ed291e836440b82888f89" }, + { file = "lxml-5.3.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58e8c9b9ed3c15c2d96943c14efc324b69be6352fe5585733a7db2bf94d97841" }, + { file = "lxml-5.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7811828ddfb8c23f4f1fbf35e7a7b2edec2f2e4c793dee7c52014f28c4b35238" }, + { file = "lxml-5.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:72968623efb1e12e950cbdcd1d0f28eb14c8535bf4be153f1bfffa818b1cf189" }, + { file = "lxml-5.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ebfceaa2ea588b54efb6160e3520983663d45aed8a3895bb2031ada080fb5f04" }, + { file = "lxml-5.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d685d458505b2bfd2e28c812749fe9194a2b0ce285a83537e4309a187ffa270b" }, + { file = "lxml-5.3.2-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:334e0e414dab1f5366ead8ca34ec3148415f236d5660e175f1d640b11d645847" }, + { file = "lxml-5.3.2-cp39-cp39-manylinux_2_28_ppc64le.whl", hash = "sha256:02e56f7de72fa82561eae69628a7d6febd7891d72248c7ff7d3e7814d4031017" }, + { file = "lxml-5.3.2-cp39-cp39-manylinux_2_28_s390x.whl", hash = "sha256:638d06b4e1d34d1a074fa87deed5fb55c18485fa0dab97abc5604aad84c12031" }, + { file = "lxml-5.3.2-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:354dab7206d22d7a796fa27c4c5bffddd2393da2ad61835355a4759d435beb47" }, + { file = "lxml-5.3.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d9d9f82ff2c3bf9bb777cb355149f7f3a98ec58f16b7428369dc27ea89556a4c" }, + { file = "lxml-5.3.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:95ad58340e3b7d2b828efc370d1791856613c5cb62ae267158d96e47b3c978c9" }, + { file = "lxml-5.3.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:30fe05f4b7f6e9eb32862745512e7cbd021070ad0f289a7f48d14a0d3fc1d8a9" }, + { file = "lxml-5.3.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:34c688fef86f73dbca0798e0a61bada114677006afa524a8ce97d9e5fabf42e6" }, + { file = "lxml-5.3.2-cp39-cp39-win32.whl", hash = "sha256:4d6d3d1436d57f41984920667ec5ef04bcb158f80df89ac4d0d3f775a2ac0c87" }, + { file = "lxml-5.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:2996e1116bbb3ae2a1fbb2ba4da8f92742290b4011e7e5bce2bd33bbc9d9485a" }, + { file = "lxml-5.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:521ab9c80b98c30b2d987001c3ede2e647e92eeb2ca02e8cb66ef5122d792b24" }, + { file = "lxml-5.3.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f1231b0f9810289d41df1eacc4ebb859c63e4ceee29908a0217403cddce38d0" }, + { file = "lxml-5.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271f1a4d5d2b383c36ad8b9b489da5ea9c04eca795a215bae61ed6a57cf083cd" }, + { file = "lxml-5.3.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:6fca8a5a13906ba2677a5252752832beb0f483a22f6c86c71a2bb320fba04f61" }, + { file = "lxml-5.3.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ea0c3b7922209160faef194a5b6995bfe7fa05ff7dda6c423ba17646b7b9de10" }, + { file = "lxml-5.3.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0a006390834603e5952a2ff74b9a31a6007c7cc74282a087aa6467afb4eea987" }, + { file = "lxml-5.3.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:eae4136a3b8c4cf76f69461fc8f9410d55d34ea48e1185338848a888d71b9675" }, + { file = "lxml-5.3.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d48e06be8d8c58e7feaedd8a37897a6122637efb1637d7ce00ddf5f11f9a92ad" }, + { file = "lxml-5.3.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4b83aed409134093d90e114007034d2c1ebcd92e501b71fd9ec70e612c8b2eb" }, + { file = "lxml-5.3.2-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7a0e77edfe26d3703f954d46bed52c3ec55f58586f18f4b7f581fc56954f1d84" }, + { file = "lxml-5.3.2-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:19f6fcfd15b82036b4d235749d78785eb9c991c7812012dc084e0d8853b4c1c0" }, + { file = "lxml-5.3.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:d49919c95d31ee06eefd43d8c6f69a3cc9bdf0a9b979cc234c4071f0eb5cb173" }, + { file = "lxml-5.3.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2d0a60841410123c533990f392819804a8448853f06daf412c0f383443925e89" }, + { file = "lxml-5.3.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b7f729e03090eb4e3981f10efaee35e6004b548636b1a062b8b9a525e752abc" }, + { file = "lxml-5.3.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:579df6e20d8acce3bcbc9fb8389e6ae00c19562e929753f534ba4c29cfe0be4b" }, + { file = "lxml-5.3.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2abcf3f3b8367d6400b908d00d4cd279fc0b8efa287e9043820525762d383699" }, + { file = "lxml-5.3.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:348c06cb2e3176ce98bee8c397ecc89181681afd13d85870df46167f140a305f" }, + { file = "lxml-5.3.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:617ecaccd565cbf1ac82ffcaa410e7da5bd3a4b892bb3543fb2fe19bd1c4467d" }, + { file = "lxml-5.3.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c3eb4278dcdb9d86265ed2c20b9ecac45f2d6072e3904542e591e382c87a9c00" }, + { file = "lxml-5.3.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258b6b53458c5cbd2a88795557ff7e0db99f73a96601b70bc039114cd4ee9e02" }, + { file = "lxml-5.3.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0a9d8d25ed2f2183e8471c97d512a31153e123ac5807f61396158ef2793cb6e" }, + { file = "lxml-5.3.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:73bcb635a848c18a3e422ea0ab0092f2e4ef3b02d8ebe87ab49748ebc8ec03d8" }, + { file = "lxml-5.3.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1545de0a69a16ced5767bae8cca1801b842e6e49e96f5e4a8a5acbef023d970b" }, + { file = "lxml-5.3.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:165fcdc2f40fc0fe88a3c3c06c9c2a097388a90bda6a16e6f7c9199c903c9b8e" }, + { file = "lxml-5.3.2.tar.gz", hash = "sha256:773947d0ed809ddad824b7b14467e1a481b8976e87278ac4a730c2f7c7fcddc1" }, ] [package.extras] cssselect = ["cssselect (>=0.7)"] -html-clean = ["lxml-html-clean"] +html-clean = ["lxml_html_clean"] html5 = ["html5lib"] htmlsoup = ["BeautifulSoup4"] -source = ["Cython (>=3.0.11)"] +source = ["Cython (>=3.0.11,<3.1.0)"] [[package]] name = "markdown-it-py" @@ -1851,6 +2045,7 @@ version = "3.0.0" description = "Python port of markdown-it. Markdown parsing, done right!" optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, @@ -1871,13 +2066,14 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] [[package]] name = "marko" -version = "2.1.2" +version = "2.1.3" description = "A markdown parser with high extensibility." optional = false python-versions = ">=3.8" +groups = ["main"] files = [ - {file = "marko-2.1.2-py3-none-any.whl", hash = "sha256:c14aa7a77468aaaf53cf056dcd3d32398b9df4c3fb81f5e120dd37cbb9f8c859"}, - {file = "marko-2.1.2.tar.gz", hash = "sha256:a9170006b879376e6845c91b1ae3dce2992772954b99b70175ff888537186011"}, + { file = "marko-2.1.3-py3-none-any.whl", hash = "sha256:b4125d44b94606d6f13ddc77fef8cc4c87f70d54bc7d52d6547958b9f998a9d5" }, + { file = "marko-2.1.3.tar.gz", hash = "sha256:31aacb14867328f054cc39f884212907822a43d6a30cd75b0767e001a5e2f9fc" }, ] [package.extras] @@ -1891,6 +2087,7 @@ version = "3.0.2" description = "Safely add untrusted strings to HTML/XML markup." optional = false python-versions = ">=3.9" +groups = ["main"] files = [ {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, @@ -1961,6 +2158,7 @@ version = "0.1.7" description = "Inline Matplotlib backend for Jupyter" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"}, {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"}, @@ -1975,6 +2173,7 @@ version = "0.7.0" description = "McCabe checker, plugin for flake8" optional = false python-versions = ">=3.6" +groups = ["dev"] files = [ {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, @@ -1986,6 +2185,7 @@ version = "0.1.2" description = "Markdown URL utilities" optional = false python-versions = ">=3.7" +groups = ["main"] files = [ {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, @@ -1997,6 +2197,7 @@ version = "1.6" description = "An implementation of time.monotonic() for Python 2 & < 3.3" optional = false python-versions = "*" +groups = ["main"] files = [ {file = "monotonic-1.6-py2.py3-none-any.whl", hash = "sha256:68687e19a14f11f26d140dd5c86f3dba4bf5df58003000ed467e0e2a69bca96c"}, {file = "monotonic-1.6.tar.gz", hash = "sha256:3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7"}, @@ -2004,13 +2205,14 @@ files = [ [[package]] name = "more-itertools" -version = "10.5.0" +version = "10.6.0" description = "More routines for operating on iterables, beyond itertools" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["main", "dev"] files = [ - {file = "more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6"}, - {file = "more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef"}, + { file = "more-itertools-10.6.0.tar.gz", hash = "sha256:2cd7fad1009c31cc9fb6a035108509e6547547a7a738374f10bd49a09eb3ee3b" }, + { file = "more_itertools-10.6.0-py3-none-any.whl", hash = "sha256:6eb054cb4b6db1473f6e15fcc676a08e4732548acd47c708f0e179c2c7c01e89" }, ] [[package]] @@ -2019,6 +2221,7 @@ version = "2.10.2" description = "A Python package for easy multiprocessing, but faster than multiprocessing" optional = false python-versions = "*" +groups = ["main"] files = [ {file = "mpire-2.10.2-py3-none-any.whl", hash = "sha256:d627707f7a8d02aa4c7f7d59de399dec5290945ddf7fbd36cbb1d6ebb37a51fb"}, {file = "mpire-2.10.2.tar.gz", hash = "sha256:f66a321e93fadff34585a4bfa05e95bd946cf714b442f51c529038eb45773d97"}, @@ -2035,9 +2238,9 @@ tqdm = ">=4.27" [package.extras] dashboard = ["flask"] -dill = ["multiprocess", "multiprocess (>=0.70.15)"] +dill = ["multiprocess (>=0.70.15) ; python_version >= \"3.11\"", "multiprocess ; python_version < \"3.11\""] docs = ["docutils (==0.17.1)", "sphinx (==3.2.1)", "sphinx-autodoc-typehints (==1.11.0)", "sphinx-rtd-theme (==0.5.0)", "sphinx-versions (==1.0.1)", "sphinxcontrib-images (==0.9.2)"] -testing = ["ipywidgets", "multiprocess", "multiprocess (>=0.70.15)", "numpy", "pywin32 (>=301)", "rich"] +testing = ["ipywidgets", "multiprocess (>=0.70.15) ; python_version >= \"3.11\"", "multiprocess ; python_version < \"3.11\"", "numpy", "pywin32 (>=301) ; platform_system == \"Windows\"", "rich"] [[package]] name = "mpmath" @@ -2045,6 +2248,7 @@ version = "1.3.0" description = "Python library for arbitrary-precision floating-point arithmetic" optional = false python-versions = "*" +groups = ["main"] files = [ {file = "mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"}, {file = "mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f"}, @@ -2053,7 +2257,7 @@ files = [ [package.extras] develop = ["codecov", "pycodestyle", "pytest (>=4.6)", "pytest-cov", "wheel"] docs = ["sphinx"] -gmpy = ["gmpy2 (>=2.1.0a4)"] +gmpy = ["gmpy2 (>=2.1.0a4) ; platform_python_implementation != \"PyPy\""] tests = ["pytest (>=4.6)"] [[package]] @@ -2062,6 +2266,7 @@ version = "0.70.17" description = "better multiprocessing and multithreading in Python" optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "multiprocess-0.70.17-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7ddb24e5bcdb64e90ec5543a1f05a39463068b6d3b804aa3f2a4e16ec28562d6"}, {file = "multiprocess-0.70.17-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d729f55198a3579f6879766a6d9b72b42d4b320c0dcb7844afb774d75b573c62"}, @@ -2086,49 +2291,44 @@ dill = ">=0.3.9" [[package]] name = "mypy" -version = "1.14.1" +version = "1.15.0" description = "Optional static typing for Python" optional = false -python-versions = ">=3.8" -files = [ - {file = "mypy-1.14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:52686e37cf13d559f668aa398dd7ddf1f92c5d613e4f8cb262be2fb4fedb0fcb"}, - {file = "mypy-1.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1fb545ca340537d4b45d3eecdb3def05e913299ca72c290326be19b3804b39c0"}, - {file = "mypy-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90716d8b2d1f4cd503309788e51366f07c56635a3309b0f6a32547eaaa36a64d"}, - {file = "mypy-1.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ae753f5c9fef278bcf12e1a564351764f2a6da579d4a81347e1d5a15819997b"}, - {file = "mypy-1.14.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e0fe0f5feaafcb04505bcf439e991c6d8f1bf8b15f12b05feeed96e9e7bf1427"}, - {file = "mypy-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:7d54bd85b925e501c555a3227f3ec0cfc54ee8b6930bd6141ec872d1c572f81f"}, - {file = "mypy-1.14.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f995e511de847791c3b11ed90084a7a0aafdc074ab88c5a9711622fe4751138c"}, - {file = "mypy-1.14.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d64169ec3b8461311f8ce2fd2eb5d33e2d0f2c7b49116259c51d0d96edee48d1"}, - {file = "mypy-1.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba24549de7b89b6381b91fbc068d798192b1b5201987070319889e93038967a8"}, - {file = "mypy-1.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:183cf0a45457d28ff9d758730cd0210419ac27d4d3f285beda038c9083363b1f"}, - {file = "mypy-1.14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f2a0ecc86378f45347f586e4163d1769dd81c5a223d577fe351f26b179e148b1"}, - {file = "mypy-1.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:ad3301ebebec9e8ee7135d8e3109ca76c23752bac1e717bc84cd3836b4bf3eae"}, - {file = "mypy-1.14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:30ff5ef8519bbc2e18b3b54521ec319513a26f1bba19a7582e7b1f58a6e69f14"}, - {file = "mypy-1.14.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cb9f255c18052343c70234907e2e532bc7e55a62565d64536dbc7706a20b78b9"}, - {file = "mypy-1.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8b4e3413e0bddea671012b063e27591b953d653209e7a4fa5e48759cda77ca11"}, - {file = "mypy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:553c293b1fbdebb6c3c4030589dab9fafb6dfa768995a453d8a5d3b23784af2e"}, - {file = "mypy-1.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fad79bfe3b65fe6a1efaed97b445c3d37f7be9fdc348bdb2d7cac75579607c89"}, - {file = "mypy-1.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:8fa2220e54d2946e94ab6dbb3ba0a992795bd68b16dc852db33028df2b00191b"}, - {file = "mypy-1.14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:92c3ed5afb06c3a8e188cb5da4984cab9ec9a77ba956ee419c68a388b4595255"}, - {file = "mypy-1.14.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:dbec574648b3e25f43d23577309b16534431db4ddc09fda50841f1e34e64ed34"}, - {file = "mypy-1.14.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8c6d94b16d62eb3e947281aa7347d78236688e21081f11de976376cf010eb31a"}, - {file = "mypy-1.14.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d4b19b03fdf54f3c5b2fa474c56b4c13c9dbfb9a2db4370ede7ec11a2c5927d9"}, - {file = "mypy-1.14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0c911fde686394753fff899c409fd4e16e9b294c24bfd5e1ea4675deae1ac6fd"}, - {file = "mypy-1.14.1-cp313-cp313-win_amd64.whl", hash = "sha256:8b21525cb51671219f5307be85f7e646a153e5acc656e5cebf64bfa076c50107"}, - {file = "mypy-1.14.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7084fb8f1128c76cd9cf68fe5971b37072598e7c31b2f9f95586b65c741a9d31"}, - {file = "mypy-1.14.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8f845a00b4f420f693f870eaee5f3e2692fa84cc8514496114649cfa8fd5e2c6"}, - {file = "mypy-1.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:44bf464499f0e3a2d14d58b54674dee25c031703b2ffc35064bd0df2e0fac319"}, - {file = "mypy-1.14.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c99f27732c0b7dc847adb21c9d47ce57eb48fa33a17bc6d7d5c5e9f9e7ae5bac"}, - {file = "mypy-1.14.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:bce23c7377b43602baa0bd22ea3265c49b9ff0b76eb315d6c34721af4cdf1d9b"}, - {file = "mypy-1.14.1-cp38-cp38-win_amd64.whl", hash = "sha256:8edc07eeade7ebc771ff9cf6b211b9a7d93687ff892150cb5692e4f4272b0837"}, - {file = "mypy-1.14.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3888a1816d69f7ab92092f785a462944b3ca16d7c470d564165fe703b0970c35"}, - {file = "mypy-1.14.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:46c756a444117c43ee984bd055db99e498bc613a70bbbc120272bd13ca579fbc"}, - {file = "mypy-1.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:27fc248022907e72abfd8e22ab1f10e903915ff69961174784a3900a8cba9ad9"}, - {file = "mypy-1.14.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:499d6a72fb7e5de92218db961f1a66d5f11783f9ae549d214617edab5d4dbdbb"}, - {file = "mypy-1.14.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:57961db9795eb566dc1d1b4e9139ebc4c6b0cb6e7254ecde69d1552bf7613f60"}, - {file = "mypy-1.14.1-cp39-cp39-win_amd64.whl", hash = "sha256:07ba89fdcc9451f2ebb02853deb6aaaa3d2239a236669a63ab3801bbf923ef5c"}, - {file = "mypy-1.14.1-py3-none-any.whl", hash = "sha256:b66a60cc4073aeb8ae00057f9c1f64d49e90f918fbcef9a977eb121da8b8f1d1"}, - {file = "mypy-1.14.1.tar.gz", hash = "sha256:7ec88144fe9b510e8475ec2f5f251992690fcf89ccb4500b214b4226abcd32d6"}, +python-versions = ">=3.9" +groups = ["dev"] +files = [ + { file = "mypy-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:979e4e1a006511dacf628e36fadfecbcc0160a8af6ca7dad2f5025529e082c13" }, + { file = "mypy-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c4bb0e1bd29f7d34efcccd71cf733580191e9a264a2202b0239da95984c5b559" }, + { file = "mypy-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:be68172e9fd9ad8fb876c6389f16d1c1b5f100ffa779f77b1fb2176fcc9ab95b" }, + { file = "mypy-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c7be1e46525adfa0d97681432ee9fcd61a3964c2446795714699a998d193f1a3" }, + { file = "mypy-1.15.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2e2c2e6d3593f6451b18588848e66260ff62ccca522dd231cd4dd59b0160668b" }, + { file = "mypy-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:6983aae8b2f653e098edb77f893f7b6aca69f6cffb19b2cc7443f23cce5f4828" }, + { file = "mypy-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2922d42e16d6de288022e5ca321cd0618b238cfc5570e0263e5ba0a77dbef56f" }, + { file = "mypy-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2ee2d57e01a7c35de00f4634ba1bbf015185b219e4dc5909e281016df43f5ee5" }, + { file = "mypy-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:973500e0774b85d9689715feeffcc980193086551110fd678ebe1f4342fb7c5e" }, + { file = "mypy-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a95fb17c13e29d2d5195869262f8125dfdb5c134dc8d9a9d0aecf7525b10c2c" }, + { file = "mypy-1.15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1905f494bfd7d85a23a88c5d97840888a7bd516545fc5aaedff0267e0bb54e2f" }, + { file = "mypy-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:c9817fa23833ff189db061e6d2eff49b2f3b6ed9856b4a0a73046e41932d744f" }, + { file = "mypy-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:aea39e0583d05124836ea645f412e88a5c7d0fd77a6d694b60d9b6b2d9f184fd" }, + { file = "mypy-1.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f2147ab812b75e5b5499b01ade1f4a81489a147c01585cda36019102538615f" }, + { file = "mypy-1.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ce436f4c6d218a070048ed6a44c0bbb10cd2cc5e272b29e7845f6a2f57ee4464" }, + { file = "mypy-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8023ff13985661b50a5928fc7a5ca15f3d1affb41e5f0a9952cb68ef090b31ee" }, + { file = "mypy-1.15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1124a18bc11a6a62887e3e137f37f53fbae476dc36c185d549d4f837a2a6a14e" }, + { file = "mypy-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:171a9ca9a40cd1843abeca0e405bc1940cd9b305eaeea2dda769ba096932bb22" }, + { file = "mypy-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:93faf3fdb04768d44bf28693293f3904bbb555d076b781ad2530214ee53e3445" }, + { file = "mypy-1.15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:811aeccadfb730024c5d3e326b2fbe9249bb7413553f15499a4050f7c30e801d" }, + { file = "mypy-1.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:98b7b9b9aedb65fe628c62a6dc57f6d5088ef2dfca37903a7d9ee374d03acca5" }, + { file = "mypy-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c43a7682e24b4f576d93072216bf56eeff70d9140241f9edec0c104d0c515036" }, + { file = "mypy-1.15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:baefc32840a9f00babd83251560e0ae1573e2f9d1b067719479bfb0e987c6357" }, + { file = "mypy-1.15.0-cp313-cp313-win_amd64.whl", hash = "sha256:b9378e2c00146c44793c98b8d5a61039a048e31f429fb0eb546d93f4b000bedf" }, + { file = "mypy-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e601a7fa172c2131bff456bb3ee08a88360760d0d2f8cbd7a75a65497e2df078" }, + { file = "mypy-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:712e962a6357634fef20412699a3655c610110e01cdaa6180acec7fc9f8513ba" }, + { file = "mypy-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95579473af29ab73a10bada2f9722856792a36ec5af5399b653aa28360290a5" }, + { file = "mypy-1.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8f8722560a14cde92fdb1e31597760dc35f9f5524cce17836c0d22841830fd5b" }, + { file = "mypy-1.15.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1fbb8da62dc352133d7d7ca90ed2fb0e9d42bb1a32724c287d3c76c58cbaa9c2" }, + { file = "mypy-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:d10d994b41fb3497719bbf866f227b3489048ea4bbbb5015357db306249f7980" }, + { file = "mypy-1.15.0-py3-none-any.whl", hash = "sha256:5469affef548bd1895d86d3bf10ce2b44e33d86923c29e4d675b3e323437ea3e" }, + { file = "mypy-1.15.0.tar.gz", hash = "sha256:404534629d51d3efea5c800ee7c42b72a6554d6c400e6a79eafe15d11341fd43" }, ] [package.dependencies] @@ -2149,6 +2349,7 @@ version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." optional = false python-versions = ">=3.5" +groups = ["dev"] files = [ {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, @@ -2160,6 +2361,7 @@ version = "1.9.1" description = "Run any standard Python code quality tool on a Jupyter Notebook" optional = false python-versions = ">=3.9" +groups = ["dev"] files = [ {file = "nbqa-1.9.1-py3-none-any.whl", hash = "sha256:95552d2f6c2c038136252a805aa78d85018aef922586270c3a074332737282e5"}, {file = "nbqa-1.9.1.tar.gz", hash = "sha256:a1f4bcf587c597302fed295951001fc4e1be4ce0e77e1ab1b25ac2fbe3db0cdd"}, @@ -2180,6 +2382,7 @@ version = "1.6.0" description = "Patch asyncio to allow nested event loops" optional = false python-versions = ">=3.5" +groups = ["dev"] files = [ {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"}, {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"}, @@ -2191,6 +2394,8 @@ version = "3.2.1" description = "Python package for creating and manipulating graphs and networks" optional = false python-versions = ">=3.9" +groups = ["main"] +markers = "python_version == \"3.9\"" files = [ {file = "networkx-3.2.1-py3-none-any.whl", hash = "sha256:f18c69adc97877c42332c170849c96cefa91881c99a7cb3e95b7c659ebdc1ec2"}, {file = "networkx-3.2.1.tar.gz", hash = "sha256:9f1bb5cf3409bf324e0a722c20bdb4c20ee39bf1c30ce8ae499c8502b0b5e0c6"}, @@ -2203,85 +2408,155 @@ doc = ["nb2plots (>=0.7)", "nbconvert (<7.9)", "numpydoc (>=1.6)", "pillow (>=9. extra = ["lxml (>=4.6)", "pydot (>=1.4.2)", "pygraphviz (>=1.11)", "sympy (>=1.10)"] test = ["pytest (>=7.2)", "pytest-cov (>=4.0)"] +[[package]] +name = "networkx" +version = "3.4.2" +description = "Python package for creating and manipulating graphs and networks" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "python_version >= \"3.10\"" +files = [ + { file = "networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f" }, + { file = "networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1" }, +] + +[package.extras] +default = ["matplotlib (>=3.7)", "numpy (>=1.24)", "pandas (>=2.0)", "scipy (>=1.10,!=1.11.0,!=1.11.1)"] +developer = ["changelist (==0.5)", "mypy (>=1.1)", "pre-commit (>=3.2)", "rtoml"] +doc = ["intersphinx-registry", "myst-nb (>=1.1)", "numpydoc (>=1.8.0)", "pillow (>=9.4)", "pydata-sphinx-theme (>=0.15)", "sphinx (>=7.3)", "sphinx-gallery (>=0.16)", "texext (>=0.6.7)"] +example = ["cairocffi (>=1.7)", "contextily (>=1.6)", "igraph (>=0.11)", "momepy (>=0.7.2)", "osmnx (>=1.9)", "scikit-learn (>=1.5)", "seaborn (>=0.13)"] +extra = ["lxml (>=4.6)", "pydot (>=3.0.1)", "pygraphviz (>=1.14)", "sympy (>=1.10)"] +test = ["pytest (>=7.2)", "pytest-cov (>=4.0)"] + [[package]] name = "nh3" -version = "0.2.20" +version = "0.2.21" description = "Python binding to Ammonia HTML sanitizer Rust crate" optional = false python-versions = ">=3.8" -files = [ - {file = "nh3-0.2.20-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:e1061a4ab6681f6bdf72b110eea0c4e1379d57c9de937db3be4202f7ad6043db"}, - {file = "nh3-0.2.20-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb4254b1dac4a1ee49919a5b3f1caf9803ea8dada1816d9e8289e63d3cd0dd9a"}, - {file = "nh3-0.2.20-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ae9cbd713524cdb81e64663d0d6aae26f678db9f2cd9db0bf162606f1f9f20c"}, - {file = "nh3-0.2.20-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e1f7370b4e14cc03f5ae141ef30a1caf81fa5787711f80be9081418dd9eb79d2"}, - {file = "nh3-0.2.20-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:ac4d27dc836a476efffc6eb661994426b8b805c951b29c9cf2ff36bc9ad58bc5"}, - {file = "nh3-0.2.20-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4fd2e9248725ebcedac3997a8d3da0d90a12a28c9179c6ba51f1658938ac30d0"}, - {file = "nh3-0.2.20-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f7d564871833ddbe54df3aa59053b1110729d3a800cb7628ae8f42adb3d75208"}, - {file = "nh3-0.2.20-cp313-cp313t-win32.whl", hash = "sha256:d2a176fd4306b6f0f178a3f67fac91bd97a3a8d8fafb771c9b9ef675ba5c8886"}, - {file = "nh3-0.2.20-cp313-cp313t-win_amd64.whl", hash = "sha256:6ed834c68452a600f517dd3e1534dbfaff1f67f98899fecf139a055a25d99150"}, - {file = "nh3-0.2.20-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:76e2f603b30c02ff6456b233a83fc377dedab6a50947b04e960a6b905637b776"}, - {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:181063c581defe683bd4bb78188ac9936d208aebbc74c7f7c16b6a32ae2ebb38"}, - {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:231addb7643c952cd6d71f1c8702d703f8fe34afcb20becb3efb319a501a12d7"}, - {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:1b9a8340a0aab991c68a5ca938d35ef4a8a3f4bf1b455da8855a40bee1fa0ace"}, - {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10317cd96fe4bbd4eb6b95f3920b71c902157ad44fed103fdcde43e3b8ee8be6"}, - {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8698db4c04b140800d1a1cd3067fda399e36e1e2b8fc1fe04292a907350a3e9b"}, - {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3eb04b9c3deb13c3a375ea39fd4a3c00d1f92e8fb2349f25f1e3e4506751774b"}, - {file = "nh3-0.2.20-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92f3f1c4f47a2c6f3ca7317b1d5ced05bd29556a75d3a4e2715652ae9d15c05d"}, - {file = "nh3-0.2.20-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ddefa9fd6794a87e37d05827d299d4b53a3ec6f23258101907b96029bfef138a"}, - {file = "nh3-0.2.20-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ce3731c8f217685d33d9268362e5b4f770914e922bba94d368ab244a59a6c397"}, - {file = "nh3-0.2.20-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:09f037c02fc2c43b211ff1523de32801dcfb0918648d8e651c36ef890f1731ec"}, - {file = "nh3-0.2.20-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:813f1c8012dd64c990514b795508abb90789334f76a561fa0fd4ca32d2275330"}, - {file = "nh3-0.2.20-cp38-abi3-win32.whl", hash = "sha256:47b2946c0e13057855209daeffb45dc910bd0c55daf10190bb0b4b60e2999784"}, - {file = "nh3-0.2.20-cp38-abi3-win_amd64.whl", hash = "sha256:da87573f03084edae8eb87cfe811ec338606288f81d333c07d2a9a0b9b976c0b"}, - {file = "nh3-0.2.20.tar.gz", hash = "sha256:9705c42d7ff88a0bea546c82d7fe5e59135e3d3f057e485394f491248a1f8ed5"}, +groups = ["dev"] +files = [ + { file = "nh3-0.2.21-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:fcff321bd60c6c5c9cb4ddf2554e22772bb41ebd93ad88171bbbb6f271255286" }, + { file = "nh3-0.2.21-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31eedcd7d08b0eae28ba47f43fd33a653b4cdb271d64f1aeda47001618348fde" }, + { file = "nh3-0.2.21-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d426d7be1a2f3d896950fe263332ed1662f6c78525b4520c8e9861f8d7f0d243" }, + { file = "nh3-0.2.21-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9d67709bc0d7d1f5797b21db26e7a8b3d15d21c9c5f58ccfe48b5328483b685b" }, + { file = "nh3-0.2.21-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:55823c5ea1f6b267a4fad5de39bc0524d49a47783e1fe094bcf9c537a37df251" }, + { file = "nh3-0.2.21-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:818f2b6df3763e058efa9e69677b5a92f9bc0acff3295af5ed013da544250d5b" }, + { file = "nh3-0.2.21-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:b3b5c58161e08549904ac4abd450dacd94ff648916f7c376ae4b2c0652b98ff9" }, + { file = "nh3-0.2.21-cp313-cp313t-win32.whl", hash = "sha256:637d4a10c834e1b7d9548592c7aad760611415fcd5bd346f77fd8a064309ae6d" }, + { file = "nh3-0.2.21-cp313-cp313t-win_amd64.whl", hash = "sha256:713d16686596e556b65e7f8c58328c2df63f1a7abe1277d87625dcbbc012ef82" }, + { file = "nh3-0.2.21-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:a772dec5b7b7325780922dd904709f0f5f3a79fbf756de5291c01370f6df0967" }, + { file = "nh3-0.2.21-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d002b648592bf3033adfd875a48f09b8ecc000abd7f6a8769ed86b6ccc70c759" }, + { file = "nh3-0.2.21-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2a5174551f95f2836f2ad6a8074560f261cf9740a48437d6151fd2d4d7d617ab" }, + { file = "nh3-0.2.21-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:b8d55ea1fc7ae3633d758a92aafa3505cd3cc5a6e40470c9164d54dff6f96d42" }, + { file = "nh3-0.2.21-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6ae319f17cd8960d0612f0f0ddff5a90700fa71926ca800e9028e7851ce44a6f" }, + { file = "nh3-0.2.21-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:63ca02ac6f27fc80f9894409eb61de2cb20ef0a23740c7e29f9ec827139fa578" }, + { file = "nh3-0.2.21-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5f77e62aed5c4acad635239ac1290404c7e940c81abe561fd2af011ff59f585" }, + { file = "nh3-0.2.21-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:087ffadfdcd497658c3adc797258ce0f06be8a537786a7217649fc1c0c60c293" }, + { file = "nh3-0.2.21-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ac7006c3abd097790e611fe4646ecb19a8d7f2184b882f6093293b8d9b887431" }, + { file = "nh3-0.2.21-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:6141caabe00bbddc869665b35fc56a478eb774a8c1dfd6fba9fe1dfdf29e6efa" }, + { file = "nh3-0.2.21-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:20979783526641c81d2f5bfa6ca5ccca3d1e4472474b162c6256745fbfe31cd1" }, + { file = "nh3-0.2.21-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a7ea28cd49293749d67e4fcf326c554c83ec912cd09cd94aa7ec3ab1921c8283" }, + { file = "nh3-0.2.21-cp38-abi3-win32.whl", hash = "sha256:6c9c30b8b0d291a7c5ab0967ab200598ba33208f754f2f4920e9343bdd88f79a" }, + { file = "nh3-0.2.21-cp38-abi3-win_amd64.whl", hash = "sha256:bb0014948f04d7976aabae43fcd4cb7f551f9f8ce785a4c9ef66e6c2590f8629" }, + { file = "nh3-0.2.21.tar.gz", hash = "sha256:4990e7ee6a55490dbf00d61a6f476c9a3258e31e711e13713b2ea7d6616f670e" }, ] [[package]] name = "ninja" -version = "1.11.1.3" +version = "1.11.1.4" description = "Ninja is a small build system with a focus on speed" optional = false python-versions = ">=3.7" -files = [ - {file = "ninja-1.11.1.3-py3-none-macosx_10_9_universal2.whl", hash = "sha256:2b4879ea3f1169f3d855182c57dcc84d1b5048628c8b7be0d702b81882a37237"}, - {file = "ninja-1.11.1.3-py3-none-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:bc3ebc8b2e47716149f3541742b5cd8e0b08f51013b825c05baca3e34854370d"}, - {file = "ninja-1.11.1.3-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a27e78ca71316c8654965ee94b286a98c83877bfebe2607db96897bbfe458af0"}, - {file = "ninja-1.11.1.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2883ea46b3c5079074f56820f9989c6261fcc6fd873d914ee49010ecf283c3b2"}, - {file = "ninja-1.11.1.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c4bdb9fd2d0c06501ae15abfd23407660e95659e384acd36e013b6dd7d8a8e4"}, - {file = "ninja-1.11.1.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:114ed5c61c8474df6a69ab89097a20749b769e2c219a452cb2fadc49b0d581b0"}, - {file = "ninja-1.11.1.3-py3-none-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7fa2247fce98f683bc712562d82b22b8a0a5c000738a13147ca2d1b68c122298"}, - {file = "ninja-1.11.1.3-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:a38c6c6c8032bed68b70c3b065d944c35e9f903342875d3a3218c1607987077c"}, - {file = "ninja-1.11.1.3-py3-none-musllinux_1_1_i686.whl", hash = "sha256:56ada5d33b8741d298836644042faddebc83ee669782d661e21563034beb5aba"}, - {file = "ninja-1.11.1.3-py3-none-musllinux_1_1_ppc64le.whl", hash = "sha256:53409151da081f3c198bb0bfc220a7f4e821e022c5b7d29719adda892ddb31bb"}, - {file = "ninja-1.11.1.3-py3-none-musllinux_1_1_s390x.whl", hash = "sha256:1ad2112c2b0159ed7c4ae3731595191b1546ba62316fc40808edecd0306fefa3"}, - {file = "ninja-1.11.1.3-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:28aea3c1c280cba95b8608d50797169f3a34280e3e9a6379b6e340f0c9eaeeb0"}, - {file = "ninja-1.11.1.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:b6966f83064a88a51693073eea3decd47e08c3965241e09578ef7aa3a7738329"}, - {file = "ninja-1.11.1.3-py3-none-win32.whl", hash = "sha256:a4a3b71490557e18c010cbb26bd1ea9a0c32ee67e8f105e9731515b6e0af792e"}, - {file = "ninja-1.11.1.3-py3-none-win_amd64.whl", hash = "sha256:04d48d14ea7ba11951c156599ab526bdda575450797ff57c6fdf99b2554d09c7"}, - {file = "ninja-1.11.1.3-py3-none-win_arm64.whl", hash = "sha256:17978ad611d8ead578d83637f5ae80c2261b033db0b493a7ce94f88623f29e1b"}, - {file = "ninja-1.11.1.3.tar.gz", hash = "sha256:edfa0d2e9d7ead1635b03e40a32ad56cc8f56798b6e2e9848d8300b174897076"}, +groups = ["main"] +files = [ + { file = "ninja-1.11.1.4-py3-none-macosx_10_9_universal2.whl", hash = "sha256:b33923c8da88e8da20b6053e38deb433f53656441614207e01d283ad02c5e8e7" }, + { file = "ninja-1.11.1.4-py3-none-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cede0af00b58e27b31f2482ba83292a8e9171cdb9acc2c867a3b6e40b3353e43" }, + { file = "ninja-1.11.1.4-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:096487995473320de7f65d622c3f1d16c3ad174797602218ca8c967f51ec38a0" }, + { file = "ninja-1.11.1.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3090d4488fadf6047d0d7a1db0c9643a8d391f0d94729554dbb89b5bdc769d7" }, + { file = "ninja-1.11.1.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ecce44a00325a93631792974659cf253a815cc6da4ec96f89742925dfc295a0d" }, + { file = "ninja-1.11.1.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c29bb66d2aa46a2409ab369ea804c730faec7652e8c22c1e428cc09216543e5" }, + { file = "ninja-1.11.1.4-py3-none-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:055f386fb550c2c9d6157e45e20a84d29c47968876b9c5794ae2aec46f952306" }, + { file = "ninja-1.11.1.4-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:f6186d7607bb090c3be1e10c8a56b690be238f953616626f5032238c66e56867" }, + { file = "ninja-1.11.1.4-py3-none-musllinux_1_1_i686.whl", hash = "sha256:cf4453679d15babc04ba023d68d091bb613091b67101c88f85d2171c6621c6eb" }, + { file = "ninja-1.11.1.4-py3-none-musllinux_1_1_ppc64le.whl", hash = "sha256:d4a6f159b08b0ac4aca5ee1572e3e402f969139e71d85d37c0e2872129098749" }, + { file = "ninja-1.11.1.4-py3-none-musllinux_1_1_s390x.whl", hash = "sha256:c3b96bd875f3ef1db782470e9e41d7508905a0986571f219d20ffed238befa15" }, + { file = "ninja-1.11.1.4-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:cf554e73f72c04deb04d0cf51f5fdb1903d9c9ca3d2344249c8ce3bd616ebc02" }, + { file = "ninja-1.11.1.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:cfdd09776436a1ff3c4a2558d3fc50a689fb9d7f1bdbc3e6f7b8c2991341ddb3" }, + { file = "ninja-1.11.1.4-py3-none-win32.whl", hash = "sha256:2ab67a41c90bea5ec4b795bab084bc0b3b3bb69d3cd21ca0294fc0fc15a111eb" }, + { file = "ninja-1.11.1.4-py3-none-win_amd64.whl", hash = "sha256:4617b3c12ff64b611a7d93fd9e378275512bb36eff8babff7c83f5116b4f8d66" }, + { file = "ninja-1.11.1.4-py3-none-win_arm64.whl", hash = "sha256:5713cf50c5be50084a8693308a63ecf9e55c3132a78a41ab1363a28b6caaaee1" }, + { file = "ninja-1.11.1.4.tar.gz", hash = "sha256:6aa39f6e894e0452e5b297327db00019383ae55d5d9c57c73b04f13bf79d438a" }, ] -[package.extras] -test = ["coverage (>=4.2)", "importlib_metadata (>=2.0)", "pytest (>=6.0)", "pytest-cov (>=3)"] - [[package]] name = "nodeenv" version = "1.9.1" description = "Node.js virtual environment builder" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +groups = ["dev"] files = [ {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, ] +[[package]] +name = "numpy" +version = "1.26.4" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_machine == \"x86_64\"" +files = [ + { file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0" }, + { file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a" }, + { file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4" }, + { file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f" }, + { file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a" }, + { file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2" }, + { file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07" }, + { file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5" }, + { file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71" }, + { file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef" }, + { file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e" }, + { file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5" }, + { file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a" }, + { file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a" }, + { file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20" }, + { file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2" }, + { file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218" }, + { file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b" }, + { file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b" }, + { file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed" }, + { file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a" }, + { file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0" }, + { file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110" }, + { file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818" }, + { file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c" }, + { file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be" }, + { file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764" }, + { file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3" }, + { file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd" }, + { file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c" }, + { file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6" }, + { file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea" }, + { file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30" }, + { file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c" }, + { file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0" }, + { file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010" }, +] + [[package]] name = "numpy" version = "2.0.2" description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.9" +groups = ["main"] +markers = "(sys_platform != \"darwin\" or platform_machine != \"x86_64\") and python_version == \"3.9\"" files = [ {file = "numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece"}, {file = "numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04"}, @@ -2330,12 +2605,80 @@ files = [ {file = "numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78"}, ] +[[package]] +name = "numpy" +version = "2.2.4" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "(sys_platform != \"darwin\" or platform_machine != \"x86_64\") and python_version >= \"3.10\"" +files = [ + { file = "numpy-2.2.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8146f3550d627252269ac42ae660281d673eb6f8b32f113538e0cc2a9aed42b9" }, + { file = "numpy-2.2.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e642d86b8f956098b564a45e6f6ce68a22c2c97a04f5acd3f221f57b8cb850ae" }, + { file = "numpy-2.2.4-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:a84eda42bd12edc36eb5b53bbcc9b406820d3353f1994b6cfe453a33ff101775" }, + { file = "numpy-2.2.4-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:4ba5054787e89c59c593a4169830ab362ac2bee8a969249dc56e5d7d20ff8df9" }, + { file = "numpy-2.2.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7716e4a9b7af82c06a2543c53ca476fa0b57e4d760481273e09da04b74ee6ee2" }, + { file = "numpy-2.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adf8c1d66f432ce577d0197dceaac2ac00c0759f573f28516246351c58a85020" }, + { file = "numpy-2.2.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:218f061d2faa73621fa23d6359442b0fc658d5b9a70801373625d958259eaca3" }, + { file = "numpy-2.2.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:df2f57871a96bbc1b69733cd4c51dc33bea66146b8c63cacbfed73eec0883017" }, + { file = "numpy-2.2.4-cp310-cp310-win32.whl", hash = "sha256:a0258ad1f44f138b791327961caedffbf9612bfa504ab9597157806faa95194a" }, + { file = "numpy-2.2.4-cp310-cp310-win_amd64.whl", hash = "sha256:0d54974f9cf14acf49c60f0f7f4084b6579d24d439453d5fc5805d46a165b542" }, + { file = "numpy-2.2.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e9e0a277bb2eb5d8a7407e14688b85fd8ad628ee4e0c7930415687b6564207a4" }, + { file = "numpy-2.2.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9eeea959168ea555e556b8188da5fa7831e21d91ce031e95ce23747b7609f8a4" }, + { file = "numpy-2.2.4-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:bd3ad3b0a40e713fc68f99ecfd07124195333f1e689387c180813f0e94309d6f" }, + { file = "numpy-2.2.4-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:cf28633d64294969c019c6df4ff37f5698e8326db68cc2b66576a51fad634880" }, + { file = "numpy-2.2.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fa8fa7697ad1646b5c93de1719965844e004fcad23c91228aca1cf0800044a1" }, + { file = "numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f4162988a360a29af158aeb4a2f4f09ffed6a969c9776f8f3bdee9b06a8ab7e5" }, + { file = "numpy-2.2.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:892c10d6a73e0f14935c31229e03325a7b3093fafd6ce0af704be7f894d95687" }, + { file = "numpy-2.2.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:db1f1c22173ac1c58db249ae48aa7ead29f534b9a948bc56828337aa84a32ed6" }, + { file = "numpy-2.2.4-cp311-cp311-win32.whl", hash = "sha256:ea2bb7e2ae9e37d96835b3576a4fa4b3a97592fbea8ef7c3587078b0068b8f09" }, + { file = "numpy-2.2.4-cp311-cp311-win_amd64.whl", hash = "sha256:f7de08cbe5551911886d1ab60de58448c6df0f67d9feb7d1fb21e9875ef95e91" }, + { file = "numpy-2.2.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a7b9084668aa0f64e64bd00d27ba5146ef1c3a8835f3bd912e7a9e01326804c4" }, + { file = "numpy-2.2.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dbe512c511956b893d2dacd007d955a3f03d555ae05cfa3ff1c1ff6df8851854" }, + { file = "numpy-2.2.4-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:bb649f8b207ab07caebba230d851b579a3c8711a851d29efe15008e31bb4de24" }, + { file = "numpy-2.2.4-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:f34dc300df798742b3d06515aa2a0aee20941c13579d7a2f2e10af01ae4901ee" }, + { file = "numpy-2.2.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3f7ac96b16955634e223b579a3e5798df59007ca43e8d451a0e6a50f6bfdfba" }, + { file = "numpy-2.2.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f92084defa704deadd4e0a5ab1dc52d8ac9e8a8ef617f3fbb853e79b0ea3592" }, + { file = "numpy-2.2.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7a4e84a6283b36632e2a5b56e121961f6542ab886bc9e12f8f9818b3c266bfbb" }, + { file = "numpy-2.2.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:11c43995255eb4127115956495f43e9343736edb7fcdb0d973defd9de14cd84f" }, + { file = "numpy-2.2.4-cp312-cp312-win32.whl", hash = "sha256:65ef3468b53269eb5fdb3a5c09508c032b793da03251d5f8722b1194f1790c00" }, + { file = "numpy-2.2.4-cp312-cp312-win_amd64.whl", hash = "sha256:2aad3c17ed2ff455b8eaafe06bcdae0062a1db77cb99f4b9cbb5f4ecb13c5146" }, + { file = "numpy-2.2.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cf4e5c6a278d620dee9ddeb487dc6a860f9b199eadeecc567f777daace1e9e7" }, + { file = "numpy-2.2.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1974afec0b479e50438fc3648974268f972e2d908ddb6d7fb634598cdb8260a0" }, + { file = "numpy-2.2.4-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:79bd5f0a02aa16808fcbc79a9a376a147cc1045f7dfe44c6e7d53fa8b8a79392" }, + { file = "numpy-2.2.4-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:3387dd7232804b341165cedcb90694565a6015433ee076c6754775e85d86f1fc" }, + { file = "numpy-2.2.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f527d8fdb0286fd2fd97a2a96c6be17ba4232da346931d967a0630050dfd298" }, + { file = "numpy-2.2.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bce43e386c16898b91e162e5baaad90c4b06f9dcbe36282490032cec98dc8ae7" }, + { file = "numpy-2.2.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:31504f970f563d99f71a3512d0c01a645b692b12a63630d6aafa0939e52361e6" }, + { file = "numpy-2.2.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:81413336ef121a6ba746892fad881a83351ee3e1e4011f52e97fba79233611fd" }, + { file = "numpy-2.2.4-cp313-cp313-win32.whl", hash = "sha256:f486038e44caa08dbd97275a9a35a283a8f1d2f0ee60ac260a1790e76660833c" }, + { file = "numpy-2.2.4-cp313-cp313-win_amd64.whl", hash = "sha256:207a2b8441cc8b6a2a78c9ddc64d00d20c303d79fba08c577752f080c4007ee3" }, + { file = "numpy-2.2.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8120575cb4882318c791f839a4fd66161a6fa46f3f0a5e613071aae35b5dd8f8" }, + { file = "numpy-2.2.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a761ba0fa886a7bb33c6c8f6f20213735cb19642c580a931c625ee377ee8bd39" }, + { file = "numpy-2.2.4-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:ac0280f1ba4a4bfff363a99a6aceed4f8e123f8a9b234c89140f5e894e452ecd" }, + { file = "numpy-2.2.4-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:879cf3a9a2b53a4672a168c21375166171bc3932b7e21f622201811c43cdd3b0" }, + { file = "numpy-2.2.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f05d4198c1bacc9124018109c5fba2f3201dbe7ab6e92ff100494f236209c960" }, + { file = "numpy-2.2.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2f085ce2e813a50dfd0e01fbfc0c12bbe5d2063d99f8b29da30e544fb6483b8" }, + { file = "numpy-2.2.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:92bda934a791c01d6d9d8e038363c50918ef7c40601552a58ac84c9613a665bc" }, + { file = "numpy-2.2.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ee4d528022f4c5ff67332469e10efe06a267e32f4067dc76bb7e2cddf3cd25ff" }, + { file = "numpy-2.2.4-cp313-cp313t-win32.whl", hash = "sha256:05c076d531e9998e7e694c36e8b349969c56eadd2cdcd07242958489d79a7286" }, + { file = "numpy-2.2.4-cp313-cp313t-win_amd64.whl", hash = "sha256:188dcbca89834cc2e14eb2f106c96d6d46f200fe0200310fc29089657379c58d" }, + { file = "numpy-2.2.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7051ee569db5fbac144335e0f3b9c2337e0c8d5c9fee015f259a5bd70772b7e8" }, + { file = "numpy-2.2.4-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:ab2939cd5bec30a7430cbdb2287b63151b77cf9624de0532d629c9a1c59b1d5c" }, + { file = "numpy-2.2.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0f35b19894a9e08639fd60a1ec1978cb7f5f7f1eace62f38dd36be8aecdef4d" }, + { file = "numpy-2.2.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b4adfbbc64014976d2f91084915ca4e626fbf2057fb81af209c1a6d776d23e3d" }, + { file = "numpy-2.2.4.tar.gz", hash = "sha256:9ba03692a45d3eef66559efe1d1096c4b9b75c0986b5dff5530c378fb8331d4f" }, +] + [[package]] name = "nvidia-cublas-cu12" version = "12.4.5.8" description = "CUBLAS native runtime libraries" optional = false python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\"" files = [ {file = "nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0f8aa1706812e00b9f19dfe0cdb3999b092ccb8ca168c0db5b8ea712456fd9b3"}, {file = "nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl", hash = "sha256:2fc8da60df463fdefa81e323eef2e36489e1c94335b5358bcb38360adf75ac9b"}, @@ -2348,6 +2691,8 @@ version = "12.4.127" description = "CUDA profiling tools runtime libs." optional = false python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\"" files = [ {file = "nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_aarch64.whl", hash = "sha256:79279b35cf6f91da114182a5ce1864997fd52294a87a16179ce275773799458a"}, {file = "nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:9dec60f5ac126f7bb551c055072b69d85392b13311fcc1bcda2202d172df30fb"}, @@ -2360,6 +2705,8 @@ version = "12.4.127" description = "NVRTC native runtime libraries" optional = false python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\"" files = [ {file = "nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0eedf14185e04b76aa05b1fea04133e59f465b6f960c0cbf4e37c3cb6b0ea198"}, {file = "nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a178759ebb095827bd30ef56598ec182b85547f1508941a3d560eb7ea1fbf338"}, @@ -2372,6 +2719,8 @@ version = "12.4.127" description = "CUDA Runtime native Libraries" optional = false python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\"" files = [ {file = "nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_aarch64.whl", hash = "sha256:961fe0e2e716a2a1d967aab7caee97512f71767f852f67432d572e36cb3a11f3"}, {file = "nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:64403288fa2136ee8e467cdc9c9427e0434110899d07c779f25b5c068934faa5"}, @@ -2384,6 +2733,8 @@ version = "9.1.0.70" description = "cuDNN runtime libraries" optional = false python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\"" files = [ {file = "nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl", hash = "sha256:165764f44ef8c61fcdfdfdbe769d687e06374059fbb388b6c89ecb0e28793a6f"}, {file = "nvidia_cudnn_cu12-9.1.0.70-py3-none-win_amd64.whl", hash = "sha256:6278562929433d68365a07a4a1546c237ba2849852c0d4b2262a486e805b977a"}, @@ -2398,6 +2749,8 @@ version = "11.2.1.3" description = "CUFFT native runtime libraries" optional = false python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\"" files = [ {file = "nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_aarch64.whl", hash = "sha256:5dad8008fc7f92f5ddfa2101430917ce2ffacd86824914c82e28990ad7f00399"}, {file = "nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl", hash = "sha256:f083fc24912aa410be21fa16d157fed2055dab1cc4b6934a0e03cba69eb242b9"}, @@ -2413,6 +2766,8 @@ version = "10.3.5.147" description = "CURAND native runtime libraries" optional = false python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\"" files = [ {file = "nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_aarch64.whl", hash = "sha256:1f173f09e3e3c76ab084aba0de819c49e56614feae5c12f69883f4ae9bb5fad9"}, {file = "nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a88f583d4e0bb643c49743469964103aa59f7f708d862c3ddb0fc07f851e3b8b"}, @@ -2425,6 +2780,8 @@ version = "11.6.1.9" description = "CUDA solver native runtime libraries" optional = false python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\"" files = [ {file = "nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_aarch64.whl", hash = "sha256:d338f155f174f90724bbde3758b7ac375a70ce8e706d70b018dd3375545fc84e"}, {file = "nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl", hash = "sha256:19e33fa442bcfd085b3086c4ebf7e8debc07cfe01e11513cc6d332fd918ac260"}, @@ -2442,6 +2799,8 @@ version = "12.3.1.170" description = "CUSPARSE native runtime libraries" optional = false python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\"" files = [ {file = "nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_aarch64.whl", hash = "sha256:9d32f62896231ebe0480efd8a7f702e143c98cfaa0e8a76df3386c1ba2b54df3"}, {file = "nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl", hash = "sha256:ea4f11a2904e2a8dc4b1833cc1b5181cde564edd0d5cd33e3c168eff2d1863f1"}, @@ -2451,12 +2810,28 @@ files = [ [package.dependencies] nvidia-nvjitlink-cu12 = "*" +[[package]] +name = "nvidia-cusparselt-cu12" +version = "0.6.2" +description = "NVIDIA cuSPARSELt" +optional = false +python-versions = "*" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\"" +files = [ + { file = "nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:067a7f6d03ea0d4841c85f0c6f1991c5dda98211f6302cb83a4ab234ee95bef8" }, + { file = "nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:df2c24502fd76ebafe7457dbc4716b2fec071aabaed4fb7691a201cde03704d9" }, + { file = "nvidia_cusparselt_cu12-0.6.2-py3-none-win_amd64.whl", hash = "sha256:0057c91d230703924c0422feabe4ce768841f9b4b44d28586b6f6d2eb86fbe70" }, +] + [[package]] name = "nvidia-nccl-cu12" version = "2.21.5" description = "NVIDIA Collective Communication Library (NCCL) Runtime" optional = false python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\"" files = [ {file = "nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl", hash = "sha256:8579076d30a8c24988834445f8d633c697d42397e92ffc3f63fa26766d25e0a0"}, ] @@ -2467,6 +2842,8 @@ version = "12.4.127" description = "Nvidia JIT LTO Library" optional = false python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\"" files = [ {file = "nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_aarch64.whl", hash = "sha256:4abe7fef64914ccfa909bc2ba39739670ecc9e820c83ccc7a6ed414122599b83"}, {file = "nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:06b3b9b25bf3f8af351d664978ca26a16d2c5127dbd53c0497e28d1fb9611d57"}, @@ -2479,6 +2856,8 @@ version = "12.4.127" description = "NVIDIA Tools Extension" optional = false python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\"" files = [ {file = "nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7959ad635db13edf4fc65c06a6e9f9e55fc2f92596db928d169c0bb031e88ef3"}, {file = "nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:781e950d9b9f60d8241ccea575b32f5105a5baf4c2351cab5256a24869f12a1a"}, @@ -2487,13 +2866,14 @@ files = [ [[package]] name = "openai" -version = "1.59.6" +version = "1.71.0" description = "The official Python library for the openai API" optional = false python-versions = ">=3.8" +groups = ["main"] files = [ - {file = "openai-1.59.6-py3-none-any.whl", hash = "sha256:b28ed44eee3d5ebe1a3ea045ee1b4b50fea36ecd50741aaa5ce5a5559c900cb6"}, - {file = "openai-1.59.6.tar.gz", hash = "sha256:c7670727c2f1e4473f62fea6fa51475c8bc098c9ffb47bfb9eef5be23c747934"}, + { file = "openai-1.71.0-py3-none-any.whl", hash = "sha256:e1c643738f1fff1af52bce6ef06a7716c95d089281e7011777179614f32937aa" }, + { file = "openai-1.71.0.tar.gz", hash = "sha256:52b20bb990a1780f9b0b8ccebac93416343ebd3e4e714e3eff730336833ca207" }, ] [package.dependencies] @@ -2508,32 +2888,34 @@ typing-extensions = ">=4.11,<5" [package.extras] datalib = ["numpy (>=1)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"] -realtime = ["websockets (>=13,<15)"] +realtime = ["websockets (>=13,<16)"] +voice-helpers = ["numpy (>=2.0.2)", "sounddevice (>=0.5.1)"] [[package]] name = "opencv-python-headless" -version = "4.10.0.84" +version = "4.11.0.86" description = "Wrapper package for OpenCV python bindings." optional = false python-versions = ">=3.6" +groups = ["main"] files = [ - {file = "opencv-python-headless-4.10.0.84.tar.gz", hash = "sha256:f2017c6101d7c2ef8d7bc3b414c37ff7f54d64413a1847d89970b6b7069b4e1a"}, - {file = "opencv_python_headless-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:a4f4bcb07d8f8a7704d9c8564c224c8b064c63f430e95b61ac0bffaa374d330e"}, - {file = "opencv_python_headless-4.10.0.84-cp37-abi3-macosx_12_0_x86_64.whl", hash = "sha256:5ae454ebac0eb0a0b932e3406370aaf4212e6a3fdb5038cc86c7aea15a6851da"}, - {file = "opencv_python_headless-4.10.0.84-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46071015ff9ab40fccd8a163da0ee14ce9846349f06c6c8c0f2870856ffa45db"}, - {file = "opencv_python_headless-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:377d08a7e48a1405b5e84afcbe4798464ce7ee17081c1c23619c8b398ff18295"}, - {file = "opencv_python_headless-4.10.0.84-cp37-abi3-win32.whl", hash = "sha256:9092404b65458ed87ce932f613ffbb1106ed2c843577501e5768912360fc50ec"}, - {file = "opencv_python_headless-4.10.0.84-cp37-abi3-win_amd64.whl", hash = "sha256:afcf28bd1209dd58810d33defb622b325d3cbe49dcd7a43a902982c33e5fad05"}, + { file = "opencv-python-headless-4.11.0.86.tar.gz", hash = "sha256:996eb282ca4b43ec6a3972414de0e2331f5d9cda2b41091a49739c19fb843798" }, + { file = "opencv_python_headless-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:48128188ade4a7e517237c8e1e11a9cdf5c282761473383e77beb875bb1e61ca" }, + { file = "opencv_python_headless-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:a66c1b286a9de872c343ee7c3553b084244299714ebb50fbdcd76f07ebbe6c81" }, + { file = "opencv_python_headless-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6efabcaa9df731f29e5ea9051776715b1bdd1845d7c9530065c7951d2a2899eb" }, + { file = "opencv_python_headless-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e0a27c19dd1f40ddff94976cfe43066fbbe9dfbb2ec1907d66c19caef42a57b" }, + { file = "opencv_python_headless-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:f447d8acbb0b6f2808da71fddd29c1cdd448d2bc98f72d9bb78a7a898fc9621b" }, + { file = "opencv_python_headless-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:6c304df9caa7a6a5710b91709dd4786bf20a74d57672b3c31f7033cc638174ca" }, ] [package.dependencies] numpy = [ + { version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\"" }, + { version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\"" }, + { version = ">=1.23.5", markers = "python_version >= \"3.11\"" }, + { version = ">=1.26.0", markers = "python_version >= \"3.12\"" }, {version = ">=1.21.0", markers = "python_version == \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\""}, - {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, - {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, - {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, - {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, - {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, + { version = ">=1.19.3", markers = "(python_version >= \"3.8\" and platform_system == \"Linux\" and platform_machine == \"aarch64\" or python_version >= \"3.9\") and (python_version > \"3.9\" or platform_system != \"Darwin\" or platform_machine != \"arm64\")" }, ] [[package]] @@ -2542,6 +2924,7 @@ version = "3.1.5" description = "A Python library to read/write Excel 2010 xlsx/xlsm files" optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "openpyxl-3.1.5-py2.py3-none-any.whl", hash = "sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2"}, {file = "openpyxl-3.1.5.tar.gz", hash = "sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050"}, @@ -2556,6 +2939,7 @@ version = "24.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" +groups = ["main", "dev"] files = [ {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, @@ -2567,6 +2951,7 @@ version = "2.2.3" description = "Powerful data structures for data analysis, time series, and statistics" optional = false python-versions = ">=3.9" +groups = ["main"] files = [ {file = "pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5"}, {file = "pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348"}, @@ -2653,6 +3038,7 @@ version = "0.8.4" description = "A Python Parser" optional = false python-versions = ">=3.6" +groups = ["dev"] files = [ {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, @@ -2668,6 +3054,7 @@ version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, @@ -2679,6 +3066,7 @@ version = "0.13.3" description = "Check PEP-8 naming conventions, plugin for flake8" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "pep8-naming-0.13.3.tar.gz", hash = "sha256:1705f046dfcd851378aac3be1cd1551c7c1e5ff363bacad707d43007877fa971"}, {file = "pep8_naming-0.13.3-py3-none-any.whl", hash = "sha256:1a86b8c71a03337c97181917e2b472f0f5e4ccb06844a0d6f0a33522549e7a80"}, @@ -2693,6 +3081,8 @@ version = "4.9.0" description = "Pexpect allows easy control of interactive console applications." optional = false python-versions = "*" +groups = ["dev"] +markers = "sys_platform != \"win32\" and sys_platform != \"emscripten\" or python_version == \"3.9\" and sys_platform != \"win32\"" files = [ {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, @@ -2707,87 +3097,88 @@ version = "10.4.0" description = "Python Imaging Library (Fork)" optional = false python-versions = ">=3.8" -files = [ - {file = "pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e"}, - {file = "pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc"}, - {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e"}, - {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46"}, - {file = "pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984"}, - {file = "pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141"}, - {file = "pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1"}, - {file = "pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c"}, - {file = "pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319"}, - {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d"}, - {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696"}, - {file = "pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496"}, - {file = "pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91"}, - {file = "pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22"}, - {file = "pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94"}, - {file = "pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a"}, - {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b"}, - {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9"}, - {file = "pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42"}, - {file = "pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a"}, - {file = "pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9"}, - {file = "pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3"}, - {file = "pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc"}, - {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a"}, - {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309"}, - {file = "pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060"}, - {file = "pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea"}, - {file = "pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d"}, - {file = "pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736"}, - {file = "pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd"}, - {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84"}, - {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0"}, - {file = "pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e"}, - {file = "pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab"}, - {file = "pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d"}, - {file = "pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c"}, - {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1"}, - {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df"}, - {file = "pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef"}, - {file = "pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5"}, - {file = "pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3"}, - {file = "pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06"}, +groups = ["main"] +files = [ + { file = "pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e" }, + { file = "pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d" }, + { file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856" }, + { file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f" }, + { file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b" }, + { file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc" }, + { file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e" }, + { file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46" }, + { file = "pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984" }, + { file = "pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141" }, + { file = "pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1" }, + { file = "pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c" }, + { file = "pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be" }, + { file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3" }, + { file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6" }, + { file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe" }, + { file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319" }, + { file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d" }, + { file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696" }, + { file = "pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496" }, + { file = "pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91" }, + { file = "pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22" }, + { file = "pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94" }, + { file = "pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597" }, + { file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80" }, + { file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca" }, + { file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef" }, + { file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a" }, + { file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b" }, + { file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9" }, + { file = "pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42" }, + { file = "pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a" }, + { file = "pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9" }, + { file = "pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3" }, + { file = "pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb" }, + { file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70" }, + { file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be" }, + { file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0" }, + { file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc" }, + { file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a" }, + { file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309" }, + { file = "pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060" }, + { file = "pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea" }, + { file = "pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d" }, + { file = "pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736" }, + { file = "pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b" }, + { file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2" }, + { file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680" }, + { file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b" }, + { file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd" }, + { file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84" }, + { file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0" }, + { file = "pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e" }, + { file = "pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab" }, + { file = "pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d" }, + { file = "pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b" }, + { file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd" }, + { file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126" }, + { file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b" }, + { file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c" }, + { file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1" }, + { file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df" }, + { file = "pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef" }, + { file = "pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5" }, + { file = "pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e" }, + { file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4" }, + { file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da" }, + { file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026" }, + { file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e" }, + { file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5" }, + { file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885" }, + { file = "pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5" }, + { file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b" }, + { file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908" }, + { file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b" }, + { file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8" }, + { file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a" }, + { file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27" }, + { file = "pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3" }, + { file = "pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06" }, ] [package.extras] @@ -2795,18 +3186,19 @@ docs = ["furo", "olefile", "sphinx (>=7.3)", "sphinx-copybutton", "sphinx-inline fpx = ["olefile"] mic = ["olefile"] tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] -typing = ["typing-extensions"] +typing = ["typing-extensions ; python_version < \"3.10\""] xmp = ["defusedxml"] [[package]] name = "pkginfo" -version = "1.12.0" +version = "1.12.1.2" description = "Query metadata from sdists / bdists / installed packages." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ - {file = "pkginfo-1.12.0-py3-none-any.whl", hash = "sha256:dcd589c9be4da8973eceffa247733c144812759aa67eaf4bbf97016a02f39088"}, - {file = "pkginfo-1.12.0.tar.gz", hash = "sha256:8ad91a0445a036782b9366ef8b8c2c50291f83a553478ba8580c73d3215700cf"}, + { file = "pkginfo-1.12.1.2-py3-none-any.whl", hash = "sha256:c783ac885519cab2c34927ccfa6bf64b5a704d7c69afaea583dd9b7afe969343" }, + { file = "pkginfo-1.12.1.2.tar.gz", hash = "sha256:5cd957824ac36f140260964eba3c6be6442a8359b8c48f4adf90210f33a04b7b" }, ] [package.extras] @@ -2814,19 +3206,20 @@ testing = ["pytest", "pytest-cov", "wheel"] [[package]] name = "platformdirs" -version = "4.3.6" +version = "4.3.7" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["dev"] files = [ - {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, - {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, + { file = "platformdirs-4.3.7-py3-none-any.whl", hash = "sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94" }, + { file = "platformdirs-4.3.7.tar.gz", hash = "sha256:eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351" }, ] [package.extras] -docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] -type = ["mypy (>=1.11.2)"] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.1.3)", "sphinx-autodoc-typehints (>=3)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.4)", "pytest-cov (>=6)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.14.1)"] [[package]] name = "pluggy" @@ -2834,6 +3227,7 @@ version = "1.5.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.8" +groups = ["main", "dev"] files = [ {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, @@ -2845,26 +3239,29 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "posthog" -version = "3.7.5" +version = "3.23.0" description = "Integrate PostHog into any python application." optional = false python-versions = "*" +groups = ["main"] files = [ - {file = "posthog-3.7.5-py2.py3-none-any.whl", hash = "sha256:022132c17069dde03c5c5904e2ae1b9bd68d5059cbc5a8dffc5c1537a1b71cb5"}, - {file = "posthog-3.7.5.tar.gz", hash = "sha256:8ba40ab623da35db72715fc87fe7dccb7fc272ced92581fe31db2d4dbe7ad761"}, + { file = "posthog-3.23.0-py2.py3-none-any.whl", hash = "sha256:2b07d06670170ac2e21465dffa8d356722834cc877ab34e583da6e525c1037df" }, + { file = "posthog-3.23.0.tar.gz", hash = "sha256:1ac0305ab6c54a80c4a82c137231f17616bef007bbf474d1a529cda032d808eb" }, ] [package.dependencies] backoff = ">=1.10.0" +distro = ">=1.5.0" monotonic = ">=1.5" python-dateutil = ">2.1" requests = ">=2.7,<3.0" six = ">=1.5" [package.extras] -dev = ["black", "flake8", "flake8-print", "isort", "pre-commit"] +dev = ["black", "django-stubs", "flake8", "flake8-print", "isort", "lxml", "mypy", "mypy-baseline", "pre-commit", "pydantic", "types-mock", "types-python-dateutil", "types-requests", "types-setuptools", "types-six"] +langchain = ["langchain (>=0.2.0)"] sentry = ["django", "sentry-sdk"] -test = ["coverage", "django", "flake8", "freezegun (==0.3.15)", "mock (>=2.0.0)", "pylint", "pytest", "pytest-timeout"] +test = ["anthropic", "coverage", "django", "flake8", "freezegun (==1.5.1)", "langchain-anthropic (>=0.2.0)", "langchain-community (>=0.2.0)", "langchain-openai (>=0.2.0)", "langgraph", "mock (>=2.0.0)", "openai", "parameterized (>=0.8.1)", "pydantic", "pylint", "pytest", "pytest-asyncio", "pytest-timeout"] [[package]] name = "pre-commit" @@ -2872,6 +3269,7 @@ version = "3.8.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." optional = false python-versions = ">=3.9" +groups = ["dev"] files = [ {file = "pre_commit-3.8.0-py2.py3-none-any.whl", hash = "sha256:9a90a53bf82fdd8778d58085faf8d83df56e40dfe18f45b19446e26bf1b3a63f"}, {file = "pre_commit-3.8.0.tar.gz", hash = "sha256:8bb6494d4a20423842e198980c9ecf9f96607a07ea29549e180eef9ae80fe7af"}, @@ -2886,13 +3284,14 @@ virtualenv = ">=20.10.0" [[package]] name = "prompt-toolkit" -version = "3.0.48" +version = "3.0.50" description = "Library for building powerful interactive command lines in Python" optional = false -python-versions = ">=3.7.0" +python-versions = ">=3.8.0" +groups = ["dev"] files = [ - {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"}, - {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"}, + { file = "prompt_toolkit-3.0.50-py3-none-any.whl", hash = "sha256:9b6427eb19e479d98acff65196a307c555eb567989e6d88ebbb1b509d9779198" }, + { file = "prompt_toolkit-3.0.50.tar.gz", hash = "sha256:544748f3860a2623ca5cd6d2795e7a14f3d0e1c3c9728359013f79877fc89bab" }, ] [package.dependencies] @@ -2900,32 +3299,26 @@ wcwidth = "*" [[package]] name = "psutil" -version = "6.1.1" -description = "Cross-platform lib for process and system monitoring in Python." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -files = [ - {file = "psutil-6.1.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:9ccc4316f24409159897799b83004cb1e24f9819b0dcf9c0b68bdcb6cefee6a8"}, - {file = "psutil-6.1.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ca9609c77ea3b8481ab005da74ed894035936223422dc591d6772b147421f777"}, - {file = "psutil-6.1.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:8df0178ba8a9e5bc84fed9cfa61d54601b371fbec5c8eebad27575f1e105c0d4"}, - {file = "psutil-6.1.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:1924e659d6c19c647e763e78670a05dbb7feaf44a0e9c94bf9e14dfc6ba50468"}, - {file = "psutil-6.1.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:018aeae2af92d943fdf1da6b58665124897cfc94faa2ca92098838f83e1b1bca"}, - {file = "psutil-6.1.1-cp27-none-win32.whl", hash = "sha256:6d4281f5bbca041e2292be3380ec56a9413b790579b8e593b1784499d0005dac"}, - {file = "psutil-6.1.1-cp27-none-win_amd64.whl", hash = "sha256:c777eb75bb33c47377c9af68f30e9f11bc78e0f07fbf907be4a5d70b2fe5f030"}, - {file = "psutil-6.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8"}, - {file = "psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377"}, - {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003"}, - {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160"}, - {file = "psutil-6.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3"}, - {file = "psutil-6.1.1-cp36-cp36m-win32.whl", hash = "sha256:384636b1a64b47814437d1173be1427a7c83681b17a450bfc309a1953e329603"}, - {file = "psutil-6.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:8be07491f6ebe1a693f17d4f11e69d0dc1811fa082736500f649f79df7735303"}, - {file = "psutil-6.1.1-cp37-abi3-win32.whl", hash = "sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53"}, - {file = "psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649"}, - {file = "psutil-6.1.1.tar.gz", hash = "sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5"}, +version = "7.0.0" +description = "Cross-platform lib for process and system monitoring in Python. NOTE: the syntax of this script MUST be kept compatible with Python 2.7." +optional = false +python-versions = ">=3.6" +groups = ["dev"] +files = [ + { file = "psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25" }, + { file = "psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da" }, + { file = "psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91" }, + { file = "psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34" }, + { file = "psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993" }, + { file = "psutil-7.0.0-cp36-cp36m-win32.whl", hash = "sha256:84df4eb63e16849689f76b1ffcb36db7b8de703d1bc1fe41773db487621b6c17" }, + { file = "psutil-7.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:1e744154a6580bc968a0195fd25e80432d3afec619daf145b9e5ba16cc1d688e" }, + { file = "psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99" }, + { file = "psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553" }, + { file = "psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456" }, ] [package.extras] -dev = ["abi3audit", "black", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest-cov", "requests", "rstcheck", "ruff", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "virtualenv", "vulture", "wheel"] +dev = ["abi3audit", "black (==24.10.0)", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest", "pytest-cov", "pytest-xdist", "requests", "rstcheck", "ruff", "setuptools", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "virtualenv", "vulture", "wheel"] test = ["pytest", "pytest-xdist", "setuptools"] [[package]] @@ -2934,6 +3327,8 @@ version = "0.7.0" description = "Run a subprocess in a pseudo terminal" optional = false python-versions = "*" +groups = ["dev"] +markers = "sys_platform != \"win32\" and sys_platform != \"emscripten\" or python_version == \"3.9\" and sys_platform != \"win32\"" files = [ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, @@ -2945,6 +3340,7 @@ version = "0.2.3" description = "Safely evaluate AST nodes without side effects" optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"}, {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"}, @@ -2959,6 +3355,7 @@ version = "1.3.0.post6" description = "Cython wrapper for the C++ translation of the Angus Johnson's Clipper library (ver. 6.4.2)" optional = false python-versions = "*" +groups = ["main"] files = [ {file = "pyclipper-1.3.0.post6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fa0f5e78cfa8262277bb3d0225537b3c2a90ef68fd90a229d5d24cf49955dcf4"}, {file = "pyclipper-1.3.0.post6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a01f182d8938c1dc515e8508ed2442f7eebd2c25c7d5cb29281f583c1a8008a4"}, @@ -3014,13 +3411,14 @@ files = [ [[package]] name = "pycodestyle" -version = "2.12.1" +version = "2.13.0" description = "Python style guide checker" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["dev"] files = [ - {file = "pycodestyle-2.12.1-py2.py3-none-any.whl", hash = "sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3"}, - {file = "pycodestyle-2.12.1.tar.gz", hash = "sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521"}, + { file = "pycodestyle-2.13.0-py2.py3-none-any.whl", hash = "sha256:35863c5974a271c7a726ed228a14a4f6daf49df369d8c50cd9a6f58a5e143ba9" }, + { file = "pycodestyle-2.13.0.tar.gz", hash = "sha256:c8415bf09abe81d9c7f872502a6eee881fbe85d8763dd5b9924bb0a01d67efae" }, ] [[package]] @@ -3029,6 +3427,8 @@ version = "2.22" description = "C parser in Python" optional = false python-versions = ">=3.8" +groups = ["dev"] +markers = "(implementation_name == \"pypy\" or sys_platform == \"linux\") and (implementation_name == \"pypy\" or platform_python_implementation != \"PyPy\")" files = [ {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, @@ -3036,131 +3436,133 @@ files = [ [[package]] name = "pydantic" -version = "2.10.5" +version = "2.11.3" description = "Data validation using Python type hints" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["main"] files = [ - {file = "pydantic-2.10.5-py3-none-any.whl", hash = "sha256:4dd4e322dbe55472cb7ca7e73f4b63574eecccf2835ffa2af9021ce113c83c53"}, - {file = "pydantic-2.10.5.tar.gz", hash = "sha256:278b38dbbaec562011d659ee05f63346951b3a248a6f3642e1bc68894ea2b4ff"}, + { file = "pydantic-2.11.3-py3-none-any.whl", hash = "sha256:a082753436a07f9ba1289c6ffa01cd93db3548776088aa917cc43b63f68fa60f" }, + { file = "pydantic-2.11.3.tar.gz", hash = "sha256:7471657138c16adad9322fe3070c0116dd6c3ad8d649300e3cbdfe91f4db4ec3" }, ] [package.dependencies] annotated-types = ">=0.6.0" -pydantic-core = "2.27.2" +pydantic-core = "2.33.1" typing-extensions = ">=4.12.2" +typing-inspection = ">=0.4.0" [package.extras] email = ["email-validator (>=2.0.0)"] -timezone = ["tzdata"] +timezone = ["tzdata ; python_version >= \"3.9\" and platform_system == \"Windows\""] [[package]] name = "pydantic-core" -version = "2.27.2" +version = "2.33.1" description = "Core functionality for Pydantic validation and serialization" optional = false -python-versions = ">=3.8" -files = [ - {file = "pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa"}, - {file = "pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236"}, - {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962"}, - {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9"}, - {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af"}, - {file = "pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4"}, - {file = "pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31"}, - {file = "pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc"}, - {file = "pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d"}, - {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b"}, - {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474"}, - {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6"}, - {file = "pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c"}, - {file = "pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc"}, - {file = "pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4"}, - {file = "pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0"}, - {file = "pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4"}, - {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3"}, - {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4"}, - {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57"}, - {file = "pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc"}, - {file = "pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9"}, - {file = "pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b"}, - {file = "pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b"}, - {file = "pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4"}, - {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27"}, - {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee"}, - {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1"}, - {file = "pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130"}, - {file = "pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee"}, - {file = "pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b"}, - {file = "pydantic_core-2.27.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d3e8d504bdd3f10835468f29008d72fc8359d95c9c415ce6e767203db6127506"}, - {file = "pydantic_core-2.27.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:521eb9b7f036c9b6187f0b47318ab0d7ca14bd87f776240b90b21c1f4f149320"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85210c4d99a0114f5a9481b44560d7d1e35e32cc5634c656bc48e590b669b145"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d716e2e30c6f140d7560ef1538953a5cd1a87264c737643d481f2779fc247fe1"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f66d89ba397d92f840f8654756196d93804278457b5fbede59598a1f9f90b228"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:669e193c1c576a58f132e3158f9dfa9662969edb1a250c54d8fa52590045f046"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdbe7629b996647b99c01b37f11170a57ae675375b14b8c13b8518b8320ced5"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d262606bf386a5ba0b0af3b97f37c83d7011439e3dc1a9298f21efb292e42f1a"}, - {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cabb9bcb7e0d97f74df8646f34fc76fbf793b7f6dc2438517d7a9e50eee4f14d"}, - {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:d2d63f1215638d28221f664596b1ccb3944f6e25dd18cd3b86b0a4c408d5ebb9"}, - {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bca101c00bff0adb45a833f8451b9105d9df18accb8743b08107d7ada14bd7da"}, - {file = "pydantic_core-2.27.2-cp38-cp38-win32.whl", hash = "sha256:f6f8e111843bbb0dee4cb6594cdc73e79b3329b526037ec242a3e49012495b3b"}, - {file = "pydantic_core-2.27.2-cp38-cp38-win_amd64.whl", hash = "sha256:fd1aea04935a508f62e0d0ef1f5ae968774a32afc306fb8545e06f5ff5cdf3ad"}, - {file = "pydantic_core-2.27.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c10eb4f1659290b523af58fa7cffb452a61ad6ae5613404519aee4bfbf1df993"}, - {file = "pydantic_core-2.27.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef592d4bad47296fb11f96cd7dc898b92e795032b4894dfb4076cfccd43a9308"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c61709a844acc6bf0b7dce7daae75195a10aac96a596ea1b776996414791ede4"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c5f762659e47fdb7b16956c71598292f60a03aa92f8b6351504359dbdba6cf"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c9775e339e42e79ec99c441d9730fccf07414af63eac2f0e48e08fd38a64d76"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57762139821c31847cfb2df63c12f725788bd9f04bc2fb392790959b8f70f118"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d1e85068e818c73e048fe28cfc769040bb1f475524f4745a5dc621f75ac7630"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:097830ed52fd9e427942ff3b9bc17fab52913b2f50f2880dc4a5611446606a54"}, - {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:044a50963a614ecfae59bb1eaf7ea7efc4bc62f49ed594e18fa1e5d953c40e9f"}, - {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:4e0b4220ba5b40d727c7f879eac379b822eee5d8fff418e9d3381ee45b3b0362"}, - {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5e4f4bb20d75e9325cc9696c6802657b58bc1dbbe3022f32cc2b2b632c3fbb96"}, - {file = "pydantic_core-2.27.2-cp39-cp39-win32.whl", hash = "sha256:cca63613e90d001b9f2f9a9ceb276c308bfa2a43fafb75c8031c4f66039e8c6e"}, - {file = "pydantic_core-2.27.2-cp39-cp39-win_amd64.whl", hash = "sha256:77d1bca19b0f7021b3a982e6f903dcd5b2b06076def36a652e3907f596e29f67"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c33939a82924da9ed65dab5a65d427205a73181d8098e79b6b426bdf8ad4e656"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:00bad2484fa6bda1e216e7345a798bd37c68fb2d97558edd584942aa41b7d278"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c817e2b40aba42bac6f457498dacabc568c3b7a986fc9ba7c8d9d260b71485fb"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:251136cdad0cb722e93732cb45ca5299fb56e1344a833640bf93b2803f8d1bfd"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2088237af596f0a524d3afc39ab3b036e8adb054ee57cbb1dcf8e09da5b29cc"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d4041c0b966a84b4ae7a09832eb691a35aec90910cd2dbe7a208de59be77965b"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:8083d4e875ebe0b864ffef72a4304827015cff328a1be6e22cc850753bfb122b"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f141ee28a0ad2123b6611b6ceff018039df17f32ada8b534e6aa039545a3efb2"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7d0c8399fcc1848491f00e0314bd59fb34a9c008761bcb422a057670c3f65e35"}, - {file = "pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39"}, +python-versions = ">=3.9" +groups = ["main"] +files = [ + { file = "pydantic_core-2.33.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3077cfdb6125cc8dab61b155fdd714663e401f0e6883f9632118ec12cf42df26" }, + { file = "pydantic_core-2.33.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8ffab8b2908d152e74862d276cf5017c81a2f3719f14e8e3e8d6b83fda863927" }, + { file = "pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5183e4f6a2d468787243ebcd70cf4098c247e60d73fb7d68d5bc1e1beaa0c4db" }, + { file = "pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:398a38d323f37714023be1e0285765f0a27243a8b1506b7b7de87b647b517e48" }, + { file = "pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:87d3776f0001b43acebfa86f8c64019c043b55cc5a6a2e313d728b5c95b46969" }, + { file = "pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c566dd9c5f63d22226409553531f89de0cac55397f2ab8d97d6f06cfce6d947e" }, + { file = "pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0d5f3acc81452c56895e90643a625302bd6be351e7010664151cc55b7b97f89" }, + { file = "pydantic_core-2.33.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d3a07fadec2a13274a8d861d3d37c61e97a816beae717efccaa4b36dfcaadcde" }, + { file = "pydantic_core-2.33.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f99aeda58dce827f76963ee87a0ebe75e648c72ff9ba1174a253f6744f518f65" }, + { file = "pydantic_core-2.33.1-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:902dbc832141aa0ec374f4310f1e4e7febeebc3256f00dc359a9ac3f264a45dc" }, + { file = "pydantic_core-2.33.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fe44d56aa0b00d66640aa84a3cbe80b7a3ccdc6f0b1ca71090696a6d4777c091" }, + { file = "pydantic_core-2.33.1-cp310-cp310-win32.whl", hash = "sha256:ed3eb16d51257c763539bde21e011092f127a2202692afaeaccb50db55a31383" }, + { file = "pydantic_core-2.33.1-cp310-cp310-win_amd64.whl", hash = "sha256:694ad99a7f6718c1a498dc170ca430687a39894a60327f548e02a9c7ee4b6504" }, + { file = "pydantic_core-2.33.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6e966fc3caaf9f1d96b349b0341c70c8d6573bf1bac7261f7b0ba88f96c56c24" }, + { file = "pydantic_core-2.33.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bfd0adeee563d59c598ceabddf2c92eec77abcb3f4a391b19aa7366170bd9e30" }, + { file = "pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91815221101ad3c6b507804178a7bb5cb7b2ead9ecd600041669c8d805ebd595" }, + { file = "pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9fea9c1869bb4742d174a57b4700c6dadea951df8b06de40c2fedb4f02931c2e" }, + { file = "pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d20eb4861329bb2484c021b9d9a977566ab16d84000a57e28061151c62b349a" }, + { file = "pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb935c5591573ae3201640579f30128ccc10739b45663f93c06796854405505" }, + { file = "pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c964fd24e6166420d18fb53996d8c9fd6eac9bf5ae3ec3d03015be4414ce497f" }, + { file = "pydantic_core-2.33.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:681d65e9011f7392db5aa002b7423cc442d6a673c635668c227c6c8d0e5a4f77" }, + { file = "pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e100c52f7355a48413e2999bfb4e139d2977a904495441b374f3d4fb4a170961" }, + { file = "pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:048831bd363490be79acdd3232f74a0e9951b11b2b4cc058aeb72b22fdc3abe1" }, + { file = "pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bdc84017d28459c00db6f918a7272a5190bec3090058334e43a76afb279eac7c" }, + { file = "pydantic_core-2.33.1-cp311-cp311-win32.whl", hash = "sha256:32cd11c5914d1179df70406427097c7dcde19fddf1418c787540f4b730289896" }, + { file = "pydantic_core-2.33.1-cp311-cp311-win_amd64.whl", hash = "sha256:2ea62419ba8c397e7da28a9170a16219d310d2cf4970dbc65c32faf20d828c83" }, + { file = "pydantic_core-2.33.1-cp311-cp311-win_arm64.whl", hash = "sha256:fc903512177361e868bc1f5b80ac8c8a6e05fcdd574a5fb5ffeac5a9982b9e89" }, + { file = "pydantic_core-2.33.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1293d7febb995e9d3ec3ea09caf1a26214eec45b0f29f6074abb004723fc1de8" }, + { file = "pydantic_core-2.33.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:99b56acd433386c8f20be5c4000786d1e7ca0523c8eefc995d14d79c7a081498" }, + { file = "pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35a5ec3fa8c2fe6c53e1b2ccc2454398f95d5393ab398478f53e1afbbeb4d939" }, + { file = "pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b172f7b9d2f3abc0efd12e3386f7e48b576ef309544ac3a63e5e9cdd2e24585d" }, + { file = "pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9097b9f17f91eea659b9ec58148c0747ec354a42f7389b9d50701610d86f812e" }, + { file = "pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cc77ec5b7e2118b152b0d886c7514a4653bcb58c6b1d760134a9fab915f777b3" }, + { file = "pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3d15245b08fa4a84cefc6c9222e6f37c98111c8679fbd94aa145f9a0ae23d" }, + { file = "pydantic_core-2.33.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef99779001d7ac2e2461d8ab55d3373fe7315caefdbecd8ced75304ae5a6fc6b" }, + { file = "pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fc6bf8869e193855e8d91d91f6bf59699a5cdfaa47a404e278e776dd7f168b39" }, + { file = "pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:b1caa0bc2741b043db7823843e1bde8aaa58a55a58fda06083b0569f8b45693a" }, + { file = "pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ec259f62538e8bf364903a7d0d0239447059f9434b284f5536e8402b7dd198db" }, + { file = "pydantic_core-2.33.1-cp312-cp312-win32.whl", hash = "sha256:e14f369c98a7c15772b9da98987f58e2b509a93235582838bd0d1d8c08b68fda" }, + { file = "pydantic_core-2.33.1-cp312-cp312-win_amd64.whl", hash = "sha256:1c607801d85e2e123357b3893f82c97a42856192997b95b4d8325deb1cd0c5f4" }, + { file = "pydantic_core-2.33.1-cp312-cp312-win_arm64.whl", hash = "sha256:8d13f0276806ee722e70a1c93da19748594f19ac4299c7e41237fc791d1861ea" }, + { file = "pydantic_core-2.33.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:70af6a21237b53d1fe7b9325b20e65cbf2f0a848cf77bed492b029139701e66a" }, + { file = "pydantic_core-2.33.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:282b3fe1bbbe5ae35224a0dbd05aed9ccabccd241e8e6b60370484234b456266" }, + { file = "pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b315e596282bbb5822d0c7ee9d255595bd7506d1cb20c2911a4da0b970187d3" }, + { file = "pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1dfae24cf9921875ca0ca6a8ecb4bb2f13c855794ed0d468d6abbec6e6dcd44a" }, + { file = "pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6dd8ecfde08d8bfadaea669e83c63939af76f4cf5538a72597016edfa3fad516" }, + { file = "pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f593494876eae852dc98c43c6f260f45abdbfeec9e4324e31a481d948214764" }, + { file = "pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:948b73114f47fd7016088e5186d13faf5e1b2fe83f5e320e371f035557fd264d" }, + { file = "pydantic_core-2.33.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e11f3864eb516af21b01e25fac915a82e9ddad3bb0fb9e95a246067398b435a4" }, + { file = "pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:549150be302428b56fdad0c23c2741dcdb5572413776826c965619a25d9c6bde" }, + { file = "pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:495bc156026efafd9ef2d82372bd38afce78ddd82bf28ef5276c469e57c0c83e" }, + { file = "pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ec79de2a8680b1a67a07490bddf9636d5c2fab609ba8c57597e855fa5fa4dacd" }, + { file = "pydantic_core-2.33.1-cp313-cp313-win32.whl", hash = "sha256:ee12a7be1742f81b8a65b36c6921022301d466b82d80315d215c4c691724986f" }, + { file = "pydantic_core-2.33.1-cp313-cp313-win_amd64.whl", hash = "sha256:ede9b407e39949d2afc46385ce6bd6e11588660c26f80576c11c958e6647bc40" }, + { file = "pydantic_core-2.33.1-cp313-cp313-win_arm64.whl", hash = "sha256:aa687a23d4b7871a00e03ca96a09cad0f28f443690d300500603bd0adba4b523" }, + { file = "pydantic_core-2.33.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:401d7b76e1000d0dd5538e6381d28febdcacb097c8d340dde7d7fc6e13e9f95d" }, + { file = "pydantic_core-2.33.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7aeb055a42d734c0255c9e489ac67e75397d59c6fbe60d155851e9782f276a9c" }, + { file = "pydantic_core-2.33.1-cp313-cp313t-win_amd64.whl", hash = "sha256:338ea9b73e6e109f15ab439e62cb3b78aa752c7fd9536794112e14bee02c8d18" }, + { file = "pydantic_core-2.33.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:5ab77f45d33d264de66e1884fca158bc920cb5e27fd0764a72f72f5756ae8bdb" }, + { file = "pydantic_core-2.33.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e7aaba1b4b03aaea7bb59e1b5856d734be011d3e6d98f5bcaa98cb30f375f2ad" }, + { file = "pydantic_core-2.33.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7fb66263e9ba8fea2aa85e1e5578980d127fb37d7f2e292773e7bc3a38fb0c7b" }, + { file = "pydantic_core-2.33.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3f2648b9262607a7fb41d782cc263b48032ff7a03a835581abbf7a3bec62bcf5" }, + { file = "pydantic_core-2.33.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:723c5630c4259400818b4ad096735a829074601805d07f8cafc366d95786d331" }, + { file = "pydantic_core-2.33.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d100e3ae783d2167782391e0c1c7a20a31f55f8015f3293647544df3f9c67824" }, + { file = "pydantic_core-2.33.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:177d50460bc976a0369920b6c744d927b0ecb8606fb56858ff542560251b19e5" }, + { file = "pydantic_core-2.33.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a3edde68d1a1f9af1273b2fe798997b33f90308fb6d44d8550c89fc6a3647cf6" }, + { file = "pydantic_core-2.33.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a62c3c3ef6a7e2c45f7853b10b5bc4ddefd6ee3cd31024754a1a5842da7d598d" }, + { file = "pydantic_core-2.33.1-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:c91dbb0ab683fa0cd64a6e81907c8ff41d6497c346890e26b23de7ee55353f96" }, + { file = "pydantic_core-2.33.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9f466e8bf0a62dc43e068c12166281c2eca72121dd2adc1040f3aa1e21ef8599" }, + { file = "pydantic_core-2.33.1-cp39-cp39-win32.whl", hash = "sha256:ab0277cedb698749caada82e5d099dc9fed3f906a30d4c382d1a21725777a1e5" }, + { file = "pydantic_core-2.33.1-cp39-cp39-win_amd64.whl", hash = "sha256:5773da0ee2d17136b1f1c6fbde543398d452a6ad2a7b54ea1033e2daa739b8d2" }, + { file = "pydantic_core-2.33.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c834f54f8f4640fd7e4b193f80eb25a0602bba9e19b3cd2fc7ffe8199f5ae02" }, + { file = "pydantic_core-2.33.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:049e0de24cf23766f12cc5cc71d8abc07d4a9deb9061b334b62093dedc7cb068" }, + { file = "pydantic_core-2.33.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a28239037b3d6f16916a4c831a5a0eadf856bdd6d2e92c10a0da3a59eadcf3e" }, + { file = "pydantic_core-2.33.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d3da303ab5f378a268fa7d45f37d7d85c3ec19769f28d2cc0c61826a8de21fe" }, + { file = "pydantic_core-2.33.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:25626fb37b3c543818c14821afe0fd3830bc327a43953bc88db924b68c5723f1" }, + { file = "pydantic_core-2.33.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3ab2d36e20fbfcce8f02d73c33a8a7362980cff717926bbae030b93ae46b56c7" }, + { file = "pydantic_core-2.33.1-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:2f9284e11c751b003fd4215ad92d325d92c9cb19ee6729ebd87e3250072cdcde" }, + { file = "pydantic_core-2.33.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:048c01eee07d37cbd066fc512b9d8b5ea88ceeb4e629ab94b3e56965ad655add" }, + { file = "pydantic_core-2.33.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5ccd429694cf26af7997595d627dd2637e7932214486f55b8a357edaac9dae8c" }, + { file = "pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3a371dc00282c4b84246509a5ddc808e61b9864aa1eae9ecc92bb1268b82db4a" }, + { file = "pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:f59295ecc75a1788af8ba92f2e8c6eeaa5a94c22fc4d151e8d9638814f85c8fc" }, + { file = "pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08530b8ac922003033f399128505f513e30ca770527cc8bbacf75a84fcc2c74b" }, + { file = "pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bae370459da6a5466978c0eacf90690cb57ec9d533f8e63e564ef3822bfa04fe" }, + { file = "pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e3de2777e3b9f4d603112f78006f4ae0acb936e95f06da6cb1a45fbad6bdb4b5" }, + { file = "pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3a64e81e8cba118e108d7126362ea30e021291b7805d47e4896e52c791be2761" }, + { file = "pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:52928d8c1b6bda03cc6d811e8923dffc87a2d3c8b3bfd2ce16471c7147a24850" }, + { file = "pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:1b30d92c9412beb5ac6b10a3eb7ef92ccb14e3f2a8d7732e2d739f58b3aa7544" }, + { file = "pydantic_core-2.33.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:f995719707e0e29f0f41a8aa3bcea6e761a36c9136104d3189eafb83f5cec5e5" }, + { file = "pydantic_core-2.33.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7edbc454a29fc6aeae1e1eecba4f07b63b8d76e76a748532233c4c167b4cb9ea" }, + { file = "pydantic_core-2.33.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:ad05b683963f69a1d5d2c2bdab1274a31221ca737dbbceaa32bcb67359453cdd" }, + { file = "pydantic_core-2.33.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df6a94bf9452c6da9b5d76ed229a5683d0306ccb91cca8e1eea883189780d568" }, + { file = "pydantic_core-2.33.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7965c13b3967909a09ecc91f21d09cfc4576bf78140b988904e94f130f188396" }, + { file = "pydantic_core-2.33.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3f1fdb790440a34f6ecf7679e1863b825cb5ffde858a9197f851168ed08371e5" }, + { file = "pydantic_core-2.33.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:5277aec8d879f8d05168fdd17ae811dd313b8ff894aeeaf7cd34ad28b4d77e33" }, + { file = "pydantic_core-2.33.1-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:8ab581d3530611897d863d1a649fb0644b860286b4718db919bfd51ece41f10b" }, + { file = "pydantic_core-2.33.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0483847fa9ad5e3412265c1bd72aad35235512d9ce9d27d81a56d935ef489672" }, + { file = "pydantic_core-2.33.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:de9e06abe3cc5ec6a2d5f75bc99b0bdca4f5c719a5b34026f8c57efbdecd2ee3" }, + { file = "pydantic_core-2.33.1.tar.gz", hash = "sha256:bcc9c6fdb0ced789245b02b7d6603e17d1563064ddcfc36f046b61c0c05dd9df" }, ] [package.dependencies] @@ -3168,13 +3570,14 @@ typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" [[package]] name = "pydantic-settings" -version = "2.7.1" +version = "2.8.1" description = "Settings management using Pydantic" optional = false python-versions = ">=3.8" +groups = ["main"] files = [ - {file = "pydantic_settings-2.7.1-py3-none-any.whl", hash = "sha256:590be9e6e24d06db33a4262829edef682500ef008565a969c73d39d5f8bfb3fd"}, - {file = "pydantic_settings-2.7.1.tar.gz", hash = "sha256:10c9caad35e64bfb3c2fbf70a078c0e25cc92499782e5200747f942a065dec93"}, + { file = "pydantic_settings-2.8.1-py3-none-any.whl", hash = "sha256:81942d5ac3d905f7f3ee1a70df5dfb62d5569c12f51a5a647defc1c3d9ee2e9c" }, + { file = "pydantic_settings-2.8.1.tar.gz", hash = "sha256:d5c663dfbe9db9d5e1c646b2e161da12f0d734d422ee56f567d0ea2cee4e8585" }, ] [package.dependencies] @@ -3192,6 +3595,7 @@ version = "6.3.0" description = "Python docstring style checker" optional = false python-versions = ">=3.6" +groups = ["dev"] files = [ {file = "pydocstyle-6.3.0-py3-none-any.whl", hash = "sha256:118762d452a49d6b05e194ef344a55822987a462831ade91ec5c06fd2169d019"}, {file = "pydocstyle-6.3.0.tar.gz", hash = "sha256:7ce43f0c0ac87b07494eb9c0b462c0b73e6ff276807f204d6b53edc72b7e44e1"}, @@ -3201,17 +3605,18 @@ files = [ snowballstemmer = ">=2.2.0" [package.extras] -toml = ["tomli (>=1.2.3)"] +toml = ["tomli (>=1.2.3) ; python_version < \"3.11\""] [[package]] name = "pyflakes" -version = "3.2.0" +version = "3.3.2" description = "passive checker of Python programs" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["dev"] files = [ - {file = "pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a"}, - {file = "pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f"}, + { file = "pyflakes-3.3.2-py2.py3-none-any.whl", hash = "sha256:5039c8339cbb1944045f4ee5466908906180f13cc99cc9949348d10f82a5c32a" }, + { file = "pyflakes-3.3.2.tar.gz", hash = "sha256:6dfd61d87b97fba5dcfaaf781171ac16be16453be6d816147989e7f6e6a9576b" }, ] [[package]] @@ -3220,6 +3625,7 @@ version = "2.19.1" description = "Pygments is a syntax highlighting package written in Python." optional = false python-versions = ">=3.8" +groups = ["main", "dev"] files = [ {file = "pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"}, {file = "pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f"}, @@ -3228,12 +3634,24 @@ files = [ [package.extras] windows-terminal = ["colorama (>=0.4.6)"] +[[package]] +name = "pylatexenc" +version = "2.10" +description = "Simple LaTeX parser providing latex-to-unicode and unicode-to-latex conversion" +optional = false +python-versions = "*" +groups = ["main"] +files = [ + { file = "pylatexenc-2.10.tar.gz", hash = "sha256:3dd8fd84eb46dc30bee1e23eaab8d8fb5a7f507347b23e5f38ad9675c84f40d3" }, +] + [[package]] name = "pypdfium2" version = "4.30.1" description = "Python bindings to PDFium" optional = false python-versions = ">=3.6" +groups = ["main"] files = [ {file = "pypdfium2-4.30.1-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:e07c47633732cc18d890bb7e965ad28a9c5a932e548acb928596f86be2e5ae37"}, {file = "pypdfium2-4.30.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:5ea2d44e96d361123b67b00f527017aa9c847c871b5714e013c01c3eb36a79fe"}, @@ -3256,6 +3674,7 @@ version = "7.4.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, @@ -3274,132 +3693,121 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no [[package]] name = "python-bidi" -version = "0.6.3" +version = "0.6.6" description = "Python Bidi layout wrapping the Rust crate unicode-bidi" optional = false python-versions = "*" -files = [ - {file = "python_bidi-0.6.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:7e2a62d7ebb4af9831c85921063154ab4067c73768ad04f466dff1359e6f2650"}, - {file = "python_bidi-0.6.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6b8035f02c3fcb52d372bfe51db00a0c95a3fdd6f0504a32e70d4f799809070d"}, - {file = "python_bidi-0.6.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:854edec3ef1ef50c49f689b44900fb6c51d35f277e10b4749755d053f405a44a"}, - {file = "python_bidi-0.6.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fe4c4ab61701a5e3b916c6b63811c6fd708539a3f189ec6ca6bd22948a125af0"}, - {file = "python_bidi-0.6.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:855a4dc2d237587a734babc6179130f9e7b7c028651cdead6ec5b162115ac112"}, - {file = "python_bidi-0.6.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c0635bf46ddd56cf3f71d0711fbc160fd90c36fd3176b3e91b0bf7447e549f1"}, - {file = "python_bidi-0.6.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a4b7b6e458173614348db8e4a4406e468338c13ecc7b74d1e208d38d0d1d264"}, - {file = "python_bidi-0.6.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:25a39a3b61851506ed489867c69f3580ba75063195bf4b00f1983de88e02bf30"}, - {file = "python_bidi-0.6.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:24ea5c9f5cf9f3919d81669d24a1405709f4d66c82c3ffa7f982fcece856b325"}, - {file = "python_bidi-0.6.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:631d32fd1414d4795348122b820dadbff1ddaa6e53a70c1ee9d5a84911cc3c2d"}, - {file = "python_bidi-0.6.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:205aac547f8166005e041b33069da2c8a345171b0d7c8177c3d16408acde9acd"}, - {file = "python_bidi-0.6.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a05249eac27e983a103babb9a2812726312bd8f685fdc3264f78b8ff8124d09a"}, - {file = "python_bidi-0.6.3-cp310-none-win32.whl", hash = "sha256:44023d51ae78ae119ef11043b5fb8f3dfc5de5ec04d937d7c5abc4da8cba1770"}, - {file = "python_bidi-0.6.3-cp310-none-win_amd64.whl", hash = "sha256:866865bbbc97a144e74508e2513373bb590d38fca3b6e52b6905de54b34ddbd9"}, - {file = "python_bidi-0.6.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:a656b91c74b77a5b005e6dac092947f00d546cce5d0ca70b6b6741b93f7705bf"}, - {file = "python_bidi-0.6.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4cb80856ce1e3f24c0d878fc85ab767c201ab8891a68f41d8da87eaf39c827de"}, - {file = "python_bidi-0.6.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ad3f50925a5943d244c6ca05e0553922e917b3cc415580460d86af6a385ee23"}, - {file = "python_bidi-0.6.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:22f293338ec7d44e02991787d306d39e02f0b145810eef60802abd7833b6c2d0"}, - {file = "python_bidi-0.6.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12b1d522cbd0af85094ccce8ae95c57a6a9d4f98e85f3e7c1ad1fb5d1c2cd09e"}, - {file = "python_bidi-0.6.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da00726ebf17f857d458b310e868cae4b3bac668396cd5e874e17809894417e5"}, - {file = "python_bidi-0.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1204f2aa62ac6226f11dd1bee250d428abb128046cf1999317b3f303c70ea2"}, - {file = "python_bidi-0.6.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7c99881440b2a4d8de7c2d7f3ac23e5f0a0ee0c5ae652f53188a21e9b0911f2d"}, - {file = "python_bidi-0.6.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:10f7c23dbb23dd0d2b0f67f7d4c2ba59eb42f777e1749ed9e13dbc8c4d28ea75"}, - {file = "python_bidi-0.6.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:d7527247a9d8e0aa9d2d4ecd24cbd8216bc4e3e89e77f9c833eedf278d9761cc"}, - {file = "python_bidi-0.6.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5d6829865ff94925280af066c8536ff9595a6e40d300f9fc0e6ca4ebbf3bc306"}, - {file = "python_bidi-0.6.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0e0d574c22fbab1ea996ddb1ebb3eabae521f5d129d7c699445cad81e81bc351"}, - {file = "python_bidi-0.6.3-cp311-none-win32.whl", hash = "sha256:8c5fc9f065c24bd8058d7e9a5d42415134de3cc1aa480eebc27e2ca132919dd8"}, - {file = "python_bidi-0.6.3-cp311-none-win_amd64.whl", hash = "sha256:46ee694cf5a632a8d47cc35de6926581e586425b582216962d3e6d913aea0b88"}, - {file = "python_bidi-0.6.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:4bdc9dc1143c558ca6931d6712339a30470959f2b7eecb3d0687db7075c20a87"}, - {file = "python_bidi-0.6.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0775499b8037103278f05b2bf92d25bf04f40a9f77884ec3d42b01a1e52a40fe"}, - {file = "python_bidi-0.6.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb3091aa5efbfc4da6fd52a2fccbf7853c6dc253ddaf9a189bcf3c4345865aa9"}, - {file = "python_bidi-0.6.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c75a9b68b3f5a8da9a33fe37607d9b267a8a3c5806d283a4a47365256773dd1e"}, - {file = "python_bidi-0.6.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:208e09819ee0485c2ed4dc1932c39fc073dac3f2cb70b6d2ae0b7296e86831e6"}, - {file = "python_bidi-0.6.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e17b67d86cd38f2bebc4a46090f83cabb0d1da3a3c920c68efe8093ae1a8d0d1"}, - {file = "python_bidi-0.6.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:933a17938f767fa64a8365732eba787a81c26214d89e1b3abe87912325ba26a9"}, - {file = "python_bidi-0.6.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:772efb3e0ef17396bfd9d47da4805c74ed6c04f27cac08d7757f76602837fb9d"}, - {file = "python_bidi-0.6.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9a99114f33f8c0273a61b4afe7d4d715e098318ee4e5ce8f6bb5da8dcd3f95c7"}, - {file = "python_bidi-0.6.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b30e620d39e85a30bb42f460fd8b5274caf261517edeb853b975d9ea1939b6bd"}, - {file = "python_bidi-0.6.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:bee94e3152a6c9ba731e086c9cc6203904290506ba52c505a2e59abab481eb13"}, - {file = "python_bidi-0.6.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:926164ec594e9ea9a64faf54273c711d5e3233bcc6ef8966c6eeaddfb3b3075f"}, - {file = "python_bidi-0.6.3-cp312-none-win32.whl", hash = "sha256:cea395a7daee14c7d50a7e20890d12b9ff1938d81b23eb564f1707a175c37202"}, - {file = "python_bidi-0.6.3-cp312-none-win_amd64.whl", hash = "sha256:350e6c76f942465871f2b473a2076f5002f1df06e4c7abee3029ccca5f006786"}, - {file = "python_bidi-0.6.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:617d4391b19969de725922a256599e8218fc9c1ef0ff85884f1698fff482a977"}, - {file = "python_bidi-0.6.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:81f418d54948542b21c03cd8ce622a480ead85fc53175a124c4562bdf55cec49"}, - {file = "python_bidi-0.6.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0999b77af58396cfd789c8d068bac78d2d51363265aaf1369622099be9e0eb32"}, - {file = "python_bidi-0.6.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f5a0e852e8451147d96876f8233a9db6ed28c914d9767a6696cbc899e7df00c2"}, - {file = "python_bidi-0.6.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:905e212b12c9edfaa3a916a3acd11426b89507ed0f31641257ad586467602e8d"}, - {file = "python_bidi-0.6.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:144adab8dc3a8560e294461114ce6dafec1a986cde6297994c1d31b3252f3298"}, - {file = "python_bidi-0.6.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abdbd5c265d64251798243d97228bb78441a1320fe3cf51c9a31191c56407839"}, - {file = "python_bidi-0.6.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:65f824a878a593121570ce3da847d3b9ac50521782c433996d7f81f770d3ed00"}, - {file = "python_bidi-0.6.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c7dcbc7eb70a0c7c66ed5219213ee2afcc815988cb9e4b134631579c4ae46980"}, - {file = "python_bidi-0.6.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ccbf53bc71a0a1b7f77524d1c2e51b245ae23a4f16afb80728071e21c187a768"}, - {file = "python_bidi-0.6.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:702527506ca97bf549710ce03d89a2577ebe35e34c42eaecfbacb0862ba06dc6"}, - {file = "python_bidi-0.6.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1563a8d9cfaeeeb5b4fc806f52a500b19893c63652bbd497dd6ed9def7b9ee8e"}, - {file = "python_bidi-0.6.3-cp313-none-win32.whl", hash = "sha256:f9b8e024eeaddecb4ca189e3199181985fab20c224db9a1f08db48b905c9905a"}, - {file = "python_bidi-0.6.3-cp313-none-win_amd64.whl", hash = "sha256:36b3fb05ef990613a81a23822246eaf6eef29af5182f8d8cdd174be13c92d1cc"}, - {file = "python_bidi-0.6.3-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:3ef3c351c19348133e78aa4a05bc939f9f11d53c6733c5e8ec160a9fd78c902f"}, - {file = "python_bidi-0.6.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f482f205a62c958273e40c20405141f18c2d0529abb22ba6aa440602655f43a7"}, - {file = "python_bidi-0.6.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:982f805714a5ee83b034b8ad6a27f37db994483b72657c7898053333737a5fe3"}, - {file = "python_bidi-0.6.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3ee410954d7dc7591106f9526c3ce9893a64345e69edf86d084fe8841e62bfa0"}, - {file = "python_bidi-0.6.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4d4a8917804a1c749e92aafb152d239cd25127cea0bb8710b99315266022009"}, - {file = "python_bidi-0.6.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:984cb68c5bc7980f9cc66ae2f9d06b7426445b7dfcce4d555ff04333c34d01a6"}, - {file = "python_bidi-0.6.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bedcbab3867227519e2dfee6c3ac26d7722ce6a048f5c72585cf83779b8e61f8"}, - {file = "python_bidi-0.6.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:eda3e04c6f54e0e44e55433da0fabab6776c69bcfb1965f09e4bb5b5b4446846"}, - {file = "python_bidi-0.6.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2825a720d9dbd8ff6158a458edfbdc55bfd3de3f8181a59c7126f78ef3e27b7b"}, - {file = "python_bidi-0.6.3-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:6b5f60865b4d10de024c35d9900efe371844da4a0cda1cb2a4bd35746ba69097"}, - {file = "python_bidi-0.6.3-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:9f859236e69250a0cc857968b8beef749ab4f7b29164cb9a8a3150d094c318fc"}, - {file = "python_bidi-0.6.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:282c60f86f30ba6263e10427fec528ab17dde97c7a6653c0187d8e2412dec6f4"}, - {file = "python_bidi-0.6.3-cp38-none-win32.whl", hash = "sha256:5d33d011d334795ff4d5d0de57457a980f76055a338ebabe558e795f9e0fbe63"}, - {file = "python_bidi-0.6.3-cp38-none-win_amd64.whl", hash = "sha256:535069329c12ea08ad6a3b38c48cba2d912a704dee25566e7a37f2b67be9fece"}, - {file = "python_bidi-0.6.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:d0945a3f116700ebc791911797096afe3e24953927b335c9c818f56475915aef"}, - {file = "python_bidi-0.6.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8eb231d9ab92bfd4a9b7e7282210f02d130d7935ec8cfb1d82d6d53fa858a3de"}, - {file = "python_bidi-0.6.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce288cb2af08d5242b034ce4e6936e540046a4c5fbccda72610ac67d8b06b5cc"}, - {file = "python_bidi-0.6.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:304094c931a9ca45a347fa31db9e01b9cbefd48a194950b1441f20ba24ff0d17"}, - {file = "python_bidi-0.6.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3df42de54d0f0daea931439abefc97da6c642d3665bcde510cd31689230777ff"}, - {file = "python_bidi-0.6.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fc5a29d459deb7ce923cf33283de15776fa8008c55b42e1eed5ba76980cc01f3"}, - {file = "python_bidi-0.6.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae862fc829ee747b30cce23353b2266c706376c9b1ebfea943d63731eb1a0cbd"}, - {file = "python_bidi-0.6.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a9419c87a7657b1b39497302461c7e501bbfd03442186083007e9a1627656871"}, - {file = "python_bidi-0.6.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d352154a636a243235260ecd8dcbd2b73e3e7d1f42c280fdb6802876152f1435"}, - {file = "python_bidi-0.6.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:04448d5355db4233da49c9f656b43b34fa0467f6b0c8ff766c1543eaed52f974"}, - {file = "python_bidi-0.6.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:07eb504fcefc9e9f416f03c089dce23b1ba79d0dd38e976f6f00944d8c708461"}, - {file = "python_bidi-0.6.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7e083f0e7391b5672f9e76393d8d111e1bf875f784ad3659776a4881440ebf1c"}, - {file = "python_bidi-0.6.3-cp39-none-win32.whl", hash = "sha256:a153364706cacaea4f97a63b3d5db780d56b66c0a64f1d202065d3863f782075"}, - {file = "python_bidi-0.6.3-cp39-none-win_amd64.whl", hash = "sha256:4be0d628b84c2a524d080c653726fba6e518432f33ac970db25c6366b9b71303"}, - {file = "python_bidi-0.6.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:28cd25ef6141a77e04a7fb6fef0a19cc307106f84a891777fcdd3306ae8cfc20"}, - {file = "python_bidi-0.6.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:e4eab3736a14b8d9daea3e8e638ca5a24051497152ba32fb08db9259dd77b858"}, - {file = "python_bidi-0.6.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78d12927cab0f6b8304f04c9ed72bc1a2880df8974d8596e40e7e596c6a98b2e"}, - {file = "python_bidi-0.6.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:440be542b334da05673bd94d53ba4922482b06fa3f4daca6c8fa7434afb33e8a"}, - {file = "python_bidi-0.6.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a9635ae0c9ee71b69f11cb6ab9523165c79fdb82ca53afb5afb0d401616fef80"}, - {file = "python_bidi-0.6.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ebac008620916b0c02623926fd80719f2e61e4fa9b626ed1e309a6818b57486"}, - {file = "python_bidi-0.6.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57bb5fd4d9ccad52584ce8ad1468ec2e5b535519840ab1debe05c7fe4d32b800"}, - {file = "python_bidi-0.6.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1caacb766872c54742cdb8a5c042bec1282c5a3144e4aeba6f8650ab8911d7f3"}, - {file = "python_bidi-0.6.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:584dd7c4617ea0ef39900ef7b06b8c61e6ce3ccb4b90c28ed28fa3bf770c5124"}, - {file = "python_bidi-0.6.3-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:a3bdc284cc4a1d70942ba0582b91853403c5ca7df79909b755be69089ecc5e17"}, - {file = "python_bidi-0.6.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:995ed295f2d9095facbef3025d79e209ec7ae1be0d1f385a49818edb2cb4421e"}, - {file = "python_bidi-0.6.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:a50d62f4f1e10682babd529d46e9e62236ff202d3025a223c17ead32035cb410"}, - {file = "python_bidi-0.6.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ea2898279afde47dcfec7a821abb54f7476e5584b655389aa731a50b90f8ea52"}, - {file = "python_bidi-0.6.3-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:fe9b6a33f281814dfbf12fe27f35b8780edd6da62ce2a034994f006d6d0184e7"}, - {file = "python_bidi-0.6.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:435579d0bf2a7e2f872bb5c7254fe89cddfdea6909ed6dc3e8af4ffe1f3f1f18"}, - {file = "python_bidi-0.6.3-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f8d76a8452c9fa1ece0a70a7be15a516861c3875bb621e125305d0141ceac8e3"}, - {file = "python_bidi-0.6.3-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fbf64f5e3f19913f63f34832c0ddef5ea6a772c5dda54907a949e804c20021e3"}, - {file = "python_bidi-0.6.3-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8e226a888e13c9cf1e9f0de0a2ff5c98a50561cada19c0b0c69c76343685ee54"}, - {file = "python_bidi-0.6.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:308ee73ffaa771048b1ccec37145a2735da9d67df55583c2fc2cb73d78e86a91"}, - {file = "python_bidi-0.6.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d85744ddcfeb207bbf6774b7e1a29af6e5e208ed5dbecc5853ec60ed8bc8242f"}, - {file = "python_bidi-0.6.3-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:40ab8bf2f528a28a70231ce4015d81aea6d8f0a0cdd2bdaf024e9e7849a5ee55"}, - {file = "python_bidi-0.6.3-pp38-pypy38_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:aa857199f9d797c615a92ae1dec90d443a50373caf7af2cf4e791714afc31b2a"}, - {file = "python_bidi-0.6.3-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:197fcd6cb88f021333622f83d7d68e842ab9e2df492ab04e1e84b6de8f15c698"}, - {file = "python_bidi-0.6.3-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:f832a45f05c15072edf473c6c3b9b164b25a2515f723d42c7400db848c299e59"}, - {file = "python_bidi-0.6.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3b2ee6cf7cadb5d5cc05eca4b8b55a433dab922633faf85b0d19ec2aeed9ad5b"}, - {file = "python_bidi-0.6.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:835b1d72364618fc8313bfdba2f65ce8e11bd9c1eab01fe9a3c3ec93063cb5b1"}, - {file = "python_bidi-0.6.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f92e0d6771d184bbb7b06645edb069c023f695de312bf78e35efe45e0da7f66"}, - {file = "python_bidi-0.6.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7a6a3e0e130a0db20c4808242470277045e921b414cd9f545cba67a8c17bb785"}, - {file = "python_bidi-0.6.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2b2ee73e0f799ed234ed52af258f77a72aca216477d3ef072c59303f1a938c9"}, - {file = "python_bidi-0.6.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:042d0ee4bb9286b605b252488501bdae6f5b249fe2422fb12e4884aa4dc316d1"}, - {file = "python_bidi-0.6.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa68ef8e955d0d63fe2d9aac4f8b8b9f47869bf98a8773c7322918312dbdd109"}, - {file = "python_bidi-0.6.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d07c491c2cede5b022356003070bc8e452a0dcf1d884db4a384e9a3383b9efd3"}, - {file = "python_bidi-0.6.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:6132d661a3bfac2b8cf0d301bcdd59c7cc3e2145ea090b75505816604d8118d5"}, - {file = "python_bidi-0.6.3-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:61b8a3dc229617b2f8c15165001babf4a199af9001087cad10ded14ec0a028d4"}, - {file = "python_bidi-0.6.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:5bcab7ac734c5102e90b0f41274b81bdcf55009b05aaa6a653320d63304f20a7"}, - {file = "python_bidi-0.6.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:44560c6abcf3a512e618b52b33bce3d053eaf020c0677d3b4512167715900e66"}, - {file = "python_bidi-0.6.3.tar.gz", hash = "sha256:e12114969001a328aea859f79efc30ab9c15241befb86e07029d8961d97fae36"}, +groups = ["main"] +files = [ + { file = "python_bidi-0.6.6-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:09d4da6b5851d0df01d7313a11d22f308fdfb0e12461f7262e0f55c521ccc0f1" }, + { file = "python_bidi-0.6.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:493a844891e23264411b01df58ba77d5dbb0045da3787f4195f50a56bfb847d9" }, + { file = "python_bidi-0.6.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a4f4c664b2594d2d6be6a31c9254e784d6d5c1b17edfdccb5f0fac317a1cd5e" }, + { file = "python_bidi-0.6.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b53b8b061b67908b5b436abede8c450c8d2fa965cb713d541688f552b4cfa3d3" }, + { file = "python_bidi-0.6.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b144a1b8766fa6a536cc0feb6fdd29d91af7a82a0c09d89db5fc0b79d5678d7d" }, + { file = "python_bidi-0.6.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:41fde9b4bb45c0e1b3283599e7539c82624ef8a8d3115da76b06160d923aab09" }, + { file = "python_bidi-0.6.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de020488c334c31916ee7526c1a867bf632516c1c2a0420d14d10b79f00761c7" }, + { file = "python_bidi-0.6.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:27cf629a0ef983a25cfd62c6238ee1e742e35552409d5c1b43f6d22945adc4c2" }, + { file = "python_bidi-0.6.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9a9de76229ac22cb6bd40b56a8f7f0c42cbdff985dbd14b65bac955acf070594" }, + { file = "python_bidi-0.6.6-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:2150ac84f7b15f00f8cd9e29fee7edb4639b7ed2cd9e3d23e2dfd83098f719b7" }, + { file = "python_bidi-0.6.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dc8b0566cef5277f127a80e7546b52393050e5a572f08a352ca220e3f94807cf" }, + { file = "python_bidi-0.6.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3564e574db1a0b3826ed6e646dc7206602189c31194d8da412007477ce653174" }, + { file = "python_bidi-0.6.6-cp310-cp310-win32.whl", hash = "sha256:92eb89f9d8aa0c877cb49fc6356c7f5566e819ea29306992e26be59a5ce468d7" }, + { file = "python_bidi-0.6.6-cp310-cp310-win_amd64.whl", hash = "sha256:1d627f8cfeba70fe4e0ec27b35615c938a483cbef2d9eb7e1e42400d2196019e" }, + { file = "python_bidi-0.6.6-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:da4949496e563b51f53ff34aad5a9f4c3aaf06f4180cf3bcb42bec649486c8f1" }, + { file = "python_bidi-0.6.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c48a755ca8ba3f2b242d6795d4a60e83ca580cc4fa270a3aaa8af05d93b7ba7f" }, + { file = "python_bidi-0.6.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76a1cd320993ba3e91a567e97f057a03f2c6b493096b3fff8b5630f51a38e7eb" }, + { file = "python_bidi-0.6.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e8bf3e396f9ebe8f4f81e92fa4c98c50160d60c58964b89c8ff4ee0c482befaa" }, + { file = "python_bidi-0.6.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2a49b506ed21f762ebf332de6de689bc4912e24dcc3b85f120b34e5f01e541a" }, + { file = "python_bidi-0.6.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3428331e7ce0d58c15b5a57e18a43a12e28f8733086066e6fd75b0ded80e1cae" }, + { file = "python_bidi-0.6.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:35adfb9fed3e72b9043a5c00b6ab69e4b33d53d2d8f8b9f60d4df700f77bc2c0" }, + { file = "python_bidi-0.6.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:589c5b24a8c4b5e07a1e97654020734bf16ed01a4353911ab663a37aaf1c281d" }, + { file = "python_bidi-0.6.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:994534e47260d712c3b3291a6ab55b46cdbfd78a879ef95d14b27bceebfd4049" }, + { file = "python_bidi-0.6.6-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:00622f54a80826a918b22a2d6d5481bb3f669147e17bac85c81136b6ffbe7c06" }, + { file = "python_bidi-0.6.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:965e6f2182e7b9352f2d79221f6c49502a307a9778d7d87d82dc36bb1ffecbab" }, + { file = "python_bidi-0.6.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:53d7d3a550d176df99dd0bb0cc2da16b40634f11c8b9f5715777441d679c0a62" }, + { file = "python_bidi-0.6.6-cp311-cp311-win32.whl", hash = "sha256:b271cd05cb40f47eb4600de79a8e47f8579d81ce35f5650b39b7860d018c3ece" }, + { file = "python_bidi-0.6.6-cp311-cp311-win_amd64.whl", hash = "sha256:4ff1eba0ff87e04bd35d7e164203ad6e5ce19f0bac0bdf673134c0b78d919608" }, + { file = "python_bidi-0.6.6-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:166060a31c10aa3ffadd52cf10a3c9c2b8d78d844e0f2c5801e2ed511d3ec316" }, + { file = "python_bidi-0.6.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8706addd827840c2c3b3a9963060d9b979b43801cc9be982efa9644facd3ed26" }, + { file = "python_bidi-0.6.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69c02316a4f72a168ea6f66b90d845086e2f2d2de6b08eb32c576db36582177c" }, + { file = "python_bidi-0.6.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a525bcb77b8edbfdcf8b199dbed24556e6d1436af8f5fa392f6cdc93ed79b4af" }, + { file = "python_bidi-0.6.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4bb186c8da4bdc953893504bba93f41d5b412fd767ba5661ff606f22950ec609" }, + { file = "python_bidi-0.6.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:25fa21b46dc80ac7099d2dee424b634eb1f76b2308d518e505a626c55cdbf7b1" }, + { file = "python_bidi-0.6.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b31f5562839e7ecea881ba337f9d39716e2e0e6b3ba395e824620ee5060050ff" }, + { file = "python_bidi-0.6.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fb750d3d5ac028e8afd62d000928a2110dbca012fee68b1a325a38caa03dc50b" }, + { file = "python_bidi-0.6.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8b5f648ee8e9f4ac0400f71e671934b39837d7031496e0edde867a303344d758" }, + { file = "python_bidi-0.6.6-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c4c0255940e6ff98fb05f9d5de3ffcaab7b60d821d4ca072b50c4f871b036562" }, + { file = "python_bidi-0.6.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e7e36601edda15e67527560b1c00108b0d27831260b6b251cf7c6dd110645c03" }, + { file = "python_bidi-0.6.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:07c9f000671b187319bacebb9e98d8b75005ccd16aa41b9d4411e66813c467bb" }, + { file = "python_bidi-0.6.6-cp312-cp312-win32.whl", hash = "sha256:57c0ca449a116c4f804422111b3345281c4e69c733c4556fa216644ec9907078" }, + { file = "python_bidi-0.6.6-cp312-cp312-win_amd64.whl", hash = "sha256:f60afe457a37bd908fdc7b520c07620b1a7cc006e08b6e3e70474025b4f5e5c7" }, + { file = "python_bidi-0.6.6-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:61cf12f6b7d0b9bb37838a5f045e6acbd91e838b57f0369c55319bb3969ffa4d" }, + { file = "python_bidi-0.6.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:33bd0ba5eedf18315a1475ac0f215b5134e48011b7320aedc2fb97df31d4e5bf" }, + { file = "python_bidi-0.6.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c9f798dd49b24bb1a9d90f065ef25c7bffa94c04c554f1fc02d0aea0a9b10b0" }, + { file = "python_bidi-0.6.6-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:43a0409570c618d93706dc875b1d33b4adfe67144f6f2ebeb32d85d8bbdb85ed" }, + { file = "python_bidi-0.6.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ada1aecd32773c61b16f7c9f74d9ec1b57ea433e2083e08ca387c5cd4b0ceaed" }, + { file = "python_bidi-0.6.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:125a815f2b20313a2f6d331aa84abdd07de7d270985b056e6729390a4cda90df" }, + { file = "python_bidi-0.6.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:183fee39bd2de787f632376bd5ba0d5f1daf6a09d3ebfaa211df25d62223e531" }, + { file = "python_bidi-0.6.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c4e08753d32d633f5ecb5eb02624272eeffaa6d5c6f4f9ddf012637bcaabfc0a" }, + { file = "python_bidi-0.6.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d1dcd7a82ae00b86821fce627e310791f56da90924f15877cfda844e340679de" }, + { file = "python_bidi-0.6.6-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:5506ba56380140b3cb3504029de014d21eb8874c5e081d88495f8775f6ed90bc" }, + { file = "python_bidi-0.6.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:207b0a7082ec38045910d37700a0dd73c10d4ffccb22a4fd0391d7e9ce241672" }, + { file = "python_bidi-0.6.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:686642a52acdeffb1d9a593a284d07b175c63877c596fa3ccceeb2649ced1dd8" }, + { file = "python_bidi-0.6.6-cp313-cp313-win32.whl", hash = "sha256:485f2ee109e7aa73efc165b90a6d90da52546801413540c08b7133fe729d5e0a" }, + { file = "python_bidi-0.6.6-cp313-cp313-win_amd64.whl", hash = "sha256:63f7a9eaec31078e7611ab958b6e18e796c05b63ca50c1f7298311dc1e15ac3e" }, + { file = "python_bidi-0.6.6-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:fe31aa2d2be1c79300bda36b1a3daf8c2dda963539e0c6eedeb9882fc8c15491" }, + { file = "python_bidi-0.6.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f1020fcd3c8f1b93091730e3e16810d3741cbf69c6bacaa9d6a95fb15032848f" }, + { file = "python_bidi-0.6.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd5b3aa43d5222f1deef9894356a42f2443486501405977cda3aad0f23e20f9d" }, + { file = "python_bidi-0.6.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6c84d901fad5fe3b58a329c0b4a5c9d93a2d5430d150ad41f0e1165fc75ff439" }, + { file = "python_bidi-0.6.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0c298868017614d6b7e0e31293775ebe6622e87009d95e1ecd0abdc1fa5228a2" }, + { file = "python_bidi-0.6.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:02255a04e26520b19081f7d378881b39050f5893e2fb4d65da81b849f58f4f76" }, + { file = "python_bidi-0.6.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1d3e139ca3963201994ee7f45d51dce6015166462cffa025daf95508547e503" }, + { file = "python_bidi-0.6.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e99e9ae745ba283f0230ac50af3f91657dd0b763778f88e4f0cbbc53b3e45d6e" }, + { file = "python_bidi-0.6.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:91c12d58cec15385817f8b2c7c56de8e37523f05926f2de0e59199d3e50e1516" }, + { file = "python_bidi-0.6.6-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:646e83862dadfee00b75c93a930015e9f1cb924b26c34319a75aef65fcb3ddfa" }, + { file = "python_bidi-0.6.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:fefea733a1acaaf0c0daba8ccd5e161b9419efb62d8f6f4c679c51ef754ee750" }, + { file = "python_bidi-0.6.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:b9498ead7f09eee272ff9c45900a8dcdc50a9558e126420a71d15774cc98bb44" }, + { file = "python_bidi-0.6.6-cp38-cp38-win32.whl", hash = "sha256:e4a6251e212f828bb10ea69e0aa6b92b54f00bf56526b490fe890ca5f4333ec1" }, + { file = "python_bidi-0.6.6-cp38-cp38-win_amd64.whl", hash = "sha256:53122c3492fe3df871eb682c17eb848e24aa702946622ab78141c7027775519f" }, + { file = "python_bidi-0.6.6-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:5351efb4e86281eb26c420066fade935cd670c0c0960edc323b80d0b94a0bc19" }, + { file = "python_bidi-0.6.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b8a83f28c104ef3b86ad60219d885b31728eb40c644f414f505068a6ecba3575" }, + { file = "python_bidi-0.6.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:825d15e547a9a2da5501966db672d6c8a5a063c041b2741ba32cc9775694b0ff" }, + { file = "python_bidi-0.6.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:82c7f6bb3dfc4f61aecb2290f1ea24bb2450a5cbc94ee8abe5d6278b67859e0b" }, + { file = "python_bidi-0.6.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e7edb0d1baf45c70384e700e10d723a13aabe116e14453cbf099eea4dd763e28" }, + { file = "python_bidi-0.6.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4ecfd1d0f6d2927eb2114b55a63b298766b85fc9f0c9aaacb4e8df3e0468538a" }, + { file = "python_bidi-0.6.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:534bc7c84159b6e4b777f5fb9122902d6e19223c4242f5b94417de1afcfe2fd9" }, + { file = "python_bidi-0.6.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:490f8fe09ed423bfe00531f215e3b87e6000b8170408a0ead6ea5626f644b1d1" }, + { file = "python_bidi-0.6.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7906229befa0cea2fe0278a934a27f657b68ce07a2606b1244f814a38b4ab42a" }, + { file = "python_bidi-0.6.6-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:2d139bab64962731b5288edb1b6db76060c5a5183187efa590499951cd230b02" }, + { file = "python_bidi-0.6.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:4eb3f28ca5e2f7238eaf67126c7634ec35603cbfbbe9b9b340ffee4a3314455f" }, + { file = "python_bidi-0.6.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:af828457e46b31542569b4391014e6645023f6144de1dabf9fce7e9683235c25" }, + { file = "python_bidi-0.6.6-cp39-cp39-win32.whl", hash = "sha256:691822fac1d6f3caf12e667dd8b41956485c78b211032747c5f97822ba208726" }, + { file = "python_bidi-0.6.6-cp39-cp39-win_amd64.whl", hash = "sha256:edae3dd8e595a40d3cdd6ff8b6d9f3860cd17f674792ea05bba5bf5f1b36e5ab" }, + { file = "python_bidi-0.6.6-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fd9bf9736269ad5cb0d215308fd44e1e02fe591cb9fbb7927d83492358c7ed5f" }, + { file = "python_bidi-0.6.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d941a6a8a7159982d904982cfe0feb0a794913c5592d8137ccae0d518b2575e4" }, + { file = "python_bidi-0.6.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0e715b500b09cefccaddb7087978dcd755443b9620aa1cc7b441824253cf2b8" }, + { file = "python_bidi-0.6.6-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4142467ec0caa063aca894ca8f1e8a4d9ca6834093c06b0ad5e7aa98dc801079" }, + { file = "python_bidi-0.6.6-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2f227ee564e0241e57269043bdfa13025d08d0919b349f5c686e8cfc0540dbf" }, + { file = "python_bidi-0.6.6-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:00081439e969c9d9d2ede8eccef4e91397f601931c4f02864edccb760c8f1db5" }, + { file = "python_bidi-0.6.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:804c74d070f4e85c6976e55cdbb3f4ead5ec5d7ea0cfad8f18f5464be5174ec9" }, + { file = "python_bidi-0.6.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0781c3c63b4bc3b37273de2076cb9b875436ae19be0ff04752914d02a4375790" }, + { file = "python_bidi-0.6.6-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:39eed023add8c53684f1de96cb72b4309cc4d412745f59b5d0dab48e6b88317b" }, + { file = "python_bidi-0.6.6-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:91a8cb8feac5d0042e2897042fe7bbbeab5dea1ab785f4b7d0c0bbbf6bc7aefd" }, + { file = "python_bidi-0.6.6-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a6ac2a3ec5ccc3736e29bb201f27bd33707bfde774d3d222826aa181552590b2" }, + { file = "python_bidi-0.6.6-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:6dfa55611022f95058bb7deb2ac20755ae8abbe1104f87515f561e4a56944ba1" }, + { file = "python_bidi-0.6.6-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a138a7607b459414431a5cdcf5834624d6f87911a8863b51dd363a1e2e5744ab" }, + { file = "python_bidi-0.6.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:3e17441d31a8665a44f5f42dba7646bbcd3c51ae6657dd019f6a7bb12618b12f" }, + { file = "python_bidi-0.6.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d395e537a34d59e776fcdf50a50786d1a82084849d55cf644f4969ef8156643" }, + { file = "python_bidi-0.6.6-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:471c1a5fcdbb3de47377d74a7f1017216d9464e5428ca4e66f863e49dca73393" }, + { file = "python_bidi-0.6.6-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6cc626d2f77cac470b3167a28d4975744f3d99f5eaf8f5c2048ac9c0b9cba9dc" }, + { file = "python_bidi-0.6.6-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87a5489189b0a852da0129df77f0cc8e874b7b1ab1f968a209d340477906f076" }, + { file = "python_bidi-0.6.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0eb12b724cc99853e0e0425b54c1c2219492486afaca106c827204b4189504db" }, + { file = "python_bidi-0.6.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82e0befbc1078a964c6b6f2f7a616ae8015b52fdcd2f03979abf0fb1f2f18b48" }, + { file = "python_bidi-0.6.6-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:6255ad385bb90aa39f8340967eef35657e52f8ed011773d37113cafa0ed5eefd" }, + { file = "python_bidi-0.6.6-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:c07e4d6d8c8f574aa135436207a37bba522443a8490b0ba720b54d343dfde1a7" }, + { file = "python_bidi-0.6.6-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:bbbcb28474b71e3ad05d8bd483348efe41fb7dfef6bd3046f3072baa0954d746" }, + { file = "python_bidi-0.6.6-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:b65b4105998436405a3e6bca60cbf9714f6a08099b16c0cf4752a4a3a70eb45b" }, + { file = "python_bidi-0.6.6.tar.gz", hash = "sha256:07db4c7da502593bd6e39c07b3a38733704070de0cbf92a7b7277b7be8867dd9" }, ] [package.extras] @@ -3411,6 +3819,7 @@ version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +groups = ["main", "dev"] files = [ {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, @@ -3425,6 +3834,7 @@ version = "1.1.2" description = "Create, read, and update Microsoft Word .docx files." optional = false python-versions = ">=3.7" +groups = ["main"] files = [ {file = "python_docx-1.1.2-py3-none-any.whl", hash = "sha256:08c20d6058916fb19853fcf080f7f42b6270d89eac9fa5f8c15f691c0017fabe"}, {file = "python_docx-1.1.2.tar.gz", hash = "sha256:0cf1f22e95b9002addca7948e16f2cd7acdfd498047f1941ca5d293db7762efd"}, @@ -3436,13 +3846,14 @@ typing-extensions = ">=4.9.0" [[package]] name = "python-dotenv" -version = "1.0.1" +version = "1.1.0" description = "Read key-value pairs from a .env file and set them as environment variables" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["main"] files = [ - {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, - {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, + { file = "python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d" }, + { file = "python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5" }, ] [package.extras] @@ -3454,6 +3865,7 @@ version = "3.15.0" description = "Interact with GitLab API" optional = false python-versions = ">=3.7.0" +groups = ["dev"] files = [ {file = "python-gitlab-3.15.0.tar.gz", hash = "sha256:c9e65eb7612a9fbb8abf0339972eca7fd7a73d4da66c9b446ffe528930aff534"}, {file = "python_gitlab-3.15.0-py3-none-any.whl", hash = "sha256:8f8d1c0d387f642eb1ac7bf5e8e0cd8b3dd49c6f34170cee3c7deb7d384611f3"}, @@ -3473,6 +3885,7 @@ version = "1.0.2" description = "Create, read, and update PowerPoint 2007+ (.pptx) files." optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "python_pptx-1.0.2-py3-none-any.whl", hash = "sha256:160838e0b8565a8b1f67947675886e9fea18aa5e795db7ae531606d68e785cba"}, {file = "python_pptx-1.0.2.tar.gz", hash = "sha256:479a8af0eaf0f0d76b6f00b0887732874ad2e3188230315290cd1f9dd9cc7095"}, @@ -3490,6 +3903,7 @@ version = "7.34.6" description = "Automatic Semantic Versioning for Python projects" optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "python-semantic-release-7.34.6.tar.gz", hash = "sha256:e9b8fb788024ae9510a924136d573588415a16eeca31cc5240f2754a80a2e831"}, {file = "python_semantic_release-7.34.6-py3-none-any.whl", hash = "sha256:7e3969ba4663d9b2087b02bf3ac140e202551377bf045c34e09bfe19753e19ab"}, @@ -3517,13 +3931,14 @@ test = ["coverage (>=5,<6)", "mock (==1.3.0)", "pytest (>=7,<8)", "pytest-mock ( [[package]] name = "pytz" -version = "2024.2" +version = "2025.2" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" +groups = ["main"] files = [ - {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, - {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, + { file = "pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00" }, + { file = "pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3" }, ] [[package]] @@ -3532,26 +3947,28 @@ version = "307" description = "Python for Window Extensions" optional = false python-versions = "*" -files = [ - {file = "pywin32-307-cp310-cp310-win32.whl", hash = "sha256:f8f25d893c1e1ce2d685ef6d0a481e87c6f510d0f3f117932781f412e0eba31b"}, - {file = "pywin32-307-cp310-cp310-win_amd64.whl", hash = "sha256:36e650c5e5e6b29b5d317385b02d20803ddbac5d1031e1f88d20d76676dd103d"}, - {file = "pywin32-307-cp310-cp310-win_arm64.whl", hash = "sha256:0c12d61e0274e0c62acee79e3e503c312426ddd0e8d4899c626cddc1cafe0ff4"}, - {file = "pywin32-307-cp311-cp311-win32.whl", hash = "sha256:fec5d27cc893178fab299de911b8e4d12c5954e1baf83e8a664311e56a272b75"}, - {file = "pywin32-307-cp311-cp311-win_amd64.whl", hash = "sha256:987a86971753ed7fdd52a7fb5747aba955b2c7fbbc3d8b76ec850358c1cc28c3"}, - {file = "pywin32-307-cp311-cp311-win_arm64.whl", hash = "sha256:fd436897c186a2e693cd0437386ed79f989f4d13d6f353f8787ecbb0ae719398"}, - {file = "pywin32-307-cp312-cp312-win32.whl", hash = "sha256:07649ec6b01712f36debf39fc94f3d696a46579e852f60157a729ac039df0815"}, - {file = "pywin32-307-cp312-cp312-win_amd64.whl", hash = "sha256:00d047992bb5dcf79f8b9b7c81f72e0130f9fe4b22df613f755ab1cc021d8347"}, - {file = "pywin32-307-cp312-cp312-win_arm64.whl", hash = "sha256:b53658acbfc6a8241d72cc09e9d1d666be4e6c99376bc59e26cdb6223c4554d2"}, - {file = "pywin32-307-cp313-cp313-win32.whl", hash = "sha256:ea4d56e48dc1ab2aa0a5e3c0741ad6e926529510516db7a3b6981a1ae74405e5"}, - {file = "pywin32-307-cp313-cp313-win_amd64.whl", hash = "sha256:576d09813eaf4c8168d0bfd66fb7cb3b15a61041cf41598c2db4a4583bf832d2"}, - {file = "pywin32-307-cp313-cp313-win_arm64.whl", hash = "sha256:b30c9bdbffda6a260beb2919f918daced23d32c79109412c2085cbc513338a0a"}, - {file = "pywin32-307-cp37-cp37m-win32.whl", hash = "sha256:5101472f5180c647d4525a0ed289ec723a26231550dbfd369ec19d5faf60e511"}, - {file = "pywin32-307-cp37-cp37m-win_amd64.whl", hash = "sha256:05de55a7c110478dc4b202230e98af5e0720855360d2b31a44bb4e296d795fba"}, - {file = "pywin32-307-cp38-cp38-win32.whl", hash = "sha256:13d059fb7f10792542082f5731d5d3d9645320fc38814759313e5ee97c3fac01"}, - {file = "pywin32-307-cp38-cp38-win_amd64.whl", hash = "sha256:7e0b2f93769d450a98ac7a31a087e07b126b6d571e8b4386a5762eb85325270b"}, - {file = "pywin32-307-cp39-cp39-win32.whl", hash = "sha256:55ee87f2f8c294e72ad9d4261ca423022310a6e79fb314a8ca76ab3f493854c6"}, - {file = "pywin32-307-cp39-cp39-win_amd64.whl", hash = "sha256:e9d5202922e74985b037c9ef46778335c102b74b95cec70f629453dbe7235d87"}, -] +groups = ["main", "dev"] +files = [ + { file = "pywin32-307-cp310-cp310-win32.whl", hash = "sha256:f8f25d893c1e1ce2d685ef6d0a481e87c6f510d0f3f117932781f412e0eba31b" }, + { file = "pywin32-307-cp310-cp310-win_amd64.whl", hash = "sha256:36e650c5e5e6b29b5d317385b02d20803ddbac5d1031e1f88d20d76676dd103d" }, + { file = "pywin32-307-cp310-cp310-win_arm64.whl", hash = "sha256:0c12d61e0274e0c62acee79e3e503c312426ddd0e8d4899c626cddc1cafe0ff4" }, + { file = "pywin32-307-cp311-cp311-win32.whl", hash = "sha256:fec5d27cc893178fab299de911b8e4d12c5954e1baf83e8a664311e56a272b75" }, + { file = "pywin32-307-cp311-cp311-win_amd64.whl", hash = "sha256:987a86971753ed7fdd52a7fb5747aba955b2c7fbbc3d8b76ec850358c1cc28c3" }, + { file = "pywin32-307-cp311-cp311-win_arm64.whl", hash = "sha256:fd436897c186a2e693cd0437386ed79f989f4d13d6f353f8787ecbb0ae719398" }, + { file = "pywin32-307-cp312-cp312-win32.whl", hash = "sha256:07649ec6b01712f36debf39fc94f3d696a46579e852f60157a729ac039df0815" }, + { file = "pywin32-307-cp312-cp312-win_amd64.whl", hash = "sha256:00d047992bb5dcf79f8b9b7c81f72e0130f9fe4b22df613f755ab1cc021d8347" }, + { file = "pywin32-307-cp312-cp312-win_arm64.whl", hash = "sha256:b53658acbfc6a8241d72cc09e9d1d666be4e6c99376bc59e26cdb6223c4554d2" }, + { file = "pywin32-307-cp313-cp313-win32.whl", hash = "sha256:ea4d56e48dc1ab2aa0a5e3c0741ad6e926529510516db7a3b6981a1ae74405e5" }, + { file = "pywin32-307-cp313-cp313-win_amd64.whl", hash = "sha256:576d09813eaf4c8168d0bfd66fb7cb3b15a61041cf41598c2db4a4583bf832d2" }, + { file = "pywin32-307-cp313-cp313-win_arm64.whl", hash = "sha256:b30c9bdbffda6a260beb2919f918daced23d32c79109412c2085cbc513338a0a" }, + { file = "pywin32-307-cp37-cp37m-win32.whl", hash = "sha256:5101472f5180c647d4525a0ed289ec723a26231550dbfd369ec19d5faf60e511" }, + { file = "pywin32-307-cp37-cp37m-win_amd64.whl", hash = "sha256:05de55a7c110478dc4b202230e98af5e0720855360d2b31a44bb4e296d795fba" }, + { file = "pywin32-307-cp38-cp38-win32.whl", hash = "sha256:13d059fb7f10792542082f5731d5d3d9645320fc38814759313e5ee97c3fac01" }, + { file = "pywin32-307-cp38-cp38-win_amd64.whl", hash = "sha256:7e0b2f93769d450a98ac7a31a087e07b126b6d571e8b4386a5762eb85325270b" }, + { file = "pywin32-307-cp39-cp39-win32.whl", hash = "sha256:55ee87f2f8c294e72ad9d4261ca423022310a6e79fb314a8ca76ab3f493854c6" }, + { file = "pywin32-307-cp39-cp39-win_amd64.whl", hash = "sha256:e9d5202922e74985b037c9ef46778335c102b74b95cec70f629453dbe7235d87" }, +] +markers = { main = "platform_system == \"Windows\" or sys_platform == \"win32\"", dev = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\"" } [[package]] name = "pywin32-ctypes" @@ -3559,6 +3976,8 @@ version = "0.2.3" description = "A (partial) reimplementation of pywin32 using ctypes/cffi" optional = false python-versions = ">=3.6" +groups = ["dev"] +markers = "sys_platform == \"win32\"" files = [ {file = "pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755"}, {file = "pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8"}, @@ -3570,6 +3989,7 @@ version = "6.0.2" description = "YAML parser and emitter for Python" optional = false python-versions = ">=3.8" +groups = ["main", "dev"] files = [ {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, @@ -3628,120 +4048,105 @@ files = [ [[package]] name = "pyzmq" -version = "26.2.0" +version = "26.4.0" description = "Python bindings for 0MQ" optional = false -python-versions = ">=3.7" -files = [ - {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629"}, - {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89289a5ee32ef6c439086184529ae060c741334b8970a6855ec0b6ad3ff28764"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5506f06d7dc6ecf1efacb4a013b1f05071bb24b76350832c96449f4a2d95091c"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ea039387c10202ce304af74def5021e9adc6297067f3441d348d2b633e8166a"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a2224fa4a4c2ee872886ed00a571f5e967c85e078e8e8c2530a2fb01b3309b88"}, - {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:28ad5233e9c3b52d76196c696e362508959741e1a005fb8fa03b51aea156088f"}, - {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1c17211bc037c7d88e85ed8b7d8f7e52db6dc8eca5590d162717c654550f7282"}, - {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b8f86dd868d41bea9a5f873ee13bf5551c94cf6bc51baebc6f85075971fe6eea"}, - {file = "pyzmq-26.2.0-cp310-cp310-win32.whl", hash = "sha256:46a446c212e58456b23af260f3d9fb785054f3e3653dbf7279d8f2b5546b21c2"}, - {file = "pyzmq-26.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:49d34ab71db5a9c292a7644ce74190b1dd5a3475612eefb1f8be1d6961441971"}, - {file = "pyzmq-26.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bfa832bfa540e5b5c27dcf5de5d82ebc431b82c453a43d141afb1e5d2de025fa"}, - {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:8f7e66c7113c684c2b3f1c83cdd3376103ee0ce4c49ff80a648643e57fb22218"}, - {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3a495b30fc91db2db25120df5847d9833af237546fd59170701acd816ccc01c4"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77eb0968da535cba0470a5165468b2cac7772cfb569977cff92e240f57e31bef"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ace4f71f1900a548f48407fc9be59c6ba9d9aaf658c2eea6cf2779e72f9f317"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a78853d7280bffb93df0a4a6a2498cba10ee793cc8076ef797ef2f74d107cf"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:689c5d781014956a4a6de61d74ba97b23547e431e9e7d64f27d4922ba96e9d6e"}, - {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0aca98bc423eb7d153214b2df397c6421ba6373d3397b26c057af3c904452e37"}, - {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f3496d76b89d9429a656293744ceca4d2ac2a10ae59b84c1da9b5165f429ad3"}, - {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5c2b3bfd4b9689919db068ac6c9911f3fcb231c39f7dd30e3138be94896d18e6"}, - {file = "pyzmq-26.2.0-cp311-cp311-win32.whl", hash = "sha256:eac5174677da084abf378739dbf4ad245661635f1600edd1221f150b165343f4"}, - {file = "pyzmq-26.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:5a509df7d0a83a4b178d0f937ef14286659225ef4e8812e05580776c70e155d5"}, - {file = "pyzmq-26.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0e6091b157d48cbe37bd67233318dbb53e1e6327d6fc3bb284afd585d141003"}, - {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9"}, - {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711"}, - {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6"}, - {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3"}, - {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b"}, - {file = "pyzmq-26.2.0-cp312-cp312-win32.whl", hash = "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7"}, - {file = "pyzmq-26.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a"}, - {file = "pyzmq-26.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b"}, - {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726"}, - {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b"}, - {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18"}, - {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115"}, - {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e"}, - {file = "pyzmq-26.2.0-cp313-cp313-win32.whl", hash = "sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5"}, - {file = "pyzmq-26.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad"}, - {file = "pyzmq-26.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797"}, - {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a"}, - {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386"}, - {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306"}, - {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6"}, - {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0"}, - {file = "pyzmq-26.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3b55a4229ce5da9497dd0452b914556ae58e96a4381bb6f59f1305dfd7e53fc8"}, - {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9cb3a6460cdea8fe8194a76de8895707e61ded10ad0be97188cc8463ffa7e3a8"}, - {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8ab5cad923cc95c87bffee098a27856c859bd5d0af31bd346035aa816b081fe1"}, - {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ed69074a610fad1c2fda66180e7b2edd4d31c53f2d1872bc2d1211563904cd9"}, - {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cccba051221b916a4f5e538997c45d7d136a5646442b1231b916d0164067ea27"}, - {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:0eaa83fc4c1e271c24eaf8fb083cbccef8fde77ec8cd45f3c35a9a123e6da097"}, - {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9edda2df81daa129b25a39b86cb57dfdfe16f7ec15b42b19bfac503360d27a93"}, - {file = "pyzmq-26.2.0-cp37-cp37m-win32.whl", hash = "sha256:ea0eb6af8a17fa272f7b98d7bebfab7836a0d62738e16ba380f440fceca2d951"}, - {file = "pyzmq-26.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4ff9dc6bc1664bb9eec25cd17506ef6672d506115095411e237d571e92a58231"}, - {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2eb7735ee73ca1b0d71e0e67c3739c689067f055c764f73aac4cc8ecf958ee3f"}, - {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a534f43bc738181aa7cbbaf48e3eca62c76453a40a746ab95d4b27b1111a7d2"}, - {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:aedd5dd8692635813368e558a05266b995d3d020b23e49581ddd5bbe197a8ab6"}, - {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8be4700cd8bb02cc454f630dcdf7cfa99de96788b80c51b60fe2fe1dac480289"}, - {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fcc03fa4997c447dce58264e93b5aa2d57714fbe0f06c07b7785ae131512732"}, - {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:402b190912935d3db15b03e8f7485812db350d271b284ded2b80d2e5704be780"}, - {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8685fa9c25ff00f550c1fec650430c4b71e4e48e8d852f7ddcf2e48308038640"}, - {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:76589c020680778f06b7e0b193f4b6dd66d470234a16e1df90329f5e14a171cd"}, - {file = "pyzmq-26.2.0-cp38-cp38-win32.whl", hash = "sha256:8423c1877d72c041f2c263b1ec6e34360448decfb323fa8b94e85883043ef988"}, - {file = "pyzmq-26.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:76589f2cd6b77b5bdea4fca5992dc1c23389d68b18ccc26a53680ba2dc80ff2f"}, - {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:b1d464cb8d72bfc1a3adc53305a63a8e0cac6bc8c5a07e8ca190ab8d3faa43c2"}, - {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4da04c48873a6abdd71811c5e163bd656ee1b957971db7f35140a2d573f6949c"}, - {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d049df610ac811dcffdc147153b414147428567fbbc8be43bb8885f04db39d98"}, - {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05590cdbc6b902101d0e65d6a4780af14dc22914cc6ab995d99b85af45362cc9"}, - {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c811cfcd6a9bf680236c40c6f617187515269ab2912f3d7e8c0174898e2519db"}, - {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6835dd60355593de10350394242b5757fbbd88b25287314316f266e24c61d073"}, - {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc6bee759a6bddea5db78d7dcd609397449cb2d2d6587f48f3ca613b19410cfc"}, - {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c530e1eecd036ecc83c3407f77bb86feb79916d4a33d11394b8234f3bd35b940"}, - {file = "pyzmq-26.2.0-cp39-cp39-win32.whl", hash = "sha256:367b4f689786fca726ef7a6c5ba606958b145b9340a5e4808132cc65759abd44"}, - {file = "pyzmq-26.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:e6fa2e3e683f34aea77de8112f6483803c96a44fd726d7358b9888ae5bb394ec"}, - {file = "pyzmq-26.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:7445be39143a8aa4faec43b076e06944b8f9d0701b669df4af200531b21e40bb"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:706e794564bec25819d21a41c31d4df2d48e1cc4b061e8d345d7fb4dd3e94072"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b435f2753621cd36e7c1762156815e21c985c72b19135dac43a7f4f31d28dd1"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160c7e0a5eb178011e72892f99f918c04a131f36056d10d9c1afb223fc952c2d"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4a71d5d6e7b28a47a394c0471b7e77a0661e2d651e7ae91e0cab0a587859ca"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:90412f2db8c02a3864cbfc67db0e3dcdbda336acf1c469526d3e869394fe001c"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2ea4ad4e6a12e454de05f2949d4beddb52460f3de7c8b9d5c46fbb7d7222e02c"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fc4f7a173a5609631bb0c42c23d12c49df3966f89f496a51d3eb0ec81f4519d6"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:878206a45202247781472a2d99df12a176fef806ca175799e1c6ad263510d57c"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17c412bad2eb9468e876f556eb4ee910e62d721d2c7a53c7fa31e643d35352e6"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:0d987a3ae5a71c6226b203cfd298720e0086c7fe7c74f35fa8edddfbd6597eed"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:39887ac397ff35b7b775db7201095fc6310a35fdbae85bac4523f7eb3b840e20"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fdb5b3e311d4d4b0eb8b3e8b4d1b0a512713ad7e6a68791d0923d1aec433d919"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:226af7dcb51fdb0109f0016449b357e182ea0ceb6b47dfb5999d569e5db161d5"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bed0e799e6120b9c32756203fb9dfe8ca2fb8467fed830c34c877e25638c3fc"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:29c7947c594e105cb9e6c466bace8532dc1ca02d498684128b339799f5248277"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f"}, - {file = "pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f"}, +python-versions = ">=3.8" +groups = ["dev"] +files = [ + { file = "pyzmq-26.4.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:0329bdf83e170ac133f44a233fc651f6ed66ef8e66693b5af7d54f45d1ef5918" }, + { file = "pyzmq-26.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:398a825d2dea96227cf6460ce0a174cf7657d6f6827807d4d1ae9d0f9ae64315" }, + { file = "pyzmq-26.4.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d52d62edc96787f5c1dfa6c6ccff9b581cfae5a70d94ec4c8da157656c73b5b" }, + { file = "pyzmq-26.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1410c3a3705db68d11eb2424d75894d41cff2f64d948ffe245dd97a9debfebf4" }, + { file = "pyzmq-26.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:7dacb06a9c83b007cc01e8e5277f94c95c453c5851aac5e83efe93e72226353f" }, + { file = "pyzmq-26.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6bab961c8c9b3a4dc94d26e9b2cdf84de9918931d01d6ff38c721a83ab3c0ef5" }, + { file = "pyzmq-26.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7a5c09413b924d96af2aa8b57e76b9b0058284d60e2fc3730ce0f979031d162a" }, + { file = "pyzmq-26.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7d489ac234d38e57f458fdbd12a996bfe990ac028feaf6f3c1e81ff766513d3b" }, + { file = "pyzmq-26.4.0-cp310-cp310-win32.whl", hash = "sha256:dea1c8db78fb1b4b7dc9f8e213d0af3fc8ecd2c51a1d5a3ca1cde1bda034a980" }, + { file = "pyzmq-26.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:fa59e1f5a224b5e04dc6c101d7186058efa68288c2d714aa12d27603ae93318b" }, + { file = "pyzmq-26.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:a651fe2f447672f4a815e22e74630b6b1ec3a1ab670c95e5e5e28dcd4e69bbb5" }, + { file = "pyzmq-26.4.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:bfcf82644c9b45ddd7cd2a041f3ff8dce4a0904429b74d73a439e8cab1bd9e54" }, + { file = "pyzmq-26.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9bcae3979b2654d5289d3490742378b2f3ce804b0b5fd42036074e2bf35b030" }, + { file = "pyzmq-26.4.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccdff8ac4246b6fb60dcf3982dfaeeff5dd04f36051fe0632748fc0aa0679c01" }, + { file = "pyzmq-26.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4550af385b442dc2d55ab7717837812799d3674cb12f9a3aa897611839c18e9e" }, + { file = "pyzmq-26.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:2f9f7ffe9db1187a253fca95191854b3fda24696f086e8789d1d449308a34b88" }, + { file = "pyzmq-26.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:3709c9ff7ba61589b7372923fd82b99a81932b592a5c7f1a24147c91da9a68d6" }, + { file = "pyzmq-26.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:f8f3c30fb2d26ae5ce36b59768ba60fb72507ea9efc72f8f69fa088450cff1df" }, + { file = "pyzmq-26.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:382a4a48c8080e273427fc692037e3f7d2851959ffe40864f2db32646eeb3cef" }, + { file = "pyzmq-26.4.0-cp311-cp311-win32.whl", hash = "sha256:d56aad0517d4c09e3b4f15adebba8f6372c5102c27742a5bdbfc74a7dceb8fca" }, + { file = "pyzmq-26.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:963977ac8baed7058c1e126014f3fe58b3773f45c78cce7af5c26c09b6823896" }, + { file = "pyzmq-26.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0c8e8cadc81e44cc5088fcd53b9b3b4ce9344815f6c4a03aec653509296fae3" }, + { file = "pyzmq-26.4.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:5227cb8da4b6f68acfd48d20c588197fd67745c278827d5238c707daf579227b" }, + { file = "pyzmq-26.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1c07a7fa7f7ba86554a2b1bef198c9fed570c08ee062fd2fd6a4dcacd45f905" }, + { file = "pyzmq-26.4.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae775fa83f52f52de73183f7ef5395186f7105d5ed65b1ae65ba27cb1260de2b" }, + { file = "pyzmq-26.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66c760d0226ebd52f1e6b644a9e839b5db1e107a23f2fcd46ec0569a4fdd4e63" }, + { file = "pyzmq-26.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:ef8c6ecc1d520debc147173eaa3765d53f06cd8dbe7bd377064cdbc53ab456f5" }, + { file = "pyzmq-26.4.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3150ef4084e163dec29ae667b10d96aad309b668fac6810c9e8c27cf543d6e0b" }, + { file = "pyzmq-26.4.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4448c9e55bf8329fa1dcedd32f661bf611214fa70c8e02fee4347bc589d39a84" }, + { file = "pyzmq-26.4.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e07dde3647afb084d985310d067a3efa6efad0621ee10826f2cb2f9a31b89d2f" }, + { file = "pyzmq-26.4.0-cp312-cp312-win32.whl", hash = "sha256:ba034a32ecf9af72adfa5ee383ad0fd4f4e38cdb62b13624278ef768fe5b5b44" }, + { file = "pyzmq-26.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:056a97aab4064f526ecb32f4343917a4022a5d9efb6b9df990ff72e1879e40be" }, + { file = "pyzmq-26.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:2f23c750e485ce1eb639dbd576d27d168595908aa2d60b149e2d9e34c9df40e0" }, + { file = "pyzmq-26.4.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:c43fac689880f5174d6fc864857d1247fe5cfa22b09ed058a344ca92bf5301e3" }, + { file = "pyzmq-26.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:902aca7eba477657c5fb81c808318460328758e8367ecdd1964b6330c73cae43" }, + { file = "pyzmq-26.4.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5e48a830bfd152fe17fbdeaf99ac5271aa4122521bf0d275b6b24e52ef35eb6" }, + { file = "pyzmq-26.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31be2b6de98c824c06f5574331f805707c667dc8f60cb18580b7de078479891e" }, + { file = "pyzmq-26.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:6332452034be001bbf3206ac59c0d2a7713de5f25bb38b06519fc6967b7cf771" }, + { file = "pyzmq-26.4.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:da8c0f5dd352136853e6a09b1b986ee5278dfddfebd30515e16eae425c872b30" }, + { file = "pyzmq-26.4.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:f4ccc1a0a2c9806dda2a2dd118a3b7b681e448f3bb354056cad44a65169f6d86" }, + { file = "pyzmq-26.4.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:1c0b5fceadbab461578daf8d1dcc918ebe7ddd2952f748cf30c7cf2de5d51101" }, + { file = "pyzmq-26.4.0-cp313-cp313-win32.whl", hash = "sha256:28e2b0ff5ba4b3dd11062d905682bad33385cfa3cc03e81abd7f0822263e6637" }, + { file = "pyzmq-26.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:23ecc9d241004c10e8b4f49d12ac064cd7000e1643343944a10df98e57bc544b" }, + { file = "pyzmq-26.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:1edb0385c7f025045d6e0f759d4d3afe43c17a3d898914ec6582e6f464203c08" }, + { file = "pyzmq-26.4.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:93a29e882b2ba1db86ba5dd5e88e18e0ac6b627026c5cfbec9983422011b82d4" }, + { file = "pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb45684f276f57110bb89e4300c00f1233ca631f08f5f42528a5c408a79efc4a" }, + { file = "pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f72073e75260cb301aad4258ad6150fa7f57c719b3f498cb91e31df16784d89b" }, + { file = "pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be37e24b13026cfedd233bcbbccd8c0bcd2fdd186216094d095f60076201538d" }, + { file = "pyzmq-26.4.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:237b283044934d26f1eeff4075f751b05d2f3ed42a257fc44386d00df6a270cf" }, + { file = "pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:b30f862f6768b17040929a68432c8a8be77780317f45a353cb17e423127d250c" }, + { file = "pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:c80fcd3504232f13617c6ab501124d373e4895424e65de8b72042333316f64a8" }, + { file = "pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:26a2a7451606b87f67cdeca2c2789d86f605da08b4bd616b1a9981605ca3a364" }, + { file = "pyzmq-26.4.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:831cc53bf6068d46d942af52fa8b0b9d128fb39bcf1f80d468dc9a3ae1da5bfb" }, + { file = "pyzmq-26.4.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:51d18be6193c25bd229524cfac21e39887c8d5e0217b1857998dfbef57c070a4" }, + { file = "pyzmq-26.4.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:445c97854204119ae2232503585ebb4fa7517142f71092cb129e5ee547957a1f" }, + { file = "pyzmq-26.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:807b8f4ad3e6084412c0f3df0613269f552110fa6fb91743e3e306223dbf11a6" }, + { file = "pyzmq-26.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c01d109dd675ac47fa15c0a79d256878d898f90bc10589f808b62d021d2e653c" }, + { file = "pyzmq-26.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0a294026e28679a8dd64c922e59411cb586dad307661b4d8a5c49e7bbca37621" }, + { file = "pyzmq-26.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:22c8dd677274af8dfb1efd05006d6f68fb2f054b17066e308ae20cb3f61028cf" }, + { file = "pyzmq-26.4.0-cp38-cp38-win32.whl", hash = "sha256:14fc678b696bc42c14e2d7f86ac4e97889d5e6b94d366ebcb637a768d2ad01af" }, + { file = "pyzmq-26.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:d1ef0a536662bbbdc8525f7e2ef19e74123ec9c4578e0582ecd41aedc414a169" }, + { file = "pyzmq-26.4.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:a88643de8abd000ce99ca72056a1a2ae15881ee365ecb24dd1d9111e43d57842" }, + { file = "pyzmq-26.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0a744ce209ecb557406fb928f3c8c55ce79b16c3eeb682da38ef5059a9af0848" }, + { file = "pyzmq-26.4.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9434540f333332224ecb02ee6278b6c6f11ea1266b48526e73c903119b2f420f" }, + { file = "pyzmq-26.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6c6f0a23e55cd38d27d4c89add963294ea091ebcb104d7fdab0f093bc5abb1c" }, + { file = "pyzmq-26.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6145df55dc2309f6ef72d70576dcd5aabb0fd373311613fe85a5e547c722b780" }, + { file = "pyzmq-26.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2ea81823840ef8c56e5d2f9918e4d571236294fea4d1842b302aebffb9e40997" }, + { file = "pyzmq-26.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cc2abc385dc37835445abe206524fbc0c9e3fce87631dfaa90918a1ba8f425eb" }, + { file = "pyzmq-26.4.0-cp39-cp39-win32.whl", hash = "sha256:41a2508fe7bed4c76b4cf55aacfb8733926f59d440d9ae2b81ee8220633b4d12" }, + { file = "pyzmq-26.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:d4000e8255d6cbce38982e5622ebb90823f3409b7ffe8aeae4337ef7d6d2612a" }, + { file = "pyzmq-26.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:b4f6919d9c120488246bdc2a2f96662fa80d67b35bd6d66218f457e722b3ff64" }, + { file = "pyzmq-26.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:98d948288ce893a2edc5ec3c438fe8de2daa5bbbd6e2e865ec5f966e237084ba" }, + { file = "pyzmq-26.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9f34f5c9e0203ece706a1003f1492a56c06c0632d86cb77bcfe77b56aacf27b" }, + { file = "pyzmq-26.4.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80c9b48aef586ff8b698359ce22f9508937c799cc1d2c9c2f7c95996f2300c94" }, + { file = "pyzmq-26.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3f2a5b74009fd50b53b26f65daff23e9853e79aa86e0aa08a53a7628d92d44a" }, + { file = "pyzmq-26.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:61c5f93d7622d84cb3092d7f6398ffc77654c346545313a3737e266fc11a3beb" }, + { file = "pyzmq-26.4.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4478b14cb54a805088299c25a79f27eaf530564a7a4f72bf432a040042b554eb" }, + { file = "pyzmq-26.4.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a28ac29c60e4ba84b5f58605ace8ad495414a724fe7aceb7cf06cd0598d04e1" }, + { file = "pyzmq-26.4.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43b03c1ceea27c6520124f4fb2ba9c647409b9abdf9a62388117148a90419494" }, + { file = "pyzmq-26.4.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7731abd23a782851426d4e37deb2057bf9410848a4459b5ede4fe89342e687a9" }, + { file = "pyzmq-26.4.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:a222ad02fbe80166b0526c038776e8042cd4e5f0dec1489a006a1df47e9040e0" }, + { file = "pyzmq-26.4.0-pp38-pypy38_pp73-macosx_10_15_x86_64.whl", hash = "sha256:91c3ffaea475ec8bb1a32d77ebc441dcdd13cd3c4c284a6672b92a0f5ade1917" }, + { file = "pyzmq-26.4.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d9a78a52668bf5c9e7b0da36aa5760a9fc3680144e1445d68e98df78a25082ed" }, + { file = "pyzmq-26.4.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b70cab356ff8c860118b89dc86cd910c73ce2127eb986dada4fbac399ef644cf" }, + { file = "pyzmq-26.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:acae207d4387780838192326b32d373bb286da0b299e733860e96f80728eb0af" }, + { file = "pyzmq-26.4.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:f928eafd15794aa4be75463d537348b35503c1e014c5b663f206504ec1a90fe4" }, + { file = "pyzmq-26.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:552b0d2e39987733e1e9e948a0ced6ff75e0ea39ab1a1db2fc36eb60fd8760db" }, + { file = "pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd670a8aa843f2ee637039bbd412e0d7294a5e588e1ecc9ad98b0cdc050259a4" }, + { file = "pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d367b7b775a0e1e54a59a2ba3ed4d5e0a31566af97cc9154e34262777dab95ed" }, + { file = "pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112af16c406e4a93df2caef49f884f4c2bb2b558b0b5577ef0b2465d15c1abc" }, + { file = "pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c76c298683f82669cab0b6da59071f55238c039738297c69f187a542c6d40099" }, + { file = "pyzmq-26.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:49b6ca2e625b46f499fb081aaf7819a177f41eeb555acb05758aa97f4f95d147" }, + { file = "pyzmq-26.4.0.tar.gz", hash = "sha256:4bd13f85f80962f91a651a7356fe0472791a5f7a92f227822b5acf44795c626d" }, ] [package.dependencies] @@ -3753,6 +4158,7 @@ version = "44.0" description = "readme_renderer is a library for rendering readme descriptions for Warehouse" optional = false python-versions = ">=3.9" +groups = ["dev"] files = [ {file = "readme_renderer-44.0-py3-none-any.whl", hash = "sha256:2fbca89b81a08526aadf1357a8c2ae889ec05fb03f5da67f9769c9a592166151"}, {file = "readme_renderer-44.0.tar.gz", hash = "sha256:8712034eabbfa6805cacf1402b4eeb2a73028f72d1166d6f5cb7f9c047c5d1e1"}, @@ -3768,18 +4174,20 @@ md = ["cmarkgfm (>=0.8.0)"] [[package]] name = "referencing" -version = "0.35.1" +version = "0.36.2" description = "JSON Referencing + Python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["main"] files = [ - {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, - {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, + { file = "referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0" }, + { file = "referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" }, ] [package.dependencies] attrs = ">=22.2.0" rpds-py = ">=0.7.0" +typing-extensions = { version = ">=4.4.0", markers = "python_version < \"3.13\"" } [[package]] name = "regex" @@ -3787,6 +4195,7 @@ version = "2024.11.6" description = "Alternative regular expression module, to replace re." optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91"}, {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0"}, @@ -3890,6 +4299,7 @@ version = "2.32.3" description = "Python HTTP for Humans." optional = false python-versions = ">=3.8" +groups = ["main", "dev"] files = [ {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, @@ -3911,6 +4321,7 @@ version = "1.0.0" description = "A utility belt for advanced users of python-requests" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +groups = ["dev"] files = [ {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, @@ -3925,6 +4336,7 @@ version = "2.0.0" description = "Validating URI References per RFC 3986" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd"}, {file = "rfc3986-2.0.0.tar.gz", hash = "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c"}, @@ -3939,9 +4351,10 @@ version = "13.9.4" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.8.0" +groups = ["main"] files = [ - {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"}, - {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"}, + { file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90" }, + { file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098" }, ] [package.dependencies] @@ -3954,157 +4367,171 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "rpds-py" -version = "0.22.3" +version = "0.24.0" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.9" -files = [ - {file = "rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967"}, - {file = "rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf"}, - {file = "rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652"}, - {file = "rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8"}, - {file = "rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f"}, - {file = "rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a"}, - {file = "rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64"}, - {file = "rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c"}, - {file = "rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e"}, - {file = "rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7"}, - {file = "rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627"}, - {file = "rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4"}, - {file = "rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84"}, - {file = "rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f"}, - {file = "rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de"}, - {file = "rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9"}, - {file = "rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333"}, - {file = "rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730"}, - {file = "rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf"}, - {file = "rpds_py-0.22.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:378753b4a4de2a7b34063d6f95ae81bfa7b15f2c1a04a9518e8644e81807ebea"}, - {file = "rpds_py-0.22.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3445e07bf2e8ecfeef6ef67ac83de670358abf2996916039b16a218e3d95e97e"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b2513ba235829860b13faa931f3b6846548021846ac808455301c23a101689d"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eaf16ae9ae519a0e237a0f528fd9f0197b9bb70f40263ee57ae53c2b8d48aeb3"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:583f6a1993ca3369e0f80ba99d796d8e6b1a3a2a442dd4e1a79e652116413091"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4617e1915a539a0d9a9567795023de41a87106522ff83fbfaf1f6baf8e85437e"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c150c7a61ed4a4f4955a96626574e9baf1adf772c2fb61ef6a5027e52803543"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fa4331c200c2521512595253f5bb70858b90f750d39b8cbfd67465f8d1b596d"}, - {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:214b7a953d73b5e87f0ebece4a32a5bd83c60a3ecc9d4ec8f1dca968a2d91e99"}, - {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f47ad3d5f3258bd7058d2d506852217865afefe6153a36eb4b6928758041d831"}, - {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f276b245347e6e36526cbd4a266a417796fc531ddf391e43574cf6466c492520"}, - {file = "rpds_py-0.22.3-cp39-cp39-win32.whl", hash = "sha256:bbb232860e3d03d544bc03ac57855cd82ddf19c7a07651a7c0fdb95e9efea8b9"}, - {file = "rpds_py-0.22.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfbc454a2880389dbb9b5b398e50d439e2e58669160f27b60e5eca11f68ae17c"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bb47271f60660803ad11f4c61b42242b8c1312a31c98c578f79ef9387bbde21c"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:70fb28128acbfd264eda9bf47015537ba3fe86e40d046eb2963d75024be4d055"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44d61b4b7d0c2c9ac019c314e52d7cbda0ae31078aabd0f22e583af3e0d79723"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f0e260eaf54380380ac3808aa4ebe2d8ca28b9087cf411649f96bad6900c728"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b25bc607423935079e05619d7de556c91fb6adeae9d5f80868dde3468657994b"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fb6116dfb8d1925cbdb52595560584db42a7f664617a1f7d7f6e32f138cdf37d"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a63cbdd98acef6570c62b92a1e43266f9e8b21e699c363c0fef13bd530799c11"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b8f60e1b739a74bab7e01fcbe3dddd4657ec685caa04681df9d562ef15b625f"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2e8b55d8517a2fda8d95cb45d62a5a8bbf9dd0ad39c5b25c8833efea07b880ca"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:2de29005e11637e7a2361fa151f780ff8eb2543a0da1413bb951e9f14b699ef3"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:666ecce376999bf619756a24ce15bb14c5bfaf04bf00abc7e663ce17c3f34fe7"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5246b14ca64a8675e0a7161f7af68fe3e910e6b90542b4bfb5439ba752191df6"}, - {file = "rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d"}, +groups = ["main"] +files = [ + { file = "rpds_py-0.24.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:006f4342fe729a368c6df36578d7a348c7c716be1da0a1a0f86e3021f8e98724" }, + { file = "rpds_py-0.24.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2d53747da70a4e4b17f559569d5f9506420966083a31c5fbd84e764461c4444b" }, + { file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8acd55bd5b071156bae57b555f5d33697998752673b9de554dd82f5b5352727" }, + { file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7e80d375134ddb04231a53800503752093dbb65dad8dabacce2c84cccc78e964" }, + { file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:60748789e028d2a46fc1c70750454f83c6bdd0d05db50f5ae83e2db500b34da5" }, + { file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6e1daf5bf6c2be39654beae83ee6b9a12347cb5aced9a29eecf12a2d25fff664" }, + { file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b221c2457d92a1fb3c97bee9095c874144d196f47c038462ae6e4a14436f7bc" }, + { file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:66420986c9afff67ef0c5d1e4cdc2d0e5262f53ad11e4f90e5e22448df485bf0" }, + { file = "rpds_py-0.24.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:43dba99f00f1d37b2a0265a259592d05fcc8e7c19d140fe51c6e6f16faabeb1f" }, + { file = "rpds_py-0.24.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a88c0d17d039333a41d9bf4616bd062f0bd7aa0edeb6cafe00a2fc2a804e944f" }, + { file = "rpds_py-0.24.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc31e13ce212e14a539d430428cd365e74f8b2d534f8bc22dd4c9c55b277b875" }, + { file = "rpds_py-0.24.0-cp310-cp310-win32.whl", hash = "sha256:fc2c1e1b00f88317d9de6b2c2b39b012ebbfe35fe5e7bef980fd2a91f6100a07" }, + { file = "rpds_py-0.24.0-cp310-cp310-win_amd64.whl", hash = "sha256:c0145295ca415668420ad142ee42189f78d27af806fcf1f32a18e51d47dd2052" }, + { file = "rpds_py-0.24.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:2d3ee4615df36ab8eb16c2507b11e764dcc11fd350bbf4da16d09cda11fcedef" }, + { file = "rpds_py-0.24.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e13ae74a8a3a0c2f22f450f773e35f893484fcfacb00bb4344a7e0f4f48e1f97" }, + { file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf86f72d705fc2ef776bb7dd9e5fbba79d7e1f3e258bf9377f8204ad0fc1c51e" }, + { file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c43583ea8517ed2e780a345dd9960896afc1327e8cf3ac8239c167530397440d" }, + { file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4cd031e63bc5f05bdcda120646a0d32f6d729486d0067f09d79c8db5368f4586" }, + { file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:34d90ad8c045df9a4259c47d2e16a3f21fdb396665c94520dbfe8766e62187a4" }, + { file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e838bf2bb0b91ee67bf2b889a1a841e5ecac06dd7a2b1ef4e6151e2ce155c7ae" }, + { file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04ecf5c1ff4d589987b4d9882872f80ba13da7d42427234fce8f22efb43133bc" }, + { file = "rpds_py-0.24.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:630d3d8ea77eabd6cbcd2ea712e1c5cecb5b558d39547ac988351195db433f6c" }, + { file = "rpds_py-0.24.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ebcb786b9ff30b994d5969213a8430cbb984cdd7ea9fd6df06663194bd3c450c" }, + { file = "rpds_py-0.24.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:174e46569968ddbbeb8a806d9922f17cd2b524aa753b468f35b97ff9c19cb718" }, + { file = "rpds_py-0.24.0-cp311-cp311-win32.whl", hash = "sha256:5ef877fa3bbfb40b388a5ae1cb00636a624690dcb9a29a65267054c9ea86d88a" }, + { file = "rpds_py-0.24.0-cp311-cp311-win_amd64.whl", hash = "sha256:e274f62cbd274359eff63e5c7e7274c913e8e09620f6a57aae66744b3df046d6" }, + { file = "rpds_py-0.24.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:d8551e733626afec514b5d15befabea0dd70a343a9f23322860c4f16a9430205" }, + { file = "rpds_py-0.24.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0e374c0ce0ca82e5b67cd61fb964077d40ec177dd2c4eda67dba130de09085c7" }, + { file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d69d003296df4840bd445a5d15fa5b6ff6ac40496f956a221c4d1f6f7b4bc4d9" }, + { file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8212ff58ac6dfde49946bea57474a386cca3f7706fc72c25b772b9ca4af6b79e" }, + { file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:528927e63a70b4d5f3f5ccc1fa988a35456eb5d15f804d276709c33fc2f19bda" }, + { file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a824d2c7a703ba6daaca848f9c3d5cb93af0505be505de70e7e66829affd676e" }, + { file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44d51febb7a114293ffd56c6cf4736cb31cd68c0fddd6aa303ed09ea5a48e029" }, + { file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3fab5f4a2c64a8fb64fc13b3d139848817a64d467dd6ed60dcdd6b479e7febc9" }, + { file = "rpds_py-0.24.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9be4f99bee42ac107870c61dfdb294d912bf81c3c6d45538aad7aecab468b6b7" }, + { file = "rpds_py-0.24.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:564c96b6076a98215af52f55efa90d8419cc2ef45d99e314fddefe816bc24f91" }, + { file = "rpds_py-0.24.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:75a810b7664c17f24bf2ffd7f92416c00ec84b49bb68e6a0d93e542406336b56" }, + { file = "rpds_py-0.24.0-cp312-cp312-win32.whl", hash = "sha256:f6016bd950be4dcd047b7475fdf55fb1e1f59fc7403f387be0e8123e4a576d30" }, + { file = "rpds_py-0.24.0-cp312-cp312-win_amd64.whl", hash = "sha256:998c01b8e71cf051c28f5d6f1187abbdf5cf45fc0efce5da6c06447cba997034" }, + { file = "rpds_py-0.24.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:3d2d8e4508e15fc05b31285c4b00ddf2e0eb94259c2dc896771966a163122a0c" }, + { file = "rpds_py-0.24.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0f00c16e089282ad68a3820fd0c831c35d3194b7cdc31d6e469511d9bffc535c" }, + { file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:951cc481c0c395c4a08639a469d53b7d4afa252529a085418b82a6b43c45c240" }, + { file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c9ca89938dff18828a328af41ffdf3902405a19f4131c88e22e776a8e228c5a8" }, + { file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed0ef550042a8dbcd657dfb284a8ee00f0ba269d3f2286b0493b15a5694f9fe8" }, + { file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b2356688e5d958c4d5cb964af865bea84db29971d3e563fb78e46e20fe1848b" }, + { file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78884d155fd15d9f64f5d6124b486f3d3f7fd7cd71a78e9670a0f6f6ca06fb2d" }, + { file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6a4a535013aeeef13c5532f802708cecae8d66c282babb5cd916379b72110cf7" }, + { file = "rpds_py-0.24.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:84e0566f15cf4d769dade9b366b7b87c959be472c92dffb70462dd0844d7cbad" }, + { file = "rpds_py-0.24.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:823e74ab6fbaa028ec89615ff6acb409e90ff45580c45920d4dfdddb069f2120" }, + { file = "rpds_py-0.24.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c61a2cb0085c8783906b2f8b1f16a7e65777823c7f4d0a6aaffe26dc0d358dd9" }, + { file = "rpds_py-0.24.0-cp313-cp313-win32.whl", hash = "sha256:60d9b630c8025b9458a9d114e3af579a2c54bd32df601c4581bd054e85258143" }, + { file = "rpds_py-0.24.0-cp313-cp313-win_amd64.whl", hash = "sha256:6eea559077d29486c68218178ea946263b87f1c41ae7f996b1f30a983c476a5a" }, + { file = "rpds_py-0.24.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:d09dc82af2d3c17e7dd17120b202a79b578d79f2b5424bda209d9966efeed114" }, + { file = "rpds_py-0.24.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5fc13b44de6419d1e7a7e592a4885b323fbc2f46e1f22151e3a8ed3b8b920405" }, + { file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c347a20d79cedc0a7bd51c4d4b7dbc613ca4e65a756b5c3e57ec84bd43505b47" }, + { file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:20f2712bd1cc26a3cc16c5a1bfee9ed1abc33d4cdf1aabd297fe0eb724df4272" }, + { file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aad911555286884be1e427ef0dc0ba3929e6821cbeca2194b13dc415a462c7fd" }, + { file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0aeb3329c1721c43c58cae274d7d2ca85c1690d89485d9c63a006cb79a85771a" }, + { file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a0f156e9509cee987283abd2296ec816225145a13ed0391df8f71bf1d789e2d" }, + { file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa6800adc8204ce898c8a424303969b7aa6a5e4ad2789c13f8648739830323b7" }, + { file = "rpds_py-0.24.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a18fc371e900a21d7392517c6f60fe859e802547309e94313cd8181ad9db004d" }, + { file = "rpds_py-0.24.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:9168764133fd919f8dcca2ead66de0105f4ef5659cbb4fa044f7014bed9a1797" }, + { file = "rpds_py-0.24.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5f6e3cec44ba05ee5cbdebe92d052f69b63ae792e7d05f1020ac5e964394080c" }, + { file = "rpds_py-0.24.0-cp313-cp313t-win32.whl", hash = "sha256:8ebc7e65ca4b111d928b669713865f021b7773350eeac4a31d3e70144297baba" }, + { file = "rpds_py-0.24.0-cp313-cp313t-win_amd64.whl", hash = "sha256:675269d407a257b8c00a6b58205b72eec8231656506c56fd429d924ca00bb350" }, + { file = "rpds_py-0.24.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a36b452abbf29f68527cf52e181fced56685731c86b52e852053e38d8b60bc8d" }, + { file = "rpds_py-0.24.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8b3b397eefecec8e8e39fa65c630ef70a24b09141a6f9fc17b3c3a50bed6b50e" }, + { file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdabcd3beb2a6dca7027007473d8ef1c3b053347c76f685f5f060a00327b8b65" }, + { file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5db385bacd0c43f24be92b60c857cf760b7f10d8234f4bd4be67b5b20a7c0b6b" }, + { file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8097b3422d020ff1c44effc40ae58e67d93e60d540a65649d2cdaf9466030791" }, + { file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:493fe54318bed7d124ce272fc36adbf59d46729659b2c792e87c3b95649cdee9" }, + { file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8aa362811ccdc1f8dadcc916c6d47e554169ab79559319ae9fae7d7752d0d60c" }, + { file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d8f9a6e7fd5434817526815f09ea27f2746c4a51ee11bb3439065f5fc754db58" }, + { file = "rpds_py-0.24.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8205ee14463248d3349131bb8099efe15cd3ce83b8ef3ace63c7e976998e7124" }, + { file = "rpds_py-0.24.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:921ae54f9ecba3b6325df425cf72c074cd469dea843fb5743a26ca7fb2ccb149" }, + { file = "rpds_py-0.24.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:32bab0a56eac685828e00cc2f5d1200c548f8bc11f2e44abf311d6b548ce2e45" }, + { file = "rpds_py-0.24.0-cp39-cp39-win32.whl", hash = "sha256:f5c0ed12926dec1dfe7d645333ea59cf93f4d07750986a586f511c0bc61fe103" }, + { file = "rpds_py-0.24.0-cp39-cp39-win_amd64.whl", hash = "sha256:afc6e35f344490faa8276b5f2f7cbf71f88bc2cda4328e00553bd451728c571f" }, + { file = "rpds_py-0.24.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:619ca56a5468f933d940e1bf431c6f4e13bef8e688698b067ae68eb4f9b30e3a" }, + { file = "rpds_py-0.24.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:4b28e5122829181de1898c2c97f81c0b3246d49f585f22743a1246420bb8d399" }, + { file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e5ab32cf9eb3647450bc74eb201b27c185d3857276162c101c0f8c6374e098" }, + { file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:208b3a70a98cf3710e97cabdc308a51cd4f28aa6e7bb11de3d56cd8b74bab98d" }, + { file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbc4362e06f950c62cad3d4abf1191021b2ffaf0b31ac230fbf0526453eee75e" }, + { file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ebea2821cdb5f9fef44933617be76185b80150632736f3d76e54829ab4a3b4d1" }, + { file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9a4df06c35465ef4d81799999bba810c68d29972bf1c31db61bfdb81dd9d5bb" }, + { file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d3aa13bdf38630da298f2e0d77aca967b200b8cc1473ea05248f6c5e9c9bdb44" }, + { file = "rpds_py-0.24.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:041f00419e1da7a03c46042453598479f45be3d787eb837af382bfc169c0db33" }, + { file = "rpds_py-0.24.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:d8754d872a5dfc3c5bf9c0e059e8107451364a30d9fd50f1f1a85c4fb9481164" }, + { file = "rpds_py-0.24.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:896c41007931217a343eff197c34513c154267636c8056fb409eafd494c3dcdc" }, + { file = "rpds_py-0.24.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:92558d37d872e808944c3c96d0423b8604879a3d1c86fdad508d7ed91ea547d5" }, + { file = "rpds_py-0.24.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f9e0057a509e096e47c87f753136c9b10d7a91842d8042c2ee6866899a717c0d" }, + { file = "rpds_py-0.24.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d6e109a454412ab82979c5b1b3aee0604eca4bbf9a02693bb9df027af2bfa91a" }, + { file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc1c892b1ec1f8cbd5da8de287577b455e388d9c328ad592eabbdcb6fc93bee5" }, + { file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9c39438c55983d48f4bb3487734d040e22dad200dab22c41e331cee145e7a50d" }, + { file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d7e8ce990ae17dda686f7e82fd41a055c668e13ddcf058e7fb5e9da20b57793" }, + { file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9ea7f4174d2e4194289cb0c4e172d83e79a6404297ff95f2875cf9ac9bced8ba" }, + { file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb2954155bb8f63bb19d56d80e5e5320b61d71084617ed89efedb861a684baea" }, + { file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04f2b712a2206e13800a8136b07aaedc23af3facab84918e7aa89e4be0260032" }, + { file = "rpds_py-0.24.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:eda5c1e2a715a4cbbca2d6d304988460942551e4e5e3b7457b50943cd741626d" }, + { file = "rpds_py-0.24.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:9abc80fe8c1f87218db116016de575a7998ab1629078c90840e8d11ab423ee25" }, + { file = "rpds_py-0.24.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:6a727fd083009bc83eb83d6950f0c32b3c94c8b80a9b667c87f4bd1274ca30ba" }, + { file = "rpds_py-0.24.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e0f3ef95795efcd3b2ec3fe0a5bcfb5dadf5e3996ea2117427e524d4fbf309c6" }, + { file = "rpds_py-0.24.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:2c13777ecdbbba2077670285dd1fe50828c8742f6a4119dbef6f83ea13ad10fb" }, + { file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79e8d804c2ccd618417e96720ad5cd076a86fa3f8cb310ea386a3e6229bae7d1" }, + { file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fd822f019ccccd75c832deb7aa040bb02d70a92eb15a2f16c7987b7ad4ee8d83" }, + { file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0047638c3aa0dbcd0ab99ed1e549bbf0e142c9ecc173b6492868432d8989a046" }, + { file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a5b66d1b201cc71bc3081bc2f1fc36b0c1f268b773e03bbc39066651b9e18391" }, + { file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbcbb6db5582ea33ce46a5d20a5793134b5365110d84df4e30b9d37c6fd40ad3" }, + { file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:63981feca3f110ed132fd217bf7768ee8ed738a55549883628ee3da75bb9cb78" }, + { file = "rpds_py-0.24.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:3a55fc10fdcbf1a4bd3c018eea422c52cf08700cf99c28b5cb10fe97ab77a0d3" }, + { file = "rpds_py-0.24.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:c30ff468163a48535ee7e9bf21bd14c7a81147c0e58a36c1078289a8ca7af0bd" }, + { file = "rpds_py-0.24.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:369d9c6d4c714e36d4a03957b4783217a3ccd1e222cdd67d464a3a479fc17796" }, + { file = "rpds_py-0.24.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:24795c099453e3721fda5d8ddd45f5dfcc8e5a547ce7b8e9da06fecc3832e26f" }, + { file = "rpds_py-0.24.0.tar.gz", hash = "sha256:772cc1b2cd963e7e17e6cc55fe0371fb9c704d63e44cacec7b9b7f523b78919e" }, ] [[package]] name = "rtree" -version = "1.3.0" +version = "1.4.0" description = "R-Tree spatial index for Python GIS" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["main"] files = [ - {file = "Rtree-1.3.0-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:80879d9db282a2273ca3a0d896c84583940e9777477727a277624ebfd424c517"}, - {file = "Rtree-1.3.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:4328e9e421797c347e6eb08efbbade962fe3664ebd60c1dffe82c40911b1e125"}, - {file = "Rtree-1.3.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:037130d3ce1fc029de81941ec416ba5546f66228380ba19bb41f2ea1294e8423"}, - {file = "Rtree-1.3.0-py3-none-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:864a05d0c3b7ce6c5e34378b7ab630057603b79179368bc50624258bdf2ff631"}, - {file = "Rtree-1.3.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ec2ed6d1635753dab966e68f592a9c4896f3f4ec6ad2b09b776d592eacd883a9"}, - {file = "Rtree-1.3.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:b4485fb3e5c5e85b94a95f0a930a3848e040d2699cfb012940ba5b0130f1e09a"}, - {file = "Rtree-1.3.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:7e2e9211f4fb404c06a08fd2cbebb03234214f73c51913bb371c3d9954e99cc9"}, - {file = "Rtree-1.3.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:c021f4772b25cc24915da8073e553ded6fa8d0b317caa4202255ed26b2344c1c"}, - {file = "Rtree-1.3.0-py3-none-win_amd64.whl", hash = "sha256:97f835801d24c10bbf02381abe5e327345c8296ec711dde7658792376abafc66"}, - {file = "rtree-1.3.0.tar.gz", hash = "sha256:b36e9dd2dc60ffe3d02e367242d2c26f7281b00e1aaf0c39590442edaaadd916"}, + { file = "rtree-1.4.0-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:4d1bebc418101480aabf41767e772dd2155d3b27b1376cccbd93e4509485e091" }, + { file = "rtree-1.4.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:997f8c38d5dffa3949ea8adb4c8b291ea5cd4ef5ee69455d642dd171baf9991d" }, + { file = "rtree-1.4.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0133d9c54ab3ffe874ba6d411dbe0254765c5e68d92da5b91362c370f16fd997" }, + { file = "rtree-1.4.0-py3-none-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:d3b7bf1fe6463139377995ebe22a01a7005d134707f43672a3c09305e12f5f43" }, + { file = "rtree-1.4.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:27e4a6d617d63dcb82fcd4c2856134b8a3741bd1af3b1a0d98e886054f394da5" }, + { file = "rtree-1.4.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:5258e826064eab82439760201e9421ce6d4340789d6d080c1b49367ddd03f61f" }, + { file = "rtree-1.4.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:20d5b3f9cf8bbbcc9fec42ab837c603c5dd86103ef29134300c8da2495c1248b" }, + { file = "rtree-1.4.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:a67bee1233370a4c72c0969a96d2a1df1ba404ddd9f146849c53ab420eab361b" }, + { file = "rtree-1.4.0-py3-none-win_amd64.whl", hash = "sha256:ba83efc7b7563905b1bfdfc14490c4bfb59e92e5e6156bdeb6ec5df5117252f4" }, + { file = "rtree-1.4.0.tar.gz", hash = "sha256:9d97c7c5dcf25f6c0599c76d9933368c6a8d7238f2c1d00e76f1a69369ca82a0" }, ] [[package]] name = "safetensors" -version = "0.5.2" +version = "0.5.3" description = "" optional = false python-versions = ">=3.7" -files = [ - {file = "safetensors-0.5.2-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:45b6092997ceb8aa3801693781a71a99909ab9cc776fbc3fa9322d29b1d3bef2"}, - {file = "safetensors-0.5.2-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:6d0d6a8ee2215a440e1296b843edf44fd377b055ba350eaba74655a2fe2c4bae"}, - {file = "safetensors-0.5.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:86016d40bcaa3bcc9a56cd74d97e654b5f4f4abe42b038c71e4f00a089c4526c"}, - {file = "safetensors-0.5.2-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:990833f70a5f9c7d3fc82c94507f03179930ff7d00941c287f73b6fcbf67f19e"}, - {file = "safetensors-0.5.2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dfa7c2f3fe55db34eba90c29df94bcdac4821043fc391cb5d082d9922013869"}, - {file = "safetensors-0.5.2-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:46ff2116150ae70a4e9c490d2ab6b6e1b1b93f25e520e540abe1b81b48560c3a"}, - {file = "safetensors-0.5.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ab696dfdc060caffb61dbe4066b86419107a24c804a4e373ba59be699ebd8d5"}, - {file = "safetensors-0.5.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:03c937100f38c9ff4c1507abea9928a6a9b02c9c1c9c3609ed4fb2bf413d4975"}, - {file = "safetensors-0.5.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:a00e737948791b94dad83cf0eafc09a02c4d8c2171a239e8c8572fe04e25960e"}, - {file = "safetensors-0.5.2-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:d3a06fae62418ec8e5c635b61a8086032c9e281f16c63c3af46a6efbab33156f"}, - {file = "safetensors-0.5.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:1506e4c2eda1431099cebe9abf6c76853e95d0b7a95addceaa74c6019c65d8cf"}, - {file = "safetensors-0.5.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5c5b5d9da594f638a259fca766046f44c97244cc7ab8bef161b3e80d04becc76"}, - {file = "safetensors-0.5.2-cp38-abi3-win32.whl", hash = "sha256:fe55c039d97090d1f85277d402954dd6ad27f63034fa81985a9cc59655ac3ee2"}, - {file = "safetensors-0.5.2-cp38-abi3-win_amd64.whl", hash = "sha256:78abdddd03a406646107f973c7843276e7b64e5e32623529dc17f3d94a20f589"}, - {file = "safetensors-0.5.2.tar.gz", hash = "sha256:cb4a8d98ba12fa016f4241932b1fc5e702e5143f5374bba0bbcf7ddc1c4cf2b8"}, +groups = ["main"] +files = [ + { file = "safetensors-0.5.3-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:bd20eb133db8ed15b40110b7c00c6df51655a2998132193de2f75f72d99c7073" }, + { file = "safetensors-0.5.3-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:21d01c14ff6c415c485616b8b0bf961c46b3b343ca59110d38d744e577f9cce7" }, + { file = "safetensors-0.5.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11bce6164887cd491ca75c2326a113ba934be596e22b28b1742ce27b1d076467" }, + { file = "safetensors-0.5.3-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4a243be3590bc3301c821da7a18d87224ef35cbd3e5f5727e4e0728b8172411e" }, + { file = "safetensors-0.5.3-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8bd84b12b1670a6f8e50f01e28156422a2bc07fb16fc4e98bded13039d688a0d" }, + { file = "safetensors-0.5.3-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:391ac8cab7c829452175f871fcaf414aa1e292b5448bd02620f675a7f3e7abb9" }, + { file = "safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cead1fa41fc54b1e61089fa57452e8834f798cb1dc7a09ba3524f1eb08e0317a" }, + { file = "safetensors-0.5.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1077f3e94182d72618357b04b5ced540ceb71c8a813d3319f1aba448e68a770d" }, + { file = "safetensors-0.5.3-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:799021e78287bac619c7b3f3606730a22da4cda27759ddf55d37c8db7511c74b" }, + { file = "safetensors-0.5.3-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:df26da01aaac504334644e1b7642fa000bfec820e7cef83aeac4e355e03195ff" }, + { file = "safetensors-0.5.3-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:32c3ef2d7af8b9f52ff685ed0bc43913cdcde135089ae322ee576de93eae5135" }, + { file = "safetensors-0.5.3-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:37f1521be045e56fc2b54c606d4455573e717b2d887c579ee1dbba5f868ece04" }, + { file = "safetensors-0.5.3-cp38-abi3-win32.whl", hash = "sha256:cfc0ec0846dcf6763b0ed3d1846ff36008c6e7290683b61616c4b040f6a54ace" }, + { file = "safetensors-0.5.3-cp38-abi3-win_amd64.whl", hash = "sha256:836cbbc320b47e80acd40e44c8682db0e8ad7123209f69b093def21ec7cafd11" }, + { file = "safetensors-0.5.3.tar.gz", hash = "sha256:b6b0d6ecacec39a4fdd99cc19f4576f5219ce858e6fd8dbe7609df0b8dc56965" }, ] [package.dependencies] @@ -4130,6 +4557,8 @@ version = "0.24.0" description = "Image processing in Python" optional = false python-versions = ">=3.9" +groups = ["main"] +markers = "python_version == \"3.9\"" files = [ {file = "scikit_image-0.24.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cb3bc0264b6ab30b43c4179ee6156bc18b4861e78bb329dd8d16537b7bbf827a"}, {file = "scikit_image-0.24.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:9c7a52e20cdd760738da38564ba1fed7942b623c0317489af1a598a8dedf088b"}, @@ -4167,17 +4596,70 @@ tifffile = ">=2022.8.12" [package.extras] build = ["Cython (>=3.0.4)", "build", "meson-python (>=0.15)", "ninja", "numpy (>=2.0.0rc1)", "packaging (>=21)", "pythran", "setuptools (>=67)", "spin (==0.8)", "wheel"] data = ["pooch (>=1.6.0)"] -developer = ["ipython", "pre-commit", "tomli"] +developer = ["ipython", "pre-commit", "tomli ; python_version < \"3.11\""] docs = ["PyWavelets (>=1.1.1)", "dask[array] (>=2022.9.2)", "ipykernel", "ipywidgets", "kaleido", "matplotlib (>=3.6)", "myst-parser", "numpydoc (>=1.7)", "pandas (>=1.5)", "plotly (>=5.10)", "pooch (>=1.6)", "pydata-sphinx-theme (>=0.15.2)", "pytest-doctestplus", "pytest-runner", "scikit-learn (>=1.1)", "seaborn (>=0.11)", "sphinx (>=7.3)", "sphinx-copybutton", "sphinx-gallery (>=0.14)", "sphinx_design (>=0.5)", "tifffile (>=2022.8.12)"] optional = ["PyWavelets (>=1.1.1)", "SimpleITK", "astropy (>=5.0)", "cloudpickle (>=0.2.1)", "dask[array] (>=2021.1.0)", "matplotlib (>=3.6)", "pooch (>=1.6.0)", "pyamg", "scikit-learn (>=1.1)"] test = ["asv", "numpydoc (>=1.7)", "pooch (>=1.6.0)", "pytest (>=7.0)", "pytest-cov (>=2.11.0)", "pytest-doctestplus", "pytest-faulthandler", "pytest-localserver"] +[[package]] +name = "scikit-image" +version = "0.25.2" +description = "Image processing in Python" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "python_version >= \"3.10\"" +files = [ + { file = "scikit_image-0.25.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d3278f586793176599df6a4cf48cb6beadae35c31e58dc01a98023af3dc31c78" }, + { file = "scikit_image-0.25.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:5c311069899ce757d7dbf1d03e32acb38bb06153236ae77fcd820fd62044c063" }, + { file = "scikit_image-0.25.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be455aa7039a6afa54e84f9e38293733a2622b8c2fb3362b822d459cc5605e99" }, + { file = "scikit_image-0.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a4c464b90e978d137330be433df4e76d92ad3c5f46a22f159520ce0fdbea8a09" }, + { file = "scikit_image-0.25.2-cp310-cp310-win_amd64.whl", hash = "sha256:60516257c5a2d2f74387c502aa2f15a0ef3498fbeaa749f730ab18f0a40fd054" }, + { file = "scikit_image-0.25.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f4bac9196fb80d37567316581c6060763b0f4893d3aca34a9ede3825bc035b17" }, + { file = "scikit_image-0.25.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d989d64ff92e0c6c0f2018c7495a5b20e2451839299a018e0e5108b2680f71e0" }, + { file = "scikit_image-0.25.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2cfc96b27afe9a05bc92f8c6235321d3a66499995675b27415e0d0c76625173" }, + { file = "scikit_image-0.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24cc986e1f4187a12aa319f777b36008764e856e5013666a4a83f8df083c2641" }, + { file = "scikit_image-0.25.2-cp311-cp311-win_amd64.whl", hash = "sha256:b4f6b61fc2db6340696afe3db6b26e0356911529f5f6aee8c322aa5157490c9b" }, + { file = "scikit_image-0.25.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8db8dd03663112783221bf01ccfc9512d1cc50ac9b5b0fe8f4023967564719fb" }, + { file = "scikit_image-0.25.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:483bd8cc10c3d8a7a37fae36dfa5b21e239bd4ee121d91cad1f81bba10cfb0ed" }, + { file = "scikit_image-0.25.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d1e80107bcf2bf1291acfc0bf0425dceb8890abe9f38d8e94e23497cbf7ee0d" }, + { file = "scikit_image-0.25.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a17e17eb8562660cc0d31bb55643a4da996a81944b82c54805c91b3fe66f4824" }, + { file = "scikit_image-0.25.2-cp312-cp312-win_amd64.whl", hash = "sha256:bdd2b8c1de0849964dbc54037f36b4e9420157e67e45a8709a80d727f52c7da2" }, + { file = "scikit_image-0.25.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7efa888130f6c548ec0439b1a7ed7295bc10105458a421e9bf739b457730b6da" }, + { file = "scikit_image-0.25.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:dd8011efe69c3641920614d550f5505f83658fe33581e49bed86feab43a180fc" }, + { file = "scikit_image-0.25.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28182a9d3e2ce3c2e251383bdda68f8d88d9fff1a3ebe1eb61206595c9773341" }, + { file = "scikit_image-0.25.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8abd3c805ce6944b941cfed0406d88faeb19bab3ed3d4b50187af55cf24d147" }, + { file = "scikit_image-0.25.2-cp313-cp313-win_amd64.whl", hash = "sha256:64785a8acefee460ec49a354706db0b09d1f325674107d7fa3eadb663fb56d6f" }, + { file = "scikit_image-0.25.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:330d061bd107d12f8d68f1d611ae27b3b813b8cdb0300a71d07b1379178dd4cd" }, + { file = "scikit_image-0.25.2.tar.gz", hash = "sha256:e5a37e6cd4d0c018a7a55b9d601357e3382826d3888c10d0213fc63bff977dde" }, +] + +[package.dependencies] +imageio = ">=2.33,<2.35.0 || >2.35.0" +lazy-loader = ">=0.4" +networkx = ">=3.0" +numpy = ">=1.24" +packaging = ">=21" +pillow = ">=10.1" +scipy = ">=1.11.4" +tifffile = ">=2022.8.12" + +[package.extras] +build = ["Cython (>=3.0.8)", "build (>=1.2.1)", "meson-python (>=0.16)", "ninja (>=1.11.1.1)", "numpy (>=2.0)", "pythran (>=0.16)", "spin (==0.13)"] +data = ["pooch (>=1.6.0)"] +developer = ["ipython", "pre-commit", "tomli ; python_version < \"3.11\""] +docs = ["PyWavelets (>=1.6)", "dask[array] (>=2023.2.0)", "intersphinx-registry (>=0.2411.14)", "ipykernel", "ipywidgets", "kaleido (==0.2.1)", "matplotlib (>=3.7)", "myst-parser", "numpydoc (>=1.7)", "pandas (>=2.0)", "plotly (>=5.20)", "pooch (>=1.6)", "pydata-sphinx-theme (>=0.16)", "pytest-doctestplus", "scikit-learn (>=1.2)", "seaborn (>=0.11)", "sphinx (>=8.0)", "sphinx-copybutton", "sphinx-gallery[parallel] (>=0.18)", "sphinx_design (>=0.5)", "tifffile (>=2022.8.12)"] +optional = ["PyWavelets (>=1.6)", "SimpleITK", "astropy (>=5.0)", "cloudpickle (>=1.1.1)", "dask[array] (>=2023.2.0)", "matplotlib (>=3.7)", "pooch (>=1.6.0)", "pyamg (>=5.2)", "scikit-learn (>=1.2)"] +test = ["asv", "numpydoc (>=1.7)", "pooch (>=1.6.0)", "pytest (>=8)", "pytest-cov (>=2.11.0)", "pytest-doctestplus", "pytest-faulthandler", "pytest-localserver"] + [[package]] name = "scipy" version = "1.13.1" description = "Fundamental algorithms for scientific computing in Python" optional = false python-versions = ">=3.9" +groups = ["main"] +markers = "python_version == \"3.9\"" files = [ {file = "scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca"}, {file = "scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f"}, @@ -4214,12 +4696,79 @@ dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy", "pycodestyle", "pyde doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.12.0)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0)", "sphinx-design (>=0.4.0)"] test = ["array-api-strict", "asv", "gmpy2", "hypothesis (>=6.30)", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] +[[package]] +name = "scipy" +version = "1.15.2" +description = "Fundamental algorithms for scientific computing in Python" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "python_version >= \"3.10\"" +files = [ + { file = "scipy-1.15.2-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:a2ec871edaa863e8213ea5df811cd600734f6400b4af272e1c011e69401218e9" }, + { file = "scipy-1.15.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:6f223753c6ea76983af380787611ae1291e3ceb23917393079dcc746ba60cfb5" }, + { file = "scipy-1.15.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:ecf797d2d798cf7c838c6d98321061eb3e72a74710e6c40540f0e8087e3b499e" }, + { file = "scipy-1.15.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:9b18aa747da280664642997e65aab1dd19d0c3d17068a04b3fe34e2559196cb9" }, + { file = "scipy-1.15.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87994da02e73549dfecaed9e09a4f9d58a045a053865679aeb8d6d43747d4df3" }, + { file = "scipy-1.15.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69ea6e56d00977f355c0f84eba69877b6df084516c602d93a33812aa04d90a3d" }, + { file = "scipy-1.15.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:888307125ea0c4466287191e5606a2c910963405ce9671448ff9c81c53f85f58" }, + { file = "scipy-1.15.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9412f5e408b397ff5641080ed1e798623dbe1ec0d78e72c9eca8992976fa65aa" }, + { file = "scipy-1.15.2-cp310-cp310-win_amd64.whl", hash = "sha256:b5e025e903b4f166ea03b109bb241355b9c42c279ea694d8864d033727205e65" }, + { file = "scipy-1.15.2-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:92233b2df6938147be6fa8824b8136f29a18f016ecde986666be5f4d686a91a4" }, + { file = "scipy-1.15.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:62ca1ff3eb513e09ed17a5736929429189adf16d2d740f44e53270cc800ecff1" }, + { file = "scipy-1.15.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:4c6676490ad76d1c2894d77f976144b41bd1a4052107902238047fb6a473e971" }, + { file = "scipy-1.15.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:a8bf5cb4a25046ac61d38f8d3c3426ec11ebc350246a4642f2f315fe95bda655" }, + { file = "scipy-1.15.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a8e34cf4c188b6dd004654f88586d78f95639e48a25dfae9c5e34a6dc34547e" }, + { file = "scipy-1.15.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28a0d2c2075946346e4408b211240764759e0fabaeb08d871639b5f3b1aca8a0" }, + { file = "scipy-1.15.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:42dabaaa798e987c425ed76062794e93a243be8f0f20fff6e7a89f4d61cb3d40" }, + { file = "scipy-1.15.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6f5e296ec63c5da6ba6fa0343ea73fd51b8b3e1a300b0a8cae3ed4b1122c7462" }, + { file = "scipy-1.15.2-cp311-cp311-win_amd64.whl", hash = "sha256:597a0c7008b21c035831c39927406c6181bcf8f60a73f36219b69d010aa04737" }, + { file = "scipy-1.15.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c4697a10da8f8765bb7c83e24a470da5797e37041edfd77fd95ba3811a47c4fd" }, + { file = "scipy-1.15.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:869269b767d5ee7ea6991ed7e22b3ca1f22de73ab9a49c44bad338b725603301" }, + { file = "scipy-1.15.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:bad78d580270a4d32470563ea86c6590b465cb98f83d760ff5b0990cb5518a93" }, + { file = "scipy-1.15.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:b09ae80010f52efddb15551025f9016c910296cf70adbf03ce2a8704f3a5ad20" }, + { file = "scipy-1.15.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a6fd6eac1ce74a9f77a7fc724080d507c5812d61e72bd5e4c489b042455865e" }, + { file = "scipy-1.15.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b871df1fe1a3ba85d90e22742b93584f8d2b8e6124f8372ab15c71b73e428b8" }, + { file = "scipy-1.15.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:03205d57a28e18dfd39f0377d5002725bf1f19a46f444108c29bdb246b6c8a11" }, + { file = "scipy-1.15.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:601881dfb761311045b03114c5fe718a12634e5608c3b403737ae463c9885d53" }, + { file = "scipy-1.15.2-cp312-cp312-win_amd64.whl", hash = "sha256:e7c68b6a43259ba0aab737237876e5c2c549a031ddb7abc28c7b47f22e202ded" }, + { file = "scipy-1.15.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01edfac9f0798ad6b46d9c4c9ca0e0ad23dbf0b1eb70e96adb9fa7f525eff0bf" }, + { file = "scipy-1.15.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:08b57a9336b8e79b305a143c3655cc5bdbe6d5ece3378578888d2afbb51c4e37" }, + { file = "scipy-1.15.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:54c462098484e7466362a9f1672d20888f724911a74c22ae35b61f9c5919183d" }, + { file = "scipy-1.15.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:cf72ff559a53a6a6d77bd8eefd12a17995ffa44ad86c77a5df96f533d4e6c6bb" }, + { file = "scipy-1.15.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9de9d1416b3d9e7df9923ab23cd2fe714244af10b763975bea9e4f2e81cebd27" }, + { file = "scipy-1.15.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb530e4794fc8ea76a4a21ccb67dea33e5e0e60f07fc38a49e821e1eae3b71a0" }, + { file = "scipy-1.15.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5ea7ed46d437fc52350b028b1d44e002646e28f3e8ddc714011aaf87330f2f32" }, + { file = "scipy-1.15.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:11e7ad32cf184b74380f43d3c0a706f49358b904fa7d5345f16ddf993609184d" }, + { file = "scipy-1.15.2-cp313-cp313-win_amd64.whl", hash = "sha256:a5080a79dfb9b78b768cebf3c9dcbc7b665c5875793569f48bf0e2b1d7f68f6f" }, + { file = "scipy-1.15.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:447ce30cee6a9d5d1379087c9e474628dab3db4a67484be1b7dc3196bfb2fac9" }, + { file = "scipy-1.15.2-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:c90ebe8aaa4397eaefa8455a8182b164a6cc1d59ad53f79943f266d99f68687f" }, + { file = "scipy-1.15.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:def751dd08243934c884a3221156d63e15234a3155cf25978b0a668409d45eb6" }, + { file = "scipy-1.15.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:302093e7dfb120e55515936cb55618ee0b895f8bcaf18ff81eca086c17bd80af" }, + { file = "scipy-1.15.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd5b77413e1855351cdde594eca99c1f4a588c2d63711388b6a1f1c01f62274" }, + { file = "scipy-1.15.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d0194c37037707b2afa7a2f2a924cf7bac3dc292d51b6a925e5fcb89bc5c776" }, + { file = "scipy-1.15.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:bae43364d600fdc3ac327db99659dcb79e6e7ecd279a75fe1266669d9a652828" }, + { file = "scipy-1.15.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f031846580d9acccd0044efd1a90e6f4df3a6e12b4b6bd694a7bc03a89892b28" }, + { file = "scipy-1.15.2-cp313-cp313t-win_amd64.whl", hash = "sha256:fe8a9eb875d430d81755472c5ba75e84acc980e4a8f6204d402849234d3017db" }, + { file = "scipy-1.15.2.tar.gz", hash = "sha256:cd58a314d92838f7e6f755c8a2167ead4f27e1fd5c1251fd54289569ef3495ec" }, +] + +[package.dependencies] +numpy = ">=1.23.5,<2.5" + +[package.extras] +dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy (==1.10.0)", "pycodestyle", "pydevtool", "rich-click", "ruff (>=0.0.292)", "types-psutil", "typing_extensions"] +doc = ["intersphinx_registry", "jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.16.5)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0,<8.0.0)", "sphinx-copybutton", "sphinx-design (>=0.4.0)"] +test = ["Cython", "array-api-strict (>=2.0,<2.1.1)", "asv", "gmpy2", "hypothesis (>=6.30)", "meson", "mpmath", "ninja ; sys_platform != \"emscripten\"", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] + [[package]] name = "secretstorage" version = "3.3.3" description = "Python bindings to FreeDesktop.org Secret Service API" optional = false python-versions = ">=3.6" +groups = ["dev"] +markers = "sys_platform == \"linux\"" files = [ {file = "SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99"}, {file = "SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77"}, @@ -4235,6 +4784,7 @@ version = "2.2.2" description = "A fast and lightweight Python library for splitting text into semantically meaningful chunks." optional = false python-versions = ">=3.9" +groups = ["main"] files = [ {file = "semchunk-2.2.2-py3-none-any.whl", hash = "sha256:94ca19020c013c073abdfd06d79a7c13637b91738335f3b8cdb5655ee7cc94d2"}, {file = "semchunk-2.2.2.tar.gz", hash = "sha256:940e89896e64eeb01de97ba60f51c8c7b96c6a3951dfcf574f25ce2146752f52"}, @@ -4250,6 +4800,7 @@ version = "2.13.0" description = "Python helper for Semantic Versioning (http://semver.org/)" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +groups = ["dev"] files = [ {file = "semver-2.13.0-py2.py3-none-any.whl", hash = "sha256:ced8b23dceb22134307c1b8abfa523da14198793d9787ac838e70e29e77458d4"}, {file = "semver-2.13.0.tar.gz", hash = "sha256:fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f"}, @@ -4257,73 +4808,77 @@ files = [ [[package]] name = "setuptools" -version = "75.8.0" +version = "78.1.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.9" +groups = ["main"] +markers = "python_version == \"3.12\"" files = [ - {file = "setuptools-75.8.0-py3-none-any.whl", hash = "sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3"}, - {file = "setuptools-75.8.0.tar.gz", hash = "sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6"}, + { file = "setuptools-78.1.0-py3-none-any.whl", hash = "sha256:3e386e96793c8702ae83d17b853fb93d3e09ef82ec62722e61da5cd22376dcd8" }, + { file = "setuptools-78.1.0.tar.gz", hash = "sha256:18fd474d4a82a5f83dac888df697af65afa82dec7323d09c3e37d1f14288da54" }, ] [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.8.0)"] -core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\"", "ruff (>=0.8.0) ; sys_platform != \"cygwin\""] +core = ["importlib_metadata (>=6) ; python_version < \"3.10\"", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1) ; python_version < \"3.11\"", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.14.*)", "pytest-mypy"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21) ; python_version >= \"3.9\" and sys_platform != \"cygwin\"", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf ; sys_platform != \"cygwin\"", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib_metadata (>=7.0.2) ; python_version < \"3.10\"", "jaraco.develop (>=7.21) ; sys_platform != \"cygwin\"", "mypy (==1.14.*)", "pytest-mypy"] [[package]] name = "shapely" -version = "2.0.6" +version = "2.0.7" description = "Manipulation and analysis of geometric objects" optional = false python-versions = ">=3.7" -files = [ - {file = "shapely-2.0.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29a34e068da2d321e926b5073539fd2a1d4429a2c656bd63f0bd4c8f5b236d0b"}, - {file = "shapely-2.0.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e1c84c3f53144febf6af909d6b581bc05e8785d57e27f35ebaa5c1ab9baba13b"}, - {file = "shapely-2.0.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ad2fae12dca8d2b727fa12b007e46fbc522148a584f5d6546c539f3464dccde"}, - {file = "shapely-2.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3304883bd82d44be1b27a9d17f1167fda8c7f5a02a897958d86c59ec69b705e"}, - {file = "shapely-2.0.6-cp310-cp310-win32.whl", hash = "sha256:3ec3a0eab496b5e04633a39fa3d5eb5454628228201fb24903d38174ee34565e"}, - {file = "shapely-2.0.6-cp310-cp310-win_amd64.whl", hash = "sha256:28f87cdf5308a514763a5c38de295544cb27429cfa655d50ed8431a4796090c4"}, - {file = "shapely-2.0.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5aeb0f51a9db176da9a30cb2f4329b6fbd1e26d359012bb0ac3d3c7781667a9e"}, - {file = "shapely-2.0.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9a7a78b0d51257a367ee115f4d41ca4d46edbd0dd280f697a8092dd3989867b2"}, - {file = "shapely-2.0.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f32c23d2f43d54029f986479f7c1f6e09c6b3a19353a3833c2ffb226fb63a855"}, - {file = "shapely-2.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3dc9fb0eb56498912025f5eb352b5126f04801ed0e8bdbd867d21bdbfd7cbd0"}, - {file = "shapely-2.0.6-cp311-cp311-win32.whl", hash = "sha256:d93b7e0e71c9f095e09454bf18dad5ea716fb6ced5df3cb044564a00723f339d"}, - {file = "shapely-2.0.6-cp311-cp311-win_amd64.whl", hash = "sha256:c02eb6bf4cfb9fe6568502e85bb2647921ee49171bcd2d4116c7b3109724ef9b"}, - {file = "shapely-2.0.6-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cec9193519940e9d1b86a3b4f5af9eb6910197d24af02f247afbfb47bcb3fab0"}, - {file = "shapely-2.0.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83b94a44ab04a90e88be69e7ddcc6f332da7c0a0ebb1156e1c4f568bbec983c3"}, - {file = "shapely-2.0.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:537c4b2716d22c92036d00b34aac9d3775e3691f80c7aa517c2c290351f42cd8"}, - {file = "shapely-2.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98fea108334be345c283ce74bf064fa00cfdd718048a8af7343c59eb40f59726"}, - {file = "shapely-2.0.6-cp312-cp312-win32.whl", hash = "sha256:42fd4cd4834747e4990227e4cbafb02242c0cffe9ce7ef9971f53ac52d80d55f"}, - {file = "shapely-2.0.6-cp312-cp312-win_amd64.whl", hash = "sha256:665990c84aece05efb68a21b3523a6b2057e84a1afbef426ad287f0796ef8a48"}, - {file = "shapely-2.0.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:42805ef90783ce689a4dde2b6b2f261e2c52609226a0438d882e3ced40bb3013"}, - {file = "shapely-2.0.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6d2cb146191a47bd0cee8ff5f90b47547b82b6345c0d02dd8b25b88b68af62d7"}, - {file = "shapely-2.0.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3fdef0a1794a8fe70dc1f514440aa34426cc0ae98d9a1027fb299d45741c381"}, - {file = "shapely-2.0.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c665a0301c645615a107ff7f52adafa2153beab51daf34587170d85e8ba6805"}, - {file = "shapely-2.0.6-cp313-cp313-win32.whl", hash = "sha256:0334bd51828f68cd54b87d80b3e7cee93f249d82ae55a0faf3ea21c9be7b323a"}, - {file = "shapely-2.0.6-cp313-cp313-win_amd64.whl", hash = "sha256:d37d070da9e0e0f0a530a621e17c0b8c3c9d04105655132a87cfff8bd77cc4c2"}, - {file = "shapely-2.0.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:fa7468e4f5b92049c0f36d63c3e309f85f2775752e076378e36c6387245c5462"}, - {file = "shapely-2.0.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed5867e598a9e8ac3291da6cc9baa62ca25706eea186117034e8ec0ea4355653"}, - {file = "shapely-2.0.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81d9dfe155f371f78c8d895a7b7f323bb241fb148d848a2bf2244f79213123fe"}, - {file = "shapely-2.0.6-cp37-cp37m-win32.whl", hash = "sha256:fbb7bf02a7542dba55129062570211cfb0defa05386409b3e306c39612e7fbcc"}, - {file = "shapely-2.0.6-cp37-cp37m-win_amd64.whl", hash = "sha256:837d395fac58aa01aa544495b97940995211e3e25f9aaf87bc3ba5b3a8cd1ac7"}, - {file = "shapely-2.0.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c6d88ade96bf02f6bfd667ddd3626913098e243e419a0325ebef2bbd481d1eb6"}, - {file = "shapely-2.0.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8b3b818c4407eaa0b4cb376fd2305e20ff6df757bf1356651589eadc14aab41b"}, - {file = "shapely-2.0.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bbc783529a21f2bd50c79cef90761f72d41c45622b3e57acf78d984c50a5d13"}, - {file = "shapely-2.0.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2423f6c0903ebe5df6d32e0066b3d94029aab18425ad4b07bf98c3972a6e25a1"}, - {file = "shapely-2.0.6-cp38-cp38-win32.whl", hash = "sha256:2de00c3bfa80d6750832bde1d9487e302a6dd21d90cb2f210515cefdb616e5f5"}, - {file = "shapely-2.0.6-cp38-cp38-win_amd64.whl", hash = "sha256:3a82d58a1134d5e975f19268710e53bddd9c473743356c90d97ce04b73e101ee"}, - {file = "shapely-2.0.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:392f66f458a0a2c706254f473290418236e52aa4c9b476a072539d63a2460595"}, - {file = "shapely-2.0.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:eba5bae271d523c938274c61658ebc34de6c4b33fdf43ef7e938b5776388c1be"}, - {file = "shapely-2.0.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7060566bc4888b0c8ed14b5d57df8a0ead5c28f9b69fb6bed4476df31c51b0af"}, - {file = "shapely-2.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b02154b3e9d076a29a8513dffcb80f047a5ea63c897c0cd3d3679f29363cf7e5"}, - {file = "shapely-2.0.6-cp39-cp39-win32.whl", hash = "sha256:44246d30124a4f1a638a7d5419149959532b99dfa25b54393512e6acc9c211ac"}, - {file = "shapely-2.0.6-cp39-cp39-win_amd64.whl", hash = "sha256:2b542d7f1dbb89192d3512c52b679c822ba916f93479fa5d4fc2fe4fa0b3c9e8"}, - {file = "shapely-2.0.6.tar.gz", hash = "sha256:997f6159b1484059ec239cacaa53467fd8b5564dabe186cd84ac2944663b0bf6"}, +groups = ["main"] +markers = "python_version == \"3.9\"" +files = [ + { file = "shapely-2.0.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:33fb10e50b16113714ae40adccf7670379e9ccf5b7a41d0002046ba2b8f0f691" }, + { file = "shapely-2.0.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f44eda8bd7a4bccb0f281264b34bf3518d8c4c9a8ffe69a1a05dabf6e8461147" }, + { file = "shapely-2.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf6c50cd879831955ac47af9c907ce0310245f9d162e298703f82e1785e38c98" }, + { file = "shapely-2.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04a65d882456e13c8b417562c36324c0cd1e5915f3c18ad516bb32ee3f5fc895" }, + { file = "shapely-2.0.7-cp310-cp310-win32.whl", hash = "sha256:7e97104d28e60b69f9b6a957c4d3a2a893b27525bc1fc96b47b3ccef46726bf2" }, + { file = "shapely-2.0.7-cp310-cp310-win_amd64.whl", hash = "sha256:35524cc8d40ee4752520819f9894b9f28ba339a42d4922e92c99b148bed3be39" }, + { file = "shapely-2.0.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5cf23400cb25deccf48c56a7cdda8197ae66c0e9097fcdd122ac2007e320bc34" }, + { file = "shapely-2.0.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8f1da01c04527f7da59ee3755d8ee112cd8967c15fab9e43bba936b81e2a013" }, + { file = "shapely-2.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f623b64bb219d62014781120f47499a7adc30cf7787e24b659e56651ceebcb0" }, + { file = "shapely-2.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e6d95703efaa64aaabf278ced641b888fc23d9c6dd71f8215091afd8a26a66e3" }, + { file = "shapely-2.0.7-cp311-cp311-win32.whl", hash = "sha256:2f6e4759cf680a0f00a54234902415f2fa5fe02f6b05546c662654001f0793a2" }, + { file = "shapely-2.0.7-cp311-cp311-win_amd64.whl", hash = "sha256:b52f3ab845d32dfd20afba86675c91919a622f4627182daec64974db9b0b4608" }, + { file = "shapely-2.0.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4c2b9859424facbafa54f4a19b625a752ff958ab49e01bc695f254f7db1835fa" }, + { file = "shapely-2.0.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5aed1c6764f51011d69a679fdf6b57e691371ae49ebe28c3edb5486537ffbd51" }, + { file = "shapely-2.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73c9ae8cf443187d784d57202199bf9fd2d4bb7d5521fe8926ba40db1bc33e8e" }, + { file = "shapely-2.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9469f49ff873ef566864cb3516091881f217b5d231c8164f7883990eec88b73" }, + { file = "shapely-2.0.7-cp312-cp312-win32.whl", hash = "sha256:6bca5095e86be9d4ef3cb52d56bdd66df63ff111d580855cb8546f06c3c907cd" }, + { file = "shapely-2.0.7-cp312-cp312-win_amd64.whl", hash = "sha256:f86e2c0259fe598c4532acfcf638c1f520fa77c1275912bbc958faecbf00b108" }, + { file = "shapely-2.0.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a0c09e3e02f948631c7763b4fd3dd175bc45303a0ae04b000856dedebefe13cb" }, + { file = "shapely-2.0.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:06ff6020949b44baa8fc2e5e57e0f3d09486cd5c33b47d669f847c54136e7027" }, + { file = "shapely-2.0.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d6dbf096f961ca6bec5640e22e65ccdec11e676344e8157fe7d636e7904fd36" }, + { file = "shapely-2.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adeddfb1e22c20548e840403e5e0b3d9dc3daf66f05fa59f1fcf5b5f664f0e98" }, + { file = "shapely-2.0.7-cp313-cp313-win32.whl", hash = "sha256:a7f04691ce1c7ed974c2f8b34a1fe4c3c5dfe33128eae886aa32d730f1ec1913" }, + { file = "shapely-2.0.7-cp313-cp313-win_amd64.whl", hash = "sha256:aaaf5f7e6cc234c1793f2a2760da464b604584fb58c6b6d7d94144fd2692d67e" }, + { file = "shapely-2.0.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:19cbc8808efe87a71150e785b71d8a0e614751464e21fb679d97e274eca7bd43" }, + { file = "shapely-2.0.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc19b78cc966db195024d8011649b4e22812f805dd49264323980715ab80accc" }, + { file = "shapely-2.0.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd37d65519b3f8ed8976fa4302a2827cbb96e0a461a2e504db583b08a22f0b98" }, + { file = "shapely-2.0.7-cp37-cp37m-win32.whl", hash = "sha256:25085a30a2462cee4e850a6e3fb37431cbbe4ad51cbcc163af0cea1eaa9eb96d" }, + { file = "shapely-2.0.7-cp37-cp37m-win_amd64.whl", hash = "sha256:1a2e03277128e62f9a49a58eb7eb813fa9b343925fca5e7d631d50f4c0e8e0b8" }, + { file = "shapely-2.0.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e1c4f1071fe9c09af077a69b6c75f17feb473caeea0c3579b3e94834efcbdc36" }, + { file = "shapely-2.0.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3697bd078b4459f5a1781015854ef5ea5d824dbf95282d0b60bfad6ff83ec8dc" }, + { file = "shapely-2.0.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e9fed9a7d6451979d914cb6ebbb218b4b4e77c0d50da23e23d8327948662611" }, + { file = "shapely-2.0.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2934834c7f417aeb7cba3b0d9b4441a76ebcecf9ea6e80b455c33c7c62d96a24" }, + { file = "shapely-2.0.7-cp38-cp38-win32.whl", hash = "sha256:2e4a1749ad64bc6e7668c8f2f9479029f079991f4ae3cb9e6b25440e35a4b532" }, + { file = "shapely-2.0.7-cp38-cp38-win_amd64.whl", hash = "sha256:8ae5cb6b645ac3fba34ad84b32fbdccb2ab321facb461954925bde807a0d3b74" }, + { file = "shapely-2.0.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4abeb44b3b946236e4e1a1b3d2a0987fb4d8a63bfb3fdefb8a19d142b72001e5" }, + { file = "shapely-2.0.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cd0e75d9124b73e06a42bf1615ad3d7d805f66871aa94538c3a9b7871d620013" }, + { file = "shapely-2.0.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7977d8a39c4cf0e06247cd2dca695ad4e020b81981d4c82152c996346cf1094b" }, + { file = "shapely-2.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0145387565fcf8f7c028b073c802956431308da933ef41d08b1693de49990d27" }, + { file = "shapely-2.0.7-cp39-cp39-win32.whl", hash = "sha256:98697c842d5c221408ba8aa573d4f49caef4831e9bc6b6e785ce38aca42d1999" }, + { file = "shapely-2.0.7-cp39-cp39-win_amd64.whl", hash = "sha256:a3fb7fbae257e1b042f440289ee7235d03f433ea880e73e687f108d044b24db5" }, + { file = "shapely-2.0.7.tar.gz", hash = "sha256:28fe2997aab9a9dc026dc6a355d04e85841546b2a5d232ed953e3321ab958ee5" }, ] [package.dependencies] @@ -4333,12 +4888,72 @@ numpy = ">=1.14,<3" docs = ["matplotlib", "numpydoc (==1.1.*)", "sphinx", "sphinx-book-theme", "sphinx-remove-toctrees"] test = ["pytest", "pytest-cov"] +[[package]] +name = "shapely" +version = "2.1.0" +description = "Manipulation and analysis of geometric objects" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "python_version >= \"3.10\"" +files = [ + { file = "shapely-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d3e5c5e3864d4dc431dd85a8e5137ebd39c8ac287b009d3fa80a07017b29c940" }, + { file = "shapely-2.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6eea89b16f5f3a064659126455d23fa3066bc3d6cd385c35214f06bf5871aa6" }, + { file = "shapely-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:183174ad0b21a81ee661f05e7c47aa92ebfae01814cd3cbe54adea7a4213f5f4" }, + { file = "shapely-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f239c1484af66bc14b81a76f2a8e0fada29d59010423253ff857d0ccefdaa93f" }, + { file = "shapely-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6220a466d1475141dad0cd8065d2549a5c2ed3fa4e2e02fb8ea65d494cfd5b07" }, + { file = "shapely-2.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4822d3ed3efb06145c34d29d5b56792f72b7d713300f603bfd5d825892c6f79f" }, + { file = "shapely-2.1.0-cp310-cp310-win32.whl", hash = "sha256:ea51ddf3d3c60866dca746081b56c75f34ff1b01acbd4d44269071a673c735b9" }, + { file = "shapely-2.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:a6f5e02e2cded9f4ec5709900a296c7f2cce5f8e9e9d80ba7d89ae2f4ed89d7b" }, + { file = "shapely-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c8323031ef7c1bdda7a92d5ddbc7b6b62702e73ba37e9a8ccc8da99ec2c0b87c" }, + { file = "shapely-2.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4da7c6cd748d86ec6aace99ad17129d30954ccf5e73e9911cdb5f0fa9658b4f8" }, + { file = "shapely-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f0cdf85ff80831137067e7a237085a3ee72c225dba1b30beef87f7d396cf02b" }, + { file = "shapely-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41f2be5d79aac39886f23000727cf02001aef3af8810176c29ee12cdc3ef3a50" }, + { file = "shapely-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:21a4515009f56d7a159cf5c2554264e82f56405b4721f9a422cb397237c5dca8" }, + { file = "shapely-2.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:15cebc323cec2cb6b2eaa310fdfc621f6dbbfaf6bde336d13838fcea76c885a9" }, + { file = "shapely-2.1.0-cp311-cp311-win32.whl", hash = "sha256:cad51b7a5c8f82f5640472944a74f0f239123dde9a63042b3c5ea311739b7d20" }, + { file = "shapely-2.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:d4005309dde8658e287ad9c435c81877f6a95a9419b932fa7a1f34b120f270ae" }, + { file = "shapely-2.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:53e7ee8bd8609cf12ee6dce01ea5affe676976cf7049315751d53d8db6d2b4b2" }, + { file = "shapely-2.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3cab20b665d26dbec0b380e15749bea720885a481fa7b1eedc88195d4a98cfa4" }, + { file = "shapely-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4a38b39a09340273c3c92b3b9a374272a12cc7e468aeeea22c1c46217a03e5c" }, + { file = "shapely-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:edaec656bdd9b71278b98e6f77c464b1c3b2daa9eace78012ff0f0b4b5b15b04" }, + { file = "shapely-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c8a732ddd9b25e7a54aa748e7df8fd704e23e5d5d35b7d376d80bffbfc376d04" }, + { file = "shapely-2.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9c93693ad8adfdc9138a5a2d42da02da94f728dd2e82d2f0f442f10e25027f5f" }, + { file = "shapely-2.1.0-cp312-cp312-win32.whl", hash = "sha256:d8ac6604eefe807e71a908524de23a37920133a1729fe3a4dfe0ed82c044cbf4" }, + { file = "shapely-2.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:f4f47e631aa4f9ec5576eac546eb3f38802e2f82aeb0552f9612cb9a14ece1db" }, + { file = "shapely-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b64423295b563f43a043eb786e7a03200ebe68698e36d2b4b1c39f31dfb50dfb" }, + { file = "shapely-2.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1b5578f45adc25b235b22d1ccb9a0348c8dc36f31983e57ea129a88f96f7b870" }, + { file = "shapely-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1a7e83d383b27f02b684e50ab7f34e511c92e33b6ca164a6a9065705dd64bcb" }, + { file = "shapely-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:942031eb4d8f7b3b22f43ba42c09c7aa3d843aa10d5cc1619fe816e923b66e55" }, + { file = "shapely-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d2843c456a2e5627ee6271800f07277c0d2652fb287bf66464571a057dbc00b3" }, + { file = "shapely-2.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8c4b17469b7f39a5e6a7cfea79f38ae08a275427f41fe8b48c372e1449147908" }, + { file = "shapely-2.1.0-cp313-cp313-win32.whl", hash = "sha256:30e967abd08fce49513d4187c01b19f139084019f33bec0673e8dbeb557c45e4" }, + { file = "shapely-2.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:1dc8d4364483a14aba4c844b7bd16a6fa3728887e2c33dfa1afa34a3cf4d08a5" }, + { file = "shapely-2.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:673e073fea099d1c82f666fb7ab0a00a77eff2999130a69357ce11941260d855" }, + { file = "shapely-2.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:6d1513f915a56de67659fe2047c1ad5ff0f8cbff3519d1e74fced69c9cb0e7da" }, + { file = "shapely-2.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d6a7043178890b9e028d80496ff4c79dc7629bff4d78a2f25323b661756bab8" }, + { file = "shapely-2.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb638378dc3d76f7e85b67d7e2bb1366811912430ac9247ac00c127c2b444cdc" }, + { file = "shapely-2.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:737124e87d91d616acf9a911f74ac55e05db02a43a6a7245b3d663817b876055" }, + { file = "shapely-2.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e6c229e7bb87aae5df82fa00b6718987a43ec168cc5affe095cca59d233f314" }, + { file = "shapely-2.1.0-cp313-cp313t-win32.whl", hash = "sha256:a9580bda119b1f42f955aa8e52382d5c73f7957e0203bc0c0c60084846f3db94" }, + { file = "shapely-2.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:e8ff4e5cfd799ba5b6f37b5d5527dbd85b4a47c65b6d459a03d0962d2a9d4d10" }, + { file = "shapely-2.1.0.tar.gz", hash = "sha256:2cbe90e86fa8fc3ca8af6ffb00a77b246b918c7cf28677b7c21489b678f6b02e" }, +] + +[package.dependencies] +numpy = ">=1.21" + +[package.extras] +docs = ["matplotlib", "numpydoc (==1.1.*)", "sphinx", "sphinx-book-theme", "sphinx-remove-toctrees"] +test = ["pytest", "pytest-cov", "scipy-doctest"] + [[package]] name = "shellingham" version = "1.5.4" description = "Tool to Detect Surrounding Shell" optional = false python-versions = ">=3.7" +groups = ["main"] files = [ {file = "shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686"}, {file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"}, @@ -4350,6 +4965,7 @@ version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +groups = ["main", "dev"] files = [ {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, @@ -4361,6 +4977,7 @@ version = "5.0.2" description = "A pure Python implementation of a sliding window memory map manager" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e"}, {file = "smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5"}, @@ -4372,6 +4989,7 @@ version = "1.3.1" description = "Sniff out which async library your code is running under" optional = false python-versions = ">=3.7" +groups = ["main"] files = [ {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, @@ -4383,6 +5001,7 @@ version = "2.2.0" description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, @@ -4394,6 +5013,7 @@ version = "2.6" description = "A modern CSS selector implementation for Beautiful Soup." optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, @@ -4405,6 +5025,7 @@ version = "0.6.3" description = "Extract data from python stack frames and tracebacks for informative displays" optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, @@ -4424,6 +5045,7 @@ version = "1.13.1" description = "Computer algebra system (CAS) in Python" optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "sympy-1.13.1-py3-none-any.whl", hash = "sha256:db36cdc64bf61b9b24578b6f7bab1ecdd2452cf008f34faa33776680c26d66f8"}, {file = "sympy-1.13.1.tar.gz", hash = "sha256:9cebf7e04ff162015ce31c9c6c9144daa34a93bd082f54fd8f12deca4f47515f"}, @@ -4441,6 +5063,7 @@ version = "0.9.0" description = "Pretty-print tabular data" optional = false python-versions = ">=3.7" +groups = ["main"] files = [ {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, @@ -4451,13 +5074,14 @@ widechars = ["wcwidth"] [[package]] name = "tenacity" -version = "9.0.0" +version = "9.1.2" description = "Retry code until it succeeds" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["main"] files = [ - {file = "tenacity-9.0.0-py3-none-any.whl", hash = "sha256:93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539"}, - {file = "tenacity-9.0.0.tar.gz", hash = "sha256:807f37ca97d62aa361264d497b0e31e92b8027044942bfa756160d908320d73b"}, + { file = "tenacity-9.1.2-py3-none-any.whl", hash = "sha256:f77bf36710d8b73a50b2dd155c97b870017ad21afe6ab300326b0371b3b05138" }, + { file = "tenacity-9.1.2.tar.gz", hash = "sha256:1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb" }, ] [package.extras] @@ -4470,6 +5094,8 @@ version = "2024.8.30" description = "Read and write TIFF files" optional = false python-versions = ">=3.9" +groups = ["main"] +markers = "python_version == \"3.9\"" files = [ {file = "tifffile-2024.8.30-py3-none-any.whl", hash = "sha256:8bc59a8f02a2665cd50a910ec64961c5373bee0b8850ec89d3b7b485bf7be7ad"}, {file = "tifffile-2024.8.30.tar.gz", hash = "sha256:2c9508fe768962e30f87def61819183fb07692c258cb175b3c114828368485a4"}, @@ -4486,12 +5112,37 @@ test = ["cmapfile", "czifile", "dask", "defusedxml", "fsspec", "imagecodecs", "l xml = ["defusedxml", "lxml"] zarr = ["fsspec", "zarr"] +[[package]] +name = "tifffile" +version = "2025.3.30" +description = "Read and write TIFF files" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "python_version >= \"3.10\"" +files = [ + { file = "tifffile-2025.3.30-py3-none-any.whl", hash = "sha256:0ed6eee7b66771db2d1bfc42262a51b01887505d35539daef118f4ff8c0f629c" }, + { file = "tifffile-2025.3.30.tar.gz", hash = "sha256:3cdee47fe06cd75367c16bc3ff34523713156dae6cd498e3a392e5b39a51b789" }, +] + +[package.dependencies] +numpy = "*" + +[package.extras] +all = ["defusedxml", "fsspec", "imagecodecs (>=2024.12.30)", "lxml", "matplotlib", "zarr (<3)"] +codecs = ["imagecodecs (>=2024.12.30)"] +plot = ["matplotlib"] +test = ["cmapfile", "czifile", "dask", "defusedxml", "fsspec", "imagecodecs", "lfdfiles", "lxml", "ndtiff", "oiffile", "psdtags", "pytest", "roifile", "xarray", "zarr (<3)"] +xml = ["defusedxml", "lxml"] +zarr = ["fsspec", "zarr (<3)"] + [[package]] name = "tokenize-rt" version = "6.1.0" description = "A wrapper around the stdlib `tokenize` which roundtrips." optional = false python-versions = ">=3.9" +groups = ["dev"] files = [ {file = "tokenize_rt-6.1.0-py2.py3-none-any.whl", hash = "sha256:d706141cdec4aa5f358945abe36b911b8cbdc844545da99e811250c0cee9b6fc"}, {file = "tokenize_rt-6.1.0.tar.gz", hash = "sha256:e8ee836616c0877ab7c7b54776d2fefcc3bde714449a206762425ae114b53c86"}, @@ -4499,26 +5150,147 @@ files = [ [[package]] name = "tokenizers" -version = "0.21.0" +version = "0.19.1" description = "" optional = false python-versions = ">=3.7" -files = [ - {file = "tokenizers-0.21.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:3c4c93eae637e7d2aaae3d376f06085164e1660f89304c0ab2b1d08a406636b2"}, - {file = "tokenizers-0.21.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:f53ea537c925422a2e0e92a24cce96f6bc5046bbef24a1652a5edc8ba975f62e"}, - {file = "tokenizers-0.21.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b177fb54c4702ef611de0c069d9169f0004233890e0c4c5bd5508ae05abf193"}, - {file = "tokenizers-0.21.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6b43779a269f4629bebb114e19c3fca0223296ae9fea8bb9a7a6c6fb0657ff8e"}, - {file = "tokenizers-0.21.0-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9aeb255802be90acfd363626753fda0064a8df06031012fe7d52fd9a905eb00e"}, - {file = "tokenizers-0.21.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d8b09dbeb7a8d73ee204a70f94fc06ea0f17dcf0844f16102b9f414f0b7463ba"}, - {file = "tokenizers-0.21.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:400832c0904f77ce87c40f1a8a27493071282f785724ae62144324f171377273"}, - {file = "tokenizers-0.21.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e84ca973b3a96894d1707e189c14a774b701596d579ffc7e69debfc036a61a04"}, - {file = "tokenizers-0.21.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:eb7202d231b273c34ec67767378cd04c767e967fda12d4a9e36208a34e2f137e"}, - {file = "tokenizers-0.21.0-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:089d56db6782a73a27fd8abf3ba21779f5b85d4a9f35e3b493c7bbcbbf0d539b"}, - {file = "tokenizers-0.21.0-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:c87ca3dc48b9b1222d984b6b7490355a6fdb411a2d810f6f05977258400ddb74"}, - {file = "tokenizers-0.21.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4145505a973116f91bc3ac45988a92e618a6f83eb458f49ea0790df94ee243ff"}, - {file = "tokenizers-0.21.0-cp39-abi3-win32.whl", hash = "sha256:eb1702c2f27d25d9dd5b389cc1f2f51813e99f8ca30d9e25348db6585a97e24a"}, - {file = "tokenizers-0.21.0-cp39-abi3-win_amd64.whl", hash = "sha256:87841da5a25a3a5f70c102de371db120f41873b854ba65e52bccd57df5a3780c"}, - {file = "tokenizers-0.21.0.tar.gz", hash = "sha256:ee0894bf311b75b0c03079f33859ae4b2334d675d4e93f5a4132e1eae2834fe4"}, +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_machine == \"x86_64\"" +files = [ + { file = "tokenizers-0.19.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:952078130b3d101e05ecfc7fc3640282d74ed26bcf691400f872563fca15ac97" }, + { file = "tokenizers-0.19.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:82c8b8063de6c0468f08e82c4e198763e7b97aabfe573fd4cf7b33930ca4df77" }, + { file = "tokenizers-0.19.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f03727225feaf340ceeb7e00604825addef622d551cbd46b7b775ac834c1e1c4" }, + { file = "tokenizers-0.19.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:453e4422efdfc9c6b6bf2eae00d5e323f263fff62b29a8c9cd526c5003f3f642" }, + { file = "tokenizers-0.19.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:02e81bf089ebf0e7f4df34fa0207519f07e66d8491d963618252f2e0729e0b46" }, + { file = "tokenizers-0.19.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b07c538ba956843833fee1190cf769c60dc62e1cf934ed50d77d5502194d63b1" }, + { file = "tokenizers-0.19.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28cab1582e0eec38b1f38c1c1fb2e56bce5dc180acb1724574fc5f47da2a4fe" }, + { file = "tokenizers-0.19.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b01afb7193d47439f091cd8f070a1ced347ad0f9144952a30a41836902fe09e" }, + { file = "tokenizers-0.19.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7fb297edec6c6841ab2e4e8f357209519188e4a59b557ea4fafcf4691d1b4c98" }, + { file = "tokenizers-0.19.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2e8a3dd055e515df7054378dc9d6fa8c8c34e1f32777fb9a01fea81496b3f9d3" }, + { file = "tokenizers-0.19.1-cp310-none-win32.whl", hash = "sha256:7ff898780a155ea053f5d934925f3902be2ed1f4d916461e1a93019cc7250837" }, + { file = "tokenizers-0.19.1-cp310-none-win_amd64.whl", hash = "sha256:bea6f9947e9419c2fda21ae6c32871e3d398cba549b93f4a65a2d369662d9403" }, + { file = "tokenizers-0.19.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5c88d1481f1882c2e53e6bb06491e474e420d9ac7bdff172610c4f9ad3898059" }, + { file = "tokenizers-0.19.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ddf672ed719b4ed82b51499100f5417d7d9f6fb05a65e232249268f35de5ed14" }, + { file = "tokenizers-0.19.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:dadc509cc8a9fe460bd274c0e16ac4184d0958117cf026e0ea8b32b438171594" }, + { file = "tokenizers-0.19.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dfedf31824ca4915b511b03441784ff640378191918264268e6923da48104acc" }, + { file = "tokenizers-0.19.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac11016d0a04aa6487b1513a3a36e7bee7eec0e5d30057c9c0408067345c48d2" }, + { file = "tokenizers-0.19.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:76951121890fea8330d3a0df9a954b3f2a37e3ec20e5b0530e9a0044ca2e11fe" }, + { file = "tokenizers-0.19.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b342d2ce8fc8d00f376af068e3274e2e8649562e3bc6ae4a67784ded6b99428d" }, + { file = "tokenizers-0.19.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d16ff18907f4909dca9b076b9c2d899114dd6abceeb074eca0c93e2353f943aa" }, + { file = "tokenizers-0.19.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:706a37cc5332f85f26efbe2bdc9ef8a9b372b77e4645331a405073e4b3a8c1c6" }, + { file = "tokenizers-0.19.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:16baac68651701364b0289979ecec728546133e8e8fe38f66fe48ad07996b88b" }, + { file = "tokenizers-0.19.1-cp311-none-win32.whl", hash = "sha256:9ed240c56b4403e22b9584ee37d87b8bfa14865134e3e1c3fb4b2c42fafd3256" }, + { file = "tokenizers-0.19.1-cp311-none-win_amd64.whl", hash = "sha256:ad57d59341710b94a7d9dbea13f5c1e7d76fd8d9bcd944a7a6ab0b0da6e0cc66" }, + { file = "tokenizers-0.19.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:621d670e1b1c281a1c9698ed89451395d318802ff88d1fc1accff0867a06f153" }, + { file = "tokenizers-0.19.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d924204a3dbe50b75630bd16f821ebda6a5f729928df30f582fb5aade90c818a" }, + { file = "tokenizers-0.19.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:4f3fefdc0446b1a1e6d81cd4c07088ac015665d2e812f6dbba4a06267d1a2c95" }, + { file = "tokenizers-0.19.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9620b78e0b2d52ef07b0d428323fb34e8ea1219c5eac98c2596311f20f1f9266" }, + { file = "tokenizers-0.19.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:04ce49e82d100594715ac1b2ce87d1a36e61891a91de774755f743babcd0dd52" }, + { file = "tokenizers-0.19.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5c2ff13d157afe413bf7e25789879dd463e5a4abfb529a2d8f8473d8042e28f" }, + { file = "tokenizers-0.19.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3174c76efd9d08f836bfccaca7cfec3f4d1c0a4cf3acbc7236ad577cc423c840" }, + { file = "tokenizers-0.19.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c9d5b6c0e7a1e979bec10ff960fae925e947aab95619a6fdb4c1d8ff3708ce3" }, + { file = "tokenizers-0.19.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a179856d1caee06577220ebcfa332af046d576fb73454b8f4d4b0ba8324423ea" }, + { file = "tokenizers-0.19.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:952b80dac1a6492170f8c2429bd11fcaa14377e097d12a1dbe0ef2fb2241e16c" }, + { file = "tokenizers-0.19.1-cp312-none-win32.whl", hash = "sha256:01d62812454c188306755c94755465505836fd616f75067abcae529c35edeb57" }, + { file = "tokenizers-0.19.1-cp312-none-win_amd64.whl", hash = "sha256:b70bfbe3a82d3e3fb2a5e9b22a39f8d1740c96c68b6ace0086b39074f08ab89a" }, + { file = "tokenizers-0.19.1-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:bb9dfe7dae85bc6119d705a76dc068c062b8b575abe3595e3c6276480e67e3f1" }, + { file = "tokenizers-0.19.1-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:1f0360cbea28ea99944ac089c00de7b2e3e1c58f479fb8613b6d8d511ce98267" }, + { file = "tokenizers-0.19.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:71e3ec71f0e78780851fef28c2a9babe20270404c921b756d7c532d280349214" }, + { file = "tokenizers-0.19.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b82931fa619dbad979c0ee8e54dd5278acc418209cc897e42fac041f5366d626" }, + { file = "tokenizers-0.19.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e8ff5b90eabdcdaa19af697885f70fe0b714ce16709cf43d4952f1f85299e73a" }, + { file = "tokenizers-0.19.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e742d76ad84acbdb1a8e4694f915fe59ff6edc381c97d6dfdd054954e3478ad4" }, + { file = "tokenizers-0.19.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d8c5d59d7b59885eab559d5bc082b2985555a54cda04dda4c65528d90ad252ad" }, + { file = "tokenizers-0.19.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b2da5c32ed869bebd990c9420df49813709e953674c0722ff471a116d97b22d" }, + { file = "tokenizers-0.19.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:638e43936cc8b2cbb9f9d8dde0fe5e7e30766a3318d2342999ae27f68fdc9bd6" }, + { file = "tokenizers-0.19.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:78e769eb3b2c79687d9cb0f89ef77223e8e279b75c0a968e637ca7043a84463f" }, + { file = "tokenizers-0.19.1-cp37-none-win32.whl", hash = "sha256:72791f9bb1ca78e3ae525d4782e85272c63faaef9940d92142aa3eb79f3407a3" }, + { file = "tokenizers-0.19.1-cp37-none-win_amd64.whl", hash = "sha256:f3bbb7a0c5fcb692950b041ae11067ac54826204318922da754f908d95619fbc" }, + { file = "tokenizers-0.19.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:07f9295349bbbcedae8cefdbcfa7f686aa420be8aca5d4f7d1ae6016c128c0c5" }, + { file = "tokenizers-0.19.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:10a707cc6c4b6b183ec5dbfc5c34f3064e18cf62b4a938cb41699e33a99e03c1" }, + { file = "tokenizers-0.19.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6309271f57b397aa0aff0cbbe632ca9d70430839ca3178bf0f06f825924eca22" }, + { file = "tokenizers-0.19.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ad23d37d68cf00d54af184586d79b84075ada495e7c5c0f601f051b162112dc" }, + { file = "tokenizers-0.19.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:427c4f0f3df9109314d4f75b8d1f65d9477033e67ffaec4bca53293d3aca286d" }, + { file = "tokenizers-0.19.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e83a31c9cf181a0a3ef0abad2b5f6b43399faf5da7e696196ddd110d332519ee" }, + { file = "tokenizers-0.19.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c27b99889bd58b7e301468c0838c5ed75e60c66df0d4db80c08f43462f82e0d3" }, + { file = "tokenizers-0.19.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bac0b0eb952412b0b196ca7a40e7dce4ed6f6926489313414010f2e6b9ec2adf" }, + { file = "tokenizers-0.19.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8a6298bde623725ca31c9035a04bf2ef63208d266acd2bed8c2cb7d2b7d53ce6" }, + { file = "tokenizers-0.19.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:08a44864e42fa6d7d76d7be4bec62c9982f6f6248b4aa42f7302aa01e0abfd26" }, + { file = "tokenizers-0.19.1-cp38-none-win32.whl", hash = "sha256:1de5bc8652252d9357a666e609cb1453d4f8e160eb1fb2830ee369dd658e8975" }, + { file = "tokenizers-0.19.1-cp38-none-win_amd64.whl", hash = "sha256:0bcce02bf1ad9882345b34d5bd25ed4949a480cf0e656bbd468f4d8986f7a3f1" }, + { file = "tokenizers-0.19.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:0b9394bd204842a2a1fd37fe29935353742be4a3460b6ccbaefa93f58a8df43d" }, + { file = "tokenizers-0.19.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4692ab92f91b87769d950ca14dbb61f8a9ef36a62f94bad6c82cc84a51f76f6a" }, + { file = "tokenizers-0.19.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6258c2ef6f06259f70a682491c78561d492e885adeaf9f64f5389f78aa49a051" }, + { file = "tokenizers-0.19.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c85cf76561fbd01e0d9ea2d1cbe711a65400092bc52b5242b16cfd22e51f0c58" }, + { file = "tokenizers-0.19.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:670b802d4d82bbbb832ddb0d41df7015b3e549714c0e77f9bed3e74d42400fbe" }, + { file = "tokenizers-0.19.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:85aa3ab4b03d5e99fdd31660872249df5e855334b6c333e0bc13032ff4469c4a" }, + { file = "tokenizers-0.19.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cbf001afbbed111a79ca47d75941e9e5361297a87d186cbfc11ed45e30b5daba" }, + { file = "tokenizers-0.19.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4c89aa46c269e4e70c4d4f9d6bc644fcc39bb409cb2a81227923404dd6f5227" }, + { file = "tokenizers-0.19.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:39c1ec76ea1027438fafe16ecb0fb84795e62e9d643444c1090179e63808c69d" }, + { file = "tokenizers-0.19.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c2a0d47a89b48d7daa241e004e71fb5a50533718897a4cd6235cb846d511a478" }, + { file = "tokenizers-0.19.1-cp39-none-win32.whl", hash = "sha256:61b7fe8886f2e104d4caf9218b157b106207e0f2a4905c9c7ac98890688aabeb" }, + { file = "tokenizers-0.19.1-cp39-none-win_amd64.whl", hash = "sha256:f97660f6c43efd3e0bfd3f2e3e5615bf215680bad6ee3d469df6454b8c6e8256" }, + { file = "tokenizers-0.19.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3b11853f17b54c2fe47742c56d8a33bf49ce31caf531e87ac0d7d13d327c9334" }, + { file = "tokenizers-0.19.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d26194ef6c13302f446d39972aaa36a1dda6450bc8949f5eb4c27f51191375bd" }, + { file = "tokenizers-0.19.1-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e8d1ed93beda54bbd6131a2cb363a576eac746d5c26ba5b7556bc6f964425594" }, + { file = "tokenizers-0.19.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca407133536f19bdec44b3da117ef0d12e43f6d4b56ac4c765f37eca501c7bda" }, + { file = "tokenizers-0.19.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce05fde79d2bc2e46ac08aacbc142bead21614d937aac950be88dc79f9db9022" }, + { file = "tokenizers-0.19.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:35583cd46d16f07c054efd18b5d46af4a2f070a2dd0a47914e66f3ff5efb2b1e" }, + { file = "tokenizers-0.19.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:43350270bfc16b06ad3f6f07eab21f089adb835544417afda0f83256a8bf8b75" }, + { file = "tokenizers-0.19.1-pp37-pypy37_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b4399b59d1af5645bcee2072a463318114c39b8547437a7c2d6a186a1b5a0e2d" }, + { file = "tokenizers-0.19.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6852c5b2a853b8b0ddc5993cd4f33bfffdca4fcc5d52f89dd4b8eada99379285" }, + { file = "tokenizers-0.19.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bcd266ae85c3d39df2f7e7d0e07f6c41a55e9a3123bb11f854412952deacd828" }, + { file = "tokenizers-0.19.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecb2651956eea2aa0a2d099434134b1b68f1c31f9a5084d6d53f08ed43d45ff2" }, + { file = "tokenizers-0.19.1-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:b279ab506ec4445166ac476fb4d3cc383accde1ea152998509a94d82547c8e2a" }, + { file = "tokenizers-0.19.1-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:89183e55fb86e61d848ff83753f64cded119f5d6e1f553d14ffee3700d0a4a49" }, + { file = "tokenizers-0.19.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b2edbc75744235eea94d595a8b70fe279dd42f3296f76d5a86dde1d46e35f574" }, + { file = "tokenizers-0.19.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:0e64bfde9a723274e9a71630c3e9494ed7b4c0f76a1faacf7fe294cd26f7ae7c" }, + { file = "tokenizers-0.19.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0b5ca92bfa717759c052e345770792d02d1f43b06f9e790ca0a1db62838816f3" }, + { file = "tokenizers-0.19.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f8a20266e695ec9d7a946a019c1d5ca4eddb6613d4f466888eee04f16eedb85" }, + { file = "tokenizers-0.19.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63c38f45d8f2a2ec0f3a20073cccb335b9f99f73b3c69483cd52ebc75369d8a1" }, + { file = "tokenizers-0.19.1-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:dd26e3afe8a7b61422df3176e06664503d3f5973b94f45d5c45987e1cb711876" }, + { file = "tokenizers-0.19.1-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:eddd5783a4a6309ce23432353cdb36220e25cbb779bfa9122320666508b44b88" }, + { file = "tokenizers-0.19.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:56ae39d4036b753994476a1b935584071093b55c7a72e3b8288e68c313ca26e7" }, + { file = "tokenizers-0.19.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f9939ca7e58c2758c01b40324a59c034ce0cebad18e0d4563a9b1beab3018243" }, + { file = "tokenizers-0.19.1-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6c330c0eb815d212893c67a032e9dc1b38a803eccb32f3e8172c19cc69fbb439" }, + { file = "tokenizers-0.19.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec11802450a2487cdf0e634b750a04cbdc1c4d066b97d94ce7dd2cb51ebb325b" }, + { file = "tokenizers-0.19.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2b718f316b596f36e1dae097a7d5b91fc5b85e90bf08b01ff139bd8953b25af" }, + { file = "tokenizers-0.19.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ed69af290c2b65169f0ba9034d1dc39a5db9459b32f1dd8b5f3f32a3fcf06eab" }, + { file = "tokenizers-0.19.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f8a9c828277133af13f3859d1b6bf1c3cb6e9e1637df0e45312e6b7c2e622b1f" }, + { file = "tokenizers-0.19.1.tar.gz", hash = "sha256:ee59e6680ed0fdbe6b724cf38bd70400a0c1dd623b07ac729087270caeac88e3" }, +] + +[package.dependencies] +huggingface-hub = ">=0.16.4,<1.0" + +[package.extras] +dev = ["tokenizers[testing]"] +docs = ["setuptools-rust", "sphinx", "sphinx-rtd-theme"] +testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests", "ruff"] + +[[package]] +name = "tokenizers" +version = "0.21.1" +description = "" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "sys_platform != \"darwin\" or platform_machine != \"x86_64\"" +files = [ + { file = "tokenizers-0.21.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:e78e413e9e668ad790a29456e677d9d3aa50a9ad311a40905d6861ba7692cf41" }, + { file = "tokenizers-0.21.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:cd51cd0a91ecc801633829fcd1fda9cf8682ed3477c6243b9a095539de4aecf3" }, + { file = "tokenizers-0.21.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28da6b72d4fb14ee200a1bd386ff74ade8992d7f725f2bde2c495a9a98cf4d9f" }, + { file = "tokenizers-0.21.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:34d8cfde551c9916cb92014e040806122295a6800914bab5865deb85623931cf" }, + { file = "tokenizers-0.21.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aaa852d23e125b73d283c98f007e06d4595732104b65402f46e8ef24b588d9f8" }, + { file = "tokenizers-0.21.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a21a15d5c8e603331b8a59548bbe113564136dc0f5ad8306dd5033459a226da0" }, + { file = "tokenizers-0.21.1-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2fdbd4c067c60a0ac7eca14b6bd18a5bebace54eb757c706b47ea93204f7a37c" }, + { file = "tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dd9a0061e403546f7377df940e866c3e678d7d4e9643d0461ea442b4f89e61a" }, + { file = "tokenizers-0.21.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:db9484aeb2e200c43b915a1a0150ea885e35f357a5a8fabf7373af333dcc8dbf" }, + { file = "tokenizers-0.21.1-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ed248ab5279e601a30a4d67bdb897ecbe955a50f1e7bb62bd99f07dd11c2f5b6" }, + { file = "tokenizers-0.21.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:9ac78b12e541d4ce67b4dfd970e44c060a2147b9b2a21f509566d556a509c67d" }, + { file = "tokenizers-0.21.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e5a69c1a4496b81a5ee5d2c1f3f7fbdf95e90a0196101b0ee89ed9956b8a168f" }, + { file = "tokenizers-0.21.1-cp39-abi3-win32.whl", hash = "sha256:1039a3a5734944e09de1d48761ade94e00d0fa760c0e0551151d4dd851ba63e3" }, + { file = "tokenizers-0.21.1-cp39-abi3-win_amd64.whl", hash = "sha256:0f0dcbcc9f6e13e675a66d7a5f2f225a736745ce484c1a4e07476a89ccdad382" }, + { file = "tokenizers-0.21.1.tar.gz", hash = "sha256:a1bb04dc5b448985f86ecd4b05407f5a8d97cb2c0532199b2a302a604a0165ab" }, ] [package.dependencies] @@ -4535,6 +5307,7 @@ version = "2.2.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, @@ -4576,6 +5349,7 @@ version = "0.13.2" description = "Style preserving TOML library" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde"}, {file = "tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79"}, @@ -4583,28 +5357,32 @@ files = [ [[package]] name = "torch" -version = "2.5.1" +version = "2.6.0" description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" optional = false -python-versions = ">=3.8.0" -files = [ - {file = "torch-2.5.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:71328e1bbe39d213b8721678f9dcac30dfc452a46d586f1d514a6aa0a99d4744"}, - {file = "torch-2.5.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:34bfa1a852e5714cbfa17f27c49d8ce35e1b7af5608c4bc6e81392c352dbc601"}, - {file = "torch-2.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:32a037bd98a241df6c93e4c789b683335da76a2ac142c0973675b715102dc5fa"}, - {file = "torch-2.5.1-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:23d062bf70776a3d04dbe74db950db2a5245e1ba4f27208a87f0d743b0d06e86"}, - {file = "torch-2.5.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:de5b7d6740c4b636ef4db92be922f0edc425b65ed78c5076c43c42d362a45457"}, - {file = "torch-2.5.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:340ce0432cad0d37f5a31be666896e16788f1adf8ad7be481196b503dad675b9"}, - {file = "torch-2.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:603c52d2fe06433c18b747d25f5c333f9c1d58615620578c326d66f258686f9a"}, - {file = "torch-2.5.1-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:31f8c39660962f9ae4eeec995e3049b5492eb7360dd4f07377658ef4d728fa4c"}, - {file = "torch-2.5.1-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:ed231a4b3a5952177fafb661213d690a72caaad97d5824dd4fc17ab9e15cec03"}, - {file = "torch-2.5.1-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:3f4b7f10a247e0dcd7ea97dc2d3bfbfc90302ed36d7f3952b0008d0df264e697"}, - {file = "torch-2.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:73e58e78f7d220917c5dbfad1a40e09df9929d3b95d25e57d9f8558f84c9a11c"}, - {file = "torch-2.5.1-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:8c712df61101964eb11910a846514011f0b6f5920c55dbf567bff8a34163d5b1"}, - {file = "torch-2.5.1-cp313-cp313-manylinux1_x86_64.whl", hash = "sha256:9b61edf3b4f6e3b0e0adda8b3960266b9009d02b37555971f4d1c8f7a05afed7"}, - {file = "torch-2.5.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:1f3b7fb3cf7ab97fae52161423f81be8c6b8afac8d9760823fd623994581e1a3"}, - {file = "torch-2.5.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:7974e3dce28b5a21fb554b73e1bc9072c25dde873fa00d54280861e7a009d7dc"}, - {file = "torch-2.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:46c817d3ea33696ad3b9df5e774dba2257e9a4cd3c4a3afbf92f6bb13ac5ce2d"}, - {file = "torch-2.5.1-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:8046768b7f6d35b85d101b4b38cba8aa2f3cd51952bc4c06a49580f2ce682291"}, +python-versions = ">=3.9.0" +groups = ["main"] +files = [ + { file = "torch-2.6.0-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:6860df13d9911ac158f4c44031609700e1eba07916fff62e21e6ffa0a9e01961" }, + { file = "torch-2.6.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:c4f103a49830ce4c7561ef4434cc7926e5a5fe4e5eb100c19ab36ea1e2b634ab" }, + { file = "torch-2.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:56eeaf2ecac90da5d9e35f7f35eb286da82673ec3c582e310a8d1631a1c02341" }, + { file = "torch-2.6.0-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:09e06f9949e1a0518c5b09fe95295bc9661f219d9ecb6f9893e5123e10696628" }, + { file = "torch-2.6.0-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:7979834102cd5b7a43cc64e87f2f3b14bd0e1458f06e9f88ffa386d07c7446e1" }, + { file = "torch-2.6.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:ccbd0320411fe1a3b3fec7b4d3185aa7d0c52adac94480ab024b5c8f74a0bf1d" }, + { file = "torch-2.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:46763dcb051180ce1ed23d1891d9b1598e07d051ce4c9d14307029809c4d64f7" }, + { file = "torch-2.6.0-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:94fc63b3b4bedd327af588696559f68c264440e2503cc9e6954019473d74ae21" }, + { file = "torch-2.6.0-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:2bb8987f3bb1ef2675897034402373ddfc8f5ef0e156e2d8cfc47cacafdda4a9" }, + { file = "torch-2.6.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:b789069020c5588c70d5c2158ac0aa23fd24a028f34a8b4fcb8fcb4d7efcf5fb" }, + { file = "torch-2.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:7e1448426d0ba3620408218b50aa6ada88aeae34f7a239ba5431f6c8774b1239" }, + { file = "torch-2.6.0-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:9a610afe216a85a8b9bc9f8365ed561535c93e804c2a317ef7fabcc5deda0989" }, + { file = "torch-2.6.0-cp313-cp313-manylinux1_x86_64.whl", hash = "sha256:4874a73507a300a5d089ceaff616a569e7bb7c613c56f37f63ec3ffac65259cf" }, + { file = "torch-2.6.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:a0d5e1b9874c1a6c25556840ab8920569a7a4137afa8a63a32cee0bc7d89bd4b" }, + { file = "torch-2.6.0-cp313-cp313-win_amd64.whl", hash = "sha256:510c73251bee9ba02ae1cb6c9d4ee0907b3ce6020e62784e2d7598e0cfa4d6cc" }, + { file = "torch-2.6.0-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:ff96f4038f8af9f7ec4231710ed4549da1bdebad95923953a25045dcf6fd87e2" }, + { file = "torch-2.6.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:9ea955317cfcd3852b1402b62af258ce735c2edeee42ca9419b6bc889e5ae053" }, + { file = "torch-2.6.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:bb2c6c3e65049f081940f5ab15c9136c7de40d3f01192541c920a07c7c585b7e" }, + { file = "torch-2.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:683410f97984103148e31b38a8631acf31c3034c020c0f4d26171e7626d8317a" }, + { file = "torch-2.6.0-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:265f70de5fd45b864d924b64be1797f86e76c8e48a02c2a3a6fc7ec247d2226c" }, ] [package.dependencies] @@ -4621,47 +5399,58 @@ nvidia-cufft-cu12 = {version = "11.2.1.3", markers = "platform_system == \"Linux nvidia-curand-cu12 = {version = "10.3.5.147", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} nvidia-cusolver-cu12 = {version = "11.6.1.9", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} nvidia-cusparse-cu12 = {version = "12.3.1.170", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cusparselt-cu12 = { version = "0.6.2", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\"" } nvidia-nccl-cu12 = {version = "2.21.5", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} nvidia-nvjitlink-cu12 = {version = "12.4.127", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} nvidia-nvtx-cu12 = {version = "12.4.127", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} setuptools = {version = "*", markers = "python_version >= \"3.12\""} sympy = {version = "1.13.1", markers = "python_version >= \"3.9\""} -triton = {version = "3.1.0", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\" and python_version < \"3.13\""} -typing-extensions = ">=4.8.0" +triton = { version = "3.2.0", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\"" } +typing-extensions = ">=4.10.0" [package.extras] opt-einsum = ["opt-einsum (>=3.3)"] -optree = ["optree (>=0.12.0)"] +optree = ["optree (>=0.13.0)"] [[package]] name = "torchvision" -version = "0.20.1" +version = "0.21.0" description = "image and video datasets and models for torch deep learning" optional = false -python-versions = ">=3.8" -files = [ - {file = "torchvision-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4878fefb96ef293d06c27210918adc83c399d9faaf34cda5a63e129f772328f1"}, - {file = "torchvision-0.20.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:8ffbdf8bf5b30eade22d459f5a313329eeadb20dc75efa142987b53c007098c3"}, - {file = "torchvision-0.20.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:75f8a4d51a593c4bab6c9bf7d75bdd88691b00a53b07656678bc55a3a753dd73"}, - {file = "torchvision-0.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:22c2fa44e20eb404b85e42b22b453863a14b0927d25e550fd4f84eea97fa5b39"}, - {file = "torchvision-0.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:344b339e15e6bbb59ee0700772616d0afefd209920c762b1604368d8c3458322"}, - {file = "torchvision-0.20.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:86f6523dee420000fe14c3527f6c8e0175139fda7d995b187f54a0b0ebec7eb6"}, - {file = "torchvision-0.20.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:a40d766345927639da322c693934e5f91b1ba2218846c7104b868dea2314ce8e"}, - {file = "torchvision-0.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:5b501d5c04b034d2ecda96a31ed050e383cf8201352e4c9276ca249cbecfded0"}, - {file = "torchvision-0.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1a31256ff945d64f006bb306813a7c95a531fe16bfb2535c837dd4c104533d7a"}, - {file = "torchvision-0.20.1-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:17cd78adddf81dac57d7dccc9277a4d686425b1c55715f308769770cb26cad5c"}, - {file = "torchvision-0.20.1-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:9f853ba4497ac4691815ad41b523ee23cf5ba4f87b1ce869d704052e233ca8b7"}, - {file = "torchvision-0.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:4a330422c36dbfc946d3a6c1caec3489db07ecdf3675d83369adb2e5a0ca17c4"}, - {file = "torchvision-0.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2cd58406978b813188cf4e9135b218775b57e0bb86d4a88f0339874b8a224819"}, - {file = "torchvision-0.20.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:408766b2f0ada9e1bc880d12346cec9638535af5df6459ba9ac4ce5c46402f91"}, - {file = "torchvision-0.20.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:abcb8005de8dc393dbd1310ecb669dc68ab664b9107af6d698a6341d1d3f2c3c"}, - {file = "torchvision-0.20.1-cp39-cp39-win_amd64.whl", hash = "sha256:ea9678163bbf19568f4f959d927f3751eeb833cc8eac949de507edde38c1fc9f"}, +python-versions = ">=3.9" +groups = ["main"] +files = [ + { file = "torchvision-0.21.0-1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:5568c5a1ff1b2ec33127b629403adb530fab81378d9018ca4ed6508293f76e2b" }, + { file = "torchvision-0.21.0-1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:ff96666b94a55e802ea6796cabe788541719e6f4905fc59c380fed3517b6a64d" }, + { file = "torchvision-0.21.0-1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:ffa2a16499508fe6798323e455f312c7c55f2a88901c9a7c0fb1efa86cf7e327" }, + { file = "torchvision-0.21.0-1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:7e9e9afa150e40cd2a8f0701c43cb82a8d724f512896455c0918b987f94b84a4" }, + { file = "torchvision-0.21.0-1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:669575b290ec27304569e188a960d12b907d5173f9cd65e86621d34c4e5b6c30" }, + { file = "torchvision-0.21.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:044ea420b8c6c3162a234cada8e2025b9076fa82504758cd11ec5d0f8cd9fa37" }, + { file = "torchvision-0.21.0-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:b0c0b264b89ab572888244f2e0bad5b7eaf5b696068fc0b93e96f7c3c198953f" }, + { file = "torchvision-0.21.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:54815e0a56dde95cc6ec952577f67e0dc151eadd928e8d9f6a7f821d69a4a734" }, + { file = "torchvision-0.21.0-cp310-cp310-win_amd64.whl", hash = "sha256:abbf1d7b9d52c00d2af4afa8dac1fb3e2356f662a4566bd98dfaaa3634f4eb34" }, + { file = "torchvision-0.21.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:110d115333524d60e9e474d53c7d20f096dbd8a080232f88dddb90566f90064c" }, + { file = "torchvision-0.21.0-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:3891cd086c5071bda6b4ee9d266bb2ac39c998c045c2ebcd1e818b8316fb5d41" }, + { file = "torchvision-0.21.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:54454923a50104c66a9ab6bd8b73a11c2fc218c964b1006d5d1fe5b442c3dcb6" }, + { file = "torchvision-0.21.0-cp311-cp311-win_amd64.whl", hash = "sha256:49bcfad8cfe2c27dee116c45d4f866d7974bcf14a5a9fbef893635deae322f2f" }, + { file = "torchvision-0.21.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:97a5814a93c793aaf0179cfc7f916024f4b63218929aee977b645633d074a49f" }, + { file = "torchvision-0.21.0-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:b578bcad8a4083b40d34f689b19ca9f7c63e511758d806510ea03c29ac568f7b" }, + { file = "torchvision-0.21.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:5083a5b1fec2351bf5ea9900a741d54086db75baec4b1d21e39451e00977f1b1" }, + { file = "torchvision-0.21.0-cp312-cp312-win_amd64.whl", hash = "sha256:6eb75d41e3bbfc2f7642d0abba9383cc9ae6c5a4ca8d6b00628c225e1eaa63b3" }, + { file = "torchvision-0.21.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:659b76c86757cb2ee4ca2db245e0740cfc3081fef46f0f1064d11adb4a8cee31" }, + { file = "torchvision-0.21.0-cp313-cp313-manylinux1_x86_64.whl", hash = "sha256:084ac3f5a1f50c70d630a488d19bf62f323018eae1b1c1232f2b7047d3a7b76d" }, + { file = "torchvision-0.21.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:5045a3a5f21ec3eea6962fa5f2fa2d4283f854caec25ada493fcf4aab2925467" }, + { file = "torchvision-0.21.0-cp313-cp313-win_amd64.whl", hash = "sha256:9147f5e096a9270684e3befdee350f3cacafd48e0c54ab195f45790a9c146d67" }, + { file = "torchvision-0.21.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5c22caeaae8b3c36d93459f1a5294e6f43306cff856ed243189a229331a404b4" }, + { file = "torchvision-0.21.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:e6572227228ec521618cea9ac3a368c45b7f96f1f8622dc9f1afe891c044051f" }, + { file = "torchvision-0.21.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:6bdce3890fa949219de129e85e4f6d544598af3c073afe5c44e14aed15bdcbb2" }, + { file = "torchvision-0.21.0-cp39-cp39-win_amd64.whl", hash = "sha256:8c44b6924b530d0702e88ff383b65c4b34a0eaf666e8b399a73245574d546947" }, ] [package.dependencies] numpy = "*" pillow = ">=5.3.0,<8.3.dev0 || >=8.4.dev0" -torch = "2.5.1" +torch = "2.6.0" [package.extras] gdown = ["gdown (>=4.7.3)"] @@ -4673,6 +5462,7 @@ version = "6.4.2" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1"}, {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803"}, @@ -4693,6 +5483,7 @@ version = "4.67.1" description = "Fast, Extensible Progress Meter" optional = false python-versions = ">=3.7" +groups = ["main", "dev"] files = [ {file = "tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2"}, {file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"}, @@ -4714,6 +5505,7 @@ version = "5.14.3" description = "Traitlets Python configuration system" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"}, {file = "traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7"}, @@ -4725,46 +5517,120 @@ test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0, [[package]] name = "transformers" -version = "4.48.0" +version = "4.42.4" +description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" +optional = false +python-versions = ">=3.8.0" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_machine == \"x86_64\"" +files = [ + { file = "transformers-4.42.4-py3-none-any.whl", hash = "sha256:6d59061392d0f1da312af29c962df9017ff3c0108c681a56d1bc981004d16d24" }, + { file = "transformers-4.42.4.tar.gz", hash = "sha256:f956e25e24df851f650cb2c158b6f4352dfae9d702f04c113ed24fc36ce7ae2d" }, +] + +[package.dependencies] +filelock = "*" +huggingface-hub = ">=0.23.2,<1.0" +numpy = ">=1.17,<2.0" +packaging = ">=20.0" +pyyaml = ">=5.1" +regex = "!=2019.12.17" +requests = "*" +safetensors = ">=0.4.1" +tokenizers = ">=0.19,<0.20" +tqdm = ">=4.27" + +[package.extras] +accelerate = ["accelerate (>=0.21.0)"] +agents = ["Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.21.0)", "datasets (!=2.5.0)", "diffusers", "opencv-python", "sentencepiece (>=0.1.91,!=0.1.92)", "torch"] +all = ["Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.21.0)", "av (==9.2.0)", "codecarbon (==1.2.0)", "decord (==0.6.0)", "flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune] (>=2.7.0)", "scipy (<1.13.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timm (<=0.9.16)", "tokenizers (>=0.19,<0.20)", "torch", "torchaudio", "torchvision"] +audio = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] +benchmark = ["optimum-benchmark (>=0.2.0)"] +codecarbon = ["codecarbon (==1.2.0)"] +deepspeed = ["accelerate (>=0.21.0)", "deepspeed (>=0.9.3)"] +deepspeed-testing = ["GitPython (<3.1.19)", "accelerate (>=0.21.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "deepspeed (>=0.9.3)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "nltk", "optuna", "parameterized", "protobuf", "psutil", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-rich", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.4.4)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] +dev = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.21.0)", "av (==9.2.0)", "beautifulsoup4", "codecarbon (==1.2.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "decord (==0.6.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "flax (>=0.4.1,<=0.7.0)", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "nltk", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-rich", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.4.4)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "scipy (<1.13.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "timm (<=0.9.16)", "tokenizers (>=0.19,<0.20)", "torch", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] +dev-tensorflow = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "isort (>=5.5.4)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "nltk", "onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-rich", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.4.4)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "tokenizers (>=0.19,<0.20)", "urllib3 (<2.0.0)"] +dev-torch = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.21.0)", "beautifulsoup4", "codecarbon (==1.2.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "kenlm", "librosa", "nltk", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-rich", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.4.4)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "timeout-decorator", "timm (<=0.9.16)", "tokenizers (>=0.19,<0.20)", "torch", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] +flax = ["flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "optax (>=0.0.8,<=0.1.4)", "scipy (<1.13.0)"] +flax-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] +ftfy = ["ftfy"] +integrations = ["optuna", "ray[tune] (>=2.7.0)", "sigopt"] +ja = ["fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "rhoknp (>=1.1.0,<1.3.1)", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)"] +modelcreation = ["cookiecutter (==1.7.3)"] +natten = ["natten (>=0.14.6,<0.15.0)"] +onnx = ["onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "tf2onnx"] +onnxruntime = ["onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)"] +optuna = ["optuna"] +quality = ["GitPython (<3.1.19)", "datasets (!=2.5.0)", "isort (>=5.5.4)", "ruff (==0.4.4)", "urllib3 (<2.0.0)"] +ray = ["ray[tune] (>=2.7.0)"] +retrieval = ["datasets (!=2.5.0)", "faiss-cpu"] +ruff = ["ruff (==0.4.4)"] +sagemaker = ["sagemaker (>=2.31.0)"] +sentencepiece = ["protobuf", "sentencepiece (>=0.1.91,!=0.1.92)"] +serving = ["fastapi", "pydantic", "starlette", "uvicorn"] +sigopt = ["sigopt"] +sklearn = ["scikit-learn"] +speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] +testing = ["GitPython (<3.1.19)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "nltk", "parameterized", "psutil", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-rich", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.4.4)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] +tf = ["keras-nlp (>=0.3.1)", "onnxconverter-common", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx"] +tf-cpu = ["keras (>2.9,<2.16)", "keras-nlp (>=0.3.1)", "onnxconverter-common", "tensorflow-cpu (>2.9,<2.16)", "tensorflow-probability (<0.24)", "tensorflow-text (<2.16)", "tf2onnx"] +tf-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] +timm = ["timm (<=0.9.16)"] +tokenizers = ["tokenizers (>=0.19,<0.20)"] +torch = ["accelerate (>=0.21.0)", "torch"] +torch-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] +torch-vision = ["Pillow (>=10.0.1,<=15.0)", "torchvision"] +torchhub = ["filelock", "huggingface-hub (>=0.23.2,<1.0)", "importlib-metadata", "numpy (>=1.17,<2.0)", "packaging (>=20.0)", "protobuf", "regex (!=2019.12.17)", "requests", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.19,<0.20)", "torch", "tqdm (>=4.27)"] +video = ["av (==9.2.0)", "decord (==0.6.0)"] +vision = ["Pillow (>=10.0.1,<=15.0)"] + +[[package]] +name = "transformers" +version = "4.50.3" description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" optional = false python-versions = ">=3.9.0" +groups = ["main"] +markers = "sys_platform != \"darwin\" or platform_machine != \"x86_64\"" files = [ - {file = "transformers-4.48.0-py3-none-any.whl", hash = "sha256:6d3de6d71cb5f2a10f9775ccc17abce9620195caaf32ec96542bd2a6937f25b0"}, - {file = "transformers-4.48.0.tar.gz", hash = "sha256:03fdfcbfb8b0367fb6c9fbe9d1c9aa54dfd847618be9b52400b2811d22799cb1"}, + { file = "transformers-4.50.3-py3-none-any.whl", hash = "sha256:6111610a43dec24ef32c3df0632c6b25b07d9711c01d9e1077bdd2ff6b14a38c" }, + { file = "transformers-4.50.3.tar.gz", hash = "sha256:1d795d24925e615a8e63687d077e4f7348c2702eb87032286eaa76d83cdc684f" }, ] [package.dependencies] filelock = "*" -huggingface-hub = ">=0.24.0,<1.0" +huggingface-hub = ">=0.26.0,<1.0" numpy = ">=1.17" packaging = ">=20.0" pyyaml = ">=5.1" regex = "!=2019.12.17" requests = "*" -safetensors = ">=0.4.1" +safetensors = ">=0.4.3" tokenizers = ">=0.21,<0.22" tqdm = ">=4.27" [package.extras] accelerate = ["accelerate (>=0.26.0)"] agents = ["Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "datasets (!=2.5.0)", "diffusers", "opencv-python", "sentencepiece (>=0.1.91,!=0.1.92)", "torch (>=2.0)"] -all = ["Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "av (==9.2.0)", "codecarbon (>=2.8.1)", "flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "librosa", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune] (>=2.7.0)", "scipy (<1.13.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timm (<=1.0.11)", "tokenizers (>=0.21,<0.22)", "torch (>=2.0)", "torchaudio", "torchvision"] +all = ["Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "av", "codecarbon (>=2.8.1)", "flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "kernels (>=0.3.2,<0.4)", "librosa", "num2words", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune] (>=2.7.0)", "scipy (<1.13.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timm (<=1.0.11)", "tokenizers (>=0.21,<0.22)", "torch (>=2.0)", "torchaudio", "torchvision"] audio = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] benchmark = ["optimum-benchmark (>=0.3.0)"] codecarbon = ["codecarbon (>=2.8.1)"] deepspeed = ["accelerate (>=0.26.0)", "deepspeed (>=0.9.3)"] -deepspeed-testing = ["GitPython (<3.1.19)", "accelerate (>=0.26.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "deepspeed (>=0.9.3)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "nltk (<=3.8.1)", "optuna", "parameterized", "protobuf", "psutil", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-asyncio", "pytest-rich", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] -dev = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "av (==9.2.0)", "beautifulsoup4", "codecarbon (>=2.8.1)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "flax (>=0.4.1,<=0.7.0)", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "libcst", "librosa", "nltk (<=3.8.1)", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-asyncio", "pytest-rich", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "scipy (<1.13.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "timm (<=1.0.11)", "tokenizers (>=0.21,<0.22)", "torch (>=2.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] -dev-tensorflow = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "isort (>=5.5.4)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "libcst", "librosa", "nltk (<=3.8.1)", "onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-asyncio", "pytest-rich", "pytest-timeout", "pytest-xdist", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "tokenizers (>=0.21,<0.22)", "urllib3 (<2.0.0)"] -dev-torch = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "beautifulsoup4", "codecarbon (>=2.8.1)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "kenlm", "libcst", "librosa", "nltk (<=3.8.1)", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-asyncio", "pytest-rich", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "timeout-decorator", "timm (<=1.0.11)", "tokenizers (>=0.21,<0.22)", "torch (>=2.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] +deepspeed-testing = ["GitPython (<3.1.19)", "accelerate (>=0.26.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "deepspeed (>=0.9.3)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "nltk (<=3.8.1)", "optuna", "parameterized", "protobuf", "psutil", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-asyncio", "pytest-order", "pytest-rerunfailures", "pytest-rich", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] +dev = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "av", "beautifulsoup4", "codecarbon (>=2.8.1)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "flax (>=0.4.1,<=0.7.0)", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "kernels (>=0.3.2,<0.4)", "libcst", "librosa", "nltk (<=3.8.1)", "num2words", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-asyncio", "pytest-order", "pytest-rerunfailures", "pytest-rich", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "scipy (<1.13.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "timm (<=1.0.11)", "tokenizers (>=0.21,<0.22)", "torch (>=2.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] +dev-tensorflow = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "isort (>=5.5.4)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "libcst", "librosa", "nltk (<=3.8.1)", "onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-asyncio", "pytest-order", "pytest-rerunfailures", "pytest-rich", "pytest-timeout", "pytest-xdist", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "tokenizers (>=0.21,<0.22)", "urllib3 (<2.0.0)"] +dev-torch = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "beautifulsoup4", "codecarbon (>=2.8.1)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "kenlm", "kernels (>=0.3.2,<0.4)", "libcst", "librosa", "nltk (<=3.8.1)", "num2words", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-asyncio", "pytest-order", "pytest-rerunfailures", "pytest-rich", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "timeout-decorator", "timm (<=1.0.11)", "tokenizers (>=0.21,<0.22)", "torch (>=2.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] flax = ["flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "optax (>=0.0.8,<=0.1.4)", "scipy (<1.13.0)"] flax-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] ftfy = ["ftfy"] -integrations = ["optuna", "ray[tune] (>=2.7.0)", "sigopt"] +hub-kernels = ["kernels (>=0.3.2,<0.4)"] +integrations = ["kernels (>=0.3.2,<0.4)", "optuna", "ray[tune] (>=2.7.0)", "sigopt"] ja = ["fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "rhoknp (>=1.1.0,<1.3.1)", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)"] modelcreation = ["cookiecutter (==1.7.3)"] natten = ["natten (>=0.14.6,<0.15.0)"] +num2words = ["num2words"] onnx = ["onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "tf2onnx"] onnxruntime = ["onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)"] optuna = ["optuna"] @@ -4778,7 +5644,7 @@ serving = ["fastapi", "pydantic", "starlette", "uvicorn"] sigopt = ["sigopt"] sklearn = ["scikit-learn"] speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] -testing = ["GitPython (<3.1.19)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "nltk (<=3.8.1)", "parameterized", "psutil", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-asyncio", "pytest-rich", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] +testing = ["GitPython (<3.1.19)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "nltk (<=3.8.1)", "parameterized", "psutil", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-asyncio", "pytest-order", "pytest-rerunfailures", "pytest-rich", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] tf = ["keras-nlp (>=0.3.1,<0.14.0)", "onnxconverter-common", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx"] tf-cpu = ["keras (>2.9,<2.16)", "keras-nlp (>=0.3.1,<0.14.0)", "onnxconverter-common", "tensorflow-cpu (>2.9,<2.16)", "tensorflow-probability (<0.24)", "tensorflow-text (<2.16)", "tf2onnx"] tf-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] @@ -4788,27 +5654,26 @@ tokenizers = ["tokenizers (>=0.21,<0.22)"] torch = ["accelerate (>=0.26.0)", "torch (>=2.0)"] torch-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] torch-vision = ["Pillow (>=10.0.1,<=15.0)", "torchvision"] -torchhub = ["filelock", "huggingface-hub (>=0.24.0,<1.0)", "importlib-metadata", "numpy (>=1.17)", "packaging (>=20.0)", "protobuf", "regex (!=2019.12.17)", "requests", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.21,<0.22)", "torch (>=2.0)", "tqdm (>=4.27)"] -video = ["av (==9.2.0)"] +torchhub = ["filelock", "huggingface-hub (>=0.26.0,<1.0)", "importlib-metadata", "numpy (>=1.17)", "packaging (>=20.0)", "protobuf", "regex (!=2019.12.17)", "requests", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.21,<0.22)", "torch (>=2.0)", "tqdm (>=4.27)"] +video = ["av"] vision = ["Pillow (>=10.0.1,<=15.0)"] [[package]] name = "triton" -version = "3.1.0" +version = "3.2.0" description = "A language and compiler for custom Deep Learning operations" optional = false python-versions = "*" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\"" files = [ - {file = "triton-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b0dd10a925263abbe9fa37dcde67a5e9b2383fc269fdf59f5657cac38c5d1d8"}, - {file = "triton-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f34f6e7885d1bf0eaaf7ba875a5f0ce6f3c13ba98f9503651c1e6dc6757ed5c"}, - {file = "triton-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8182f42fd8080a7d39d666814fa36c5e30cc00ea7eeeb1a2983dbb4c99a0fdc"}, - {file = "triton-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dadaca7fc24de34e180271b5cf864c16755702e9f63a16f62df714a8099126a"}, - {file = "triton-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aafa9a20cd0d9fee523cd4504aa7131807a864cd77dcf6efe7e981f18b8c6c11"}, + { file = "triton-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3e54983cd51875855da7c68ec05c05cf8bb08df361b1d5b69e05e40b0c9bd62" }, + { file = "triton-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8009a1fb093ee8546495e96731336a33fb8856a38e45bb4ab6affd6dbc3ba220" }, + { file = "triton-3.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d9b215efc1c26fa7eefb9a157915c92d52e000d2bf83e5f69704047e63f125c" }, + { file = "triton-3.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5dfa23ba84541d7c0a531dfce76d8bcd19159d50a4a8b14ad01e91734a5c1b0" }, + { file = "triton-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30ceed0eff2c4a73b14eb63e052992f44bbdf175f3fad21e1ac8097a772de7ee" }, ] -[package.dependencies] -filelock = "*" - [package.extras] build = ["cmake (>=3.20)", "lit"] tests = ["autopep8", "flake8", "isort", "llnl-hatchet", "numpy", "pytest", "scipy (>=1.7.1)"] @@ -4820,6 +5685,7 @@ version = "3.8.0" description = "Collection of utilities for publishing packages on PyPI" optional = false python-versions = ">=3.6" +groups = ["dev"] files = [ {file = "twine-3.8.0-py3-none-any.whl", hash = "sha256:d0550fca9dc19f3d5e8eadfce0c227294df0a2a951251a4385797c8a6198b7c8"}, {file = "twine-3.8.0.tar.gz", hash = "sha256:8efa52658e0ae770686a13b675569328f1fba9837e5de1867bfe5f46a9aefe19"}, @@ -4843,6 +5709,7 @@ version = "0.12.5" description = "Typer, build great CLIs. Easy to code. Based on Python type hints." optional = false python-versions = ">=3.7" +groups = ["main"] files = [ {file = "typer-0.12.5-py3-none-any.whl", hash = "sha256:62fe4e471711b147e3365034133904df3e235698399bc4de2b36c8579298d52b"}, {file = "typer-0.12.5.tar.gz", hash = "sha256:f592f089bedcc8ec1b974125d64851029c3b1af145f04aca64d69410f0c9b722"}, @@ -4856,24 +5723,41 @@ typing-extensions = ">=3.7.4.3" [[package]] name = "typing-extensions" -version = "4.12.2" +version = "4.13.1" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" +groups = ["main", "dev"] files = [ - {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, - {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, + { file = "typing_extensions-4.13.1-py3-none-any.whl", hash = "sha256:4b6cf02909eb5495cfbc3f6e8fd49217e6cc7944e145cdda8caa3734777f9e69" }, + { file = "typing_extensions-4.13.1.tar.gz", hash = "sha256:98795af00fb9640edec5b8e31fc647597b4691f099ad75f469a2616be1a76dff" }, ] +[[package]] +name = "typing-inspection" +version = "0.4.0" +description = "Runtime typing introspection tools" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + { file = "typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f" }, + { file = "typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122" }, +] + +[package.dependencies] +typing-extensions = ">=4.12.0" + [[package]] name = "tzdata" -version = "2024.2" +version = "2025.2" description = "Provider of IANA time zone data" optional = false python-versions = ">=2" +groups = ["main"] files = [ - {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, - {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, + { file = "tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8" }, + { file = "tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9" }, ] [[package]] @@ -4882,26 +5766,28 @@ version = "2.3.0" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.9" +groups = ["main", "dev"] files = [ {file = "urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"}, {file = "urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"}, ] [package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +brotli = ["brotli (>=1.0.9) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\""] h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.28.1" +version = "20.30.0" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ - {file = "virtualenv-20.28.1-py3-none-any.whl", hash = "sha256:412773c85d4dab0409b83ec36f7a6499e72eaf08c80e81e9576bca61831c71cb"}, - {file = "virtualenv-20.28.1.tar.gz", hash = "sha256:5d34ab240fdb5d21549b76f9e8ff3af28252f5499fb6d6f031adac4e5a8c5329"}, + { file = "virtualenv-20.30.0-py3-none-any.whl", hash = "sha256:e34302959180fca3af42d1800df014b35019490b119eba981af27f2fa486e5d6" }, + { file = "virtualenv-20.30.0.tar.gz", hash = "sha256:800863162bcaa5450a6e4d721049730e7f2dae07720e0902b0e4040bd6f9ada8" }, ] [package.dependencies] @@ -4911,7 +5797,7 @@ platformdirs = ">=3.9.1,<5" [package.extras] docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] -test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] +test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8) ; platform_python_implementation == \"PyPy\" or platform_python_implementation == \"GraalVM\" or platform_python_implementation == \"CPython\" and sys_platform == \"win32\" and python_version >= \"3.13\"", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10) ; platform_python_implementation == \"CPython\""] [[package]] name = "wcwidth" @@ -4919,6 +5805,7 @@ version = "0.2.13" description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, @@ -4930,6 +5817,7 @@ version = "0.45.1" description = "A built-package format for Python" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248"}, {file = "wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729"}, @@ -4940,13 +5828,14 @@ test = ["pytest (>=6.0.0)", "setuptools (>=65)"] [[package]] name = "xlsxwriter" -version = "3.2.0" +version = "3.2.2" description = "A Python module for creating Excel XLSX files." optional = false python-versions = ">=3.6" +groups = ["main"] files = [ - {file = "XlsxWriter-3.2.0-py3-none-any.whl", hash = "sha256:ecfd5405b3e0e228219bcaf24c2ca0915e012ca9464a14048021d21a995d490e"}, - {file = "XlsxWriter-3.2.0.tar.gz", hash = "sha256:9977d0c661a72866a61f9f7a809e25ebbb0fb7036baa3b9fe74afcfca6b3cb8c"}, + { file = "XlsxWriter-3.2.2-py3-none-any.whl", hash = "sha256:272ce861e7fa5e82a4a6ebc24511f2cb952fde3461f6c6e1a1e81d3272db1471" }, + { file = "xlsxwriter-3.2.2.tar.gz", hash = "sha256:befc7f92578a85fed261639fb6cde1fd51b79c5e854040847dde59d4317077dc" }, ] [[package]] @@ -4955,20 +5844,21 @@ version = "3.21.0" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.9" +groups = ["dev"] files = [ {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, ] [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +test = ["big-O", "importlib-resources ; python_version < \"3.9\"", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] type = ["pytest-mypy"] [metadata] -lock-version = "2.0" +lock-version = "2.1" python-versions = ">=3.9,<3.13" -content-hash = "663cb1ccfaba2ca37c66797a2f0fe1b4efa9192b127e42ca931fea2d8d8677a8" +content-hash = "9c85f46643135dfd5fa3c8281a48d1671bc4474bd611f62875292c13d981816a" diff --git a/pyproject.toml b/pyproject.toml index a6e6e7c..97ecf00 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,8 @@ packages = [{ include = "docling_haystack" }] [tool.poetry.dependencies] python = ">=3.9,<3.13" # constraining below 3.13 due to haystack-ai 2.8.0 haystack-ai = "^2.8.0" -docling = "^2.9.0" +docling = "^2.28.4" +transformers = "<4.51.0" [tool.poetry.group.dev.dependencies] ipykernel = "^6.29.5" diff --git a/test/data/2408.09869v5.json b/test/data/2408.09869v5.json deleted file mode 100644 index 8e2b60e..0000000 --- a/test/data/2408.09869v5.json +++ /dev/null @@ -1,17420 +0,0 @@ -{ - "schema_name": "DoclingDocument", - "version": "1.0.0", - "name": "2408.09869v5", - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - }, - "furniture": { - "self_ref": "#/furniture", - "children": [], - "name": "_root_", - "label": "unspecified" - }, - "body": { - "self_ref": "#/body", - "children": [ - { - "$ref": "#/texts/0" - }, - { - "$ref": "#/pictures/0" - }, - { - "$ref": "#/texts/1" - }, - { - "$ref": "#/texts/2" - }, - { - "$ref": "#/texts/3" - }, - { - "$ref": "#/texts/4" - }, - { - "$ref": "#/texts/5" - }, - { - "$ref": "#/texts/6" - }, - { - "$ref": "#/texts/7" - }, - { - "$ref": "#/texts/8" - }, - { - "$ref": "#/texts/9" - }, - { - "$ref": "#/texts/10" - }, - { - "$ref": "#/texts/11" - }, - { - "$ref": "#/texts/12" - }, - { - "$ref": "#/groups/0" - }, - { - "$ref": "#/texts/19" - }, - { - "$ref": "#/texts/20" - }, - { - "$ref": "#/texts/21" - }, - { - "$ref": "#/texts/22" - }, - { - "$ref": "#/texts/23" - }, - { - "$ref": "#/texts/24" - }, - { - "$ref": "#/texts/25" - }, - { - "$ref": "#/texts/26" - }, - { - "$ref": "#/texts/27" - }, - { - "$ref": "#/texts/28" - }, - { - "$ref": "#/texts/29" - }, - { - "$ref": "#/texts/30" - }, - { - "$ref": "#/pictures/1" - }, - { - "$ref": "#/texts/31" - }, - { - "$ref": "#/texts/32" - }, - { - "$ref": "#/texts/33" - }, - { - "$ref": "#/texts/34" - }, - { - "$ref": "#/texts/35" - }, - { - "$ref": "#/texts/36" - }, - { - "$ref": "#/texts/37" - }, - { - "$ref": "#/texts/38" - }, - { - "$ref": "#/texts/39" - }, - { - "$ref": "#/texts/40" - }, - { - "$ref": "#/texts/41" - }, - { - "$ref": "#/texts/42" - }, - { - "$ref": "#/texts/43" - }, - { - "$ref": "#/texts/44" - }, - { - "$ref": "#/texts/45" - }, - { - "$ref": "#/texts/46" - }, - { - "$ref": "#/texts/47" - }, - { - "$ref": "#/texts/48" - }, - { - "$ref": "#/texts/49" - }, - { - "$ref": "#/texts/50" - }, - { - "$ref": "#/texts/51" - }, - { - "$ref": "#/texts/52" - }, - { - "$ref": "#/texts/53" - }, - { - "$ref": "#/texts/54" - }, - { - "$ref": "#/texts/55" - }, - { - "$ref": "#/texts/56" - }, - { - "$ref": "#/tables/0" - }, - { - "$ref": "#/texts/57" - }, - { - "$ref": "#/texts/58" - }, - { - "$ref": "#/texts/59" - }, - { - "$ref": "#/texts/60" - }, - { - "$ref": "#/texts/61" - }, - { - "$ref": "#/texts/62" - }, - { - "$ref": "#/groups/1" - }, - { - "$ref": "#/texts/65" - }, - { - "$ref": "#/texts/66" - }, - { - "$ref": "#/groups/2" - }, - { - "$ref": "#/texts/81" - }, - { - "$ref": "#/texts/82" - }, - { - "$ref": "#/texts/83" - }, - { - "$ref": "#/texts/84" - }, - { - "$ref": "#/texts/85" - }, - { - "$ref": "#/texts/86" - }, - { - "$ref": "#/texts/87" - }, - { - "$ref": "#/texts/88" - }, - { - "$ref": "#/texts/89" - }, - { - "$ref": "#/texts/90" - }, - { - "$ref": "#/texts/91" - }, - { - "$ref": "#/texts/92" - }, - { - "$ref": "#/texts/93" - }, - { - "$ref": "#/texts/94" - }, - { - "$ref": "#/texts/95" - }, - { - "$ref": "#/texts/96" - }, - { - "$ref": "#/texts/97" - }, - { - "$ref": "#/texts/98" - }, - { - "$ref": "#/texts/99" - }, - { - "$ref": "#/texts/100" - }, - { - "$ref": "#/texts/101" - }, - { - "$ref": "#/texts/102" - }, - { - "$ref": "#/texts/103" - }, - { - "$ref": "#/texts/104" - }, - { - "$ref": "#/texts/105" - }, - { - "$ref": "#/texts/106" - }, - { - "$ref": "#/texts/107" - }, - { - "$ref": "#/texts/108" - }, - { - "$ref": "#/texts/109" - }, - { - "$ref": "#/texts/110" - }, - { - "$ref": "#/texts/111" - }, - { - "$ref": "#/texts/112" - }, - { - "$ref": "#/pictures/2" - }, - { - "$ref": "#/pictures/3" - }, - { - "$ref": "#/pictures/4" - }, - { - "$ref": "#/pictures/5" - }, - { - "$ref": "#/texts/113" - }, - { - "$ref": "#/texts/114" - }, - { - "$ref": "#/texts/115" - }, - { - "$ref": "#/texts/116" - }, - { - "$ref": "#/texts/117" - }, - { - "$ref": "#/texts/118" - }, - { - "$ref": "#/texts/119" - }, - { - "$ref": "#/texts/120" - }, - { - "$ref": "#/texts/121" - }, - { - "$ref": "#/texts/122" - }, - { - "$ref": "#/tables/1" - }, - { - "$ref": "#/texts/123" - }, - { - "$ref": "#/texts/124" - }, - { - "$ref": "#/texts/125" - }, - { - "$ref": "#/texts/126" - }, - { - "$ref": "#/pictures/6" - }, - { - "$ref": "#/texts/127" - }, - { - "$ref": "#/texts/128" - }, - { - "$ref": "#/texts/129" - }, - { - "$ref": "#/texts/130" - }, - { - "$ref": "#/texts/131" - }, - { - "$ref": "#/texts/132" - }, - { - "$ref": "#/tables/2" - }, - { - "$ref": "#/texts/133" - }, - { - "$ref": "#/texts/134" - }, - { - "$ref": "#/texts/135" - }, - { - "$ref": "#/texts/136" - }, - { - "$ref": "#/texts/137" - }, - { - "$ref": "#/texts/138" - }, - { - "$ref": "#/texts/139" - }, - { - "$ref": "#/texts/140" - }, - { - "$ref": "#/texts/141" - }, - { - "$ref": "#/texts/142" - }, - { - "$ref": "#/texts/143" - }, - { - "$ref": "#/tables/3" - }, - { - "$ref": "#/texts/144" - }, - { - "$ref": "#/pictures/7" - }, - { - "$ref": "#/pictures/8" - }, - { - "$ref": "#/texts/145" - }, - { - "$ref": "#/pictures/9" - }, - { - "$ref": "#/texts/146" - }, - { - "$ref": "#/texts/147" - }, - { - "$ref": "#/texts/148" - }, - { - "$ref": "#/texts/149" - } - ], - "name": "_root_", - "label": "unspecified" - }, - "groups": [ - { - "self_ref": "#/groups/0", - "parent": { - "$ref": "#/body" - }, - "children": [ - { - "$ref": "#/texts/13" - }, - { - "$ref": "#/texts/14" - }, - { - "$ref": "#/texts/15" - }, - { - "$ref": "#/texts/16" - }, - { - "$ref": "#/texts/17" - }, - { - "$ref": "#/texts/18" - } - ], - "name": "list", - "label": "list" - }, - { - "self_ref": "#/groups/1", - "parent": { - "$ref": "#/body" - }, - "children": [ - { - "$ref": "#/texts/63" - }, - { - "$ref": "#/texts/64" - } - ], - "name": "list", - "label": "list" - }, - { - "self_ref": "#/groups/2", - "parent": { - "$ref": "#/body" - }, - "children": [ - { - "$ref": "#/texts/67" - }, - { - "$ref": "#/texts/68" - }, - { - "$ref": "#/texts/69" - }, - { - "$ref": "#/texts/70" - }, - { - "$ref": "#/texts/71" - }, - { - "$ref": "#/texts/72" - }, - { - "$ref": "#/texts/73" - }, - { - "$ref": "#/texts/74" - }, - { - "$ref": "#/texts/75" - }, - { - "$ref": "#/texts/76" - }, - { - "$ref": "#/texts/77" - }, - { - "$ref": "#/texts/78" - }, - { - "$ref": "#/texts/79" - }, - { - "$ref": "#/texts/80" - } - ], - "name": "list", - "label": "list" - } - ], - "texts": [ - { - "self_ref": "#/texts/0", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_header", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 17.101043701171875, - "t": 576.1378173828125, - "r": 36.33979415893555, - "b": 236.56793212890625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 37 - ] - } - ], - "orig": "arXiv:2408.09869v5 [cs.CL] 9 Dec 2024", - "text": "arXiv:2408.09869v5 [cs.CL] 9 Dec 2024" - }, - { - "self_ref": "#/texts/1", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 211.8014678955078, - "t": 567.3477783203125, - "r": 399.41156005859375, - "b": 550.5607299804688, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 24 - ] - } - ], - "orig": "Docling Technical Report", - "text": "Docling Technical Report", - "level": 1 - }, - { - "self_ref": "#/texts/2", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 282.77239990234375, - "t": 512.7236938476562, - "r": 328.8592529296875, - "b": 503.340087890625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 11 - ] - } - ], - "orig": "Version 1.0", - "text": "Version 1.0" - }, - { - "self_ref": "#/texts/3", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 113.44476318359375, - "t": 482.4157409667969, - "r": 498.3876037597656, - "b": 439.4565734863281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 295 - ] - } - ], - "orig": "Christoph Auer Maksym Lysak Ahmed Nassar Michele Dolfi Nikolaos Livathinos Panos Vagenas Cesar Berrospi Ramis Matteo Omenetti Fabian Lindlbauer Kasper Dinkla Lokesh Mishra Yusik Kim Shubham Gupta Rafael Teixeira de Lima Valery Weber Lucas Morin Ingmar Meijer Viktor Kuropiatnyk Peter W. J. Staar", - "text": "Christoph Auer Maksym Lysak Ahmed Nassar Michele Dolfi Nikolaos Livathinos Panos Vagenas Cesar Berrospi Ramis Matteo Omenetti Fabian Lindlbauer Kasper Dinkla Lokesh Mishra Yusik Kim Shubham Gupta Rafael Teixeira de Lima Valery Weber Lucas Morin Ingmar Meijer Viktor Kuropiatnyk Peter W. J. Staar" - }, - { - "self_ref": "#/texts/4", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 248.4368133544922, - "t": 428.6380615234375, - "r": 362.8882751464844, - "b": 407.99810791015625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 48 - ] - } - ], - "orig": "AI4K Group, IBM Research Ruschlikon, Switzerland", - "text": "AI4K Group, IBM Research Ruschlikon, Switzerland" - }, - { - "self_ref": "#/texts/5", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 283.053955078125, - "t": 393.82257080078125, - "r": 328.25823974609375, - "b": 382.4114074707031, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 8 - ] - } - ], - "orig": "Abstract", - "text": "Abstract", - "level": 1 - }, - { - "self_ref": "#/texts/6", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 142.9248504638672, - "t": 364.8117370605469, - "r": 468.3767395019531, - "b": 300.651123046875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 431 - ] - } - ], - "orig": "This technical report introduces Docling , an easy to use, self-contained, MITlicensed open-source package for PDF document conversion. It is powered by state-of-the-art specialized AI models for layout analysis (DocLayNet) and table structure recognition (TableFormer), and runs efficiently on commodity hardware in a small resource budget. The code interface allows for easy extensibility and addition of new features and models.", - "text": "This technical report introduces Docling , an easy to use, self-contained, MITlicensed open-source package for PDF document conversion. It is powered by state-of-the-art specialized AI models for layout analysis (DocLayNet) and table structure recognition (TableFormer), and runs efficiently on commodity hardware in a small resource budget. The code interface allows for easy extensibility and addition of new features and models." - }, - { - "self_ref": "#/texts/7", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 107.920654296875, - "t": 268.33038330078125, - "r": 190.81365966796875, - "b": 257.0544128417969, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 14 - ] - } - ], - "orig": "1 Introduction", - "text": "1 Introduction", - "level": 1 - }, - { - "self_ref": "#/texts/8", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 106.99458312988281, - "t": 240.26165771484375, - "r": 504.3724365234375, - "b": 142.53680419921875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 792 - ] - } - ], - "orig": "Converting PDF documents back into a machine-processable format has been a major challenge for decades due to their huge variability in formats, weak standardization and printing-optimized characteristic, which discards most structural features and metadata. With the advent of LLMs and popular application patterns such as retrieval-augmented generation (RAG), leveraging the rich content embedded in PDFs has become ever more relevant. In the past decade, several powerful document understanding solutions have emerged on the market, most of which are commercial software, cloud offerings [3] and most recently, multi-modal vision-language models. As of today, only a handful of open-source tools cover PDF conversion, leaving a significant feature and quality gap to proprietary solutions.", - "text": "Converting PDF documents back into a machine-processable format has been a major challenge for decades due to their huge variability in formats, weak standardization and printing-optimized characteristic, which discards most structural features and metadata. With the advent of LLMs and popular application patterns such as retrieval-augmented generation (RAG), leveraging the rich content embedded in PDFs has become ever more relevant. In the past decade, several powerful document understanding solutions have emerged on the market, most of which are commercial software, cloud offerings [3] and most recently, multi-modal vision-language models. As of today, only a handful of open-source tools cover PDF conversion, leaving a significant feature and quality gap to proprietary solutions." - }, - { - "self_ref": "#/texts/9", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 107.00840759277344, - "t": 136.7242431640625, - "r": 504.0425720214844, - "b": 83.3033447265625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 488 - ] - } - ], - "orig": "With Docling , we open-source a very capable and efficient document conversion tool which builds on the powerful, specialized AI models and datasets for layout analysis and table structure recognition we developed and presented in the recent past [12, 13, 9]. Docling is designed as a simple, self-contained python library with permissive license, running entirely locally on commodity hardware. Its code architecture allows for easy extensibility and addition of new features and models.", - "text": "With Docling , we open-source a very capable and efficient document conversion tool which builds on the powerful, specialized AI models and datasets for layout analysis and table structure recognition we developed and presented in the recent past [12, 13, 9]. Docling is designed as a simple, self-contained python library with permissive license, running entirely locally on commodity hardware. Its code architecture allows for easy extensibility and addition of new features and models." - }, - { - "self_ref": "#/texts/10", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 107.10855865478516, - "t": 58.48297119140625, - "r": 200.81626892089844, - "b": 49.85089111328125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 24 - ] - } - ], - "orig": "Docling Technical Report", - "text": "Docling Technical Report" - }, - { - "self_ref": "#/texts/11", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 303.50897216796875, - "t": 49.5064697265625, - "r": 308.4902648925781, - "b": 39.960147857666016, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ], - "orig": "1", - "text": "1" - }, - { - "self_ref": "#/texts/12", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.48941802978516, - "t": 717.5628662109375, - "r": 253.97195434570312, - "b": 707.6951293945312, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 36 - ] - } - ], - "orig": "Here is what Docling delivers today:", - "text": "Here is what Docling delivers today:" - }, - { - "self_ref": "#/texts/13", - "parent": { - "$ref": "#/groups/0" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 134.6504669189453, - "t": 696.156494140625, - "r": 468.3969421386719, - "b": 686.3217163085938, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 78 - ] - } - ], - "orig": "\u00b7 Converts PDF documents to JSON or Markdown format, stable and lightning fast", - "text": "\u00b7 Converts PDF documents to JSON or Markdown format, stable and lightning fast", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/14", - "parent": { - "$ref": "#/groups/0" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 134.72218322753906, - "t": 681.3009643554688, - "r": 504.0032653808594, - "b": 660.819091796875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 96 - ] - } - ], - "orig": "\u00b7 Understands detailed page layout, reading order, locates figures and recovers table structures", - "text": "\u00b7 Understands detailed page layout, reading order, locates figures and recovers table structures", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/15", - "parent": { - "$ref": "#/groups/0" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 134.9065399169922, - "t": 655.3751220703125, - "r": 480.8502502441406, - "b": 645.7429809570312, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 86 - ] - } - ], - "orig": "\u00b7 Extracts metadata from the document, such as title, authors, references and language", - "text": "\u00b7 Extracts metadata from the document, such as title, authors, references and language", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/16", - "parent": { - "$ref": "#/groups/0" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 134.8793487548828, - "t": 640.9143676757812, - "r": 333.46343994140625, - "b": 630.7002563476562, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 47 - ] - } - ], - "orig": "\u00b7 Optionally applies OCR, e.g. for scanned PDFs", - "text": "\u00b7 Optionally applies OCR, e.g. for scanned PDFs", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/17", - "parent": { - "$ref": "#/groups/0" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 135.0067901611328, - "t": 626.0984497070312, - "r": 504.003173828125, - "b": 604.8719482421875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 161 - ] - } - ], - "orig": "\u00b7 Can be configured to be optimal for batch-mode (i.e high throughput, low time-to-solution) or interactive mode (compromise on efficiency, low time-to-solution)", - "text": "\u00b7 Can be configured to be optimal for batch-mode (i.e high throughput, low time-to-solution) or interactive mode (compromise on efficiency, low time-to-solution)", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/18", - "parent": { - "$ref": "#/groups/0" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 134.7841339111328, - "t": 600.127685546875, - "r": 355.41107177734375, - "b": 590.395751953125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 54 - ] - } - ], - "orig": "\u00b7 Can leverage different accelerators (GPU, MPS, etc).", - "text": "\u00b7 Can leverage different accelerators (GPU, MPS, etc).", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/19", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.69728088378906, - "t": 573.0997314453125, - "r": 205.29141235351562, - "b": 561.1637573242188, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 17 - ] - } - ], - "orig": "2 Getting Started", - "text": "2 Getting Started", - "level": 1 - }, - { - "self_ref": "#/texts/20", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.22560119628906, - "t": 548.7847900390625, - "r": 504.00341796875, - "b": 506.27606201171875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 321 - ] - } - ], - "orig": "To use Docling, you can simply install the docling package from PyPI. Documentation and examples are available in our GitHub repository at github.com/DS4SD/docling. All required model assets 1 are downloaded to a local huggingface datasets cache on first use, unless you choose to pre-install the model assets in advance.", - "text": "To use Docling, you can simply install the docling package from PyPI. Documentation and examples are available in our GitHub repository at github.com/DS4SD/docling. All required model assets 1 are downloaded to a local huggingface datasets cache on first use, unless you choose to pre-install the model assets in advance." - }, - { - "self_ref": "#/texts/21", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.38473510742188, - "t": 499.5434875488281, - "r": 504.0034484863281, - "b": 456.7132263183594, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 371 - ] - } - ], - "orig": "Docling provides an easy code interface to convert PDF documents from file system, URLs or binary streams, and retrieve the output in either JSON or Markdown format. For convenience, separate methods are offered to convert single documents or batches of documents. A basic usage example is illustrated below. Further examples are available in the Doclign code repository.", - "text": "Docling provides an easy code interface to convert PDF documents from file system, URLs or binary streams, and retrieve the output in either JSON or Markdown format. For convenience, separate methods are offered to convert single documents or batches of documents. A basic usage example is illustrated below. Further examples are available in the Doclign code repository." - }, - { - "self_ref": "#/texts/22", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "code", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.45667266845703, - "t": 449.7299499511719, - "r": 491.58642578125, - "b": 380.3858642578125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 327 - ] - } - ], - "orig": "from docling.document_converter import DocumentConverter source = \"https :// arxiv.org/pdf /2206.01062\" # PDF path or URL converter = DocumentConverter () result = converter.convert_single(source) print(result.render_as_markdown ()) # output: \"## DocLayNet: A Large Human -Annotated Dataset for Document -Layout Analysis [...]\"", - "text": "from docling.document_converter import DocumentConverter source = \"https :// arxiv.org/pdf /2206.01062\" # PDF path or URL converter = DocumentConverter () result = converter.convert_single(source) print(result.render_as_markdown ()) # output: \"## DocLayNet: A Large Human -Annotated Dataset for Document -Layout Analysis [...]\"" - }, - { - "self_ref": "#/texts/23", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.32361602783203, - "t": 368.8786926269531, - "r": 504.3451843261719, - "b": 315.56304931640625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 403 - ] - } - ], - "orig": "Optionally, you can configure custom pipeline features and runtime options, such as turning on or off features (e.g. OCR, table structure recognition), enforcing limits on the input document size, and defining the budget of CPU threads. Advanced usage examples and options are documented in the README file. Docling also provides a Dockerfile to demonstrate how to install and run it inside a container.", - "text": "Optionally, you can configure custom pipeline features and runtime options, such as turning on or off features (e.g. OCR, table structure recognition), enforcing limits on the input document size, and defining the budget of CPU threads. Advanced usage examples and options are documented in the README file. Docling also provides a Dockerfile to demonstrate how to install and run it inside a container." - }, - { - "self_ref": "#/texts/24", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.57711029052734, - "t": 298.302734375, - "r": 223.69046020507812, - "b": 286.431884765625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 21 - ] - } - ], - "orig": "3 Processing pipeline", - "text": "3 Processing pipeline", - "level": 1 - }, - { - "self_ref": "#/texts/25", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.176025390625, - "t": 273.72723388671875, - "r": 504.06005859375, - "b": 176.83807373046875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 796 - ] - } - ], - "orig": "Docling implements a linear pipeline of operations, which execute sequentially on each given document (see Fig. 1). Each document is first parsed by a PDF backend, which retrieves the programmatic text tokens, consisting of string content and its coordinates on the page, and also renders a bitmap image of each page to support downstream operations. Then, the standard model pipeline applies a sequence of AI models independently on every page in the document to extract features and content, such as layout and table structures. Finally, the results from all pages are aggregated and passed through a post-processing stage, which augments metadata, detects the document language, infers reading-order and eventually assembles a typed document object which can be serialized to JSON or Markdown.", - "text": "Docling implements a linear pipeline of operations, which execute sequentially on each given document (see Fig. 1). Each document is first parsed by a PDF backend, which retrieves the programmatic text tokens, consisting of string content and its coordinates on the page, and also renders a bitmap image of each page to support downstream operations. Then, the standard model pipeline applies a sequence of AI models independently on every page in the document to extract features and content, such as layout and table structures. Finally, the results from all pages are aggregated and passed through a post-processing stage, which augments metadata, detects the document language, infers reading-order and eventually assembles a typed document object which can be serialized to JSON or Markdown." - }, - { - "self_ref": "#/texts/26", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.4563980102539, - "t": 162.30242919921875, - "r": 192.2094268798828, - "b": 152.47781372070312, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 16 - ] - } - ], - "orig": "3.1 PDF backends", - "text": "3.1 PDF backends", - "level": 1 - }, - { - "self_ref": "#/texts/27", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.26972198486328, - "t": 142.07904052734375, - "r": 504.2434997558594, - "b": 87.39227294921875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 487 - ] - } - ], - "orig": "Two basic requirements to process PDF documents in our pipeline are a) to retrieve all text content and their geometric coordinates on each page and b) to render the visual representation of each page as it would appear in a PDF viewer. Both these requirements are encapsulated in Docling's PDF backend interface. While there are several open-source PDF parsing libraries available for python, we faced major obstacles with all of them for different reasons, among which were restrictive", - "text": "Two basic requirements to process PDF documents in our pipeline are a) to retrieve all text content and their geometric coordinates on each page and b) to render the visual representation of each page as it would appear in a PDF viewer. Both these requirements are encapsulated in Docling's PDF backend interface. While there are several open-source PDF parsing libraries available for python, we faced major obstacles with all of them for different reasons, among which were restrictive" - }, - { - "self_ref": "#/texts/28", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "footnote", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 120.65299987792969, - "t": 78.96942138671875, - "r": 276.9403076171875, - "b": 69.9141845703125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 46 - ] - } - ], - "orig": "$^{1}$see huggingface.co/ds4sd/docling-models/", - "text": "$^{1}$see huggingface.co/ds4sd/docling-models/" - }, - { - "self_ref": "#/texts/29", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 302.96832275390625, - "t": 49.7403564453125, - "r": 308.49029541015625, - "b": 39.960079193115234, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ], - "orig": "2", - "text": "2" - }, - { - "self_ref": "#/texts/30", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "caption", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.11122131347656, - "t": 570.7063598632812, - "r": 504.00335693359375, - "b": 550.3002319335938, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 134 - ] - } - ], - "orig": "Figure 1: Sketch of Docling's default processing pipeline. The inner part of the model pipeline is easily customizable and extensible.", - "text": "Figure 1: Sketch of Docling's default processing pipeline. The inner part of the model pipeline is easily customizable and extensible." - }, - { - "self_ref": "#/texts/31", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.37481689453125, - "t": 525.6080932617188, - "r": 504.0033264160156, - "b": 504.8570861816406, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 173 - ] - } - ], - "orig": "licensing (e.g. pymupdf [7]), poor speed or unrecoverable quality issues, such as merged text cells across far-apart text tokens or table columns (pypdfium, PyPDF) [15, 14].", - "text": "licensing (e.g. pymupdf [7]), poor speed or unrecoverable quality issues, such as merged text cells across far-apart text tokens or table columns (pypdfium, PyPDF) [15, 14]." - }, - { - "self_ref": "#/texts/32", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.10971069335938, - "t": 498.21685791015625, - "r": 504.0033874511719, - "b": 443.9909973144531, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 446 - ] - } - ], - "orig": "We therefore decided to provide multiple backend choices, and additionally open-source a custombuilt PDF parser, which is based on the low-level qpdf [4] library. It is made available in a separate package named docling-parse and powers the default PDF backend in Docling. As an alternative, we provide a PDF backend relying on pypdfium , which may be a safe backup choice in certain cases, e.g. if issues are seen with particular font encodings.", - "text": "We therefore decided to provide multiple backend choices, and additionally open-source a custombuilt PDF parser, which is based on the low-level qpdf [4] library. It is made available in a separate package named docling-parse and powers the default PDF backend in Docling. As an alternative, we provide a PDF backend relying on pypdfium , which may be a safe backup choice in certain cases, e.g. if issues are seen with particular font encodings." - }, - { - "self_ref": "#/texts/33", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.3078384399414, - "t": 427.0700378417969, - "r": 173.86279296875, - "b": 417.4698181152344, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 13 - ] - } - ], - "orig": "3.2 AI models", - "text": "3.2 AI models", - "level": 1 - }, - { - "self_ref": "#/texts/34", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.07593536376953, - "t": 406.1695251464844, - "r": 504.1148681640625, - "b": 330.2677307128906, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 608 - ] - } - ], - "orig": "As part of Docling, we initially release two highly capable AI models to the open-source community, which have been developed and published recently by our team. The first model is a layout analysis model, an accurate object-detector for page elements [13]. The second model is TableFormer [12, 9], a state-of-the-art table structure recognition model. We provide the pre-trained weights (hosted on huggingface) and a separate package for the inference code as docling-ibm-models . Both models are also powering the open-access deepsearch-experience, our cloud-native service for knowledge exploration tasks.", - "text": "As part of Docling, we initially release two highly capable AI models to the open-source community, which have been developed and published recently by our team. The first model is a layout analysis model, an accurate object-detector for page elements [13]. The second model is TableFormer [12, 9], a state-of-the-art table structure recognition model. We provide the pre-trained weights (hosted on huggingface) and a separate package for the inference code as docling-ibm-models . Both models are also powering the open-access deepsearch-experience, our cloud-native service for knowledge exploration tasks." - }, - { - "self_ref": "#/texts/35", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.62261962890625, - "t": 314.30401611328125, - "r": 206.28106689453125, - "b": 304.31805419921875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 21 - ] - } - ], - "orig": "Layout Analysis Model", - "text": "Layout Analysis Model", - "level": 1 - }, - { - "self_ref": "#/texts/36", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.1727294921875, - "t": 294.7471923828125, - "r": 504.1613464355469, - "b": 251.51837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 388 - ] - } - ], - "orig": "Our layout analysis model is an object-detector which predicts the bounding-boxes and classes of various elements on the image of a given page. Its architecture is derived from RT-DETR [16] and re-trained on DocLayNet [13], our popular human-annotated dataset for document-layout analysis, among other proprietary datasets. For inference, our implementation relies on the onnxruntime [5].", - "text": "Our layout analysis model is an object-detector which predicts the bounding-boxes and classes of various elements on the image of a given page. Its architecture is derived from RT-DETR [16] and re-trained on DocLayNet [13], our popular human-annotated dataset for document-layout analysis, among other proprietary datasets. For inference, our implementation relies on the onnxruntime [5]." - }, - { - "self_ref": "#/texts/37", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.23725891113281, - "t": 245.4161376953125, - "r": 504.00347900390625, - "b": 191.62884521484375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 443 - ] - } - ], - "orig": "The Docling pipeline feeds page images at 72 dpi resolution, which can be processed on a single CPU with sub-second latency. All predicted bounding-box proposals for document elements are post-processed to remove overlapping proposals based on confidence and size, and then intersected with the text tokens in the PDF to group them into meaningful and complete units such as paragraphs, section titles, list items, captions, figures or tables.", - "text": "The Docling pipeline feeds page images at 72 dpi resolution, which can be processed on a single CPU with sub-second latency. All predicted bounding-box proposals for document elements are post-processed to remove overlapping proposals based on confidence and size, and then intersected with the text tokens in the PDF to group them into meaningful and complete units such as paragraphs, section titles, list items, captions, figures or tables." - }, - { - "self_ref": "#/texts/38", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.68663787841797, - "t": 175.5574951171875, - "r": 228.1627197265625, - "b": 165.8931884765625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 27 - ] - } - ], - "orig": "Table Structure Recognition", - "text": "Table Structure Recognition", - "level": 1 - }, - { - "self_ref": "#/texts/39", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.22769927978516, - "t": 156.10821533203125, - "r": 504.01800537109375, - "b": 69.84173583984375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 706 - ] - } - ], - "orig": "The TableFormer model [12], first published in 2022 and since refined with a custom structure token language [9], is a vision-transformer model for table structure recovery. It can predict the logical row and column structure of a given table based on an input image, and determine which table cells belong to column headers, row headers or the table body. Compared to earlier approaches, TableFormer handles many characteristics of tables, such as partial or no borderlines, empty cells, rows or columns, cell spans and hierarchy both on column-heading or row-heading level, tables with inconsistent indentation or alignment and other complexities. For inference, our implementation relies on PyTorch [2].", - "text": "The TableFormer model [12], first published in 2022 and since refined with a custom structure token language [9], is a vision-transformer model for table structure recovery. It can predict the logical row and column structure of a given table based on an input image, and determine which table cells belong to column headers, row headers or the table body. Compared to earlier approaches, TableFormer handles many characteristics of tables, such as partial or no borderlines, empty cells, rows or columns, cell spans and hierarchy both on column-heading or row-heading level, tables with inconsistent indentation or alignment and other complexities. For inference, our implementation relies on PyTorch [2]." - }, - { - "self_ref": "#/texts/40", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 302.7810974121094, - "t": 49.40008544921875, - "r": 308.4903259277344, - "b": 39.96010971069336, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ], - "orig": "3", - "text": "3" - }, - { - "self_ref": "#/texts/41", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.23402404785156, - "t": 717.677001953125, - "r": 504.0035095214844, - "b": 664.2490844726562, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 459 - ] - } - ], - "orig": "The Docling pipeline feeds all table objects detected in the layout analysis to the TableFormer model, by providing an image-crop of the table and the included text cells. TableFormer structure predictions are matched back to the PDF cells in post-processing to avoid expensive re-transcription text in the table image. Typical tables require between 2 and 6 seconds to be processed on a standard CPU, strongly depending on the amount of included table cells.", - "text": "The Docling pipeline feeds all table objects detected in the layout analysis to the TableFormer model, by providing an image-crop of the table and the included text cells. TableFormer structure predictions are matched back to the PDF cells in post-processing to avoid expensive re-transcription text in the table image. Typical tables require between 2 and 6 seconds to be processed on a standard CPU, strongly depending on the amount of included table cells." - }, - { - "self_ref": "#/texts/42", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.63601684570312, - "t": 651.5885009765625, - "r": 130.29388427734375, - "b": 641.6778564453125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 3 - ] - } - ], - "orig": "OCR", - "text": "OCR", - "level": 1 - }, - { - "self_ref": "#/texts/43", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.0999526977539, - "t": 632.9981689453125, - "r": 504.00347900390625, - "b": 568.0103759765625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 515 - ] - } - ], - "orig": "Docling provides optional support for OCR, for example to cover scanned PDFs or content in bitmaps images embedded on a page. In our initial release, we rely on EasyOCR [1], a popular thirdparty OCR library with support for many languages. Docling, by default, feeds a high-resolution page image (216 dpi) to the OCR engine, to allow capturing small print detail in decent quality. While EasyOCR delivers reasonable transcription quality, we observe that it runs fairly slow on CPU (upwards of 30 seconds per page).", - "text": "Docling provides optional support for OCR, for example to cover scanned PDFs or content in bitmaps images embedded on a page. In our initial release, we rely on EasyOCR [1], a popular thirdparty OCR library with support for many languages. Docling, by default, feeds a high-resolution page image (216 dpi) to the OCR engine, to allow capturing small print detail in decent quality. While EasyOCR delivers reasonable transcription quality, we observe that it runs fairly slow on CPU (upwards of 30 seconds per page)." - }, - { - "self_ref": "#/texts/44", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.48332214355469, - "t": 561.5487670898438, - "r": 504.0033874511719, - "b": 540.876953125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 139 - ] - } - ], - "orig": "We are actively seeking collaboration from the open-source community to extend Docling with additional OCR backends and speed improvements.", - "text": "We are actively seeking collaboration from the open-source community to extend Docling with additional OCR backends and speed improvements." - }, - { - "self_ref": "#/texts/45", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.18000030517578, - "t": 527.0015869140625, - "r": 171.37210083007812, - "b": 516.7918701171875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 12 - ] - } - ], - "orig": "3.3 Assembly", - "text": "3.3 Assembly", - "level": 1 - }, - { - "self_ref": "#/texts/46", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.259033203125, - "t": 506.85528564453125, - "r": 504.2517395019531, - "b": 431.21771240234375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 622 - ] - } - ], - "orig": "In the final pipeline stage, Docling assembles all prediction results produced on each page into a well-defined datatype that encapsulates a converted document, as defined in the auxiliary package docling-core . The generated document object is passed through a post-processing model which leverages several algorithms to augment features, such as detection of the document language, correcting the reading order, matching figures with captions and labelling metadata such as title, authors and references. The final output can then be serialized to JSON or transformed into a Markdown representation at the users request.", - "text": "In the final pipeline stage, Docling assembles all prediction results produced on each page into a well-defined datatype that encapsulates a converted document, as defined in the auxiliary package docling-core . The generated document object is passed through a post-processing model which leverages several algorithms to augment features, such as detection of the document language, correcting the reading order, matching figures with captions and labelling metadata such as title, authors and references. The final output can then be serialized to JSON or transformed into a Markdown representation at the users request." - }, - { - "self_ref": "#/texts/47", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.23114776611328, - "t": 417.6996154785156, - "r": 184.1142578125, - "b": 407.6521911621094, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 17 - ] - } - ], - "orig": "3.4 Extensibility", - "text": "3.4 Extensibility", - "level": 1 - }, - { - "self_ref": "#/texts/48", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.01625061035156, - "t": 397.58544921875, - "r": 504.00347900390625, - "b": 311.05523681640625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 753 - ] - } - ], - "orig": "Docling provides a straight-forward interface to extend its capabilities, namely the model pipeline. A model pipeline constitutes the central part in the processing, following initial document parsing and preceding output assembly, and can be fully customized by sub-classing from an abstract baseclass ( BaseModelPipeline ) or cloning the default model pipeline. This effectively allows to fully customize the chain of models, add or replace models, and introduce additional pipeline configuration parameters. To use a custom model pipeline, the custom pipeline class to instantiate can be provided as an argument to the main document conversion methods. We invite everyone in the community to propose additional or alternative models and improvements.", - "text": "Docling provides a straight-forward interface to extend its capabilities, namely the model pipeline. A model pipeline constitutes the central part in the processing, following initial document parsing and preceding output assembly, and can be fully customized by sub-classing from an abstract baseclass ( BaseModelPipeline ) or cloning the default model pipeline. This effectively allows to fully customize the chain of models, add or replace models, and introduce additional pipeline configuration parameters. To use a custom model pipeline, the custom pipeline class to instantiate can be provided as an argument to the main document conversion methods. We invite everyone in the community to propose additional or alternative models and improvements." - }, - { - "self_ref": "#/texts/49", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 106.94336700439453, - "t": 304.5326232910156, - "r": 504.0707092285156, - "b": 262.160400390625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 330 - ] - } - ], - "orig": "Implementations of model classes must satisfy the python Callable interface. The __call__ method must accept an iterator over page objects, and produce another iterator over the page objects which were augmented with the additional features predicted by the model, by extending the provided PagePredictions data model accordingly.", - "text": "Implementations of model classes must satisfy the python Callable interface. The __call__ method must accept an iterator over page objects, and produce another iterator over the page objects which were augmented with the additional features predicted by the model, by extending the provided PagePredictions data model accordingly." - }, - { - "self_ref": "#/texts/50", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.09239959716797, - "t": 245.8702392578125, - "r": 192.03822326660156, - "b": 234.0104217529297, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 13 - ] - } - ], - "orig": "4 Performance", - "text": "4 Performance", - "level": 1 - }, - { - "self_ref": "#/texts/51", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.0430679321289, - "t": 221.5301513671875, - "r": 504.22869873046875, - "b": 135.16595458984375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 750 - ] - } - ], - "orig": "In this section, we establish some reference numbers for the processing speed of Docling and the resource budget it requires. All tests in this section are run with default options on our standard test set distributed with Docling, which consists of three papers from arXiv and two IBM Redbooks, with a total of 225 pages. Measurements were taken using both available PDF backends on two different hardware systems: one MacBook Pro M3 Max, and one bare-metal server running Ubuntu 20.04 LTS on an Intel Xeon E5-2690 CPU. For reproducibility, we fixed the thread budget (through setting OMP NUM THREADS environment variable ) once to 4 (Docling default) and once to 16 (equal to full core count on the test hardware). All results are shown in Table 1.", - "text": "In this section, we establish some reference numbers for the processing speed of Docling and the resource budget it requires. All tests in this section are run with default options on our standard test set distributed with Docling, which consists of three papers from arXiv and two IBM Redbooks, with a total of 225 pages. Measurements were taken using both available PDF backends on two different hardware systems: one MacBook Pro M3 Max, and one bare-metal server running Ubuntu 20.04 LTS on an Intel Xeon E5-2690 CPU. For reproducibility, we fixed the thread budget (through setting OMP NUM THREADS environment variable ) once to 4 (Docling default) and once to 16 (equal to full core count on the test hardware). All results are shown in Table 1." - }, - { - "self_ref": "#/texts/52", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.19568634033203, - "t": 128.8489990234375, - "r": 504.0033874511719, - "b": 96.76458740234375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 290 - ] - } - ], - "orig": "If you need to run Docling in very low-resource environments, please consider configuring the pypdfium backend. While it is faster and more memory efficient than the default docling-parse backend, it will come at the expense of worse quality results, especially in table structure recovery.", - "text": "If you need to run Docling in very low-resource environments, please consider configuring the pypdfium backend. While it is faster and more memory efficient than the default docling-parse backend, it will come at the expense of worse quality results, especially in table structure recovery." - }, - { - "self_ref": "#/texts/53", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.47733306884766, - "t": 90.18896484375, - "r": 504.123046875, - "b": 69.5284423828125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 192 - ] - } - ], - "orig": "Establishing GPU acceleration support for the AI models is currently work-in-progress and largely untested, but may work implicitly when CUDA is available and discovered by the onnxruntime and", - "text": "Establishing GPU acceleration support for the AI models is currently work-in-progress and largely untested, but may work implicitly when CUDA is available and discovered by the onnxruntime and" - }, - { - "self_ref": "#/texts/54", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 302.41058349609375, - "t": 49.65472412109375, - "r": 308.49029541015625, - "b": 39.960079193115234, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ], - "orig": "4", - "text": "4" - }, - { - "self_ref": "#/texts/55", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 107.42681121826172, - "t": 717.5958862304688, - "r": 504.0035400390625, - "b": 696.97607421875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 121 - ] - } - ], - "orig": "torch runtimes backing the Docling pipeline. We will deliver updates on this topic at in a future version of this report.", - "text": "torch runtimes backing the Docling pipeline. We will deliver updates on this topic at in a future version of this report." - }, - { - "self_ref": "#/texts/56", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "caption", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 107.0246810913086, - "t": 686.1126708984375, - "r": 504.30712890625, - "b": 643.7755126953125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 383 - ] - } - ], - "orig": "Table 1: Runtime characteristics of Docling with the standard model pipeline and settings, on our test dataset of 225 pages, on two different systems. OCR is disabled. We show the time-to-solution (TTS), computed throughput in pages per second, and the peak memory used (resident set size) for both the Docling-native PDF backend and for the pypdfium backend, using 4 and 16 threads.", - "text": "Table 1: Runtime characteristics of Docling with the standard model pipeline and settings, on our test dataset of 225 pages, on two different systems. OCR is disabled. We show the time-to-solution (TTS), computed throughput in pages per second, and the peak memory used (resident set size) for both the Docling-native PDF backend and for the pypdfium backend, using 4 and 16 threads." - }, - { - "self_ref": "#/texts/57", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 107.46524047851562, - "t": 529.5911254882812, - "r": 190.20550537109375, - "b": 517.6605224609375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 14 - ] - } - ], - "orig": "5 Applications", - "text": "5 Applications", - "level": 1 - }, - { - "self_ref": "#/texts/58", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 107.10533142089844, - "t": 504.97296142578125, - "r": 504.0229187011719, - "b": 364.4931335449219, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1189 - ] - } - ], - "orig": "Thanks to the high-quality, richly structured document conversion achieved by Docling, its output qualifies for numerous downstream applications. For example, Docling can provide a base for detailed enterprise document search, passage retrieval or classification use-cases, or support knowledge extraction pipelines, allowing specific treatment of different structures in the document, such as tables, figures, section structure or references. For popular generative AI application patterns, such as retrieval-augmented generation (RAG), we provide quackling , an open-source package which capitalizes on Docling's feature-rich document output to enable document-native optimized vector embedding and chunking. It plugs in seamlessly with LLM frameworks such as LlamaIndex [8]. Since Docling is fast, stable and cheap to run, it also makes for an excellent choice to build document-derived datasets. With its powerful table structure recognition, it provides significant benefit to automated knowledge-base construction [11, 10]. Docling is also integrated within the open IBM data prep kit [6], which implements scalable data transforms to build large-scale multi-modal training datasets.", - "text": "Thanks to the high-quality, richly structured document conversion achieved by Docling, its output qualifies for numerous downstream applications. For example, Docling can provide a base for detailed enterprise document search, passage retrieval or classification use-cases, or support knowledge extraction pipelines, allowing specific treatment of different structures in the document, such as tables, figures, section structure or references. For popular generative AI application patterns, such as retrieval-augmented generation (RAG), we provide quackling , an open-source package which capitalizes on Docling's feature-rich document output to enable document-native optimized vector embedding and chunking. It plugs in seamlessly with LLM frameworks such as LlamaIndex [8]. Since Docling is fast, stable and cheap to run, it also makes for an excellent choice to build document-derived datasets. With its powerful table structure recognition, it provides significant benefit to automated knowledge-base construction [11, 10]. Docling is also integrated within the open IBM data prep kit [6], which implements scalable data transforms to build large-scale multi-modal training datasets." - }, - { - "self_ref": "#/texts/59", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 107.30191040039062, - "t": 347.71661376953125, - "r": 283.77734375, - "b": 336.0404357910156, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 31 - ] - } - ], - "orig": "6 Future work and contributions", - "text": "6 Future work and contributions", - "level": 1 - }, - { - "self_ref": "#/texts/60", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 106.92281341552734, - "t": 323.5386657714844, - "r": 504.00347900390625, - "b": 258.76641845703125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 543 - ] - } - ], - "orig": "Docling is designed to allow easy extension of the model library and pipelines. In the future, we plan to extend Docling with several more models, such as a figure-classifier model, an equationrecognition model, a code-recognition model and more. This will help improve the quality of conversion for specific types of content, as well as augment extracted document metadata with additional information. Further investment into testing and optimizing GPU acceleration as well as improving the Docling-native PDF backend are on our roadmap, too.", - "text": "Docling is designed to allow easy extension of the model library and pipelines. In the future, we plan to extend Docling with several more models, such as a figure-classifier model, an equationrecognition model, a code-recognition model and more. This will help improve the quality of conversion for specific types of content, as well as augment extracted document metadata with additional information. Further investment into testing and optimizing GPU acceleration as well as improving the Docling-native PDF backend are on our roadmap, too." - }, - { - "self_ref": "#/texts/61", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 107.04397583007812, - "t": 252.4183349609375, - "r": 504.0430908203125, - "b": 198.77685546875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 402 - ] - } - ], - "orig": "We encourage everyone to propose or implement additional features and models, and will gladly take your inputs and contributions under review . The codebase of Docling is open for use and contribution, under the MIT license agreement and in alignment with our contributing guidelines included in the Docling repository. If you use Docling in your projects, please consider citing this technical report.", - "text": "We encourage everyone to propose or implement additional features and models, and will gladly take your inputs and contributions under review . The codebase of Docling is open for use and contribution, under the MIT license agreement and in alignment with our contributing guidelines included in the Docling repository. If you use Docling in your projects, please consider citing this technical report." - }, - { - "self_ref": "#/texts/62", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 107.45659637451172, - "t": 182.37445068359375, - "r": 163.79928588867188, - "b": 170.54043579101562, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 10 - ] - } - ], - "orig": "References", - "text": "References", - "level": 1 - }, - { - "self_ref": "#/texts/63", - "parent": { - "$ref": "#/groups/1" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 112.33451843261719, - "t": 163.731201171875, - "r": 504.0009460449219, - "b": 142.08197021484375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 127 - ] - } - ], - "orig": "[1] J. AI. Easyocr: Ready-to-use ocr with 80+ supported languages. https://github.com/ JaidedAI/EasyOCR , 2024. Version: 1.7.0.", - "text": "[1] J. AI. Easyocr: Ready-to-use ocr with 80+ supported languages. https://github.com/ JaidedAI/EasyOCR , 2024. Version: 1.7.0.", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/64", - "parent": { - "$ref": "#/groups/1" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 112.45421600341797, - "t": 134.16204833984375, - "r": 504.0035095214844, - "b": 69.84818267822266, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 543 - ] - } - ], - "orig": "[2] J. Ansel, E. Yang, H. He, N. Gimelshein, A. Jain, M. Voznesensky, B. Bao, P. Bell, D. Berard, E. Burovski, G. Chauhan, A. Chourdia, W. Constable, A. Desmaison, Z. DeVito, E. Ellison, W. Feng, J. Gong, M. Gschwind, B. Hirsh, S. Huang, K. Kalambarkar, L. Kirsch, M. Lazos, M. Lezcano, Y. Liang, J. Liang, Y. Lu, C. Luk, B. Maher, Y. Pan, C. Puhrsch, M. Reso, M. Saroufim, M. Y. Siraichi, H. Suk, M. Suo, P. Tillet, E. Wang, X. Wang, W. Wen, S. Zhang, X. Zhao, K. Zhou, R. Zou, A. Mathews, G. Chanan, P. Wu, and S. Chintala. Pytorch 2: Faster", - "text": "[2] J. Ansel, E. Yang, H. He, N. Gimelshein, A. Jain, M. Voznesensky, B. Bao, P. Bell, D. Berard, E. Burovski, G. Chauhan, A. Chourdia, W. Constable, A. Desmaison, Z. DeVito, E. Ellison, W. Feng, J. Gong, M. Gschwind, B. Hirsh, S. Huang, K. Kalambarkar, L. Kirsch, M. Lazos, M. Lezcano, Y. Liang, J. Liang, Y. Lu, C. Luk, B. Maher, Y. Pan, C. Puhrsch, M. Reso, M. Saroufim, M. Y. Siraichi, H. Suk, M. Suo, P. Tillet, E. Wang, X. Wang, W. Wen, S. Zhang, X. Zhao, K. Zhou, R. Zou, A. Mathews, G. Chanan, P. Wu, and S. Chintala. Pytorch 2: Faster", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/65", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 302.7286376953125, - "t": 49.4200439453125, - "r": 308.49029541015625, - "b": 39.96018600463867, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ], - "orig": "5", - "text": "5" - }, - { - "self_ref": "#/texts/66", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 129.0050048828125, - "t": 717.4641723632812, - "r": 504.0033264160156, - "b": 674.812744140625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 331 - ] - } - ], - "orig": "machine learning through dynamic python bytecode transformation and graph compilation. In Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2 (ASPLOS '24) . ACM, 4 2024. doi: 10.1145/3620665.3640366. URL https://pytorch.org/assets/pytorch2-2.pdf .", - "text": "machine learning through dynamic python bytecode transformation and graph compilation. In Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2 (ASPLOS '24) . ACM, 4 2024. doi: 10.1145/3620665.3640366. URL https://pytorch.org/assets/pytorch2-2.pdf ." - }, - { - "self_ref": "#/texts/67", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 112.47968292236328, - "t": 665.970458984375, - "r": 504.3585510253906, - "b": 634.421630859375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 255 - ] - } - ], - "orig": "[3] C. Auer, M. Dolfi, A. Carvalho, C. B. Ramis, and P. W. Staar. Delivering document conversion as a cloud service with high throughput and responsiveness. In 2022 IEEE 15th International Conference on Cloud Computing (CLOUD) , pages 363-373. IEEE, 2022.", - "text": "[3] C. Auer, M. Dolfi, A. Carvalho, C. B. Ramis, and P. W. Staar. Delivering document conversion as a cloud service with high throughput and responsiveness. In 2022 IEEE 15th International Conference on Cloud Computing (CLOUD) , pages 363-373. IEEE, 2022.", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/68", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 112.59274291992188, - "t": 625.3558349609375, - "r": 504.00018310546875, - "b": 603.854736328125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 113 - ] - } - ], - "orig": "[4] J. Berkenbilt. Qpdf: A content-preserving pdf document transformer, 2024. URL https: //github.com/qpdf/qpdf .", - "text": "[4] J. Berkenbilt. Qpdf: A content-preserving pdf document transformer, 2024. URL https: //github.com/qpdf/qpdf .", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/69", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 112.65106964111328, - "t": 595.5201416015625, - "r": 478.88665771484375, - "b": 585.318359375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 84 - ] - } - ], - "orig": "[5] O. R. developers. Onnx runtime. https://onnxruntime.ai/ , 2024. Version: 1.18.1.", - "text": "[5] O. R. developers. Onnx runtime. https://onnxruntime.ai/ , 2024. Version: 1.18.1.", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/70", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 112.5077896118164, - "t": 576.7722778320312, - "r": 504.0283508300781, - "b": 544.3335571289062, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 177 - ] - } - ], - "orig": "[6] IBM. Data Prep Kit: a community project to democratize and accelerate unstructured data preparation for LLM app developers, 2024. URL https://github.com/IBM/ data-prep-kit .", - "text": "[6] IBM. Data Prep Kit: a community project to democratize and accelerate unstructured data preparation for LLM app developers, 2024. URL https://github.com/IBM/ data-prep-kit .", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/71", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 112.71062469482422, - "t": 536.3712768554688, - "r": 447.4246826171875, - "b": 526.034423828125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 70 - ] - } - ], - "orig": "[7] A. S. Inc. PyMuPDF, 2024. URL https://github.com/pymupdf/PyMuPDF .", - "text": "[7] A. S. Inc. PyMuPDF, 2024. URL https://github.com/pymupdf/PyMuPDF .", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/72", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 112.72732543945312, - "t": 516.6817016601562, - "r": 483.91107177734375, - "b": 506.7769470214844, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 79 - ] - } - ], - "orig": "[8] J. Liu. LlamaIndex, 11 2022. URL https://github.com/jerryjliu/llama_index .", - "text": "[8] J. Liu. LlamaIndex, 11 2022. URL https://github.com/jerryjliu/llama_index .", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/73", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 112.50459289550781, - "t": 498.0171203613281, - "r": 504.004638671875, - "b": 444.5917053222656, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 439 - ] - } - ], - "orig": "[9] M. Lysak, A. Nassar, N. Livathinos, C. Auer, and P. Staar. Optimized Table Tokenization for Table Structure Recognition. In Document Analysis and Recognition - ICDAR 2023: 17th International Conference, San Jos'e, CA, USA, August 21-26, 2023, Proceedings, Part II , pages 37-50, Berlin, Heidelberg, Aug. 2023. Springer-Verlag. ISBN 978-3-031-41678-1. doi: 10. 1007/978-3-031-41679-8 3. URL https://doi.org/10.1007/978-3-031-41679-8_3 .", - "text": "[9] M. Lysak, A. Nassar, N. Livathinos, C. Auer, and P. Staar. Optimized Table Tokenization for Table Structure Recognition. In Document Analysis and Recognition - ICDAR 2023: 17th International Conference, San Jos'e, CA, USA, August 21-26, 2023, Proceedings, Part II , pages 37-50, Berlin, Heidelberg, Aug. 2023. Springer-Verlag. ISBN 978-3-031-41678-1. doi: 10. 1007/978-3-031-41679-8 3. URL https://doi.org/10.1007/978-3-031-41679-8_3 .", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/74", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 107.49420928955078, - "t": 435.72955322265625, - "r": 504.1082458496094, - "b": 359.86444091796875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 581 - ] - } - ], - "orig": "[10] L. Mishra, S. Dhibi, Y. Kim, C. Berrospi Ramis, S. Gupta, M. Dolfi, and P. Staar. Statements: Universal information extraction from tables with large language models for ESG KPIs. In D. Stammbach, J. Ni, T. Schimanski, K. Dutia, A. Singh, J. Bingler, C. Christiaen, N. Kushwaha, V. Muccione, S. A. Vaghefi, and M. Leippold, editors, Proceedings of the 1st Workshop on Natural Language Processing Meets Climate Change (ClimateNLP 2024) , pages 193-214, Bangkok, Thailand, Aug. 2024. Association for Computational Linguistics. URL https://aclanthology.org/2024.climatenlp-1.15 .", - "text": "[10] L. Mishra, S. Dhibi, Y. Kim, C. Berrospi Ramis, S. Gupta, M. Dolfi, and P. Staar. Statements: Universal information extraction from tables with large language models for ESG KPIs. In D. Stammbach, J. Ni, T. Schimanski, K. Dutia, A. Singh, J. Bingler, C. Christiaen, N. Kushwaha, V. Muccione, S. A. Vaghefi, and M. Leippold, editors, Proceedings of the 1st Workshop on Natural Language Processing Meets Climate Change (ClimateNLP 2024) , pages 193-214, Bangkok, Thailand, Aug. 2024. Association for Computational Linguistics. URL https://aclanthology.org/2024.climatenlp-1.15 .", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/75", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 107.34581756591797, - "t": 351.3507995605469, - "r": 504.6417541503906, - "b": 308.78851318359375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 288 - ] - } - ], - "orig": "[11] L. Morin, V. Weber, G. I. Meijer, F. Yu, and P. W. J. Staar. Patcid: an open-access dataset of chemical structures in patent documents. Nature Communications , 15(1):6532, August 2024. ISSN 2041-1723. doi: 10.1038/s41467-024-50779-y. URL https://doi.org/10.1038/ s41467-024-50779-y .", - "text": "[11] L. Morin, V. Weber, G. I. Meijer, F. Yu, and P. W. J. Staar. Patcid: an open-access dataset of chemical structures in patent documents. Nature Communications , 15(1):6532, August 2024. ISSN 2041-1723. doi: 10.1038/s41467-024-50779-y. URL https://doi.org/10.1038/ s41467-024-50779-y .", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/76", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 107.38827514648438, - "t": 299.4344177246094, - "r": 504.3544616699219, - "b": 268.1841125488281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 226 - ] - } - ], - "orig": "[12] A. Nassar, N. Livathinos, M. Lysak, and P. Staar. Tableformer: Table structure understanding with transformers. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition , pages 4614-4623, 2022.", - "text": "[12] A. Nassar, N. Livathinos, M. Lysak, and P. Staar. Tableformer: Table structure understanding with transformers. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition , pages 4614-4623, 2022.", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/77", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 107.36676788330078, - "t": 258.790283203125, - "r": 504.00341796875, - "b": 238.3961181640625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 164 - ] - } - ], - "orig": "[13] B. Pfitzmann, C. Auer, M. Dolfi, A. S. Nassar, and P. Staar. Doclaynet: a large humanannotated dataset for document-layout segmentation. pages 3743-3751, 2022.", - "text": "[13] B. Pfitzmann, C. Auer, M. Dolfi, A. S. Nassar, and P. Staar. Doclaynet: a large humanannotated dataset for document-layout segmentation. pages 3743-3751, 2022.", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/78", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 107.28363800048828, - "t": 229.4072265625, - "r": 504.00091552734375, - "b": 207.166748046875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 102 - ] - } - ], - "orig": "[14] pypdf Maintainers. pypdf: A Pure-Python PDF Library, 2024. URL https://github.com/ py-pdf/pypdf .", - "text": "[14] pypdf Maintainers. pypdf: A Pure-Python PDF Library, 2024. URL https://github.com/ py-pdf/pypdf .", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/79", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 107.2214584350586, - "t": 199.6893310546875, - "r": 504.0008850097656, - "b": 177.491455078125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 109 - ] - } - ], - "orig": "[15] P. Team. PyPDFium2: Python bindings for PDFium, 2024. URL https://github.com/ pypdfium2-team/pypdfium2 .", - "text": "[15] P. Team. PyPDFium2: Python bindings for PDFium, 2024. URL https://github.com/ pypdfium2-team/pypdfium2 .", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/80", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 107.28424072265625, - "t": 169.70806884765625, - "r": 504.0033264160156, - "b": 148.91436767578125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 128 - ] - } - ], - "orig": "[16] Y. Zhao, W. Lv, S. Xu, J. Wei, G. Wang, Q. Dang, Y. Liu, and J. Chen. Detrs beat yolos on real-time object detection, 2023.", - "text": "[16] Y. Zhao, W. Lv, S. Xu, J. Wei, G. Wang, Q. Dang, Y. Liu, and J. Chen. Detrs beat yolos on real-time object detection, 2023.", - "enumerated": false, - "marker": "-" - }, - { - "self_ref": "#/texts/81", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 302.7389221191406, - "t": 49.36236572265625, - "r": 308.5960998535156, - "b": 39.96012496948242, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ], - "orig": "6", - "text": "6" - }, - { - "self_ref": "#/texts/82", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 107.5181884765625, - "t": 718.9773559570312, - "r": 157.5303955078125, - "b": 706.9950561523438, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 8 - ] - } - ], - "orig": "Appendix", - "text": "Appendix", - "level": 1 - }, - { - "self_ref": "#/texts/83", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 107.6931381225586, - "t": 694.013671875, - "r": 463.7545471191406, - "b": 684.3182373046875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 88 - ] - } - ], - "orig": "In this section, we illustrate a few examples of Docling' s output in Markdown and JSON.", - "text": "In this section, we illustrate a few examples of Docling' s output in Markdown and JSON." - }, - { - "self_ref": "#/texts/84", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 143.85626220703125, - "t": 669.6826171875, - "r": 292.0960998535156, - "b": 654.0538330078125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 71 - ] - } - ], - "orig": "DocLayNet: A Large Human-Annotated Dataset for Document-Layout Analysis", - "text": "DocLayNet: A Large Human-Annotated Dataset for Document-Layout Analysis", - "level": 1 - }, - { - "self_ref": "#/texts/85", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 138.0285186767578, - "t": 650.9168701171875, - "r": 176.45944213867188, - "b": 631.6739501953125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 73 - ] - } - ], - "orig": "Birgit Pfitzmann IBM Research Rueschlikon, Switzerland bpf@zurich.ibm.com", - "text": "Birgit Pfitzmann IBM Research Rueschlikon, Switzerland bpf@zurich.ibm.com" - }, - { - "self_ref": "#/texts/86", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 199.22952270507812, - "t": 650.9168701171875, - "r": 237.34890747070312, - "b": 631.6729125976562, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 71 - ] - } - ], - "orig": "Christoph Auer IBM Research Rueschlikon, Switzerland cau@zurich.ibm.com", - "text": "Christoph Auer IBM Research Rueschlikon, Switzerland cau@zurich.ibm.com" - }, - { - "self_ref": "#/texts/87", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 260.11895751953125, - "t": 650.9168701171875, - "r": 298.3296203613281, - "b": 631.549072265625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 70 - ] - } - ], - "orig": "Michele Dolfi IBM Research Rueschlikon, Switzerland dol@zurich.ibm.com", - "text": "Michele Dolfi IBM Research Rueschlikon, Switzerland dol@zurich.ibm.com" - }, - { - "self_ref": "#/texts/88", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 168.40359497070312, - "t": 629.259521484375, - "r": 206.98048400878906, - "b": 609.97509765625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 72 - ] - } - ], - "orig": "Ahmed S. Nassar IBM Research Rueschlikon, Switzerland ahn@zurich.ibm.com", - "text": "Ahmed S. Nassar IBM Research Rueschlikon, Switzerland ahn@zurich.ibm.com" - }, - { - "self_ref": "#/texts/89", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 229.48968505859375, - "t": 629.259521484375, - "r": 267.6090393066406, - "b": 610.0166015625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 68 - ] - } - ], - "orig": "Peter Staar IBM Research Rueschlikon, Switzerland taa@zurich.ibm.com", - "text": "Peter Staar IBM Research Rueschlikon, Switzerland taa@zurich.ibm.com" - }, - { - "self_ref": "#/texts/90", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 123.37833404541016, - "t": 607.9520263671875, - "r": 146.12112426757812, - "b": 602.521484375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 8 - ] - } - ], - "orig": "ABSTRACT", - "text": "ABSTRACT", - "level": 1 - }, - { - "self_ref": "#/texts/91", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 123.66893768310547, - "t": 602.5093994140625, - "r": 214.2318878173828, - "b": 500.3504333496094, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1599 - ] - } - ], - "orig": "Accurate document layout analysis is a key requirement for highquality PDF document conversion. With the recent availability of public, large ground-truth datasets such as PubLayNet and DocBank, deep-learning models have proven to be very effective at layout detection and segmentation. While these datasets are of adequate size to train such models, they severely lack in layout variability since they are sourced from scientific article repositories such as PubMed and arXiv only. Consequently, the accuracy of the layout segmentation drops significantly when these models are applied on more challenging and diverse layouts. In this paper, we present $_{DocLayNet}$, a new, publicly available, document-layout annotation dataset in COCO format. It contains 80863 manually annotated pages from diverse data sources to represent a wide variability in layouts. For each PDF page, the layout annotations provide labelled bounding-boxes with a choice of 11 distinct classes. DocLayNet also provides a subset of double- and triple-annotated pages to determine the inter-annotator agreement. In multiple experiments, we provide baseline accuracy scores (in mAP) for a set of popular object detection models. We also demonstrate that these models fall approximately 10% behind the inter-annotator agreement. Furthermore, we provide evidence that DocLayNet is of sufficient size. Lastly, we compare models trained on PubLayNet, DocBank and DocLayNet, showing that layout predictions of the DocLayNettrained models are more robust and thus the preferred choice for general-purpose document-layout analysis.", - "text": "Accurate document layout analysis is a key requirement for highquality PDF document conversion. With the recent availability of public, large ground-truth datasets such as PubLayNet and DocBank, deep-learning models have proven to be very effective at layout detection and segmentation. While these datasets are of adequate size to train such models, they severely lack in layout variability since they are sourced from scientific article repositories such as PubMed and arXiv only. Consequently, the accuracy of the layout segmentation drops significantly when these models are applied on more challenging and diverse layouts. In this paper, we present $_{DocLayNet}$, a new, publicly available, document-layout annotation dataset in COCO format. It contains 80863 manually annotated pages from diverse data sources to represent a wide variability in layouts. For each PDF page, the layout annotations provide labelled bounding-boxes with a choice of 11 distinct classes. DocLayNet also provides a subset of double- and triple-annotated pages to determine the inter-annotator agreement. In multiple experiments, we provide baseline accuracy scores (in mAP) for a set of popular object detection models. We also demonstrate that these models fall approximately 10% behind the inter-annotator agreement. Furthermore, we provide evidence that DocLayNet is of sufficient size. Lastly, we compare models trained on PubLayNet, DocBank and DocLayNet, showing that layout predictions of the DocLayNettrained models are more robust and thus the preferred choice for general-purpose document-layout analysis." - }, - { - "self_ref": "#/texts/92", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 124.08540344238281, - "t": 495.44818115234375, - "r": 155.0667724609375, - "b": 490.0176086425781, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 12 - ] - } - ], - "orig": "CCS CONCEPTS", - "text": "CCS CONCEPTS", - "level": 1 - }, - { - "self_ref": "#/texts/93", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 124.05064392089844, - "t": 490.005126953125, - "r": 215.08236694335938, - "b": 476.94268798828125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 174 - ] - } - ], - "orig": "\u00b7 Information systems \u2192 Document structure ; \u00b7 Applied computing \u2192 Document analysis ; \u00b7 Computing methodologies \u2192 Machine learning ; Computer vision ; $_{Object detection}$;", - "text": "\u00b7 Information systems \u2192 Document structure ; \u00b7 Applied computing \u2192 Document analysis ; \u00b7 Computing methodologies \u2192 Machine learning ; Computer vision ; $_{Object detection}$;" - }, - { - "self_ref": "#/texts/94", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 123.8716049194336, - "t": 464.7064514160156, - "r": 214.06785583496094, - "b": 436.57623291015625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 566 - ] - } - ], - "orig": "Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profi t or commercial advantage and that copies bear this notice and the full citation on thefirst page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s). KDD '22, August 14-18, 2022, Washington, DC, USA \u00a9 2022 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-9385-0/22/08. https://doi.org/10.1145/3534678.3539043", - "text": "Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profi t or commercial advantage and that copies bear this notice and the full citation on thefirst page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s). KDD '22, August 14-18, 2022, Washington, DC, USA \u00a9 2022 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-9385-0/22/08. https://doi.org/10.1145/3534678.3539043" - }, - { - "self_ref": "#/texts/95", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.12261962890625, - "t": 668.5272216796875, - "r": 521.3091430664062, - "b": 662.5027465820312, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 71 - ] - } - ], - "orig": "DocLayNet: A Large Human-Annotated Dataset for Document-Layout Analysis", - "text": "DocLayNet: A Large Human-Annotated Dataset for Document-Layout Analysis", - "level": 1 - }, - { - "self_ref": "#/texts/96", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.2007141113281, - "t": 657.4287109375, - "r": 433.130126953125, - "b": 653.031005859375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 73 - ] - } - ], - "orig": "Birgit Pfitzmann IBM Research Rueschlikon, Switzerland bpf@zurich.ibm.com", - "text": "Birgit Pfitzmann IBM Research Rueschlikon, Switzerland bpf@zurich.ibm.com" - }, - { - "self_ref": "#/texts/97", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.6015930175781, - "t": 648.9207153320312, - "r": 432.7991943359375, - "b": 645.91748046875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 71 - ] - } - ], - "orig": "Christoph Auer IBM Research Rueschlikon, Switzerland cau@zurich.ibm.com", - "text": "Christoph Auer IBM Research Rueschlikon, Switzerland cau@zurich.ibm.com" - }, - { - "self_ref": "#/texts/98", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.18927001953125, - "t": 641.90869140625, - "r": 429.5950012207031, - "b": 637.8482666015625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 70 - ] - } - ], - "orig": "Michele Dolfi IBM Research Rueschlikon, Switzerland dol@zurich.ibm.com", - "text": "Michele Dolfi IBM Research Rueschlikon, Switzerland dol@zurich.ibm.com" - }, - { - "self_ref": "#/texts/99", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.2640075683594, - "t": 633.8328857421875, - "r": 436.4726867675781, - "b": 629.6668090820312, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 72 - ] - } - ], - "orig": "Ahmed S. Nassar IBM Research Rueschlikon, Switzerland ahn@zurich.ibm.com", - "text": "Ahmed S. Nassar IBM Research Rueschlikon, Switzerland ahn@zurich.ibm.com" - }, - { - "self_ref": "#/texts/100", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.2624206542969, - "t": 625.7568359375, - "r": 427.5014953613281, - "b": 621.548583984375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 68 - ] - } - ], - "orig": "Peter Staar IBM Research Rueschlikon, Switzerland taa@zurich.ibm.com", - "text": "Peter Staar IBM Research Rueschlikon, Switzerland taa@zurich.ibm.com" - }, - { - "self_ref": "#/texts/101", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.2585754394531, - "t": 615.97607421875, - "r": 357.9208984375, - "b": 610.2438354492188, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 8 - ] - } - ], - "orig": "ABSTRACT", - "text": "ABSTRACT", - "level": 1 - }, - { - "self_ref": "#/texts/102", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 328.861083984375, - "t": 604.5524291992188, - "r": 528.3615112304688, - "b": 549.0685424804688, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1594 - ] - } - ], - "orig": "Accurate document layout analysis is a key requirement for highquality PDF document conversion. With the recent availability of public, large groundtruth datasets such as PubLayNet and DocBank, deep-learning models have proven to be very effective at layout detection and segmentation. While these datasets are of adequate size to train such models, they severely lack in layout variability since they are sourced from scientific article repositories such as PubMed and arXiv only. Consequently, the accuracy of the layout segmentation drops significantly when these models are applied on more challenging and diverse layouts. In this paper, we present DocLayNet , a new, publicly available, document-layout annotation dataset in COCO format. It contains 80863 manually annotated pages from diverse data sources to represent a wide variability in layouts. For each PDF page, the layout annotations provide labelled bounding-boxes with a choice of 11 distinct classes. DocLayNet also provides a subset of double- and triple-annotated pages to determine the inter-annotator agreement. In multiple experiments, we provide baseline accuracy scores (in mAP) for a set of popular object detection models. We also demonstrate that these models fall approximately 10% behind the inter-annotator agreement. Furthermore, we provide evidence that DocLayNet is of sufficient size. Lastly, we compare models trained on PubLayNet, DocBank and DocLayNet, showing that layout predictions of the DocLayNettrained models are more robust and thus the preferred choice for general-purpose document-layout analysis.", - "text": "Accurate document layout analysis is a key requirement for highquality PDF document conversion. With the recent availability of public, large groundtruth datasets such as PubLayNet and DocBank, deep-learning models have proven to be very effective at layout detection and segmentation. While these datasets are of adequate size to train such models, they severely lack in layout variability since they are sourced from scientific article repositories such as PubMed and arXiv only. Consequently, the accuracy of the layout segmentation drops significantly when these models are applied on more challenging and diverse layouts. In this paper, we present DocLayNet , a new, publicly available, document-layout annotation dataset in COCO format. It contains 80863 manually annotated pages from diverse data sources to represent a wide variability in layouts. For each PDF page, the layout annotations provide labelled bounding-boxes with a choice of 11 distinct classes. DocLayNet also provides a subset of double- and triple-annotated pages to determine the inter-annotator agreement. In multiple experiments, we provide baseline accuracy scores (in mAP) for a set of popular object detection models. We also demonstrate that these models fall approximately 10% behind the inter-annotator agreement. Furthermore, we provide evidence that DocLayNet is of sufficient size. Lastly, we compare models trained on PubLayNet, DocBank and DocLayNet, showing that layout predictions of the DocLayNettrained models are more robust and thus the preferred choice for general-purpose document-layout analysis." - }, - { - "self_ref": "#/texts/103", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.3970947265625, - "t": 543.3802490234375, - "r": 370.7042541503906, - "b": 537.7380981445312, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 12 - ] - } - ], - "orig": "CCS CONCEPTS", - "text": "CCS CONCEPTS", - "level": 1 - }, - { - "self_ref": "#/texts/104", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.4852600097656, - "t": 532.8919067382812, - "r": 516.2509155273438, - "b": 523.6624755859375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 191 - ] - } - ], - "orig": "$_{\u00b7 Information systems }$\u2192$_{ Document structure ; \u00b7 Applied computing }$ \u2192$_{ Document analysis ; \u00b7 Computing methodologies }$\u2192$_{ Machine learning ;}$ Computer vision ; Object detection ;", - "text": "$_{\u00b7 Information systems }$\u2192$_{ Document structure ; \u00b7 Applied computing }$ \u2192$_{ Document analysis ; \u00b7 Computing methodologies }$\u2192$_{ Machine learning ;}$ Computer vision ; Object detection ;" - }, - { - "self_ref": "#/texts/105", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.1643371582031, - "t": 519.994873046875, - "r": 527.3062133789062, - "b": 506.2882080078125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 397 - ] - } - ], - "orig": "Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s).", - "text": "Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s)." - }, - { - "self_ref": "#/texts/106", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.1140441894531, - "t": 502.5775146484375, - "r": 513.2442016601562, - "b": 493.3287353515625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 168 - ] - } - ], - "orig": "KDD '22, August 14-18, 2022, Washington, DC, USA \u00a9 2022 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-9385-0/22/08. https://doi.org/10.1145/3534678.3539043", - "text": "KDD '22, August 14-18, 2022, Washington, DC, USA \u00a9 2022 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-9385-0/22/08. https://doi.org/10.1145/3534678.3539043" - }, - { - "self_ref": "#/texts/107", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.0572509765625, - "t": 490.3890686035156, - "r": 445.8473205566406, - "b": 486.1141662597656, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 84 - ] - } - ], - "orig": "Figure 1: Four examples of complex page layouts across different document categories", - "text": "Figure 1: Four examples of complex page layouts across different document categories" - }, - { - "self_ref": "#/texts/108", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.223876953125, - "t": 479.91156005859375, - "r": 359.9208984375, - "b": 474.4564514160156, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 8 - ] - } - ], - "orig": "KEYWORDS", - "text": "KEYWORDS", - "level": 1 - }, - { - "self_ref": "#/texts/109", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.092529296875, - "t": 469.5487365722656, - "r": 454.5943603515625, - "b": 465.4438781738281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 90 - ] - } - ], - "orig": "PDF document conversion, layout segmentation, object-detection, data set, Machine Learning", - "text": "PDF document conversion, layout segmentation, object-detection, data set, Machine Learning" - }, - { - "self_ref": "#/texts/110", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.1321716308594, - "t": 459.6901550292969, - "r": 388.247802734375, - "b": 453.86309814453125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 21 - ] - } - ], - "orig": "ACM Reference Format:", - "text": "ACM Reference Format:", - "level": 1 - }, - { - "self_ref": "#/texts/111", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 328.9222412109375, - "t": 448.7705383300781, - "r": 528.159423828125, - "b": 435.41400146484375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 374 - ] - } - ], - "orig": "Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar. 2022. DocLayNet: A Large Human-Annotated Dataset for DocumentLayout Analysis. In Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '22), August 14-18, 2022, Washington, DC, USA. ACM, New York, NY, USA, 9 pages. https://doi.org/10.1145/ 3534678.3539043", - "text": "Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar. 2022. DocLayNet: A Large Human-Annotated Dataset for DocumentLayout Analysis. In Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '22), August 14-18, 2022, Washington, DC, USA. ACM, New York, NY, USA, 9 pages. https://doi.org/10.1145/ 3534678.3539043" - }, - { - "self_ref": "#/texts/112", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "caption", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 221.84927368164062, - "t": 499.2803955078125, - "r": 312.25115966796875, - "b": 490.75177001953125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 84 - ] - } - ], - "orig": "Figure 1: Four examples of complex page layouts across different document categories", - "text": "Figure 1: Four examples of complex page layouts across different document categories" - }, - { - "self_ref": "#/texts/113", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 221.95114135742188, - "t": 480.065673828125, - "r": 245.78892517089844, - "b": 474.63507080078125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 8 - ] - } - ], - "orig": "KEYWORDS", - "text": "KEYWORDS", - "level": 1 - }, - { - "self_ref": "#/texts/114", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 222.00753784179688, - "t": 474.62298583984375, - "r": 312.0212097167969, - "b": 465.4729919433594, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 90 - ] - } - ], - "orig": "PDF document conversion, layout segmentation, object-detection, data set, Machine Learning", - "text": "PDF document conversion, layout segmentation, object-detection, data set, Machine Learning" - }, - { - "self_ref": "#/texts/115", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 222.01475524902344, - "t": 462.0861511230469, - "r": 254.69903564453125, - "b": 458.1186218261719, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 21 - ] - } - ], - "orig": "ACM Reference Format:", - "text": "ACM Reference Format:", - "level": 1 - }, - { - "self_ref": "#/texts/116", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 221.68344116210938, - "t": 458.718994140625, - "r": 312.1560974121094, - "b": 436.15557861328125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 380 - ] - } - ], - "orig": "Birgit Pfitzmann, Christoph Auer, Michele Dolfi , Ahmed S. Nassar, and Peter Staar. 2022. DocLayNet: A Large Human-Annotated Dataset for DocumentLayout Analysis. In Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '22), August 14-18, 2022, Wash-$_{ington, DC, USA.}$ACM, New York, NY, USA, 9 pages. https://doi.org/10.1145/ 3534678.3539043", - "text": "Birgit Pfitzmann, Christoph Auer, Michele Dolfi , Ahmed S. Nassar, and Peter Staar. 2022. DocLayNet: A Large Human-Annotated Dataset for DocumentLayout Analysis. In Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '22), August 14-18, 2022, Wash-$_{ington, DC, USA.}$ACM, New York, NY, USA, 9 pages. https://doi.org/10.1145/ 3534678.3539043" - }, - { - "self_ref": "#/texts/117", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.6015930175781, - "t": 428.9794921875, - "r": 373.37646484375, - "b": 423.8311462402344, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 14 - ] - } - ], - "orig": "1 INTRODUCTION", - "text": "1 INTRODUCTION" - }, - { - "self_ref": "#/texts/118", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 107.31889343261719, - "t": 420.2637939453125, - "r": 527.5916137695312, - "b": 377.62860107421875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1027 - ] - } - ], - "orig": "Despite the substantial improvements achieved with machine-learning (ML) approaches and deep neural networks in recent years, document conversion remains a challenging problem, as demonstrated by the numerous public competitions held on this topic [1-4]. The challenge originates from the huge variability in PDF documents regarding layout, language and formats (scanned, programmatic or a combination of both). Engineering a single ML model that can be applied on all types of documents and provides high-quality layout segmentation remains to this day extremely challenging [5]. To highlight the variability in document layouts, we show a few example documents from the DocLayNet dataset in Figure 1. Figure 2: Title page of the DocLayNet paper (arxiv .org/pdf/2206.01062) - left PDF, right rendered Markdown. If recognized, metadata such as authors are appearing first under the title. Text content inside figures is currently dropped, the caption is retained and linked to the figure in the JSON representation (not shown).", - "text": "Despite the substantial improvements achieved with machine-learning (ML) approaches and deep neural networks in recent years, document conversion remains a challenging problem, as demonstrated by the numerous public competitions held on this topic [1-4]. The challenge originates from the huge variability in PDF documents regarding layout, language and formats (scanned, programmatic or a combination of both). Engineering a single ML model that can be applied on all types of documents and provides high-quality layout segmentation remains to this day extremely challenging [5]. To highlight the variability in document layouts, we show a few example documents from the DocLayNet dataset in Figure 1. Figure 2: Title page of the DocLayNet paper (arxiv .org/pdf/2206.01062) - left PDF, right rendered Markdown. If recognized, metadata such as authors are appearing first under the title. Text content inside figures is currently dropped, the caption is retained and linked to the figure in the JSON representation (not shown)." - }, - { - "self_ref": "#/texts/119", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 302.8258056640625, - "t": 49.2652587890625, - "r": 308.49029541015625, - "b": 39.960079193115234, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ], - "orig": "7", - "text": "7" - }, - { - "self_ref": "#/texts/120", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_header", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 110.2352066040039, - "t": 618.2011108398438, - "r": 118.32157135009766, - "b": 492.749267578125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 37 - ] - } - ], - "orig": "arXiv:2206.01062v1 [cs.CV] 2 Jun 2022", - "text": "arXiv:2206.01062v1 [cs.CV] 2 Jun 2022" - }, - { - "self_ref": "#/texts/121", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 122.18534851074219, - "t": 563.207763671875, - "r": 338.8071594238281, - "b": 558.6549682617188, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 130 - ] - } - ], - "orig": "KDD '22, August 14-18, 2022, Washington, DC, USA Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar", - "text": "KDD '22, August 14-18, 2022, Washington, DC, USA Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar" - }, - { - "self_ref": "#/texts/122", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "caption", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 122.11329650878906, - "t": 552.1026611328125, - "r": 226.37594604492188, - "b": 509.48504638671875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 489 - ] - } - ], - "orig": "Table 2: Prediction performance (mAP@0.5-0.95) of object detection networks on DocLayNet test set. The MRCNN (Mask R-CNN) and FRCNN (Faster R-CNN) models with ResNet-50 or ResNet-101 backbone were trained based on the network architectures from the detectron2 model zoo (Mask R-CNN R50, R101-FPN 3x, Faster R-CNN R101-FPN 3x), with default configurations. The YOLO implementation utilized was YOLOv5x6 [13]. All models were initialised using pre-trained weights from the COCO 2017 dataset.", - "text": "Table 2: Prediction performance (mAP@0.5-0.95) of object detection networks on DocLayNet test set. The MRCNN (Mask R-CNN) and FRCNN (Faster R-CNN) models with ResNet-50 or ResNet-101 backbone were trained based on the network architectures from the detectron2 model zoo (Mask R-CNN R50, R101-FPN 3x, Faster R-CNN R101-FPN 3x), with default configurations. The YOLO implementation utilized was YOLOv5x6 [13]. All models were initialised using pre-trained weights from the COCO 2017 dataset." - }, - { - "self_ref": "#/texts/123", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 121.85212707519531, - "t": 431.1610107421875, - "r": 226.33633422851562, - "b": 341.54669189453125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1252 - ] - } - ], - "orig": "to avoid this at any cost in order to have clear, unbiased baseline numbers for human document-layout annotation. Third, we introduced the feature of snapping boxes around text segments to obtain a pixel-accurate annotation and again reduce time and effort. The CCS annotation tool automatically shrinks every user-drawn box to the minimum bounding-box around the enclosed text-cells for all purely text-based segments, which excludes only Table and $_{Picture}$. For the latter, we instructed annotation staffto minimise inclusion of surrounding whitespace while including all graphical lines. A downside of snapping boxes to enclosed text cells is that some wrongly parsed PDF pages cannot be annotated correctly and need to be skipped. Fourth, we established a way toflag pages as rejected for cases where no valid annotation according to the label guidelines could be achieved. Example cases for this would be PDF pages that render incorrectly or contain layouts that are impossible to capture with non-overlapping rectangles. Such rejected pages are not contained in thefinal dataset. With all these measures in place, experienced annotation staffmanaged to annotate a single page in a typical timeframe of 20s to 60s, depending on its complexity.", - "text": "to avoid this at any cost in order to have clear, unbiased baseline numbers for human document-layout annotation. Third, we introduced the feature of snapping boxes around text segments to obtain a pixel-accurate annotation and again reduce time and effort. The CCS annotation tool automatically shrinks every user-drawn box to the minimum bounding-box around the enclosed text-cells for all purely text-based segments, which excludes only Table and $_{Picture}$. For the latter, we instructed annotation staffto minimise inclusion of surrounding whitespace while including all graphical lines. A downside of snapping boxes to enclosed text cells is that some wrongly parsed PDF pages cannot be annotated correctly and need to be skipped. Fourth, we established a way toflag pages as rejected for cases where no valid annotation according to the label guidelines could be achieved. Example cases for this would be PDF pages that render incorrectly or contain layouts that are impossible to capture with non-overlapping rectangles. Such rejected pages are not contained in thefinal dataset. With all these measures in place, experienced annotation staffmanaged to annotate a single page in a typical timeframe of 20s to 60s, depending on its complexity." - }, - { - "self_ref": "#/texts/124", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 122.35355377197266, - "t": 338.0934753417969, - "r": 163.32470703125, - "b": 331.835693359375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 13 - ] - } - ], - "orig": "5 EXPERIMENTS", - "text": "5 EXPERIMENTS", - "level": 1 - }, - { - "self_ref": "#/texts/125", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 122.00563049316406, - "t": 327.5806884765625, - "r": 226.2816162109375, - "b": 284.8097229003906, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 584 - ] - } - ], - "orig": "The primary goal of DocLayNet is to obtain high-quality ML models capable of accurate document-layout analysis on a wide variety of challenging layouts. As discussed in Section 2, object detection models are currently the easiest to use, due to the standardisation of ground-truth data in COCO format [16] and the availability of general frameworks such as detectron2 [17]. Furthermore, baseline numbers in PubLayNet and DocBank were obtained using standard object detection models such as Mask R-CNN and Faster R-CNN. As such, we will relate to these object detection methods in this", - "text": "The primary goal of DocLayNet is to obtain high-quality ML models capable of accurate document-layout analysis on a wide variety of challenging layouts. As discussed in Section 2, object detection models are currently the easiest to use, due to the standardisation of ground-truth data in COCO format [16] and the availability of general frameworks such as detectron2 [17]. Furthermore, baseline numbers in PubLayNet and DocBank were obtained using standard object detection models such as Mask R-CNN and Faster R-CNN. As such, we will relate to these object detection methods in this" - }, - { - "self_ref": "#/texts/126", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "caption", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 107.26910400390625, - "t": 267.0020751953125, - "r": 504.2988586425781, - "b": 224.93768310546875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 393 - ] - } - ], - "orig": "Figure 3: Page 6 of the DocLayNet paper. If recognized, metadata such as authors are appearing first under the title. Elements recognized as page headers or footers are suppressed in Markdown to deliver uninterrupted content in reading order. Tables are inserted in reading order. The paragraph in \"5. Experiments\" wrapping over the column end is broken up in two and interrupted by the table.", - "text": "Figure 3: Page 6 of the DocLayNet paper. If recognized, metadata such as authors are appearing first under the title. Elements recognized as page headers or footers are suppressed in Markdown to deliver uninterrupted content in reading order. Tables are inserted in reading order. The paragraph in \"5. Experiments\" wrapping over the column end is broken up in two and interrupted by the table." - }, - { - "self_ref": "#/texts/127", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 235.38954162597656, - "t": 469.9726867675781, - "r": 339.28778076171875, - "b": 441.4075927734375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 329 - ] - } - ], - "orig": "Figure 5: Prediction performance (mAP@0.5-0.95) of a Mask R-CNN network with ResNet50 backbone trained on increasing fractions of the DocLayNet dataset. The learning curv eflattens around the 80% mark, indicating that increasing the size of the DocLayNet dataset with similar data will not yield significantly better predictions.", - "text": "Figure 5: Prediction performance (mAP@0.5-0.95) of a Mask R-CNN network with ResNet50 backbone trained on increasing fractions of the DocLayNet dataset. The learning curv eflattens around the 80% mark, indicating that increasing the size of the DocLayNet dataset with similar data will not yield significantly better predictions." - }, - { - "self_ref": "#/texts/128", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 234.98081970214844, - "t": 425.5683898925781, - "r": 338.644775390625, - "b": 415.5873718261719, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 102 - ] - } - ], - "orig": "paper and leave the detailed evaluation of more recent methods mentioned in Section 2 for future work.", - "text": "paper and leave the detailed evaluation of more recent methods mentioned in Section 2 for future work." - }, - { - "self_ref": "#/texts/129", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 234.98487854003906, - "t": 416.19970703125, - "r": 338.76287841796875, - "b": 382.79742431640625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 397 - ] - } - ], - "orig": "In this section, we will present several aspects related to the performance of object detection models on DocLayNet. Similarly as in PubLayNet, we will evaluate the quality of their predictions using mean average precision (mAP) with 10 overlaps that range from 0.5 to 0.95 in steps of 0.05 (mAP@0.5-0.95). These scores are computed by leveraging the evaluation code provided by the COCO API [16].", - "text": "In this section, we will present several aspects related to the performance of object detection models on DocLayNet. Similarly as in PubLayNet, we will evaluate the quality of their predictions using mean average precision (mAP) with 10 overlaps that range from 0.5 to 0.95 in steps of 0.05 (mAP@0.5-0.95). These scores are computed by leveraging the evaluation code provided by the COCO API [16]." - }, - { - "self_ref": "#/texts/130", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 235.3143310546875, - "t": 377.12237548828125, - "r": 299.73687744140625, - "b": 370.8646240234375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 30 - ] - } - ], - "orig": "Baselines for Object Detection", - "text": "Baselines for Object Detection", - "level": 1 - }, - { - "self_ref": "#/texts/131", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 235.06893920898438, - "t": 370.8502197265625, - "r": 338.89947509765625, - "b": 285.920654296875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1144 - ] - } - ], - "orig": "In Table 2, we present baseline experiments (given in mAP) on Mask R-CNN [12], Faster R-CNN [11], and YOLOv5 [13]. Both training and evaluation were performed on RGB images with dimensions of $^{1025}$\u00d71025 pixels. For training, we only used one annotation in case of redundantly annotated pages. As one can observe, the variation in mAP between the models is rather low, but overall between 6 and 10% lower than the mAP computed from the pairwise human annotations on triple-annotated pages. This gives a good indication that the DocLayNet dataset poses a worthwhile challenge for the research community to close the gap between human recognition and ML approaches. It is interesting to see that Mask R-CNN and Faster R-CNN produce very comparable mAP scores, indicating that pixel-based image segmentation derived from bounding-boxes does not help to obtain better predictions. On the other hand, the more recent Yolov5x model does very well and even out-performs humans on selected labels such as $_{Text}$, Table and $_{Picture}$. This is not entirely surprising, as and Picture are abundant and the most visually distinctive in a document.", - "text": "In Table 2, we present baseline experiments (given in mAP) on Mask R-CNN [12], Faster R-CNN [11], and YOLOv5 [13]. Both training and evaluation were performed on RGB images with dimensions of $^{1025}$\u00d71025 pixels. For training, we only used one annotation in case of redundantly annotated pages. As one can observe, the variation in mAP between the models is rather low, but overall between 6 and 10% lower than the mAP computed from the pairwise human annotations on triple-annotated pages. This gives a good indication that the DocLayNet dataset poses a worthwhile challenge for the research community to close the gap between human recognition and ML approaches. It is interesting to see that Mask R-CNN and Faster R-CNN produce very comparable mAP scores, indicating that pixel-based image segmentation derived from bounding-boxes does not help to obtain better predictions. On the other hand, the more recent Yolov5x model does very well and even out-performs humans on selected labels such as $_{Text}$, Table and $_{Picture}$. This is not entirely surprising, as and Picture are abundant and the most visually distinctive in a document." - }, - { - "self_ref": "#/texts/132", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 366.3333435058594, - "t": 563.0970458984375, - "r": 527.1106567382812, - "b": 547.0772705078125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 419 - ] - } - ], - "orig": "Prediclion Derormance (up80.5-0.85 ohobeci detecion lalo ks Doclaynal Lest saL Ine VACNN (Mask R-CNNI and FACNN (Faster A-CNM) modcs mith PosNc: 50 PosNo: 101 backtone woro trainod based on Enc nchwwcrk achrocturos tom Ihc Oeronhroase a-CNn aso rioi-Fpn Jx, FasieA-Cnn a1o1-FPN Jx), wilh delaui conlwuralions The YoUg mpomorcabon utilzod w2s YoloSyb(13| modos woro inbalsod usino cro-trunodmonhts hron Coco 2017 datasor", - "text": "Prediclion Derormance (up80.5-0.85 ohobeci detecion lalo ks Doclaynal Lest saL Ine VACNN (Mask R-CNNI and FACNN (Faster A-CNM) modcs mith PosNc: 50 PosNo: 101 backtone woro trainod based on Enc nchwwcrk achrocturos tom Ihc Oeronhroase a-CNn aso rioi-Fpn Jx, FasieA-Cnn a1o1-FPN Jx), wilh delaui conlwuralions The YoUg mpomorcabon utilzod w2s YoloSyb(13| modos woro inbalsod usino cro-trunodmonhts hron Coco 2017 datasor" - }, - { - "self_ref": "#/texts/133", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 365.95367431640625, - "t": 447.0, - "r": 530.2679443359375, - "b": 405.3583984375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 934 - ] - } - ], - "orig": "iD avod Ihbs arcost cha unbasndbasolino numoc human cocumnnt-Laycut annotalion; Thrd Inirooucod leatura 0i snapoina Doxes around lerl scainunis cblan & pixel-accuiale annolaton and aJan feduce Bifre and elonThe CCS annoinbon aloMalca shruks Ovory Usor-drawnboro mnmum boundino-borarounaIho onclosod coxt-colls Purolytort basud scoitontwhich uxclldcs Ort Tatlo and Picluo latsor Inssucicdannjlabon sha mnim so inclusion Suitcurding mlospeco whloIncvon Oenoncang doans d0 oisnaocmnbors Onchse Ihal So10 wioogly Daisoc Pogcs Cannol be annotalcd coTcCEY and nccd supocd Foudn Oshdned Wuyio(aq Dagcs (ccclod Cases whcion valid anncuabon eccofding abeiqu Oelines coukbe acheneu Eamnole Case, flis wouk PDF peoe3 Ihal rendernnccrrecUy contanlavuta hat Imnosshk cantra milh Vananonnyogannio{ Suchiceciodoaoos not coralnon Ihofnn hr Aroknacoarreehetyn annollca slall nluuocd unnoln sina \" Puou lypical Lmnetamre 0l 20s 10 605 cecendnc conoanty", - "text": "iD avod Ihbs arcost cha unbasndbasolino numoc human cocumnnt-Laycut annotalion; Thrd Inirooucod leatura 0i snapoina Doxes around lerl scainunis cblan & pixel-accuiale annolaton and aJan feduce Bifre and elonThe CCS annoinbon aloMalca shruks Ovory Usor-drawnboro mnmum boundino-borarounaIho onclosod coxt-colls Purolytort basud scoitontwhich uxclldcs Ort Tatlo and Picluo latsor Inssucicdannjlabon sha mnim so inclusion Suitcurding mlospeco whloIncvon Oenoncang doans d0 oisnaocmnbors Onchse Ihal So10 wioogly Daisoc Pogcs Cannol be annotalcd coTcCEY and nccd supocd Foudn Oshdned Wuyio(aq Dagcs (ccclod Cases whcion valid anncuabon eccofding abeiqu Oelines coukbe acheneu Eamnole Case, flis wouk PDF peoe3 Ihal rendernnccrrecUy contanlavuta hat Imnosshk cantra milh Vananonnyogannio{ Suchiceciodoaoos not coralnon Ihofnn hr Aroknacoarreehetyn annollca slall nluuocd unnoln sina \" Puou lypical Lmnetamre 0l 20s 10 605 cecendnc conoanty" - }, - { - "self_ref": "#/texts/134", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 366.17059326171875, - "t": 400.3333435058594, - "r": 404.3333435058594, - "b": 395.0, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 13 - ] - } - ], - "orig": "5 EXPERIMENTS", - "text": "5 EXPERIMENTS", - "level": 1 - }, - { - "self_ref": "#/texts/135", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 366.0, - "t": 391.0, - "r": 529.8655395507812, - "b": 370.37261962890625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 418 - ] - } - ], - "orig": "Ine crimary goal OocVAYNo cblan hion-quality Modols AccuaiodoaMoiuvana4s WMeVanalon chalcnonglayoul: Cecurdg echon Doicdi Delccion modcb rtene Casistlo Usc, Quulo Hhndandiubon ground-vuth data COCO lornat [16] and avaladloy enetal Irarnenoiks uch derectrcnz7] Furnemmcre, baseline nmnoe < I Putun Notand DocBank calanodusnsundad coict dosnchonmodols such Mas< A CNN and Fasior A CNN SuEna blraomhdelecfa nonInr Canacle", - "text": "Ine crimary goal OocVAYNo cblan hion-quality Modols AccuaiodoaMoiuvana4s WMeVanalon chalcnonglayoul: Cecurdg echon Doicdi Delccion modcb rtene Casistlo Usc, Quulo Hhndandiubon ground-vuth data COCO lornat [16] and avaladloy enetal Irarnenoiks uch derectrcnz7] Furnemmcre, baseline nmnoe < I Putun Notand DocBank calanodusnsundad coict dosnchonmodols such Mas< A CNN and Fasior A CNN SuEna blraomhdelecfa nonInr Canacle" - }, - { - "self_ref": "#/texts/136", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 365.9671936035156, - "t": 367.0, - "r": 528.6666870117188, - "b": 354.9878845214844, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 268 - ] - } - ], - "orig": "Fauri Prco chon ocrloianC( 005-095) ola Mask A-CNN ncthoik ilh AcsNciSo backbono brainod on incrcasing Iracbons oi DocLaynei calasot Tne loannp auro altons around Ih0 \u20ac03 noicahino Ihal inxreasing /e 520 Q Iho DocL\u00f8y Nel dalasot Amardaen nol Ycid sn: dorOocC Chons LAD", - "text": "Fauri Prco chon ocrloianC( 005-095) ola Mask A-CNN ncthoik ilh AcsNciSo backbono brainod on incrcasing Iracbons oi DocLaynei calasot Tne loannp auro altons around Ih0 \u20ac03 noicahino Ihal inxreasing /e 520 Q Iho DocL\u00f8y Nel dalasot Amardaen nol Ycid sn: dorOocC Chons LAD" - }, - { - "self_ref": "#/texts/137", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 365.8995056152344, - "t": 351.3333435058594, - "r": 489.40869140625, - "b": 347.69952392578125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 83 - ] - } - ], - "orig": "pangrandloave detallod evalvallon %moro rcoarimolhods monionan Secilg Jorhlure work", - "text": "pangrandloave detallod evalvallon %moro rcoarimolhods monionan Secilg Jorhlure work" - }, - { - "self_ref": "#/texts/138", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 366.1520690917969, - "t": 344.3362731933594, - "r": 527.7802124023438, - "b": 332.3333435058594, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 296 - ] - } - ], - "orig": "Inuhs sechon All Deseni seur8/ asoecis reles00 Perormanoe ouieci celec on DoxclayNet Simamtas In PLoLaynnt oyuato tnn qualmy cuthnlr crodictionsusiramnanavnna prncisicn (TTAP) wch IDovrdaos that rangn trom 0 5ta 005 (nap,o6-00: Ml olue Fnoula Cvurbar uvalaion coou piayIed DY Ihu COCO API/161 ook", - "text": "Inuhs sechon All Deseni seur8/ asoecis reles00 Perormanoe ouieci celec on DoxclayNet Simamtas In PLoLaynnt oyuato tnn qualmy cuthnlr crodictionsusiramnanavnna prncisicn (TTAP) wch IDovrdaos that rangn trom 0 5ta 005 (nap,o6-00: Ml olue Fnoula Cvurbar uvalaion coou piayIed DY Ihu COCO API/161 ook" - }, - { - "self_ref": "#/texts/139", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "section_header", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 366.2955322265625, - "t": 328.0, - "r": 434.3333435058594, - "b": 321.3333435058594, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 30 - ] - } - ], - "orig": "Baselines for Object Detection", - "text": "Baselines for Object Detection", - "level": 1 - }, - { - "self_ref": "#/texts/140", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 365.9697570800781, - "t": 317.6666564941406, - "r": 529.27099609375, - "b": 280.0965881347656, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 825 - ] - } - ], - "orig": "ptesenl baselne expenrnenls (Qvenin MAF) on Mas< R-CNN /121 Fasler F-CNN [11] an1 YOLOvS [13] Bou1 brann anavailang woropomormod AGa Imnoos vith dimonsions 1025 chxrols For tralring onN usodomannolatln Incaso ohcuunourfhunnolulco Dac3 Ohenn Vuruhoninptalunhamagny usnaroA en hn 10?7 loworrnannomap conoutec paicaisehuman anncrbons Aoo-amculeopnnos Ins Cves nacaton thatrhe DocLayNot daasci DOfo s mornwro clagnoo [csoarcncomrurt gap bctwoon human focogniticn and VL aporoaces nlelesuio IharNaska-CNNead Fasler GNincroova comnanen Maseoes nnocauna Ulbi AICBasodnanc scomrorubon oormvod Irom bounon)ooros Ooo{ abuin totcrorcochons Ontho chornnno Mcrocconi YolavSrmrodel does verywell und even Dul-Perdorins selectedlubels such Tedle undpcturl enbeh surcrisio Ta oloandPchre poincant amimemostasiaIN ishinsine documen: Ouau hnne", - "text": "ptesenl baselne expenrnenls (Qvenin MAF) on Mas< R-CNN /121 Fasler F-CNN [11] an1 YOLOvS [13] Bou1 brann anavailang woropomormod AGa Imnoos vith dimonsions 1025 chxrols For tralring onN usodomannolatln Incaso ohcuunourfhunnolulco Dac3 Ohenn Vuruhoninptalunhamagny usnaroA en hn 10?7 loworrnannomap conoutec paicaisehuman anncrbons Aoo-amculeopnnos Ins Cves nacaton thatrhe DocLayNot daasci DOfo s mornwro clagnoo [csoarcncomrurt gap bctwoon human focogniticn and VL aporoaces nlelesuio IharNaska-CNNead Fasler GNincroova comnanen Maseoes nnocauna Ulbi AICBasodnanc scomrorubon oormvod Irom bounon)ooros Ooo{ abuin totcrorcochons Ontho chornnno Mcrocconi YolavSrmrodel does verywell und even Dul-Perdorins selectedlubels such Tedle undpcturl enbeh surcrisio Ta oloandPchre poincant amimemostasiaIN ishinsine documen: Ouau hnne" - }, - { - "self_ref": "#/texts/141", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 303.0059509277344, - "t": 48.90887451171875, - "r": 308.49029541015625, - "b": 39.960079193115234, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ], - "orig": "8", - "text": "8" - }, - { - "self_ref": "#/texts/142", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 88.67599487304688, - "t": 598.9852294921875, - "r": 346.2541809082031, - "b": 593.6693115234375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 130 - ] - } - ], - "orig": "KDD '22, August 14-18, 2022, Washington, DC, USA Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar", - "text": "KDD '22, August 14-18, 2022, Washington, DC, USA Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar" - }, - { - "self_ref": "#/texts/143", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "caption", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 88.52484130859375, - "t": 586.8209228515625, - "r": 525.9969482421875, - "b": 561.3492431640625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 699 - ] - } - ], - "orig": "Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B", - "text": "Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B" - }, - { - "self_ref": "#/texts/144", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "caption", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 88.67599487304688, - "t": 347.296630859375, - "r": 108.26393127441406, - "b": 318.76702880859375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 46 - ] - } - ], - "orig": "Figure 3: face. The laid te be drawn the respe", - "text": "Figure 3: face. The laid te be drawn the respe" - }, - { - "self_ref": "#/texts/145", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 88.50696563720703, - "t": 306.8683776855469, - "r": 212.13279724121094, - "b": 277.8305358886719, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 293 - ] - } - ], - "orig": "we distribute d the annotation workload and performed continuous quality contr ols. Phase one and two required a small team of experts only. For phases three and four, a group of 40 dedicated annotators were assembled and supervised. Phase 1: Data selection and preparation. Our inclusion cri-", - "text": "we distribute d the annotation workload and performed continuous quality contr ols. Phase one and two required a small team of experts only. For phases three and four, a group of 40 dedicated annotators were assembled and supervised. Phase 1: Data selection and preparation. Our inclusion cri-" - }, - { - "self_ref": "#/texts/146", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 327.33526611328125, - "t": 415.4449157714844, - "r": 347.025390625, - "b": 375.5401916503906, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 58 - ] - } - ], - "orig": "of pages ed by seerties. For cument figur es or object how", - "text": "of pages ed by seerties. For cument figur es or object how" - }, - { - "self_ref": "#/texts/147", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 223.4002227783203, - "t": 370.67547607421875, - "r": 347.0276794433594, - "b": 280.1531982421875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 430 - ] - } - ], - "orig": "d the colfealayout labels. Pageand $_{Title}$. class cificity ed for of the ambiguous, while coverage ensures that all meaningful items on a page can be annotated. We refrained from class labels that are very specific to a document category, such as Abstract in the Scientific Articles category. We also avoided class labels that are tightly linked to the semantics of the text. Labels such as Author and $_{Affiliation}$, as seen", - "text": "d the colfealayout labels. Pageand $_{Title}$. class cificity ed for of the ambiguous, while coverage ensures that all meaningful items on a page can be annotated. We refrained from class labels that are very specific to a document category, such as Abstract in the Scientific Articles category. We also avoided class labels that are tightly linked to the semantics of the text. Labels such as Author and $_{Affiliation}$, as seen" - }, - { - "self_ref": "#/texts/148", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "paragraph", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 88.67599487304688, - "t": 281.1365966796875, - "r": 504.1103515625, - "b": 213.95611572265625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 737 - ] - } - ], - "orig": "teria for documents were described in Section 3. A large effort went into ensuring that all documents are free to use. The data sources in DocBank, are often only distinguishable by discriminating on $^{3}$https://arxiv.org/ Figure 4: Table 1 from the DocLayNet paper in the original PDF (A), as rendered Markdown (B) and in JSON representation (C). Spanning table cells, such as the multi-column header \"triple interannotator mAP@0.5-0.95 (%)\", is repeated for each column in the Markdown representation (B), which guarantees that every data point can be traced back to row and column headings only by its grid coordinates in the table. In the JSON representation, the span information is reflected in the fields of each table cell (C).", - "text": "teria for documents were described in Section 3. A large effort went into ensuring that all documents are free to use. The data sources in DocBank, are often only distinguishable by discriminating on $^{3}$https://arxiv.org/ Figure 4: Table 1 from the DocLayNet paper in the original PDF (A), as rendered Markdown (B) and in JSON representation (C). Spanning table cells, such as the multi-column header \"triple interannotator mAP@0.5-0.95 (%)\", is repeated for each column in the Markdown representation (B), which guarantees that every data point can be traced back to row and column headings only by its grid coordinates in the table. In the JSON representation, the span information is reflected in the fields of each table cell (C)." - }, - { - "self_ref": "#/texts/149", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 302.54315185546875, - "t": 49.2738037109375, - "r": 308.49029541015625, - "b": 39.96010971069336, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ], - "orig": "9", - "text": "9" - } - ], - "pictures": [ - { - "self_ref": "#/pictures/0", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "picture", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 261.9679260253906, - "t": 715.9161376953125, - "r": 348.65789794921875, - "b": 627.129638671875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ], - "captions": [], - "references": [], - "footnotes": [], - "annotations": [] - }, - { - "self_ref": "#/pictures/1", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "picture", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 110.07240295410156, - "t": 719.2913208007812, - "r": 501.97247314453125, - "b": 581.2926025390625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 134 - ] - } - ], - "captions": [ - { - "$ref": "#/texts/30" - } - ], - "references": [], - "footnotes": [], - "annotations": [] - }, - { - "self_ref": "#/pictures/2", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "picture", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 223.45220947265625, - "t": 606.3411865234375, - "r": 277.1463623046875, - "b": 563.2439575195312, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 84 - ] - } - ], - "captions": [ - { - "$ref": "#/texts/112" - } - ], - "references": [], - "footnotes": [], - "annotations": [] - }, - { - "self_ref": "#/pictures/3", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "picture", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 224.67953491210938, - "t": 560.5714111328125, - "r": 268.130126953125, - "b": 503.4938049316406, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ], - "captions": [], - "references": [], - "footnotes": [], - "annotations": [] - }, - { - "self_ref": "#/pictures/4", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "picture", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 279.0318603515625, - "t": 607.0249633789062, - "r": 312.2329406738281, - "b": 562.7503662109375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ], - "captions": [], - "references": [], - "footnotes": [], - "annotations": [] - }, - { - "self_ref": "#/pictures/5", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "picture", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 269.2328186035156, - "t": 558.8635864257812, - "r": 311.7486877441406, - "b": 502.9947814941406, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ], - "captions": [], - "references": [], - "footnotes": [], - "annotations": [] - }, - { - "self_ref": "#/pictures/6", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "picture", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 237.64300537109375, - "t": 550.145751953125, - "r": 337.0115966796875, - "b": 477.0093994140625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 393 - ] - } - ], - "captions": [ - { - "$ref": "#/texts/126" - } - ], - "references": [], - "footnotes": [], - "annotations": [] - }, - { - "self_ref": "#/pictures/7", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "picture", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 110.4301528930664, - "t": 573.9806518554688, - "r": 124.71573638916016, - "b": 559.47119140625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 46 - ] - } - ], - "captions": [ - { - "$ref": "#/texts/144" - } - ], - "references": [], - "footnotes": [], - "annotations": [] - }, - { - "self_ref": "#/pictures/8", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "picture", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 101.61099243164062, - "t": 471.4068603515625, - "r": 338.6873474121094, - "b": 308.3857421875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ], - "captions": [], - "references": [], - "footnotes": [], - "annotations": [] - }, - { - "self_ref": "#/pictures/9", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "picture", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 328.66815185546875, - "t": 558.557861328125, - "r": 544.793212890625, - "b": 414.3171081542969, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ], - "captions": [], - "references": [], - "footnotes": [], - "annotations": [] - } - ], - "tables": [ - { - "self_ref": "#/tables/0", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 133.71340942382812, - "t": 635.0601806640625, - "r": 477.5060729980469, - "b": 542.3740844726562, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ], - "captions": [ - { - "$ref": "#/texts/56" - } - ], - "references": [], - "footnotes": [], - "data": { - "table_cells": [ - { - "bbox": { - "l": 134.5240020751953, - "t": 626.0866088867188, - "r": 153.90126037597656, - "b": 617.1800537109375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "CPU", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 207.9080047607422, - "t": 631.5416259765625, - "r": 236.12208557128906, - "b": 611.72607421875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 2, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 2, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "Thread budget", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 272.6700134277344, - "t": 631.5416259765625, - "r": 332.2065124511719, - "b": 622.6350708007812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 3, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 2, - "end_col_offset_idx": 5, - "text": "native backend", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 383.2847595214844, - "t": 631.5416259765625, - "r": 456.9681091308594, - "b": 622.6350708007812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 3, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 8, - "text": "pypdfium backend", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 249.87600708007812, - "t": 615.8296508789062, - "r": 267.5895080566406, - "b": 606.923095703125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "TTS", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 281.337890625, - "t": 615.8296508789062, - "r": 311.0762634277344, - "b": 606.923095703125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "Pages/s", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 329.3974914550781, - "t": 615.8296508789062, - "r": 350.42852783203125, - "b": 606.923095703125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "Mem", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 370.552978515625, - "t": 615.8296508789062, - "r": 388.2664794921875, - "b": 606.923095703125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "TTS", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 402.0148620605469, - "t": 615.8296508789062, - "r": 431.75323486328125, - "b": 606.923095703125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "Pages/s", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 450.074462890625, - "t": 615.8296508789062, - "r": 471.1054992675781, - "b": 606.923095703125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "Mem", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 134.5240020751953, - "t": 599.9186401367188, - "r": 195.95338439941406, - "b": 591.0120849609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Apple M3 Max", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 207.9080047607422, - "t": 599.9186401367188, - "r": 212.88929748535156, - "b": 591.0120849609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 248.0771942138672, - "t": 599.9186401367188, - "r": 269.38720703125, - "b": 591.0120849609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "177 s", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 287.49920654296875, - "t": 599.9186401367188, - "r": 304.9337463378906, - "b": 591.0120849609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "1.27", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 323.0360107421875, - "t": 594.463623046875, - "r": 356.79925537109375, - "b": 585.5570678710938, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 2, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 4, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "6.20 GB", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 368.7539978027344, - "t": 599.9186401367188, - "r": 390.06402587890625, - "b": 591.0120849609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "103 s", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 408.176025390625, - "t": 599.9186401367188, - "r": 425.6105651855469, - "b": 591.0120849609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "2.18", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 443.7130126953125, - "t": 594.463623046875, - "r": 477.47625732421875, - "b": 585.5570678710938, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 3, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 5, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "2.56 GB", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 134.5240020751953, - "t": 589.0096435546875, - "r": 174.6334228515625, - "b": 580.1030883789062, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "(16 cores)", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 207.90802001953125, - "t": 589.0096435546875, - "r": 217.87062072753906, - "b": 580.1030883789062, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "16", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 248.0772247314453, - "t": 589.0096435546875, - "r": 269.3872375488281, - "b": 580.1030883789062, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "167 s", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 287.4992370605469, - "t": 589.0096435546875, - "r": 304.93377685546875, - "b": 580.1030883789062, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "1.34", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 371.2448425292969, - "t": 589.0096435546875, - "r": 387.57354736328125, - "b": 580.1030883789062, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "92 s", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 408.1662292480469, - "t": 589.0096435546875, - "r": 425.60076904296875, - "b": 580.1030883789062, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "2.45", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 134.5240020751953, - "t": 573.0986328125, - "r": 190.13523864746094, - "b": 553.2830810546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Intel(R) Xeon E5-2690", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 207.9080047607422, - "t": 573.0986328125, - "r": 217.87062072753906, - "b": 553.2830810546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "4 16", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 248.0771942138672, - "t": 573.0986328125, - "r": 269.3872375488281, - "b": 553.2830810546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "375 s 244 s", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 287.49920654296875, - "t": 573.0986328125, - "r": 304.93377685546875, - "b": 553.2830810546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "0.60 0.92", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 323.0360107421875, - "t": 567.6436157226562, - "r": 356.79925537109375, - "b": 558.737060546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "6.16 GB", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 368.7539978027344, - "t": 573.0986328125, - "r": 390.064208984375, - "b": 553.2830810546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "239 s 143 s", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 408.166259765625, - "t": 573.0986328125, - "r": 425.6105651855469, - "b": 553.2830810546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "0.94 1.57", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 443.7130126953125, - "t": 567.6436157226562, - "r": 477.47625732421875, - "b": 558.737060546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "2.42 GB", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - "num_rows": 5, - "num_cols": 8, - "grid": [ - [ - { - "bbox": { - "l": 134.5240020751953, - "t": 626.0866088867188, - "r": 153.90126037597656, - "b": 617.1800537109375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "CPU", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 207.9080047607422, - "t": 631.5416259765625, - "r": 236.12208557128906, - "b": 611.72607421875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 2, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 2, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "Thread budget", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 272.6700134277344, - "t": 631.5416259765625, - "r": 332.2065124511719, - "b": 622.6350708007812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 3, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 2, - "end_col_offset_idx": 5, - "text": "native backend", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 272.6700134277344, - "t": 631.5416259765625, - "r": 332.2065124511719, - "b": 622.6350708007812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 3, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 2, - "end_col_offset_idx": 5, - "text": "native backend", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 272.6700134277344, - "t": 631.5416259765625, - "r": 332.2065124511719, - "b": 622.6350708007812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 3, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 2, - "end_col_offset_idx": 5, - "text": "native backend", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 383.2847595214844, - "t": 631.5416259765625, - "r": 456.9681091308594, - "b": 622.6350708007812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 3, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 8, - "text": "pypdfium backend", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 383.2847595214844, - "t": 631.5416259765625, - "r": 456.9681091308594, - "b": 622.6350708007812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 3, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 8, - "text": "pypdfium backend", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 383.2847595214844, - "t": 631.5416259765625, - "r": 456.9681091308594, - "b": 622.6350708007812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 3, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 8, - "text": "pypdfium backend", - "column_header": true, - "row_header": false, - "row_section": false - } - ], - [ - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 207.9080047607422, - "t": 631.5416259765625, - "r": 236.12208557128906, - "b": 611.72607421875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 2, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 2, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "Thread budget", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 249.87600708007812, - "t": 615.8296508789062, - "r": 267.5895080566406, - "b": 606.923095703125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "TTS", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 281.337890625, - "t": 615.8296508789062, - "r": 311.0762634277344, - "b": 606.923095703125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "Pages/s", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 329.3974914550781, - "t": 615.8296508789062, - "r": 350.42852783203125, - "b": 606.923095703125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "Mem", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 370.552978515625, - "t": 615.8296508789062, - "r": 388.2664794921875, - "b": 606.923095703125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "TTS", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 402.0148620605469, - "t": 615.8296508789062, - "r": 431.75323486328125, - "b": 606.923095703125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "Pages/s", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 450.074462890625, - "t": 615.8296508789062, - "r": 471.1054992675781, - "b": 606.923095703125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "Mem", - "column_header": true, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 134.5240020751953, - "t": 599.9186401367188, - "r": 195.95338439941406, - "b": 591.0120849609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Apple M3 Max", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 207.9080047607422, - "t": 599.9186401367188, - "r": 212.88929748535156, - "b": 591.0120849609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 248.0771942138672, - "t": 599.9186401367188, - "r": 269.38720703125, - "b": 591.0120849609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "177 s", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 287.49920654296875, - "t": 599.9186401367188, - "r": 304.9337463378906, - "b": 591.0120849609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "1.27", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 323.0360107421875, - "t": 594.463623046875, - "r": 356.79925537109375, - "b": 585.5570678710938, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 2, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 4, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "6.20 GB", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 368.7539978027344, - "t": 599.9186401367188, - "r": 390.06402587890625, - "b": 591.0120849609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "103 s", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 408.176025390625, - "t": 599.9186401367188, - "r": 425.6105651855469, - "b": 591.0120849609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "2.18", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 443.7130126953125, - "t": 594.463623046875, - "r": 477.47625732421875, - "b": 585.5570678710938, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 3, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 5, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "2.56 GB", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 134.5240020751953, - "t": 589.0096435546875, - "r": 174.6334228515625, - "b": 580.1030883789062, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "(16 cores)", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 207.90802001953125, - "t": 589.0096435546875, - "r": 217.87062072753906, - "b": 580.1030883789062, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "16", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 248.0772247314453, - "t": 589.0096435546875, - "r": 269.3872375488281, - "b": 580.1030883789062, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "167 s", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 287.4992370605469, - "t": 589.0096435546875, - "r": 304.93377685546875, - "b": 580.1030883789062, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "1.34", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 323.0360107421875, - "t": 594.463623046875, - "r": 356.79925537109375, - "b": 585.5570678710938, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 2, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 4, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "6.20 GB", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 371.2448425292969, - "t": 589.0096435546875, - "r": 387.57354736328125, - "b": 580.1030883789062, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "92 s", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 408.1662292480469, - "t": 589.0096435546875, - "r": 425.60076904296875, - "b": 580.1030883789062, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "2.45", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 443.7130126953125, - "t": 594.463623046875, - "r": 477.47625732421875, - "b": 585.5570678710938, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 3, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 5, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "2.56 GB", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 134.5240020751953, - "t": 573.0986328125, - "r": 190.13523864746094, - "b": 553.2830810546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Intel(R) Xeon E5-2690", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 207.9080047607422, - "t": 573.0986328125, - "r": 217.87062072753906, - "b": 553.2830810546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "4 16", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 248.0771942138672, - "t": 573.0986328125, - "r": 269.3872375488281, - "b": 553.2830810546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "375 s 244 s", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 287.49920654296875, - "t": 573.0986328125, - "r": 304.93377685546875, - "b": 553.2830810546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "0.60 0.92", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 323.0360107421875, - "t": 567.6436157226562, - "r": 356.79925537109375, - "b": 558.737060546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "6.16 GB", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 368.7539978027344, - "t": 573.0986328125, - "r": 390.064208984375, - "b": 553.2830810546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "239 s 143 s", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 408.166259765625, - "t": 573.0986328125, - "r": 425.6105651855469, - "b": 553.2830810546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "0.94 1.57", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 443.7130126953125, - "t": 567.6436157226562, - "r": 477.47625732421875, - "b": 558.737060546875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "2.42 GB", - "column_header": false, - "row_header": false, - "row_section": false - } - ] - ] - } - }, - { - "self_ref": "#/tables/1", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 125.886474609375, - "t": 505.5043640136719, - "r": 223.0053253173828, - "b": 437.8017578125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ], - "captions": [ - { - "$ref": "#/texts/122" - } - ], - "references": [], - "footnotes": [], - "data": { - "table_cells": [ - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 156.58157348632812, - "t": 505.0888977050781, - "r": 167.5352020263672, - "b": 499.7922058105469, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 2, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 2, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "human", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 174.1665496826172, - "t": 505.0888977050781, - "r": 187.46572875976562, - "b": 499.7922058105469, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 2, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 2, - "end_col_offset_idx": 4, - "text": "MRCNN", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 194.09616088867188, - "t": 505.0888977050781, - "r": 206.03860473632812, - "b": 499.7922058105469, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "FRCNN", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 210.296630859375, - "t": 505.0888977050781, - "r": 219.76319885253906, - "b": 499.7922058105469, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "YOLO", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.98147583007812, - "t": 500.404541015625, - "r": 177.79554748535156, - "b": 495.10784912109375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "R50", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.24139404296875, - "t": 500.404541015625, - "r": 189.83763122558594, - "b": 495.10784912109375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "R101", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.26876831054688, - "t": 500.404541015625, - "r": 203.86502075195312, - "b": 495.10784912109375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "R101", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.35777282714844, - "t": 500.404541015625, - "r": 218.7049102783203, - "b": 495.10784912109375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "v5x6", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 128.9252166748047, - "t": 495.5500793457031, - "r": 141.400390625, - "b": 490.2533874511719, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Caption", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 495.5500793457031, - "r": 166.27047729492188, - "b": 490.2533874511719, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "84-89", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 495.5500793457031, - "r": 177.98348999023438, - "b": 490.2533874511719, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "68.4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 495.5500793457031, - "r": 189.13641357421875, - "b": 490.2533874511719, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "71.5", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 495.5500793457031, - "r": 203.16378784179688, - "b": 490.2533874511719, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "70.1", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 495.5500793457031, - "r": 218.1263427734375, - "b": 490.2533874511719, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "77.7", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 128.9252166748047, - "t": 490.8657531738281, - "r": 142.81845092773438, - "b": 485.56903076171875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Footnote", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 490.8657531738281, - "r": 166.27047729492188, - "b": 485.56903076171875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "83-91", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 490.8657531738281, - "r": 177.98348999023438, - "b": 485.56903076171875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "70.9", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 490.8657531738281, - "r": 189.13641357421875, - "b": 485.56903076171875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "71.8", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 490.8657531738281, - "r": 203.16378784179688, - "b": 485.56903076171875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "73.7", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 490.8657531738281, - "r": 218.1263427734375, - "b": 485.56903076171875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "77.2", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 128.9252166748047, - "t": 486.181396484375, - "r": 141.96762084960938, - "b": 480.88470458984375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Formula", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 486.181396484375, - "r": 166.27047729492188, - "b": 480.88470458984375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "83-85", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 486.181396484375, - "r": 177.98348999023438, - "b": 480.88470458984375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "60.1", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 486.181396484375, - "r": 189.13641357421875, - "b": 480.88470458984375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "63.4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 486.181396484375, - "r": 203.16378784179688, - "b": 480.88470458984375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "63.5", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 486.181396484375, - "r": 218.1263427734375, - "b": 480.88470458984375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "66.2", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 128.9252166748047, - "t": 481.4970703125, - "r": 142.97943115234375, - "b": 476.20037841796875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "List-item", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 481.4970703125, - "r": 166.27047729492188, - "b": 476.20037841796875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "87-88", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 481.4970703125, - "r": 177.98348999023438, - "b": 476.20037841796875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "81.2", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 481.4970703125, - "r": 189.13641357421875, - "b": 476.20037841796875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "80.8", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 481.4970703125, - "r": 203.16378784179688, - "b": 476.20037841796875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "81.0", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 481.4970703125, - "r": 218.1263427734375, - "b": 476.20037841796875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "86.2", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 128.9252166748047, - "t": 476.812744140625, - "r": 147.10333251953125, - "b": 471.51605224609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Page-footer", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 476.812744140625, - "r": 166.27047729492188, - "b": 471.51605224609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "93-94", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 476.812744140625, - "r": 177.98348999023438, - "b": 471.51605224609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "61.6", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 476.812744140625, - "r": 189.13641357421875, - "b": 471.51605224609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "59.3", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 476.812744140625, - "r": 203.16378784179688, - "b": 471.51605224609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "58.9", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 476.812744140625, - "r": 218.1263427734375, - "b": 471.51605224609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "61.1", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 128.9252166748047, - "t": 472.1283874511719, - "r": 148.27993774414062, - "b": 466.83172607421875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Page-header", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 472.1283874511719, - "r": 166.27047729492188, - "b": 466.83172607421875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "85-89", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 472.1283874511719, - "r": 177.98348999023438, - "b": 466.83172607421875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "71.9", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 472.1283874511719, - "r": 189.13641357421875, - "b": 466.83172607421875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "70.0", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 472.1283874511719, - "r": 203.16378784179688, - "b": 466.83172607421875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "72.0", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 472.1283874511719, - "r": 218.1263427734375, - "b": 466.83172607421875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "67.9", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 128.9252166748047, - "t": 467.44403076171875, - "r": 140.03213500976562, - "b": 462.1473693847656, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Picture", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 467.44403076171875, - "r": 166.27047729492188, - "b": 462.1473693847656, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "69-71", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 467.44403076171875, - "r": 177.98348999023438, - "b": 462.1473693847656, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "71.7", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 467.44403076171875, - "r": 189.13641357421875, - "b": 462.1473693847656, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "72.7", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 467.44403076171875, - "r": 218.1263427734375, - "b": 462.1473693847656, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "77.1", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 128.9252166748047, - "t": 462.75970458984375, - "r": 152.32334899902344, - "b": 457.4630126953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Section-header", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 462.75970458984375, - "r": 166.27047729492188, - "b": 457.4630126953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "83-84", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 462.75970458984375, - "r": 177.98348999023438, - "b": 457.4630126953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "67.6", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 462.75970458984375, - "r": 189.13641357421875, - "b": 457.4630126953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "69.3", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 462.75970458984375, - "r": 203.16378784179688, - "b": 457.4630126953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "68.4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 462.75970458984375, - "r": 218.1263427734375, - "b": 457.4630126953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "74.6", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 128.9252166748047, - "t": 458.07537841796875, - "r": 137.39146423339844, - "b": 452.7786865234375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Table", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 458.07537841796875, - "r": 166.27047729492188, - "b": 452.7786865234375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "77-81", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 458.07537841796875, - "r": 177.98348999023438, - "b": 452.7786865234375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "82.2", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 458.07537841796875, - "r": 189.13641357421875, - "b": 452.7786865234375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "82.9", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 458.07537841796875, - "r": 203.16378784179688, - "b": 452.7786865234375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "82.2", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 458.07537841796875, - "r": 218.1263427734375, - "b": 452.7786865234375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "86.3", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 128.9252166748047, - "t": 453.3914489746094, - "r": 135.74728393554688, - "b": 448.09478759765625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Text", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 453.3914489746094, - "r": 166.27047729492188, - "b": 448.09478759765625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "84-86", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 453.3914489746094, - "r": 177.98348999023438, - "b": 448.09478759765625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "84.6", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 453.3914489746094, - "r": 189.13641357421875, - "b": 448.09478759765625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "85.8", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 453.3914489746094, - "r": 203.16378784179688, - "b": 448.09478759765625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "85.4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 448.70709228515625, - "r": 177.98348999023438, - "b": 443.41046142578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "76.7", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 448.70709228515625, - "r": 189.13641357421875, - "b": 443.41046142578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "80.4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 448.70709228515625, - "r": 203.16378784179688, - "b": 443.41046142578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "79.9", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 453.3914489746094, - "r": 218.1263427734375, - "b": 448.09478759765625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "88.1", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 128.9252166748047, - "t": 448.70709228515625, - "r": 136.18801879882812, - "b": 443.41046142578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Title", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 448.70709228515625, - "r": 166.27047729492188, - "b": 443.41046142578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "60-72", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 448.70709228515625, - "r": 218.1263427734375, - "b": 443.41046142578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "82.7", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 128.9252166748047, - "t": 443.85223388671875, - "r": 133.6125030517578, - "b": 438.5555419921875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 14, - "end_row_offset_idx": 15, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "All", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 443.85223388671875, - "r": 166.27047729492188, - "b": 438.5555419921875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 14, - "end_row_offset_idx": 15, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "82-83", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 443.85223388671875, - "r": 177.98348999023438, - "b": 438.5555419921875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 14, - "end_row_offset_idx": 15, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "72.4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 443.85223388671875, - "r": 189.13641357421875, - "b": 438.5555419921875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 14, - "end_row_offset_idx": 15, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "73.5", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 443.85223388671875, - "r": 203.16378784179688, - "b": 438.5555419921875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 14, - "end_row_offset_idx": 15, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "73.4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 443.85223388671875, - "r": 218.1263427734375, - "b": 438.5555419921875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 14, - "end_row_offset_idx": 15, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "76.8", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - "num_rows": 15, - "num_cols": 6, - "grid": [ - [ - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 156.58157348632812, - "t": 505.0888977050781, - "r": 167.5352020263672, - "b": 499.7922058105469, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 2, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 2, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "human", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 174.1665496826172, - "t": 505.0888977050781, - "r": 187.46572875976562, - "b": 499.7922058105469, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 2, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 2, - "end_col_offset_idx": 4, - "text": "MRCNN", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 174.1665496826172, - "t": 505.0888977050781, - "r": 187.46572875976562, - "b": 499.7922058105469, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 2, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 2, - "end_col_offset_idx": 4, - "text": "MRCNN", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 194.09616088867188, - "t": 505.0888977050781, - "r": 206.03860473632812, - "b": 499.7922058105469, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "FRCNN", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 210.296630859375, - "t": 505.0888977050781, - "r": 219.76319885253906, - "b": 499.7922058105469, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "YOLO", - "column_header": true, - "row_header": false, - "row_section": false - } - ], - [ - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 156.58157348632812, - "t": 505.0888977050781, - "r": 167.5352020263672, - "b": 499.7922058105469, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 2, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 2, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "human", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.98147583007812, - "t": 500.404541015625, - "r": 177.79554748535156, - "b": 495.10784912109375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "R50", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.24139404296875, - "t": 500.404541015625, - "r": 189.83763122558594, - "b": 495.10784912109375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "R101", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.26876831054688, - "t": 500.404541015625, - "r": 203.86502075195312, - "b": 495.10784912109375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "R101", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.35777282714844, - "t": 500.404541015625, - "r": 218.7049102783203, - "b": 495.10784912109375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "v5x6", - "column_header": true, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 128.9252166748047, - "t": 495.5500793457031, - "r": 141.400390625, - "b": 490.2533874511719, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Caption", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 495.5500793457031, - "r": 166.27047729492188, - "b": 490.2533874511719, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "84-89", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 495.5500793457031, - "r": 177.98348999023438, - "b": 490.2533874511719, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "68.4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 495.5500793457031, - "r": 189.13641357421875, - "b": 490.2533874511719, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "71.5", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 495.5500793457031, - "r": 203.16378784179688, - "b": 490.2533874511719, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "70.1", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 495.5500793457031, - "r": 218.1263427734375, - "b": 490.2533874511719, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "77.7", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 128.9252166748047, - "t": 490.8657531738281, - "r": 142.81845092773438, - "b": 485.56903076171875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Footnote", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 490.8657531738281, - "r": 166.27047729492188, - "b": 485.56903076171875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "83-91", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 490.8657531738281, - "r": 177.98348999023438, - "b": 485.56903076171875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "70.9", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 490.8657531738281, - "r": 189.13641357421875, - "b": 485.56903076171875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "71.8", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 490.8657531738281, - "r": 203.16378784179688, - "b": 485.56903076171875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "73.7", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 490.8657531738281, - "r": 218.1263427734375, - "b": 485.56903076171875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "77.2", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 128.9252166748047, - "t": 486.181396484375, - "r": 141.96762084960938, - "b": 480.88470458984375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Formula", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 486.181396484375, - "r": 166.27047729492188, - "b": 480.88470458984375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "83-85", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 486.181396484375, - "r": 177.98348999023438, - "b": 480.88470458984375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "60.1", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 486.181396484375, - "r": 189.13641357421875, - "b": 480.88470458984375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "63.4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 486.181396484375, - "r": 203.16378784179688, - "b": 480.88470458984375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "63.5", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 486.181396484375, - "r": 218.1263427734375, - "b": 480.88470458984375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "66.2", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 128.9252166748047, - "t": 481.4970703125, - "r": 142.97943115234375, - "b": 476.20037841796875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "List-item", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 481.4970703125, - "r": 166.27047729492188, - "b": 476.20037841796875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "87-88", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 481.4970703125, - "r": 177.98348999023438, - "b": 476.20037841796875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "81.2", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 481.4970703125, - "r": 189.13641357421875, - "b": 476.20037841796875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "80.8", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 481.4970703125, - "r": 203.16378784179688, - "b": 476.20037841796875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "81.0", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 481.4970703125, - "r": 218.1263427734375, - "b": 476.20037841796875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "86.2", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 128.9252166748047, - "t": 476.812744140625, - "r": 147.10333251953125, - "b": 471.51605224609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Page-footer", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 476.812744140625, - "r": 166.27047729492188, - "b": 471.51605224609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "93-94", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 476.812744140625, - "r": 177.98348999023438, - "b": 471.51605224609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "61.6", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 476.812744140625, - "r": 189.13641357421875, - "b": 471.51605224609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "59.3", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 476.812744140625, - "r": 203.16378784179688, - "b": 471.51605224609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "58.9", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 476.812744140625, - "r": 218.1263427734375, - "b": 471.51605224609375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "61.1", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 128.9252166748047, - "t": 472.1283874511719, - "r": 148.27993774414062, - "b": 466.83172607421875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Page-header", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 472.1283874511719, - "r": 166.27047729492188, - "b": 466.83172607421875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "85-89", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 472.1283874511719, - "r": 177.98348999023438, - "b": 466.83172607421875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "71.9", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 472.1283874511719, - "r": 189.13641357421875, - "b": 466.83172607421875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "70.0", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 472.1283874511719, - "r": 203.16378784179688, - "b": 466.83172607421875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "72.0", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 472.1283874511719, - "r": 218.1263427734375, - "b": 466.83172607421875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "67.9", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 128.9252166748047, - "t": 467.44403076171875, - "r": 140.03213500976562, - "b": 462.1473693847656, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Picture", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 467.44403076171875, - "r": 166.27047729492188, - "b": 462.1473693847656, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "69-71", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 467.44403076171875, - "r": 177.98348999023438, - "b": 462.1473693847656, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "71.7", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 467.44403076171875, - "r": 189.13641357421875, - "b": 462.1473693847656, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "72.7", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 467.44403076171875, - "r": 218.1263427734375, - "b": 462.1473693847656, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "77.1", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 128.9252166748047, - "t": 462.75970458984375, - "r": 152.32334899902344, - "b": 457.4630126953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Section-header", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 462.75970458984375, - "r": 166.27047729492188, - "b": 457.4630126953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "83-84", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 462.75970458984375, - "r": 177.98348999023438, - "b": 457.4630126953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "67.6", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 462.75970458984375, - "r": 189.13641357421875, - "b": 457.4630126953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "69.3", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 462.75970458984375, - "r": 203.16378784179688, - "b": 457.4630126953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "68.4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 462.75970458984375, - "r": 218.1263427734375, - "b": 457.4630126953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "74.6", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 128.9252166748047, - "t": 458.07537841796875, - "r": 137.39146423339844, - "b": 452.7786865234375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Table", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 458.07537841796875, - "r": 166.27047729492188, - "b": 452.7786865234375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "77-81", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 458.07537841796875, - "r": 177.98348999023438, - "b": 452.7786865234375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "82.2", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 458.07537841796875, - "r": 189.13641357421875, - "b": 452.7786865234375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "82.9", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 458.07537841796875, - "r": 203.16378784179688, - "b": 452.7786865234375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "82.2", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 458.07537841796875, - "r": 218.1263427734375, - "b": 452.7786865234375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "86.3", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 128.9252166748047, - "t": 453.3914489746094, - "r": 135.74728393554688, - "b": 448.09478759765625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Text", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 453.3914489746094, - "r": 166.27047729492188, - "b": 448.09478759765625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "84-86", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 453.3914489746094, - "r": 177.98348999023438, - "b": 448.09478759765625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "84.6", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 453.3914489746094, - "r": 189.13641357421875, - "b": 448.09478759765625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "85.8", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 453.3914489746094, - "r": 203.16378784179688, - "b": 448.09478759765625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "85.4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 448.70709228515625, - "r": 177.98348999023438, - "b": 443.41046142578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "76.7", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 448.70709228515625, - "r": 189.13641357421875, - "b": 443.41046142578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "80.4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 448.70709228515625, - "r": 203.16378784179688, - "b": 443.41046142578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "79.9", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 453.3914489746094, - "r": 218.1263427734375, - "b": 448.09478759765625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "88.1", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 128.9252166748047, - "t": 448.70709228515625, - "r": 136.18801879882812, - "b": 443.41046142578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Title", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 448.70709228515625, - "r": 166.27047729492188, - "b": 443.41046142578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "60-72", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 448.70709228515625, - "r": 218.1263427734375, - "b": 443.41046142578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "82.7", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 128.9252166748047, - "t": 443.85223388671875, - "r": 133.6125030517578, - "b": 438.5555419921875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 14, - "end_row_offset_idx": 15, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "All", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 157.84637451171875, - "t": 443.85223388671875, - "r": 166.27047729492188, - "b": 438.5555419921875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 14, - "end_row_offset_idx": 15, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "82-83", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.7938232421875, - "t": 443.85223388671875, - "r": 177.98348999023438, - "b": 438.5555419921875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 14, - "end_row_offset_idx": 15, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "72.4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 182.9467315673828, - "t": 443.85223388671875, - "r": 189.13641357421875, - "b": 438.5555419921875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 14, - "end_row_offset_idx": 15, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "73.5", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 196.97412109375, - "t": 443.85223388671875, - "r": 203.16378784179688, - "b": 438.5555419921875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 14, - "end_row_offset_idx": 15, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "73.4", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 211.9366455078125, - "t": 443.85223388671875, - "r": 218.1263427734375, - "b": 438.5555419921875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 14, - "end_row_offset_idx": 15, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "76.8", - "column_header": false, - "row_header": false, - "row_section": false - } - ] - ] - } - }, - { - "self_ref": "#/tables/2", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 366.86639404296875, - "t": 542.9662475585938, - "r": 460.80865478515625, - "b": 450.93499755859375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ], - "captions": [], - "references": [], - "footnotes": [], - "data": { - "table_cells": [ - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 392.6666564941406, - "t": 541.3333129882812, - "r": 401.3333435058594, - "b": 539.3333129882812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "noun", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 406.3333435058594, - "t": 542.3333129882812, - "r": 417.6666564941406, - "b": 538.3333129882812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "Mrcnn", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 421.0, - "t": 542.3333129882812, - "r": 433.0, - "b": 538.3333129882812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "MaCNN", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 436.6666564941406, - "t": 542.0, - "r": 446.0, - "b": 539.3333129882812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "Frcne", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 451.3333435058594, - "t": 542.0, - "r": 458.6666564941406, - "b": 539.3333129882812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "Yolo", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 369.3333435058594, - "t": 528.6666870117188, - "r": 378.6666564941406, - "b": 526.0, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Gaoon", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 369.3333435058594, - "t": 522.0, - "r": 380.0, - "b": 519.3333129882812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Foomolo", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 369.3333435058594, - "t": 514.6666870117188, - "r": 379.3333435058594, - "b": 512.6666870117188, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Foula", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 369.3333435058594, - "t": 508.6666564941406, - "r": 379.3333435058594, - "b": 506.0, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Ust-lern", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 369.3333435058594, - "t": 502.0, - "r": 383.3333435058594, - "b": 499.3333435058594, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Page-locer", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 369.3333435058594, - "t": 494.6666564941406, - "r": 384.6666564941406, - "b": 492.0, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Faqe-haje", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 369.3333435058594, - "t": 488.6666564941406, - "r": 378.0, - "b": 486.0, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Pxlu", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 369.3333435058594, - "t": 482.0, - "r": 387.3333435058594, - "b": 479.3333435058594, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Sonhoade", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - "num_rows": 9, - "num_cols": 6, - "grid": [ - [ - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 392.6666564941406, - "t": 541.3333129882812, - "r": 401.3333435058594, - "b": 539.3333129882812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "noun", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 406.3333435058594, - "t": 542.3333129882812, - "r": 417.6666564941406, - "b": 538.3333129882812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "Mrcnn", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 421.0, - "t": 542.3333129882812, - "r": 433.0, - "b": 538.3333129882812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "MaCNN", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 436.6666564941406, - "t": 542.0, - "r": 446.0, - "b": 539.3333129882812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "Frcne", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 451.3333435058594, - "t": 542.0, - "r": 458.6666564941406, - "b": 539.3333129882812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "Yolo", - "column_header": true, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 369.3333435058594, - "t": 528.6666870117188, - "r": 378.6666564941406, - "b": 526.0, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Gaoon", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 369.3333435058594, - "t": 522.0, - "r": 380.0, - "b": 519.3333129882812, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Foomolo", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 369.3333435058594, - "t": 514.6666870117188, - "r": 379.3333435058594, - "b": 512.6666870117188, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Foula", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 369.3333435058594, - "t": 508.6666564941406, - "r": 379.3333435058594, - "b": 506.0, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Ust-lern", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 369.3333435058594, - "t": 502.0, - "r": 383.3333435058594, - "b": 499.3333435058594, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Page-locer", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 369.3333435058594, - "t": 494.6666564941406, - "r": 384.6666564941406, - "b": 492.0, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Faqe-haje", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 369.3333435058594, - "t": 488.6666564941406, - "r": 378.0, - "b": 486.0, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Pxlu", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 369.3333435058594, - "t": 482.0, - "r": 387.3333435058594, - "b": 479.3333435058594, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Sonhoade", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - } - ] - ] - } - }, - { - "self_ref": "#/tables/3", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 110.8310546875, - "t": 560.6348876953125, - "r": 323.9291076660156, - "b": 477.7417297363281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ], - "captions": [ - { - "$ref": "#/texts/143" - } - ], - "references": [], - "footnotes": [], - "data": { - "table_cells": [ - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 151.05230712890625, - "t": 553.5693969726562, - "r": 162.6777801513672, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "Count", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 180.66891479492188, - "t": 559.1656494140625, - "r": 199.10299682617188, - "b": 552.837890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 3, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 2, - "end_col_offset_idx": 5, - "text": "% of Total", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 229.23550415039062, - "t": 559.1656494140625, - "r": 308.0542907714844, - "b": 552.837890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 7, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 12, - "text": "triple inter-annotator mAP @ 0.5-0.95 (%)", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 114.73330688476562, - "t": 553.5693969726562, - "r": 133.57032775878906, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "class label", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 170.37966918945312, - "t": 553.5693969726562, - "r": 180.53993225097656, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "Train", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.54818725585938, - "t": 553.5693969726562, - "r": 196.27256774902344, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "Test", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 205.99327087402344, - "t": 553.5693969726562, - "r": 212.00518798828125, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "Val", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 221.5577850341797, - "t": 553.5693969726562, - "r": 227.15760803222656, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "All", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 236.36549377441406, - "t": 553.5693969726562, - "r": 242.30873107910156, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "Fin", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 249.04408264160156, - "t": 553.5693969726562, - "r": 257.4598388671875, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "Man", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 269.3188171386719, - "t": 553.5693969726562, - "r": 274.7400817871094, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "Sci", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 281.9607849121094, - "t": 553.5693969726562, - "r": 289.8912048339844, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "Law", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 299.0303955078125, - "t": 553.5693969726562, - "r": 305.0469055175781, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "Pat", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 313.22454833984375, - "t": 553.5693969726562, - "r": 320.1980285644531, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "T en", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 114.73330688476562, - "t": 547.7698974609375, - "r": 129.63717651367188, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Caption", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 152.03225708007812, - "t": 547.7698974609375, - "r": 162.67787170410156, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "22524", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 547.7698974609375, - "r": 180.5400848388672, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "2.04", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 547.7698974609375, - "r": 196.27272033691406, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "1.77", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 547.7698974609375, - "r": 212.00534057617188, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "2.32", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 547.7698974609375, - "r": 227.15773010253906, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "84-89", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 547.7698974609375, - "r": 242.30885314941406, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "40-61", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 547.7698974609375, - "r": 257.4599609375, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "86-92", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.67608642578125, - "t": 547.7698974609375, - "r": 274.7402038574219, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "94-99", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 547.7698974609375, - "r": 289.8913269042969, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "95-99", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 547.7698974609375, - "r": 305.0470275878906, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "69-78", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 314.14501953125, - "t": 547.7698974609375, - "r": 320.1981506347656, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "n/a", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 114.73330688476562, - "t": 542.1737060546875, - "r": 131.33132934570312, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Footnote", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 154.16119384765625, - "t": 542.1737060546875, - "r": 162.6776885986328, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "6318", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 542.1737060546875, - "r": 180.5400848388672, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "0.60", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 542.1737060546875, - "r": 196.27272033691406, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "0.31", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 542.1737060546875, - "r": 212.00534057617188, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "0.58", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 542.1737060546875, - "r": 227.15773010253906, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "83-91", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 236.25572204589844, - "t": 542.1737060546875, - "r": 242.308837890625, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "n/a", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 251.0725860595703, - "t": 542.1737060546875, - "r": 257.4599304199219, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "100", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.6760559082031, - "t": 542.1737060546875, - "r": 274.74017333984375, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "62-88", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.8271789550781, - "t": 542.1737060546875, - "r": 289.89129638671875, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "85-94", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 298.9938659667969, - "t": 542.1737060546875, - "r": 305.0469970703125, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "n/a", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.1340026855469, - "t": 542.1737060546875, - "r": 320.1981201171875, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "82-97", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 114.73330688476562, - "t": 536.5774536132812, - "r": 130.31483459472656, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Formula", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 152.03225708007812, - "t": 536.5774536132812, - "r": 162.67787170410156, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "25027", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 536.5774536132812, - "r": 180.5400848388672, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "2.25", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 536.5774536132812, - "r": 196.27272033691406, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "1.90", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 536.5774536132812, - "r": 212.00534057617188, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "2.96", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 536.5774536132812, - "r": 227.15773010253906, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "83-85", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 251.40682983398438, - "t": 536.5774536132812, - "r": 257.4599304199219, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "n/a", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.6760559082031, - "t": 536.5774536132812, - "r": 274.74017333984375, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "84-87", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.8271789550781, - "t": 536.5774536132812, - "r": 289.89129638671875, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "86-96", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 314.1449890136719, - "t": 536.5774536132812, - "r": 320.1981201171875, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "n/a", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 114.73330688476562, - "t": 530.981201171875, - "r": 131.5236358642578, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "List-item", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 149.9033203125, - "t": 530.981201171875, - "r": 162.67807006835938, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "185660", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.01646423339844, - "t": 530.981201171875, - "r": 180.540283203125, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "17.19", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 186.74908447265625, - "t": 530.981201171875, - "r": 196.2729034423828, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "13.34", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 202.48170471191406, - "t": 530.981201171875, - "r": 212.0055389404297, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "15.82", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 530.981201171875, - "r": 227.15773010253906, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "87-88", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 530.981201171875, - "r": 242.30885314941406, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "74-83", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 530.981201171875, - "r": 257.4599609375, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "90-92", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.67608642578125, - "t": 530.981201171875, - "r": 274.7402038574219, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "97-97", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 530.981201171875, - "r": 289.8913269042969, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "81-85", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 530.981201171875, - "r": 305.0470275878906, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "75-88", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 530.981201171875, - "r": 320.19818115234375, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "93-95", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 114.73330688476562, - "t": 525.3848876953125, - "r": 136.45037841796875, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Page-footer", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 152.03225708007812, - "t": 525.3848876953125, - "r": 162.67787170410156, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "70878", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 525.3848876953125, - "r": 180.5400848388672, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "6.51", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 525.3848876953125, - "r": 196.27272033691406, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "5.58", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 525.3848876953125, - "r": 212.00534057617188, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "6.00", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 525.3848876953125, - "r": 227.15773010253906, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "93-94", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 525.3848876953125, - "r": 242.30885314941406, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "88-90", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 525.3848876953125, - "r": 257.4599609375, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "95-96", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 268.35284423828125, - "t": 525.3848876953125, - "r": 274.7402038574219, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "100", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 525.3848876953125, - "r": 289.8913269042969, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "92-97", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 298.6596374511719, - "t": 525.3848876953125, - "r": 305.0469970703125, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "100", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.1340026855469, - "t": 525.3848876953125, - "r": 320.1981506347656, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "96-98", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 114.73330688476562, - "t": 519.7886962890625, - "r": 137.85604858398438, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Page-header", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 152.03225708007812, - "t": 519.7886962890625, - "r": 162.67787170410156, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "58022", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 519.7886962890625, - "r": 180.5400848388672, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "5.10", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 519.7886962890625, - "r": 196.27272033691406, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "6.70", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 519.7886962890625, - "r": 212.00534057617188, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "5.06", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 519.7886962890625, - "r": 227.15773010253906, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "85-89", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 519.7886962890625, - "r": 242.30885314941406, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "66-76", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 519.7886962890625, - "r": 257.4599609375, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "90-94", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 262.5469665527344, - "t": 519.7886962890625, - "r": 274.7402038574219, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "98-100", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 519.7886962890625, - "r": 289.8913269042969, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "91-92", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 519.7886962890625, - "r": 305.0470275878906, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "97-99", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 519.7886962890625, - "r": 320.19818115234375, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "81-86", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 114.73330688476562, - "t": 514.1924438476562, - "r": 128.0025634765625, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Picture", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 152.03225708007812, - "t": 514.1924438476562, - "r": 162.67787170410156, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "45976", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 514.1924438476562, - "r": 180.5400848388672, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "4.21", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 514.1924438476562, - "r": 196.27272033691406, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "2.78", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 514.1924438476562, - "r": 212.00534057617188, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "5.31", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 514.1924438476562, - "r": 227.15773010253906, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "69-71", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 514.1924438476562, - "r": 242.30885314941406, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "56-59", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 514.1924438476562, - "r": 257.4599609375, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "82-86", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.67608642578125, - "t": 514.1924438476562, - "r": 274.7402038574219, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "69-82", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 514.1924438476562, - "r": 289.8913269042969, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "80-95", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 514.1924438476562, - "r": 305.0470275878906, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "66-71", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 514.1924438476562, - "r": 320.19818115234375, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "59-76", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 114.73330688476562, - "t": 508.59619140625, - "r": 142.6866455078125, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Section-header", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 149.9033203125, - "t": 508.59619140625, - "r": 162.67807006835938, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "142884", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.01646423339844, - "t": 508.59619140625, - "r": 180.540283203125, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "12.60", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 186.74908447265625, - "t": 508.59619140625, - "r": 196.2729034423828, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "15.77", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 202.48170471191406, - "t": 508.59619140625, - "r": 212.0055389404297, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "12.85", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 508.59619140625, - "r": 227.15773010253906, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "83-84", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 508.59619140625, - "r": 242.30885314941406, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "76-81", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 508.59619140625, - "r": 257.4599609375, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "90-92", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.67608642578125, - "t": 508.59619140625, - "r": 274.7402038574219, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "94-95", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 508.59619140625, - "r": 289.8913269042969, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "87-94", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 508.59619140625, - "r": 305.0470275878906, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "69-73", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 508.59619140625, - "r": 320.19818115234375, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "78-86", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 114.73330688476562, - "t": 502.99993896484375, - "r": 124.84779357910156, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Table", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 152.03225708007812, - "t": 502.99993896484375, - "r": 162.67787170410156, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "34733", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 502.99993896484375, - "r": 180.5400848388672, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "3.20", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 502.99993896484375, - "r": 196.27272033691406, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "2.27", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 502.99993896484375, - "r": 212.00534057617188, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "3.60", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 502.99993896484375, - "r": 227.15773010253906, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "77-81", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 502.99993896484375, - "r": 242.30885314941406, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "75-80", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 502.99993896484375, - "r": 257.4599609375, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "83-86", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.67608642578125, - "t": 502.99993896484375, - "r": 274.7402038574219, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "98-99", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 502.99993896484375, - "r": 289.8913269042969, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "58-80", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 502.99993896484375, - "r": 305.0470275878906, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "79-84", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 502.99993896484375, - "r": 320.19818115234375, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "70-85", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 114.73330688476562, - "t": 497.4042053222656, - "r": 122.88350677490234, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Text", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 149.9033203125, - "t": 497.4042053222656, - "r": 162.67807006835938, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "510377", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.01646423339844, - "t": 497.4042053222656, - "r": 180.540283203125, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "45.82", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 186.74908447265625, - "t": 497.4042053222656, - "r": 196.2729034423828, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "49.28", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 202.48170471191406, - "t": 497.4042053222656, - "r": 212.0055389404297, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "45.00", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 497.4042053222656, - "r": 227.15773010253906, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "84-86", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 497.4042053222656, - "r": 242.30885314941406, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "81-86", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 497.4042053222656, - "r": 257.4599609375, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "88-93", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.67608642578125, - "t": 497.4042053222656, - "r": 274.7402038574219, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "89-93", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 497.4042053222656, - "r": 289.8913269042969, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "87-92", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 497.4042053222656, - "r": 305.0470275878906, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "71-79", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 497.4042053222656, - "r": 320.19818115234375, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "87-95", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 114.73330688476562, - "t": 491.8079833984375, - "r": 123.4100570678711, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Title", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 154.16119384765625, - "t": 491.8079833984375, - "r": 162.6776885986328, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "5071", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 491.8079833984375, - "r": 180.5400848388672, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "0.47", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 491.8079833984375, - "r": 196.27272033691406, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "0.30", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 491.8079833984375, - "r": 212.00534057617188, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "0.50", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 491.8079833984375, - "r": 227.15773010253906, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "60-72", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 491.8079833984375, - "r": 242.30885314941406, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "24-63", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 491.8079833984375, - "r": 257.4599609375, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "50-63", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 262.5469665527344, - "t": 491.8079833984375, - "r": 274.7402038574219, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "94-100", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 491.8079833984375, - "r": 289.8913269042969, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "82-96", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 491.8079833984375, - "r": 305.0470275878906, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "68-79", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 491.8079833984375, - "r": 320.19818115234375, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "24-56", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 114.73330688476562, - "t": 486.0079650878906, - "r": 124.2342529296875, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Total", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 147.7738800048828, - "t": 486.0079650878906, - "r": 162.67774963378906, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "1107470", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 167.76510620117188, - "t": 486.0079650878906, - "r": 180.5398406982422, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "941123", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 185.62684631347656, - "t": 486.0079650878906, - "r": 196.27247619628906, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "99816", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 201.35946655273438, - "t": 486.0079650878906, - "r": 212.00509643554688, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "66531", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 486.0079650878906, - "r": 227.15773010253906, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "82-83", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 486.0079650878906, - "r": 242.30885314941406, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "71-74", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 486.0079650878906, - "r": 257.4599609375, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "79-81", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.67608642578125, - "t": 486.0079650878906, - "r": 274.7402038574219, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "89-94", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 486.0079650878906, - "r": 289.8913269042969, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "86-91", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 486.0079650878906, - "r": 305.0470275878906, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "71-76", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 486.0079650878906, - "r": 320.19818115234375, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "68-85", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - "num_rows": 14, - "num_cols": 12, - "grid": [ - [ - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 151.05230712890625, - "t": 553.5693969726562, - "r": 162.6777801513672, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "Count", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 180.66891479492188, - "t": 559.1656494140625, - "r": 199.10299682617188, - "b": 552.837890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 3, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 2, - "end_col_offset_idx": 5, - "text": "% of Total", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 180.66891479492188, - "t": 559.1656494140625, - "r": 199.10299682617188, - "b": 552.837890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 3, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 2, - "end_col_offset_idx": 5, - "text": "% of Total", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 180.66891479492188, - "t": 559.1656494140625, - "r": 199.10299682617188, - "b": 552.837890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 3, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 2, - "end_col_offset_idx": 5, - "text": "% of Total", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 229.23550415039062, - "t": 559.1656494140625, - "r": 308.0542907714844, - "b": 552.837890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 7, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 12, - "text": "triple inter-annotator mAP @ 0.5-0.95 (%)", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 229.23550415039062, - "t": 559.1656494140625, - "r": 308.0542907714844, - "b": 552.837890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 7, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 12, - "text": "triple inter-annotator mAP @ 0.5-0.95 (%)", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 229.23550415039062, - "t": 559.1656494140625, - "r": 308.0542907714844, - "b": 552.837890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 7, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 12, - "text": "triple inter-annotator mAP @ 0.5-0.95 (%)", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 229.23550415039062, - "t": 559.1656494140625, - "r": 308.0542907714844, - "b": 552.837890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 7, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 12, - "text": "triple inter-annotator mAP @ 0.5-0.95 (%)", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 229.23550415039062, - "t": 559.1656494140625, - "r": 308.0542907714844, - "b": 552.837890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 7, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 12, - "text": "triple inter-annotator mAP @ 0.5-0.95 (%)", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 229.23550415039062, - "t": 559.1656494140625, - "r": 308.0542907714844, - "b": 552.837890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 7, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 12, - "text": "triple inter-annotator mAP @ 0.5-0.95 (%)", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 229.23550415039062, - "t": 559.1656494140625, - "r": 308.0542907714844, - "b": 552.837890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 7, - "start_row_offset_idx": 0, - "end_row_offset_idx": 1, - "start_col_offset_idx": 5, - "end_col_offset_idx": 12, - "text": "triple inter-annotator mAP @ 0.5-0.95 (%)", - "column_header": true, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 114.73330688476562, - "t": 553.5693969726562, - "r": 133.57032775878906, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "class label", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 170.37966918945312, - "t": 553.5693969726562, - "r": 180.53993225097656, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "Train", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.54818725585938, - "t": 553.5693969726562, - "r": 196.27256774902344, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "Test", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 205.99327087402344, - "t": 553.5693969726562, - "r": 212.00518798828125, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "Val", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 221.5577850341797, - "t": 553.5693969726562, - "r": 227.15760803222656, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "All", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 236.36549377441406, - "t": 553.5693969726562, - "r": 242.30873107910156, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "Fin", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 249.04408264160156, - "t": 553.5693969726562, - "r": 257.4598388671875, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "Man", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 269.3188171386719, - "t": 553.5693969726562, - "r": 274.7400817871094, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "Sci", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 281.9607849121094, - "t": 553.5693969726562, - "r": 289.8912048339844, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "Law", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 299.0303955078125, - "t": 553.5693969726562, - "r": 305.0469055175781, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "Pat", - "column_header": true, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 313.22454833984375, - "t": 553.5693969726562, - "r": 320.1980285644531, - "b": 547.2415771484375, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 1, - "end_row_offset_idx": 2, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "T en", - "column_header": true, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 114.73330688476562, - "t": 547.7698974609375, - "r": 129.63717651367188, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Caption", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 152.03225708007812, - "t": 547.7698974609375, - "r": 162.67787170410156, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "22524", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 547.7698974609375, - "r": 180.5400848388672, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "2.04", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 547.7698974609375, - "r": 196.27272033691406, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "1.77", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 547.7698974609375, - "r": 212.00534057617188, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "2.32", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 547.7698974609375, - "r": 227.15773010253906, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "84-89", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 547.7698974609375, - "r": 242.30885314941406, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "40-61", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 547.7698974609375, - "r": 257.4599609375, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "86-92", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.67608642578125, - "t": 547.7698974609375, - "r": 274.7402038574219, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "94-99", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 547.7698974609375, - "r": 289.8913269042969, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "95-99", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 547.7698974609375, - "r": 305.0470275878906, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "69-78", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 314.14501953125, - "t": 547.7698974609375, - "r": 320.1981506347656, - "b": 541.442138671875, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 2, - "end_row_offset_idx": 3, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "n/a", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 114.73330688476562, - "t": 542.1737060546875, - "r": 131.33132934570312, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Footnote", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 154.16119384765625, - "t": 542.1737060546875, - "r": 162.6776885986328, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "6318", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 542.1737060546875, - "r": 180.5400848388672, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "0.60", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 542.1737060546875, - "r": 196.27272033691406, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "0.31", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 542.1737060546875, - "r": 212.00534057617188, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "0.58", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 542.1737060546875, - "r": 227.15773010253906, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "83-91", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 236.25572204589844, - "t": 542.1737060546875, - "r": 242.308837890625, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "n/a", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 251.0725860595703, - "t": 542.1737060546875, - "r": 257.4599304199219, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "100", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.6760559082031, - "t": 542.1737060546875, - "r": 274.74017333984375, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "62-88", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.8271789550781, - "t": 542.1737060546875, - "r": 289.89129638671875, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "85-94", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 298.9938659667969, - "t": 542.1737060546875, - "r": 305.0469970703125, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "n/a", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.1340026855469, - "t": 542.1737060546875, - "r": 320.1981201171875, - "b": 535.8458251953125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 3, - "end_row_offset_idx": 4, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "82-97", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 114.73330688476562, - "t": 536.5774536132812, - "r": 130.31483459472656, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Formula", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 152.03225708007812, - "t": 536.5774536132812, - "r": 162.67787170410156, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "25027", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 536.5774536132812, - "r": 180.5400848388672, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "2.25", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 536.5774536132812, - "r": 196.27272033691406, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "1.90", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 536.5774536132812, - "r": 212.00534057617188, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "2.96", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 536.5774536132812, - "r": 227.15773010253906, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "83-85", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 251.40682983398438, - "t": 536.5774536132812, - "r": 257.4599304199219, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "n/a", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.6760559082031, - "t": 536.5774536132812, - "r": 274.74017333984375, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "84-87", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.8271789550781, - "t": 536.5774536132812, - "r": 289.89129638671875, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "86-96", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 314.1449890136719, - "t": 536.5774536132812, - "r": 320.1981201171875, - "b": 530.2496337890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 4, - "end_row_offset_idx": 5, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "n/a", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 114.73330688476562, - "t": 530.981201171875, - "r": 131.5236358642578, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "List-item", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 149.9033203125, - "t": 530.981201171875, - "r": 162.67807006835938, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "185660", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.01646423339844, - "t": 530.981201171875, - "r": 180.540283203125, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "17.19", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 186.74908447265625, - "t": 530.981201171875, - "r": 196.2729034423828, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "13.34", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 202.48170471191406, - "t": 530.981201171875, - "r": 212.0055389404297, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "15.82", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 530.981201171875, - "r": 227.15773010253906, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "87-88", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 530.981201171875, - "r": 242.30885314941406, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "74-83", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 530.981201171875, - "r": 257.4599609375, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "90-92", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.67608642578125, - "t": 530.981201171875, - "r": 274.7402038574219, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "97-97", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 530.981201171875, - "r": 289.8913269042969, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "81-85", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 530.981201171875, - "r": 305.0470275878906, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "75-88", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 530.981201171875, - "r": 320.19818115234375, - "b": 524.6533203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 5, - "end_row_offset_idx": 6, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "93-95", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 114.73330688476562, - "t": 525.3848876953125, - "r": 136.45037841796875, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Page-footer", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 152.03225708007812, - "t": 525.3848876953125, - "r": 162.67787170410156, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "70878", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 525.3848876953125, - "r": 180.5400848388672, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "6.51", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 525.3848876953125, - "r": 196.27272033691406, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "5.58", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 525.3848876953125, - "r": 212.00534057617188, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "6.00", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 525.3848876953125, - "r": 227.15773010253906, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "93-94", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 525.3848876953125, - "r": 242.30885314941406, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "88-90", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 525.3848876953125, - "r": 257.4599609375, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "95-96", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 268.35284423828125, - "t": 525.3848876953125, - "r": 274.7402038574219, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "100", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 525.3848876953125, - "r": 289.8913269042969, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "92-97", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 298.6596374511719, - "t": 525.3848876953125, - "r": 305.0469970703125, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "100", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.1340026855469, - "t": 525.3848876953125, - "r": 320.1981506347656, - "b": 519.05712890625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 6, - "end_row_offset_idx": 7, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "96-98", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 114.73330688476562, - "t": 519.7886962890625, - "r": 137.85604858398438, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Page-header", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 152.03225708007812, - "t": 519.7886962890625, - "r": 162.67787170410156, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "58022", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 519.7886962890625, - "r": 180.5400848388672, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "5.10", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 519.7886962890625, - "r": 196.27272033691406, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "6.70", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 519.7886962890625, - "r": 212.00534057617188, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "5.06", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 519.7886962890625, - "r": 227.15773010253906, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "85-89", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 519.7886962890625, - "r": 242.30885314941406, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "66-76", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 519.7886962890625, - "r": 257.4599609375, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "90-94", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 262.5469665527344, - "t": 519.7886962890625, - "r": 274.7402038574219, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "98-100", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 519.7886962890625, - "r": 289.8913269042969, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "91-92", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 519.7886962890625, - "r": 305.0470275878906, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "97-99", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 519.7886962890625, - "r": 320.19818115234375, - "b": 513.4608764648438, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 7, - "end_row_offset_idx": 8, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "81-86", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 114.73330688476562, - "t": 514.1924438476562, - "r": 128.0025634765625, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Picture", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 152.03225708007812, - "t": 514.1924438476562, - "r": 162.67787170410156, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "45976", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 514.1924438476562, - "r": 180.5400848388672, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "4.21", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 514.1924438476562, - "r": 196.27272033691406, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "2.78", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 514.1924438476562, - "r": 212.00534057617188, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "5.31", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 514.1924438476562, - "r": 227.15773010253906, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "69-71", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 514.1924438476562, - "r": 242.30885314941406, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "56-59", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 514.1924438476562, - "r": 257.4599609375, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "82-86", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.67608642578125, - "t": 514.1924438476562, - "r": 274.7402038574219, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "69-82", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 514.1924438476562, - "r": 289.8913269042969, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "80-95", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 514.1924438476562, - "r": 305.0470275878906, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "66-71", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 514.1924438476562, - "r": 320.19818115234375, - "b": 507.8646545410156, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 8, - "end_row_offset_idx": 9, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "59-76", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 114.73330688476562, - "t": 508.59619140625, - "r": 142.6866455078125, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Section-header", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 149.9033203125, - "t": 508.59619140625, - "r": 162.67807006835938, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "142884", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.01646423339844, - "t": 508.59619140625, - "r": 180.540283203125, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "12.60", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 186.74908447265625, - "t": 508.59619140625, - "r": 196.2729034423828, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "15.77", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 202.48170471191406, - "t": 508.59619140625, - "r": 212.0055389404297, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "12.85", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 508.59619140625, - "r": 227.15773010253906, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "83-84", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 508.59619140625, - "r": 242.30885314941406, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "76-81", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 508.59619140625, - "r": 257.4599609375, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "90-92", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.67608642578125, - "t": 508.59619140625, - "r": 274.7402038574219, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "94-95", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 508.59619140625, - "r": 289.8913269042969, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "87-94", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 508.59619140625, - "r": 305.0470275878906, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "69-73", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 508.59619140625, - "r": 320.19818115234375, - "b": 502.26837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 9, - "end_row_offset_idx": 10, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "78-86", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 114.73330688476562, - "t": 502.99993896484375, - "r": 124.84779357910156, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Table", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 152.03225708007812, - "t": 502.99993896484375, - "r": 162.67787170410156, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "34733", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 502.99993896484375, - "r": 180.5400848388672, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "3.20", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 502.99993896484375, - "r": 196.27272033691406, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "2.27", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 502.99993896484375, - "r": 212.00534057617188, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "3.60", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 502.99993896484375, - "r": 227.15773010253906, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "77-81", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 502.99993896484375, - "r": 242.30885314941406, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "75-80", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 502.99993896484375, - "r": 257.4599609375, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "83-86", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.67608642578125, - "t": 502.99993896484375, - "r": 274.7402038574219, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "98-99", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 502.99993896484375, - "r": 289.8913269042969, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "58-80", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 502.99993896484375, - "r": 305.0470275878906, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "79-84", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 502.99993896484375, - "r": 320.19818115234375, - "b": 496.6721496582031, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 10, - "end_row_offset_idx": 11, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "70-85", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 114.73330688476562, - "t": 497.4042053222656, - "r": 122.88350677490234, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Text", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 149.9033203125, - "t": 497.4042053222656, - "r": 162.67807006835938, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "510377", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 171.01646423339844, - "t": 497.4042053222656, - "r": 180.540283203125, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "45.82", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 186.74908447265625, - "t": 497.4042053222656, - "r": 196.2729034423828, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "49.28", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 202.48170471191406, - "t": 497.4042053222656, - "r": 212.0055389404297, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "45.00", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 497.4042053222656, - "r": 227.15773010253906, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "84-86", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 497.4042053222656, - "r": 242.30885314941406, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "81-86", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 497.4042053222656, - "r": 257.4599609375, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "88-93", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.67608642578125, - "t": 497.4042053222656, - "r": 274.7402038574219, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "89-93", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 497.4042053222656, - "r": 289.8913269042969, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "87-92", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 497.4042053222656, - "r": 305.0470275878906, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "71-79", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 497.4042053222656, - "r": 320.19818115234375, - "b": 491.076416015625, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 11, - "end_row_offset_idx": 12, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "87-95", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 114.73330688476562, - "t": 491.8079833984375, - "r": 123.4100570678711, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Title", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 154.16119384765625, - "t": 491.8079833984375, - "r": 162.6776885986328, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "5071", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 173.1453857421875, - "t": 491.8079833984375, - "r": 180.5400848388672, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "0.47", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 188.87802124023438, - "t": 491.8079833984375, - "r": 196.27272033691406, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "0.30", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 204.6106414794922, - "t": 491.8079833984375, - "r": 212.00534057617188, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "0.50", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 491.8079833984375, - "r": 227.15773010253906, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "60-72", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 491.8079833984375, - "r": 242.30885314941406, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "24-63", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 491.8079833984375, - "r": 257.4599609375, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "50-63", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 262.5469665527344, - "t": 491.8079833984375, - "r": 274.7402038574219, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "94-100", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 491.8079833984375, - "r": 289.8913269042969, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "82-96", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 491.8079833984375, - "r": 305.0470275878906, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "68-79", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 491.8079833984375, - "r": 320.19818115234375, - "b": 485.4801940917969, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 12, - "end_row_offset_idx": 13, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "24-56", - "column_header": false, - "row_header": false, - "row_section": false - } - ], - [ - { - "bbox": { - "l": 114.73330688476562, - "t": 486.0079650878906, - "r": 124.2342529296875, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 0, - "end_col_offset_idx": 1, - "text": "Total", - "column_header": false, - "row_header": true, - "row_section": false - }, - { - "bbox": { - "l": 147.7738800048828, - "t": 486.0079650878906, - "r": 162.67774963378906, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 1, - "end_col_offset_idx": 2, - "text": "1107470", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 167.76510620117188, - "t": 486.0079650878906, - "r": 180.5398406982422, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 2, - "end_col_offset_idx": 3, - "text": "941123", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 185.62684631347656, - "t": 486.0079650878906, - "r": 196.27247619628906, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 3, - "end_col_offset_idx": 4, - "text": "99816", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 201.35946655273438, - "t": 486.0079650878906, - "r": 212.00509643554688, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 4, - "end_col_offset_idx": 5, - "text": "66531", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 217.09361267089844, - "t": 486.0079650878906, - "r": 227.15773010253906, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 5, - "end_col_offset_idx": 6, - "text": "82-83", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 232.24473571777344, - "t": 486.0079650878906, - "r": 242.30885314941406, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 6, - "end_col_offset_idx": 7, - "text": "71-74", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 247.39585876464844, - "t": 486.0079650878906, - "r": 257.4599609375, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 7, - "end_col_offset_idx": 8, - "text": "79-81", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 264.67608642578125, - "t": 486.0079650878906, - "r": 274.7402038574219, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 8, - "end_col_offset_idx": 9, - "text": "89-94", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 279.82720947265625, - "t": 486.0079650878906, - "r": 289.8913269042969, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 9, - "end_col_offset_idx": 10, - "text": "86-91", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 294.98291015625, - "t": 486.0079650878906, - "r": 305.0470275878906, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 10, - "end_col_offset_idx": 11, - "text": "71-76", - "column_header": false, - "row_header": false, - "row_section": false - }, - { - "bbox": { - "l": 310.134033203125, - "t": 486.0079650878906, - "r": 320.19818115234375, - "b": 479.68017578125, - "coord_origin": "BOTTOMLEFT" - }, - "row_span": 1, - "col_span": 1, - "start_row_offset_idx": 13, - "end_row_offset_idx": 14, - "start_col_offset_idx": 11, - "end_col_offset_idx": 12, - "text": "68-85", - "column_header": false, - "row_header": false, - "row_section": false - } - ] - ] - } - } - ], - "key_value_items": [], - "pages": { - "1": { - "size": { - "width": 612.0, - "height": 792.0 - }, - "page_no": 1 - }, - "2": { - "size": { - "width": 612.0, - "height": 792.0 - }, - "page_no": 2 - }, - "3": { - "size": { - "width": 612.0, - "height": 792.0 - }, - "page_no": 3 - }, - "4": { - "size": { - "width": 612.0, - "height": 792.0 - }, - "page_no": 4 - }, - "5": { - "size": { - "width": 612.0, - "height": 792.0 - }, - "page_no": 5 - }, - "6": { - "size": { - "width": 612.0, - "height": 792.0 - }, - "page_no": 6 - }, - "7": { - "size": { - "width": 612.0, - "height": 792.0 - }, - "page_no": 7 - }, - "8": { - "size": { - "width": 612.0, - "height": 792.0 - }, - "page_no": 8 - }, - "9": { - "size": { - "width": 612.0, - "height": 792.0 - }, - "page_no": 9 - } - } -} \ No newline at end of file diff --git a/test/data/2408.09869v5.md b/test/data/2408.09869v5.md deleted file mode 100644 index 2faa92d..0000000 --- a/test/data/2408.09869v5.md +++ /dev/null @@ -1,307 +0,0 @@ -## Docling Technical Report - -Version 1.0 - -Christoph Auer Maksym Lysak Ahmed Nassar Michele Dolfi Nikolaos Livathinos Panos Vagenas Cesar Berrospi Ramis Matteo Omenetti Fabian Lindlbauer Kasper Dinkla Lokesh Mishra Yusik Kim Shubham Gupta Rafael Teixeira de Lima Valery Weber Lucas Morin Ingmar Meijer Viktor Kuropiatnyk Peter W. J. Staar - -AI4K Group, IBM Research Ruschlikon, Switzerland - -## Abstract - -This technical report introduces Docling , an easy to use, self-contained, MITlicensed open-source package for PDF document conversion. It is powered by state-of-the-art specialized AI models for layout analysis (DocLayNet) and table structure recognition (TableFormer), and runs efficiently on commodity hardware in a small resource budget. The code interface allows for easy extensibility and addition of new features and models. - -## 1 Introduction - -Converting PDF documents back into a machine-processable format has been a major challenge for decades due to their huge variability in formats, weak standardization and printing-optimized characteristic, which discards most structural features and metadata. With the advent of LLMs and popular application patterns such as retrieval-augmented generation (RAG), leveraging the rich content embedded in PDFs has become ever more relevant. In the past decade, several powerful document understanding solutions have emerged on the market, most of which are commercial software, cloud offerings [3] and most recently, multi-modal vision-language models. As of today, only a handful of open-source tools cover PDF conversion, leaving a significant feature and quality gap to proprietary solutions. - -With Docling , we open-source a very capable and efficient document conversion tool which builds on the powerful, specialized AI models and datasets for layout analysis and table structure recognition we developed and presented in the recent past [12, 13, 9]. Docling is designed as a simple, self-contained python library with permissive license, running entirely locally on commodity hardware. Its code architecture allows for easy extensibility and addition of new features and models. - -Here is what Docling delivers today: - -- · Converts PDF documents to JSON or Markdown format, stable and lightning fast -- · Understands detailed page layout, reading order, locates figures and recovers table structures -- · Extracts metadata from the document, such as title, authors, references and language -- · Optionally applies OCR, e.g. for scanned PDFs -- · Can be configured to be optimal for batch-mode (i.e high throughput, low time-to-solution) or interactive mode (compromise on efficiency, low time-to-solution) -- · Can leverage different accelerators (GPU, MPS, etc). - -## 2 Getting Started - -To use Docling, you can simply install the docling package from PyPI. Documentation and examples are available in our GitHub repository at github.com/DS4SD/docling. All required model assets 1 are downloaded to a local huggingface datasets cache on first use, unless you choose to pre-install the model assets in advance. - -Docling provides an easy code interface to convert PDF documents from file system, URLs or binary streams, and retrieve the output in either JSON or Markdown format. For convenience, separate methods are offered to convert single documents or batches of documents. A basic usage example is illustrated below. Further examples are available in the Doclign code repository. - -``` -from docling.document\_converter import DocumentConverter source = "https :// arxiv.org/pdf /2206.01062" # PDF path or URL converter = DocumentConverter () result = converter.convert\_single(source) print(result.render\_as\_markdown ()) # output: "## DocLayNet: A Large Human -Annotated Dataset for Document -Layout Analysis [...]" -``` - -Optionally, you can configure custom pipeline features and runtime options, such as turning on or off features (e.g. OCR, table structure recognition), enforcing limits on the input document size, and defining the budget of CPU threads. Advanced usage examples and options are documented in the README file. Docling also provides a Dockerfile to demonstrate how to install and run it inside a container. - -## 3 Processing pipeline - -Docling implements a linear pipeline of operations, which execute sequentially on each given document (see Fig. 1). Each document is first parsed by a PDF backend, which retrieves the programmatic text tokens, consisting of string content and its coordinates on the page, and also renders a bitmap image of each page to support downstream operations. Then, the standard model pipeline applies a sequence of AI models independently on every page in the document to extract features and content, such as layout and table structures. Finally, the results from all pages are aggregated and passed through a post-processing stage, which augments metadata, detects the document language, infers reading-order and eventually assembles a typed document object which can be serialized to JSON or Markdown. - -## 3.1 PDF backends - -Two basic requirements to process PDF documents in our pipeline are a) to retrieve all text content and their geometric coordinates on each page and b) to render the visual representation of each page as it would appear in a PDF viewer. Both these requirements are encapsulated in Docling's PDF backend interface. While there are several open-source PDF parsing libraries available for python, we faced major obstacles with all of them for different reasons, among which were restrictive - -Figure 1: Sketch of Docling's default processing pipeline. The inner part of the model pipeline is easily customizable and extensible. - -licensing (e.g. pymupdf [7]), poor speed or unrecoverable quality issues, such as merged text cells across far-apart text tokens or table columns (pypdfium, PyPDF) [15, 14]. - -We therefore decided to provide multiple backend choices, and additionally open-source a custombuilt PDF parser, which is based on the low-level qpdf [4] library. It is made available in a separate package named docling-parse and powers the default PDF backend in Docling. As an alternative, we provide a PDF backend relying on pypdfium , which may be a safe backup choice in certain cases, e.g. if issues are seen with particular font encodings. - -## 3.2 AI models - -As part of Docling, we initially release two highly capable AI models to the open-source community, which have been developed and published recently by our team. The first model is a layout analysis model, an accurate object-detector for page elements [13]. The second model is TableFormer [12, 9], a state-of-the-art table structure recognition model. We provide the pre-trained weights (hosted on huggingface) and a separate package for the inference code as docling-ibm-models . Both models are also powering the open-access deepsearch-experience, our cloud-native service for knowledge exploration tasks. - -## Layout Analysis Model - -Our layout analysis model is an object-detector which predicts the bounding-boxes and classes of various elements on the image of a given page. Its architecture is derived from RT-DETR [16] and re-trained on DocLayNet [13], our popular human-annotated dataset for document-layout analysis, among other proprietary datasets. For inference, our implementation relies on the onnxruntime [5]. - -The Docling pipeline feeds page images at 72 dpi resolution, which can be processed on a single CPU with sub-second latency. All predicted bounding-box proposals for document elements are post-processed to remove overlapping proposals based on confidence and size, and then intersected with the text tokens in the PDF to group them into meaningful and complete units such as paragraphs, section titles, list items, captions, figures or tables. - -## Table Structure Recognition - -The TableFormer model [12], first published in 2022 and since refined with a custom structure token language [9], is a vision-transformer model for table structure recovery. It can predict the logical row and column structure of a given table based on an input image, and determine which table cells belong to column headers, row headers or the table body. Compared to earlier approaches, TableFormer handles many characteristics of tables, such as partial or no borderlines, empty cells, rows or columns, cell spans and hierarchy both on column-heading or row-heading level, tables with inconsistent indentation or alignment and other complexities. For inference, our implementation relies on PyTorch [2]. - -The Docling pipeline feeds all table objects detected in the layout analysis to the TableFormer model, by providing an image-crop of the table and the included text cells. TableFormer structure predictions are matched back to the PDF cells in post-processing to avoid expensive re-transcription text in the table image. Typical tables require between 2 and 6 seconds to be processed on a standard CPU, strongly depending on the amount of included table cells. - -## OCR - -Docling provides optional support for OCR, for example to cover scanned PDFs or content in bitmaps images embedded on a page. In our initial release, we rely on EasyOCR [1], a popular thirdparty OCR library with support for many languages. Docling, by default, feeds a high-resolution page image (216 dpi) to the OCR engine, to allow capturing small print detail in decent quality. While EasyOCR delivers reasonable transcription quality, we observe that it runs fairly slow on CPU (upwards of 30 seconds per page). - -We are actively seeking collaboration from the open-source community to extend Docling with additional OCR backends and speed improvements. - -## 3.3 Assembly - -In the final pipeline stage, Docling assembles all prediction results produced on each page into a well-defined datatype that encapsulates a converted document, as defined in the auxiliary package docling-core . The generated document object is passed through a post-processing model which leverages several algorithms to augment features, such as detection of the document language, correcting the reading order, matching figures with captions and labelling metadata such as title, authors and references. The final output can then be serialized to JSON or transformed into a Markdown representation at the users request. - -## 3.4 Extensibility - -Docling provides a straight-forward interface to extend its capabilities, namely the model pipeline. A model pipeline constitutes the central part in the processing, following initial document parsing and preceding output assembly, and can be fully customized by sub-classing from an abstract baseclass ( BaseModelPipeline ) or cloning the default model pipeline. This effectively allows to fully customize the chain of models, add or replace models, and introduce additional pipeline configuration parameters. To use a custom model pipeline, the custom pipeline class to instantiate can be provided as an argument to the main document conversion methods. We invite everyone in the community to propose additional or alternative models and improvements. - -Implementations of model classes must satisfy the python Callable interface. The \_\_call\_\_ method must accept an iterator over page objects, and produce another iterator over the page objects which were augmented with the additional features predicted by the model, by extending the provided PagePredictions data model accordingly. - -## 4 Performance - -In this section, we establish some reference numbers for the processing speed of Docling and the resource budget it requires. All tests in this section are run with default options on our standard test set distributed with Docling, which consists of three papers from arXiv and two IBM Redbooks, with a total of 225 pages. Measurements were taken using both available PDF backends on two different hardware systems: one MacBook Pro M3 Max, and one bare-metal server running Ubuntu 20.04 LTS on an Intel Xeon E5-2690 CPU. For reproducibility, we fixed the thread budget (through setting OMP NUM THREADS environment variable ) once to 4 (Docling default) and once to 16 (equal to full core count on the test hardware). All results are shown in Table 1. - -If you need to run Docling in very low-resource environments, please consider configuring the pypdfium backend. While it is faster and more memory efficient than the default docling-parse backend, it will come at the expense of worse quality results, especially in table structure recovery. - -Establishing GPU acceleration support for the AI models is currently work-in-progress and largely untested, but may work implicitly when CUDA is available and discovered by the onnxruntime and - -torch runtimes backing the Docling pipeline. We will deliver updates on this topic at in a future version of this report. - -Table 1: Runtime characteristics of Docling with the standard model pipeline and settings, on our test dataset of 225 pages, on two different systems. OCR is disabled. We show the time-to-solution (TTS), computed throughput in pages per second, and the peak memory used (resident set size) for both the Docling-native PDF backend and for the pypdfium backend, using 4 and 16 threads. - -| CPU | Thread budget | native backend | native backend | native backend | pypdfium backend | pypdfium backend | pypdfium backend | -|-----------------------|-----------------|------------------|------------------|------------------|--------------------|--------------------|--------------------| -| | Thread budget | TTS | Pages/s | Mem | TTS | Pages/s | Mem | -| Apple M3 Max | 4 | 177 s | 1.27 | 6.20 GB | 103 s | 2.18 | 2.56 GB | -| (16 cores) | 16 | 167 s | 1.34 | 6.20 GB | 92 s | 2.45 | 2.56 GB | -| Intel(R) Xeon E5-2690 | 4 16 | 375 s 244 s | 0.60 0.92 | 6.16 GB | 239 s 143 s | 0.94 1.57 | 2.42 GB | - -## 5 Applications - -Thanks to the high-quality, richly structured document conversion achieved by Docling, its output qualifies for numerous downstream applications. For example, Docling can provide a base for detailed enterprise document search, passage retrieval or classification use-cases, or support knowledge extraction pipelines, allowing specific treatment of different structures in the document, such as tables, figures, section structure or references. For popular generative AI application patterns, such as retrieval-augmented generation (RAG), we provide quackling , an open-source package which capitalizes on Docling's feature-rich document output to enable document-native optimized vector embedding and chunking. It plugs in seamlessly with LLM frameworks such as LlamaIndex [8]. Since Docling is fast, stable and cheap to run, it also makes for an excellent choice to build document-derived datasets. With its powerful table structure recognition, it provides significant benefit to automated knowledge-base construction [11, 10]. Docling is also integrated within the open IBM data prep kit [6], which implements scalable data transforms to build large-scale multi-modal training datasets. - -## 6 Future work and contributions - -Docling is designed to allow easy extension of the model library and pipelines. In the future, we plan to extend Docling with several more models, such as a figure-classifier model, an equationrecognition model, a code-recognition model and more. This will help improve the quality of conversion for specific types of content, as well as augment extracted document metadata with additional information. Further investment into testing and optimizing GPU acceleration as well as improving the Docling-native PDF backend are on our roadmap, too. - -We encourage everyone to propose or implement additional features and models, and will gladly take your inputs and contributions under review . The codebase of Docling is open for use and contribution, under the MIT license agreement and in alignment with our contributing guidelines included in the Docling repository. If you use Docling in your projects, please consider citing this technical report. - -## References - -- [1] J. AI. Easyocr: Ready-to-use ocr with 80+ supported languages. https://github.com/ JaidedAI/EasyOCR , 2024. Version: 1.7.0. -- [2] J. Ansel, E. Yang, H. He, N. Gimelshein, A. Jain, M. Voznesensky, B. Bao, P. Bell, D. Berard, E. Burovski, G. Chauhan, A. Chourdia, W. Constable, A. Desmaison, Z. DeVito, E. Ellison, W. Feng, J. Gong, M. Gschwind, B. Hirsh, S. Huang, K. Kalambarkar, L. Kirsch, M. Lazos, M. Lezcano, Y. Liang, J. Liang, Y. Lu, C. Luk, B. Maher, Y. Pan, C. Puhrsch, M. Reso, M. Saroufim, M. Y. Siraichi, H. Suk, M. Suo, P. Tillet, E. Wang, X. Wang, W. Wen, S. Zhang, X. Zhao, K. Zhou, R. Zou, A. Mathews, G. Chanan, P. Wu, and S. Chintala. Pytorch 2: Faster - -machine learning through dynamic python bytecode transformation and graph compilation. In Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2 (ASPLOS '24) . ACM, 4 2024. doi: 10.1145/3620665.3640366. URL https://pytorch.org/assets/pytorch2-2.pdf . - -- [3] C. Auer, M. Dolfi, A. Carvalho, C. B. Ramis, and P. W. Staar. Delivering document conversion as a cloud service with high throughput and responsiveness. In 2022 IEEE 15th International Conference on Cloud Computing (CLOUD) , pages 363-373. IEEE, 2022. -- [4] J. Berkenbilt. Qpdf: A content-preserving pdf document transformer, 2024. URL https: //github.com/qpdf/qpdf . -- [5] O. R. developers. Onnx runtime. https://onnxruntime.ai/ , 2024. Version: 1.18.1. -- [6] IBM. Data Prep Kit: a community project to democratize and accelerate unstructured data preparation for LLM app developers, 2024. URL https://github.com/IBM/ data-prep-kit . -- [7] A. S. Inc. PyMuPDF, 2024. URL https://github.com/pymupdf/PyMuPDF . -- [8] J. Liu. LlamaIndex, 11 2022. URL https://github.com/jerryjliu/llama\_index . -- [9] M. Lysak, A. Nassar, N. Livathinos, C. Auer, and P. Staar. Optimized Table Tokenization for Table Structure Recognition. In Document Analysis and Recognition - ICDAR 2023: 17th International Conference, San Jos'e, CA, USA, August 21-26, 2023, Proceedings, Part II , pages 37-50, Berlin, Heidelberg, Aug. 2023. Springer-Verlag. ISBN 978-3-031-41678-1. doi: 10. 1007/978-3-031-41679-8 3. URL https://doi.org/10.1007/978-3-031-41679-8\_3 . -- [10] L. Mishra, S. Dhibi, Y. Kim, C. Berrospi Ramis, S. Gupta, M. Dolfi, and P. Staar. Statements: Universal information extraction from tables with large language models for ESG KPIs. In D. Stammbach, J. Ni, T. Schimanski, K. Dutia, A. Singh, J. Bingler, C. Christiaen, N. Kushwaha, V. Muccione, S. A. Vaghefi, and M. Leippold, editors, Proceedings of the 1st Workshop on Natural Language Processing Meets Climate Change (ClimateNLP 2024) , pages 193-214, Bangkok, Thailand, Aug. 2024. Association for Computational Linguistics. URL https://aclanthology.org/2024.climatenlp-1.15 . -- [11] L. Morin, V. Weber, G. I. Meijer, F. Yu, and P. W. J. Staar. Patcid: an open-access dataset of chemical structures in patent documents. Nature Communications , 15(1):6532, August 2024. ISSN 2041-1723. doi: 10.1038/s41467-024-50779-y. URL https://doi.org/10.1038/ s41467-024-50779-y . -- [12] A. Nassar, N. Livathinos, M. Lysak, and P. Staar. Tableformer: Table structure understanding with transformers. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition , pages 4614-4623, 2022. -- [13] B. Pfitzmann, C. Auer, M. Dolfi, A. S. Nassar, and P. Staar. Doclaynet: a large humanannotated dataset for document-layout segmentation. pages 3743-3751, 2022. -- [14] pypdf Maintainers. pypdf: A Pure-Python PDF Library, 2024. URL https://github.com/ py-pdf/pypdf . -- [15] P. Team. PyPDFium2: Python bindings for PDFium, 2024. URL https://github.com/ pypdfium2-team/pypdfium2 . -- [16] Y. Zhao, W. Lv, S. Xu, J. Wei, G. Wang, Q. Dang, Y. Liu, and J. Chen. Detrs beat yolos on real-time object detection, 2023. - -## Appendix - -In this section, we illustrate a few examples of Docling' s output in Markdown and JSON. - -## DocLayNet: A Large Human-Annotated Dataset for Document-Layout Analysis - -Birgit Pfitzmann IBM Research Rueschlikon, Switzerland bpf@zurich.ibm.com - -Christoph Auer IBM Research Rueschlikon, Switzerland cau@zurich.ibm.com - -Michele Dolfi IBM Research Rueschlikon, Switzerland dol@zurich.ibm.com - -Ahmed S. Nassar IBM Research Rueschlikon, Switzerland ahn@zurich.ibm.com - -Peter Staar IBM Research Rueschlikon, Switzerland taa@zurich.ibm.com - -## ABSTRACT - -Accurate document layout analysis is a key requirement for highquality PDF document conversion. With the recent availability of public, large ground-truth datasets such as PubLayNet and DocBank, deep-learning models have proven to be very effective at layout detection and segmentation. While these datasets are of adequate size to train such models, they severely lack in layout variability since they are sourced from scientific article repositories such as PubMed and arXiv only. Consequently, the accuracy of the layout segmentation drops significantly when these models are applied on more challenging and diverse layouts. In this paper, we present $\_{DocLayNet}$, a new, publicly available, document-layout annotation dataset in COCO format. It contains 80863 manually annotated pages from diverse data sources to represent a wide variability in layouts. For each PDF page, the layout annotations provide labelled bounding-boxes with a choice of 11 distinct classes. DocLayNet also provides a subset of double- and triple-annotated pages to determine the inter-annotator agreement. In multiple experiments, we provide baseline accuracy scores (in mAP) for a set of popular object detection models. We also demonstrate that these models fall approximately 10% behind the inter-annotator agreement. Furthermore, we provide evidence that DocLayNet is of sufficient size. Lastly, we compare models trained on PubLayNet, DocBank and DocLayNet, showing that layout predictions of the DocLayNettrained models are more robust and thus the preferred choice for general-purpose document-layout analysis. - -## CCS CONCEPTS - -· Information systems → Document structure ; · Applied computing → Document analysis ; · Computing methodologies → Machine learning ; Computer vision ; $\_{Object detection}$; - -Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profi t or commercial advantage and that copies bear this notice and the full citation on thefirst page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s). KDD '22, August 14-18, 2022, Washington, DC, USA © 2022 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-9385-0/22/08. https://doi.org/10.1145/3534678.3539043 - -## DocLayNet: A Large Human-Annotated Dataset for Document-Layout Analysis - -Birgit Pfitzmann IBM Research Rueschlikon, Switzerland bpf@zurich.ibm.com - -Christoph Auer IBM Research Rueschlikon, Switzerland cau@zurich.ibm.com - -Michele Dolfi IBM Research Rueschlikon, Switzerland dol@zurich.ibm.com - -Ahmed S. Nassar IBM Research Rueschlikon, Switzerland ahn@zurich.ibm.com - -Peter Staar IBM Research Rueschlikon, Switzerland taa@zurich.ibm.com - -## ABSTRACT - -Accurate document layout analysis is a key requirement for highquality PDF document conversion. With the recent availability of public, large groundtruth datasets such as PubLayNet and DocBank, deep-learning models have proven to be very effective at layout detection and segmentation. While these datasets are of adequate size to train such models, they severely lack in layout variability since they are sourced from scientific article repositories such as PubMed and arXiv only. Consequently, the accuracy of the layout segmentation drops significantly when these models are applied on more challenging and diverse layouts. In this paper, we present DocLayNet , a new, publicly available, document-layout annotation dataset in COCO format. It contains 80863 manually annotated pages from diverse data sources to represent a wide variability in layouts. For each PDF page, the layout annotations provide labelled bounding-boxes with a choice of 11 distinct classes. DocLayNet also provides a subset of double- and triple-annotated pages to determine the inter-annotator agreement. In multiple experiments, we provide baseline accuracy scores (in mAP) for a set of popular object detection models. We also demonstrate that these models fall approximately 10% behind the inter-annotator agreement. Furthermore, we provide evidence that DocLayNet is of sufficient size. Lastly, we compare models trained on PubLayNet, DocBank and DocLayNet, showing that layout predictions of the DocLayNettrained models are more robust and thus the preferred choice for general-purpose document-layout analysis. - -## CCS CONCEPTS - -$\_{· Information systems }$→$\_{ Document structure ; · Applied computing }$ →$\_{ Document analysis ; · Computing methodologies }$→$\_{ Machine learning ;}$ Computer vision ; Object detection ; - -Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s). - -KDD '22, August 14-18, 2022, Washington, DC, USA © 2022 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-9385-0/22/08. https://doi.org/10.1145/3534678.3539043 - -Figure 1: Four examples of complex page layouts across different document categories - -## KEYWORDS - -PDF document conversion, layout segmentation, object-detection, data set, Machine Learning - -## ACM Reference Format: - -Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar. 2022. DocLayNet: A Large Human-Annotated Dataset for DocumentLayout Analysis. In Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '22), August 14-18, 2022, Washington, DC, USA. ACM, New York, NY, USA, 9 pages. https://doi.org/10.1145/ 3534678.3539043 - -Figure 1: Four examples of complex page layouts across different document categories - -## KEYWORDS - -PDF document conversion, layout segmentation, object-detection, data set, Machine Learning - -## ACM Reference Format: - -Birgit Pfitzmann, Christoph Auer, Michele Dolfi , Ahmed S. Nassar, and Peter Staar. 2022. DocLayNet: A Large Human-Annotated Dataset for DocumentLayout Analysis. In Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '22), August 14-18, 2022, Wash-$\_{ington, DC, USA.}$ACM, New York, NY, USA, 9 pages. https://doi.org/10.1145/ 3534678.3539043 - -1 INTRODUCTION - -Despite the substantial improvements achieved with machine-learning (ML) approaches and deep neural networks in recent years, document conversion remains a challenging problem, as demonstrated by the numerous public competitions held on this topic [1-4]. The challenge originates from the huge variability in PDF documents regarding layout, language and formats (scanned, programmatic or a combination of both). Engineering a single ML model that can be applied on all types of documents and provides high-quality layout segmentation remains to this day extremely challenging [5]. To highlight the variability in document layouts, we show a few example documents from the DocLayNet dataset in Figure 1. Figure 2: Title page of the DocLayNet paper (arxiv .org/pdf/2206.01062) - left PDF, right rendered Markdown. If recognized, metadata such as authors are appearing first under the title. Text content inside figures is currently dropped, the caption is retained and linked to the figure in the JSON representation (not shown). - -KDD '22, August 14-18, 2022, Washington, DC, USA Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar - -Table 2: Prediction performance (mAP@0.5-0.95) of object detection networks on DocLayNet test set. The MRCNN (Mask R-CNN) and FRCNN (Faster R-CNN) models with ResNet-50 or ResNet-101 backbone were trained based on the network architectures from the detectron2 model zoo (Mask R-CNN R50, R101-FPN 3x, Faster R-CNN R101-FPN 3x), with default configurations. The YOLO implementation utilized was YOLOv5x6 [13]. All models were initialised using pre-trained weights from the COCO 2017 dataset. - -| | human | MRCNN | MRCNN | FRCNN | YOLO | -|----------------|---------|---------|---------|---------|--------| -| | human | R50 | R101 | R101 | v5x6 | -| Caption | 84-89 | 68.4 | 71.5 | 70.1 | 77.7 | -| Footnote | 83-91 | 70.9 | 71.8 | 73.7 | 77.2 | -| Formula | 83-85 | 60.1 | 63.4 | 63.5 | 66.2 | -| List-item | 87-88 | 81.2 | 80.8 | 81.0 | 86.2 | -| Page-footer | 93-94 | 61.6 | 59.3 | 58.9 | 61.1 | -| Page-header | 85-89 | 71.9 | 70.0 | 72.0 | 67.9 | -| Picture | 69-71 | 71.7 | 72.7 | | 77.1 | -| Section-header | 83-84 | 67.6 | 69.3 | 68.4 | 74.6 | -| Table | 77-81 | 82.2 | 82.9 | 82.2 | 86.3 | -| Text | 84-86 | 84.6 | 85.8 | 85.4 | | -| | | 76.7 | 80.4 | 79.9 | 88.1 | -| Title | 60-72 | | | | 82.7 | -| All | 82-83 | 72.4 | 73.5 | 73.4 | 76.8 | - -to avoid this at any cost in order to have clear, unbiased baseline numbers for human document-layout annotation. Third, we introduced the feature of snapping boxes around text segments to obtain a pixel-accurate annotation and again reduce time and effort. The CCS annotation tool automatically shrinks every user-drawn box to the minimum bounding-box around the enclosed text-cells for all purely text-based segments, which excludes only Table and $\_{Picture}$. For the latter, we instructed annotation staffto minimise inclusion of surrounding whitespace while including all graphical lines. A downside of snapping boxes to enclosed text cells is that some wrongly parsed PDF pages cannot be annotated correctly and need to be skipped. Fourth, we established a way toflag pages as rejected for cases where no valid annotation according to the label guidelines could be achieved. Example cases for this would be PDF pages that render incorrectly or contain layouts that are impossible to capture with non-overlapping rectangles. Such rejected pages are not contained in thefinal dataset. With all these measures in place, experienced annotation staffmanaged to annotate a single page in a typical timeframe of 20s to 60s, depending on its complexity. - -## 5 EXPERIMENTS - -The primary goal of DocLayNet is to obtain high-quality ML models capable of accurate document-layout analysis on a wide variety of challenging layouts. As discussed in Section 2, object detection models are currently the easiest to use, due to the standardisation of ground-truth data in COCO format [16] and the availability of general frameworks such as detectron2 [17]. Furthermore, baseline numbers in PubLayNet and DocBank were obtained using standard object detection models such as Mask R-CNN and Faster R-CNN. As such, we will relate to these object detection methods in this - -Figure 3: Page 6 of the DocLayNet paper. If recognized, metadata such as authors are appearing first under the title. Elements recognized as page headers or footers are suppressed in Markdown to deliver uninterrupted content in reading order. Tables are inserted in reading order. The paragraph in "5. Experiments" wrapping over the column end is broken up in two and interrupted by the table. - -Figure 5: Prediction performance (mAP@0.5-0.95) of a Mask R-CNN network with ResNet50 backbone trained on increasing fractions of the DocLayNet dataset. The learning curv eflattens around the 80% mark, indicating that increasing the size of the DocLayNet dataset with similar data will not yield significantly better predictions. - -paper and leave the detailed evaluation of more recent methods mentioned in Section 2 for future work. - -In this section, we will present several aspects related to the performance of object detection models on DocLayNet. Similarly as in PubLayNet, we will evaluate the quality of their predictions using mean average precision (mAP) with 10 overlaps that range from 0.5 to 0.95 in steps of 0.05 (mAP@0.5-0.95). These scores are computed by leveraging the evaluation code provided by the COCO API [16]. - -## Baselines for Object Detection - -In Table 2, we present baseline experiments (given in mAP) on Mask R-CNN [12], Faster R-CNN [11], and YOLOv5 [13]. Both training and evaluation were performed on RGB images with dimensions of $^{1025}$×1025 pixels. For training, we only used one annotation in case of redundantly annotated pages. As one can observe, the variation in mAP between the models is rather low, but overall between 6 and 10% lower than the mAP computed from the pairwise human annotations on triple-annotated pages. This gives a good indication that the DocLayNet dataset poses a worthwhile challenge for the research community to close the gap between human recognition and ML approaches. It is interesting to see that Mask R-CNN and Faster R-CNN produce very comparable mAP scores, indicating that pixel-based image segmentation derived from bounding-boxes does not help to obtain better predictions. On the other hand, the more recent Yolov5x model does very well and even out-performs humans on selected labels such as $\_{Text}$, Table and $\_{Picture}$. This is not entirely surprising, as and Picture are abundant and the most visually distinctive in a document. - -Prediclion Derormance (up80.5-0.85 ohobeci detecion lalo ks Doclaynal Lest saL Ine VACNN (Mask R-CNNI and FACNN (Faster A-CNM) modcs mith PosNc: 50 PosNo: 101 backtone woro trainod based on Enc nchwwcrk achrocturos tom Ihc Oeronhroase a-CNn aso rioi-Fpn Jx, FasieA-Cnn a1o1-FPN Jx), wilh delaui conlwuralions The YoUg mpomorcabon utilzod w2s YoloSyb(13| modos woro inbalsod usino cro-trunodmonhts hron Coco 2017 datasor - -| | noun | Mrcnn | MaCNN | Frcne | Yolo | -|------------|--------|---------|---------|---------|--------| -| Gaoon | | | | | | -| Foomolo | | | | | | -| Foula | | | | | | -| Ust-lern | | | | | | -| Page-locer | | | | | | -| Faqe-haje | | | | | | -| Pxlu | | | | | | -| Sonhoade | | | | | | - -iD avod Ihbs arcost cha unbasndbasolino numoc human cocumnnt-Laycut annotalion; Thrd Inirooucod leatura 0i snapoina Doxes around lerl scainunis cblan & pixel-accuiale annolaton and aJan feduce Bifre and elonThe CCS annoinbon aloMalca shruks Ovory Usor-drawnboro mnmum boundino-borarounaIho onclosod coxt-colls Purolytort basud scoitontwhich uxclldcs Ort Tatlo and Picluo latsor Inssucicdannjlabon sha mnim so inclusion Suitcurding mlospeco whloIncvon Oenoncang doans d0 oisnaocmnbors Onchse Ihal So10 wioogly Daisoc Pogcs Cannol be annotalcd coTcCEY and nccd supocd Foudn Oshdned Wuyio(aq Dagcs (ccclod Cases whcion valid anncuabon eccofding abeiqu Oelines coukbe acheneu Eamnole Case, flis wouk PDF peoe3 Ihal rendernnccrrecUy contanlavuta hat Imnosshk cantra milh Vananonnyogannio{ Suchiceciodoaoos not coralnon Ihofnn hr Aroknacoarreehetyn annollca slall nluuocd unnoln sina " Puou lypical Lmnetamre 0l 20s 10 605 cecendnc conoanty - -## 5 EXPERIMENTS - -Ine crimary goal OocVAYNo cblan hion-quality Modols AccuaiodoaMoiuvana4s WMeVanalon chalcnonglayoul: Cecurdg echon Doicdi Delccion modcb rtene Casistlo Usc, Quulo Hhndandiubon ground-vuth data COCO lornat [16] and avaladloy enetal Irarnenoiks uch derectrcnz7] Furnemmcre, baseline nmnoe < I Putun Notand DocBank calanodusnsundad coict dosnchonmodols such Mas< A CNN and Fasior A CNN SuEna blraomhdelecfa nonInr Canacle - -Fauri Prco chon ocrloianC( 005-095) ola Mask A-CNN ncthoik ilh AcsNciSo backbono brainod on incrcasing Iracbons oi DocLaynei calasot Tne loannp auro altons around Ih0 €03 noicahino Ihal inxreasing /e 520 Q Iho DocLøy Nel dalasot Amardaen nol Ycid sn: dorOocC Chons LAD - -pangrandloave detallod evalvallon %moro rcoarimolhods monionan Secilg Jorhlure work - -Inuhs sechon All Deseni seur8/ asoecis reles00 Perormanoe ouieci celec on DoxclayNet Simamtas In PLoLaynnt oyuato tnn qualmy cuthnlr crodictionsusiramnanavnna prncisicn (TTAP) wch IDovrdaos that rangn trom 0 5ta 005 (nap,o6-00: Ml olue Fnoula Cvurbar uvalaion coou piayIed DY Ihu COCO API/161 ook - -## Baselines for Object Detection - -ptesenl baselne expenrnenls (Qvenin MAF) on Mas< R-CNN /121 Fasler F-CNN [11] an1 YOLOvS [13] Bou1 brann anavailang woropomormod AGa Imnoos vith dimonsions 1025 chxrols For tralring onN usodomannolatln Incaso ohcuunourfhunnolulco Dac3 Ohenn Vuruhoninptalunhamagny usnaroA en hn 10?7 loworrnannomap conoutec paicaisehuman anncrbons Aoo-amculeopnnos Ins Cves nacaton thatrhe DocLayNot daasci DOfo s mornwro clagnoo [csoarcncomrurt gap bctwoon human focogniticn and VL aporoaces nlelesuio IharNaska-CNNead Fasler GNincroova comnanen Maseoes nnocauna Ulbi AICBasodnanc scomrorubon oormvod Irom bounon)ooros Ooo{ abuin totcrorcochons Ontho chornnno Mcrocconi YolavSrmrodel does verywell und even Dul-Perdorins selectedlubels such Tedle undpcturl enbeh surcrisio Ta oloandPchre poincant amimemostasiaIN ishinsine documen: Ouau hnne - -KDD '22, August 14-18, 2022, Washington, DC, USA Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar - -Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row "Total") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row "Total") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B - -| | Count | % of Total | % of Total | % of Total | triple inter-annotator mAP @ 0.5-0.95 (%) | triple inter-annotator mAP @ 0.5-0.95 (%) | triple inter-annotator mAP @ 0.5-0.95 (%) | triple inter-annotator mAP @ 0.5-0.95 (%) | triple inter-annotator mAP @ 0.5-0.95 (%) | triple inter-annotator mAP @ 0.5-0.95 (%) | triple inter-annotator mAP @ 0.5-0.95 (%) | -|----------------|---------|--------------|--------------|--------------|---------------------------------------------|---------------------------------------------|---------------------------------------------|---------------------------------------------|---------------------------------------------|---------------------------------------------|---------------------------------------------| -| class label | | Train | Test | Val | All | Fin | Man | Sci | Law | Pat | T en | -| Caption | 22524 | 2.04 | 1.77 | 2.32 | 84-89 | 40-61 | 86-92 | 94-99 | 95-99 | 69-78 | n/a | -| Footnote | 6318 | 0.60 | 0.31 | 0.58 | 83-91 | n/a | 100 | 62-88 | 85-94 | n/a | 82-97 | -| Formula | 25027 | 2.25 | 1.90 | 2.96 | 83-85 | | n/a | 84-87 | 86-96 | | n/a | -| List-item | 185660 | 17.19 | 13.34 | 15.82 | 87-88 | 74-83 | 90-92 | 97-97 | 81-85 | 75-88 | 93-95 | -| Page-footer | 70878 | 6.51 | 5.58 | 6.00 | 93-94 | 88-90 | 95-96 | 100 | 92-97 | 100 | 96-98 | -| Page-header | 58022 | 5.10 | 6.70 | 5.06 | 85-89 | 66-76 | 90-94 | 98-100 | 91-92 | 97-99 | 81-86 | -| Picture | 45976 | 4.21 | 2.78 | 5.31 | 69-71 | 56-59 | 82-86 | 69-82 | 80-95 | 66-71 | 59-76 | -| Section-header | 142884 | 12.60 | 15.77 | 12.85 | 83-84 | 76-81 | 90-92 | 94-95 | 87-94 | 69-73 | 78-86 | -| Table | 34733 | 3.20 | 2.27 | 3.60 | 77-81 | 75-80 | 83-86 | 98-99 | 58-80 | 79-84 | 70-85 | -| Text | 510377 | 45.82 | 49.28 | 45.00 | 84-86 | 81-86 | 88-93 | 89-93 | 87-92 | 71-79 | 87-95 | -| Title | 5071 | 0.47 | 0.30 | 0.50 | 60-72 | 24-63 | 50-63 | 94-100 | 82-96 | 68-79 | 24-56 | -| Total | 1107470 | 941123 | 99816 | 66531 | 82-83 | 71-74 | 79-81 | 89-94 | 86-91 | 71-76 | 68-85 | - -Figure 3: face. The laid te be drawn the respe - -we distribute d the annotation workload and performed continuous quality contr ols. Phase one and two required a small team of experts only. For phases three and four, a group of 40 dedicated annotators were assembled and supervised. Phase 1: Data selection and preparation. Our inclusion cri- - -of pages ed by seerties. For cument figur es or object how - -d the colfealayout labels. Pageand $\_{Title}$. class cificity ed for of the ambiguous, while coverage ensures that all meaningful items on a page can be annotated. We refrained from class labels that are very specific to a document category, such as Abstract in the Scientific Articles category. We also avoided class labels that are tightly linked to the semantics of the text. Labels such as Author and $\_{Affiliation}$, as seen - -teria for documents were described in Section 3. A large effort went into ensuring that all documents are free to use. The data sources in DocBank, are often only distinguishable by discriminating on $^{3}$https://arxiv.org/ Figure 4: Table 1 from the DocLayNet paper in the original PDF (A), as rendered Markdown (B) and in JSON representation (C). Spanning table cells, such as the multi-column header "triple interannotator mAP@0.5-0.95 (%)", is repeated for each column in the Markdown representation (B), which guarantees that every data point can be traced back to row and column headings only by its grid coordinates in the table. In the JSON representation, the span information is reflected in the fields of each table cell (C). \ No newline at end of file diff --git a/test/data/2408.09869v5.pdf b/test/data/2408.09869v5.pdf new file mode 100644 index 0000000..f06acff Binary files /dev/null and b/test/data/2408.09869v5.pdf differ diff --git a/test/data/2408.09869v5_hs_docs_doc_chunks.json b/test/data/2408.09869v5_hs_docs_doc_chunks.json deleted file mode 100644 index 4520e59..0000000 --- a/test/data/2408.09869v5_hs_docs_doc_chunks.json +++ /dev/null @@ -1,4636 +0,0 @@ -{ - "root": [ - { - "id": "dca75d4668722e5468b632e31a9f960b3142811ab2422b8552b0818bd049210b", - "content": "arXiv:2408.09869v5 [cs.CL] 9 Dec 2024", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "arXiv:2408.09869v5 [cs.CL] 9 Dec 2024", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/0", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_header", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 17.101043701171875, - "t": 576.1378173828125, - "r": 36.33979415893555, - "b": 236.56793212890625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 37 - ] - } - ] - } - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "6ad1c20ada275846b21fe3843fefdd577e64a2a32e6cc0dfffb47c0e2c151b24", - "content": "Docling Technical Report\nVersion 1.0\nChristoph Auer Maksym Lysak Ahmed Nassar Michele Dolfi Nikolaos Livathinos Panos Vagenas Cesar Berrospi Ramis Matteo Omenetti Fabian Lindlbauer Kasper Dinkla Lokesh Mishra Yusik Kim Shubham Gupta Rafael Teixeira de Lima Valery Weber Lucas Morin Ingmar Meijer Viktor Kuropiatnyk Peter W. J. Staar\nAI4K Group, IBM Research Ruschlikon, Switzerland", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Version 1.0\nChristoph Auer Maksym Lysak Ahmed Nassar Michele Dolfi Nikolaos Livathinos Panos Vagenas Cesar Berrospi Ramis Matteo Omenetti Fabian Lindlbauer Kasper Dinkla Lokesh Mishra Yusik Kim Shubham Gupta Rafael Teixeira de Lima Valery Weber Lucas Morin Ingmar Meijer Viktor Kuropiatnyk Peter W. J. Staar\nAI4K Group, IBM Research Ruschlikon, Switzerland", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/2", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 282.77239990234375, - "t": 512.7236938476562, - "r": 328.8592529296875, - "b": 503.340087890625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 11 - ] - } - ] - }, - { - "self_ref": "#/texts/3", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 113.44476318359375, - "t": 482.4157409667969, - "r": 498.3876037597656, - "b": 439.4565734863281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 295 - ] - } - ] - }, - { - "self_ref": "#/texts/4", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 248.4368133544922, - "t": 428.6380615234375, - "r": 362.8882751464844, - "b": 407.99810791015625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 48 - ] - } - ] - } - ], - "headings": [ - "Docling Technical Report" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "93f278eef39feee0d4ae562367cca4efab1a4010af975b79f35ed4911d8c44f1", - "content": "Abstract\nThis technical report introduces Docling , an easy to use, self-contained, MITlicensed open-source package for PDF document conversion. It is powered by state-of-the-art specialized AI models for layout analysis (DocLayNet) and table structure recognition (TableFormer), and runs efficiently on commodity hardware in a small resource budget. The code interface allows for easy extensibility and addition of new features and models.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "This technical report introduces Docling , an easy to use, self-contained, MITlicensed open-source package for PDF document conversion. It is powered by state-of-the-art specialized AI models for layout analysis (DocLayNet) and table structure recognition (TableFormer), and runs efficiently on commodity hardware in a small resource budget. The code interface allows for easy extensibility and addition of new features and models.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/6", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 142.9248504638672, - "t": 364.8117370605469, - "r": 468.3767395019531, - "b": 300.651123046875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 431 - ] - } - ] - } - ], - "headings": [ - "Abstract" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "51a9b62e39454273549c3647b460be30077957f6a279cd89e6619281215170a5", - "content": "1 Introduction\nConverting PDF documents back into a machine-processable format has been a major challenge for decades due to their huge variability in formats, weak standardization and printing-optimized characteristic, which discards most structural features and metadata. With the advent of LLMs and popular application patterns such as retrieval-augmented generation (RAG), leveraging the rich content embedded in PDFs has become ever more relevant. In the past decade, several powerful document understanding solutions have emerged on the market, most of which are commercial software, cloud offerings [3] and most recently, multi-modal vision-language models. As of today, only a handful of open-source tools cover PDF conversion, leaving a significant feature and quality gap to proprietary solutions.\nWith Docling , we open-source a very capable and efficient document conversion tool which builds on the powerful, specialized AI models and datasets for layout analysis and table structure recognition we developed and presented in the recent past [12, 13, 9]. Docling is designed as a simple, self-contained python library with permissive license, running entirely locally on commodity hardware. Its code architecture allows for easy extensibility and addition of new features and models.\nDocling Technical Report\n1\nHere is what Docling delivers today:\n\u00b7 Converts PDF documents to JSON or Markdown format, stable and lightning fast\n\u00b7 Understands detailed page layout, reading order, locates figures and recovers table structures\n\u00b7 Extracts metadata from the document, such as title, authors, references and language\n\u00b7 Optionally applies OCR, e.g. for scanned PDFs\n\u00b7 Can be configured to be optimal for batch-mode (i.e high throughput, low time-to-solution) or interactive mode (compromise on efficiency, low time-to-solution)\n\u00b7 Can leverage different accelerators (GPU, MPS, etc).", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Converting PDF documents back into a machine-processable format has been a major challenge for decades due to their huge variability in formats, weak standardization and printing-optimized characteristic, which discards most structural features and metadata. With the advent of LLMs and popular application patterns such as retrieval-augmented generation (RAG), leveraging the rich content embedded in PDFs has become ever more relevant. In the past decade, several powerful document understanding solutions have emerged on the market, most of which are commercial software, cloud offerings [3] and most recently, multi-modal vision-language models. As of today, only a handful of open-source tools cover PDF conversion, leaving a significant feature and quality gap to proprietary solutions.\nWith Docling , we open-source a very capable and efficient document conversion tool which builds on the powerful, specialized AI models and datasets for layout analysis and table structure recognition we developed and presented in the recent past [12, 13, 9]. Docling is designed as a simple, self-contained python library with permissive license, running entirely locally on commodity hardware. Its code architecture allows for easy extensibility and addition of new features and models.\nDocling Technical Report\n1\nHere is what Docling delivers today:\n\u00b7 Converts PDF documents to JSON or Markdown format, stable and lightning fast\n\u00b7 Understands detailed page layout, reading order, locates figures and recovers table structures\n\u00b7 Extracts metadata from the document, such as title, authors, references and language\n\u00b7 Optionally applies OCR, e.g. for scanned PDFs\n\u00b7 Can be configured to be optimal for batch-mode (i.e high throughput, low time-to-solution) or interactive mode (compromise on efficiency, low time-to-solution)\n\u00b7 Can leverage different accelerators (GPU, MPS, etc).", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/8", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 106.99458312988281, - "t": 240.26165771484375, - "r": 504.3724365234375, - "b": 142.53680419921875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 792 - ] - } - ] - }, - { - "self_ref": "#/texts/9", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 107.00840759277344, - "t": 136.7242431640625, - "r": 504.0425720214844, - "b": 83.3033447265625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 488 - ] - } - ] - }, - { - "self_ref": "#/texts/10", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 107.10855865478516, - "t": 58.48297119140625, - "r": 200.81626892089844, - "b": 49.85089111328125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 24 - ] - } - ] - }, - { - "self_ref": "#/texts/11", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 1, - "bbox": { - "l": 303.50897216796875, - "t": 49.5064697265625, - "r": 308.4902648925781, - "b": 39.960147857666016, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ] - }, - { - "self_ref": "#/texts/12", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.48941802978516, - "t": 717.5628662109375, - "r": 253.97195434570312, - "b": 707.6951293945312, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 36 - ] - } - ] - }, - { - "self_ref": "#/texts/13", - "parent": { - "$ref": "#/groups/0" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 134.6504669189453, - "t": 696.156494140625, - "r": 468.3969421386719, - "b": 686.3217163085938, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 78 - ] - } - ] - }, - { - "self_ref": "#/texts/14", - "parent": { - "$ref": "#/groups/0" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 134.72218322753906, - "t": 681.3009643554688, - "r": 504.0032653808594, - "b": 660.819091796875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 96 - ] - } - ] - }, - { - "self_ref": "#/texts/15", - "parent": { - "$ref": "#/groups/0" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 134.9065399169922, - "t": 655.3751220703125, - "r": 480.8502502441406, - "b": 645.7429809570312, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 86 - ] - } - ] - }, - { - "self_ref": "#/texts/16", - "parent": { - "$ref": "#/groups/0" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 134.8793487548828, - "t": 640.9143676757812, - "r": 333.46343994140625, - "b": 630.7002563476562, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 47 - ] - } - ] - }, - { - "self_ref": "#/texts/17", - "parent": { - "$ref": "#/groups/0" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 135.0067901611328, - "t": 626.0984497070312, - "r": 504.003173828125, - "b": 604.8719482421875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 161 - ] - } - ] - }, - { - "self_ref": "#/texts/18", - "parent": { - "$ref": "#/groups/0" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 134.7841339111328, - "t": 600.127685546875, - "r": 355.41107177734375, - "b": 590.395751953125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 54 - ] - } - ] - } - ], - "headings": [ - "1 Introduction" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "a6cacc2ef5f9495eec30d99994bfdd851d9d1fa3b2985bc84cb3df6e14a7ccd4", - "content": "2 Getting Started\nTo use Docling, you can simply install the docling package from PyPI. Documentation and examples are available in our GitHub repository at github.com/DS4SD/docling. All required model assets 1 are downloaded to a local huggingface datasets cache on first use, unless you choose to pre-install the model assets in advance.\nDocling provides an easy code interface to convert PDF documents from file system, URLs or binary streams, and retrieve the output in either JSON or Markdown format. For convenience, separate methods are offered to convert single documents or batches of documents. A basic usage example is illustrated below. Further examples are available in the Doclign code repository.\nfrom docling.document_converter import DocumentConverter source = \"https :// arxiv.org/pdf /2206.01062\" # PDF path or URL converter = DocumentConverter () result = converter.convert_single(source) print(result.render_as_markdown ()) # output: \"## DocLayNet: A Large Human -Annotated Dataset for Document -Layout Analysis [...]\"\nOptionally, you can configure custom pipeline features and runtime options, such as turning on or off features (e.g. OCR, table structure recognition), enforcing limits on the input document size, and defining the budget of CPU threads. Advanced usage examples and options are documented in the README file. Docling also provides a Dockerfile to demonstrate how to install and run it inside a container.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "To use Docling, you can simply install the docling package from PyPI. Documentation and examples are available in our GitHub repository at github.com/DS4SD/docling. All required model assets 1 are downloaded to a local huggingface datasets cache on first use, unless you choose to pre-install the model assets in advance.\nDocling provides an easy code interface to convert PDF documents from file system, URLs or binary streams, and retrieve the output in either JSON or Markdown format. For convenience, separate methods are offered to convert single documents or batches of documents. A basic usage example is illustrated below. Further examples are available in the Doclign code repository.\nfrom docling.document_converter import DocumentConverter source = \"https :// arxiv.org/pdf /2206.01062\" # PDF path or URL converter = DocumentConverter () result = converter.convert_single(source) print(result.render_as_markdown ()) # output: \"## DocLayNet: A Large Human -Annotated Dataset for Document -Layout Analysis [...]\"\nOptionally, you can configure custom pipeline features and runtime options, such as turning on or off features (e.g. OCR, table structure recognition), enforcing limits on the input document size, and defining the budget of CPU threads. Advanced usage examples and options are documented in the README file. Docling also provides a Dockerfile to demonstrate how to install and run it inside a container.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/20", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.22560119628906, - "t": 548.7847900390625, - "r": 504.00341796875, - "b": 506.27606201171875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 321 - ] - } - ] - }, - { - "self_ref": "#/texts/21", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.38473510742188, - "t": 499.5434875488281, - "r": 504.0034484863281, - "b": 456.7132263183594, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 371 - ] - } - ] - }, - { - "self_ref": "#/texts/22", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "code", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.45667266845703, - "t": 449.7299499511719, - "r": 491.58642578125, - "b": 380.3858642578125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 327 - ] - } - ] - }, - { - "self_ref": "#/texts/23", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.32361602783203, - "t": 368.8786926269531, - "r": 504.3451843261719, - "b": 315.56304931640625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 403 - ] - } - ] - } - ], - "headings": [ - "2 Getting Started" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "f5fa3d041f1c4b02e20614b6023b90e07d2cb6dfcd6e1ed77e6c165f7049132f", - "content": "3 Processing pipeline\nDocling implements a linear pipeline of operations, which execute sequentially on each given document (see Fig. 1). Each document is first parsed by a PDF backend, which retrieves the programmatic text tokens, consisting of string content and its coordinates on the page, and also renders a bitmap image of each page to support downstream operations. Then, the standard model pipeline applies a sequence of AI models independently on every page in the document to extract features and content, such as layout and table structures. Finally, the results from all pages are aggregated and passed through a post-processing stage, which augments metadata, detects the document language, infers reading-order and eventually assembles a typed document object which can be serialized to JSON or Markdown.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Docling implements a linear pipeline of operations, which execute sequentially on each given document (see Fig. 1). Each document is first parsed by a PDF backend, which retrieves the programmatic text tokens, consisting of string content and its coordinates on the page, and also renders a bitmap image of each page to support downstream operations. Then, the standard model pipeline applies a sequence of AI models independently on every page in the document to extract features and content, such as layout and table structures. Finally, the results from all pages are aggregated and passed through a post-processing stage, which augments metadata, detects the document language, infers reading-order and eventually assembles a typed document object which can be serialized to JSON or Markdown.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/25", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.176025390625, - "t": 273.72723388671875, - "r": 504.06005859375, - "b": 176.83807373046875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 796 - ] - } - ] - } - ], - "headings": [ - "3 Processing pipeline" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "e0c9fbef79a628414b08aa358b92959a867e530636f62d06b3272a8a67a0aafc", - "content": "3.1 PDF backends\nTwo basic requirements to process PDF documents in our pipeline are a) to retrieve all text content and their geometric coordinates on each page and b) to render the visual representation of each page as it would appear in a PDF viewer. Both these requirements are encapsulated in Docling's PDF backend interface. While there are several open-source PDF parsing libraries available for python, we faced major obstacles with all of them for different reasons, among which were restrictive\n$^{1}$see huggingface.co/ds4sd/docling-models/\n2\nFigure 1: Sketch of Docling's default processing pipeline. The inner part of the model pipeline is easily customizable and extensible.\nlicensing (e.g. pymupdf [7]), poor speed or unrecoverable quality issues, such as merged text cells across far-apart text tokens or table columns (pypdfium, PyPDF) [15, 14].\nWe therefore decided to provide multiple backend choices, and additionally open-source a custombuilt PDF parser, which is based on the low-level qpdf [4] library. It is made available in a separate package named docling-parse and powers the default PDF backend in Docling. As an alternative, we provide a PDF backend relying on pypdfium , which may be a safe backup choice in certain cases, e.g. if issues are seen with particular font encodings.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Two basic requirements to process PDF documents in our pipeline are a) to retrieve all text content and their geometric coordinates on each page and b) to render the visual representation of each page as it would appear in a PDF viewer. Both these requirements are encapsulated in Docling's PDF backend interface. While there are several open-source PDF parsing libraries available for python, we faced major obstacles with all of them for different reasons, among which were restrictive\n$^{1}$see huggingface.co/ds4sd/docling-models/\n2\nFigure 1: Sketch of Docling's default processing pipeline. The inner part of the model pipeline is easily customizable and extensible.\nlicensing (e.g. pymupdf [7]), poor speed or unrecoverable quality issues, such as merged text cells across far-apart text tokens or table columns (pypdfium, PyPDF) [15, 14].\nWe therefore decided to provide multiple backend choices, and additionally open-source a custombuilt PDF parser, which is based on the low-level qpdf [4] library. It is made available in a separate package named docling-parse and powers the default PDF backend in Docling. As an alternative, we provide a PDF backend relying on pypdfium , which may be a safe backup choice in certain cases, e.g. if issues are seen with particular font encodings.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/27", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 107.26972198486328, - "t": 142.07904052734375, - "r": 504.2434997558594, - "b": 87.39227294921875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 487 - ] - } - ] - }, - { - "self_ref": "#/texts/28", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "footnote", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 120.65299987792969, - "t": 78.96942138671875, - "r": 276.9403076171875, - "b": 69.9141845703125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 46 - ] - } - ] - }, - { - "self_ref": "#/texts/29", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 2, - "bbox": { - "l": 302.96832275390625, - "t": 49.7403564453125, - "r": 308.49029541015625, - "b": 39.960079193115234, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ] - }, - { - "self_ref": "#/texts/30", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "caption", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.11122131347656, - "t": 570.7063598632812, - "r": 504.00335693359375, - "b": 550.3002319335938, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 134 - ] - } - ] - }, - { - "self_ref": "#/texts/31", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.37481689453125, - "t": 525.6080932617188, - "r": 504.0033264160156, - "b": 504.8570861816406, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 173 - ] - } - ] - }, - { - "self_ref": "#/texts/32", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.10971069335938, - "t": 498.21685791015625, - "r": 504.0033874511719, - "b": 443.9909973144531, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 446 - ] - } - ] - } - ], - "headings": [ - "3.1 PDF backends" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "a4227d4446f805aa58f5ddb46f7ec87952ce994ab1bbed7f6ec305119e25848c", - "content": "3.2 AI models\nAs part of Docling, we initially release two highly capable AI models to the open-source community, which have been developed and published recently by our team. The first model is a layout analysis model, an accurate object-detector for page elements [13]. The second model is TableFormer [12, 9], a state-of-the-art table structure recognition model. We provide the pre-trained weights (hosted on huggingface) and a separate package for the inference code as docling-ibm-models . Both models are also powering the open-access deepsearch-experience, our cloud-native service for knowledge exploration tasks.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "As part of Docling, we initially release two highly capable AI models to the open-source community, which have been developed and published recently by our team. The first model is a layout analysis model, an accurate object-detector for page elements [13]. The second model is TableFormer [12, 9], a state-of-the-art table structure recognition model. We provide the pre-trained weights (hosted on huggingface) and a separate package for the inference code as docling-ibm-models . Both models are also powering the open-access deepsearch-experience, our cloud-native service for knowledge exploration tasks.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/34", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.07593536376953, - "t": 406.1695251464844, - "r": 504.1148681640625, - "b": 330.2677307128906, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 608 - ] - } - ] - } - ], - "headings": [ - "3.2 AI models" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "f38525925d4690a98bff97660645cf27fc36d1ad5e67c9ec8f162be32b4e5a94", - "content": "Layout Analysis Model\nOur layout analysis model is an object-detector which predicts the bounding-boxes and classes of various elements on the image of a given page. Its architecture is derived from RT-DETR [16] and re-trained on DocLayNet [13], our popular human-annotated dataset for document-layout analysis, among other proprietary datasets. For inference, our implementation relies on the onnxruntime [5].\nThe Docling pipeline feeds page images at 72 dpi resolution, which can be processed on a single CPU with sub-second latency. All predicted bounding-box proposals for document elements are post-processed to remove overlapping proposals based on confidence and size, and then intersected with the text tokens in the PDF to group them into meaningful and complete units such as paragraphs, section titles, list items, captions, figures or tables.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Our layout analysis model is an object-detector which predicts the bounding-boxes and classes of various elements on the image of a given page. Its architecture is derived from RT-DETR [16] and re-trained on DocLayNet [13], our popular human-annotated dataset for document-layout analysis, among other proprietary datasets. For inference, our implementation relies on the onnxruntime [5].\nThe Docling pipeline feeds page images at 72 dpi resolution, which can be processed on a single CPU with sub-second latency. All predicted bounding-box proposals for document elements are post-processed to remove overlapping proposals based on confidence and size, and then intersected with the text tokens in the PDF to group them into meaningful and complete units such as paragraphs, section titles, list items, captions, figures or tables.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/36", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.1727294921875, - "t": 294.7471923828125, - "r": 504.1613464355469, - "b": 251.51837158203125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 388 - ] - } - ] - }, - { - "self_ref": "#/texts/37", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.23725891113281, - "t": 245.4161376953125, - "r": 504.00347900390625, - "b": 191.62884521484375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 443 - ] - } - ] - } - ], - "headings": [ - "Layout Analysis Model" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "f162332812a336f367a35e47f9e673ba68e3ed2f3fd2bb18f8db7cd5fae2dcb9", - "content": "Table Structure Recognition\nThe TableFormer model [12], first published in 2022 and since refined with a custom structure token language [9], is a vision-transformer model for table structure recovery. It can predict the logical row and column structure of a given table based on an input image, and determine which table cells belong to column headers, row headers or the table body. Compared to earlier approaches, TableFormer handles many characteristics of tables, such as partial or no borderlines, empty cells, rows or columns, cell spans and hierarchy both on column-heading or row-heading level, tables with inconsistent indentation or alignment and other complexities. For inference, our implementation relies on PyTorch [2].\n3\nThe Docling pipeline feeds all table objects detected in the layout analysis to the TableFormer model, by providing an image-crop of the table and the included text cells. TableFormer structure predictions are matched back to the PDF cells in post-processing to avoid expensive re-transcription text in the table image. Typical tables require between 2 and 6 seconds to be processed on a standard CPU, strongly depending on the amount of included table cells.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "The TableFormer model [12], first published in 2022 and since refined with a custom structure token language [9], is a vision-transformer model for table structure recovery. It can predict the logical row and column structure of a given table based on an input image, and determine which table cells belong to column headers, row headers or the table body. Compared to earlier approaches, TableFormer handles many characteristics of tables, such as partial or no borderlines, empty cells, rows or columns, cell spans and hierarchy both on column-heading or row-heading level, tables with inconsistent indentation or alignment and other complexities. For inference, our implementation relies on PyTorch [2].\n3\nThe Docling pipeline feeds all table objects detected in the layout analysis to the TableFormer model, by providing an image-crop of the table and the included text cells. TableFormer structure predictions are matched back to the PDF cells in post-processing to avoid expensive re-transcription text in the table image. Typical tables require between 2 and 6 seconds to be processed on a standard CPU, strongly depending on the amount of included table cells.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/39", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 107.22769927978516, - "t": 156.10821533203125, - "r": 504.01800537109375, - "b": 69.84173583984375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 706 - ] - } - ] - }, - { - "self_ref": "#/texts/40", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 3, - "bbox": { - "l": 302.7810974121094, - "t": 49.40008544921875, - "r": 308.4903259277344, - "b": 39.96010971069336, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ] - }, - { - "self_ref": "#/texts/41", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.23402404785156, - "t": 717.677001953125, - "r": 504.0035095214844, - "b": 664.2490844726562, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 459 - ] - } - ] - } - ], - "headings": [ - "Table Structure Recognition" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "52befbd4ac197159ef5c6ce86eaa89cb82c58f391ba45c7ad18feaa390772d61", - "content": "OCR\nDocling provides optional support for OCR, for example to cover scanned PDFs or content in bitmaps images embedded on a page. In our initial release, we rely on EasyOCR [1], a popular thirdparty OCR library with support for many languages. Docling, by default, feeds a high-resolution page image (216 dpi) to the OCR engine, to allow capturing small print detail in decent quality. While EasyOCR delivers reasonable transcription quality, we observe that it runs fairly slow on CPU (upwards of 30 seconds per page).\nWe are actively seeking collaboration from the open-source community to extend Docling with additional OCR backends and speed improvements.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Docling provides optional support for OCR, for example to cover scanned PDFs or content in bitmaps images embedded on a page. In our initial release, we rely on EasyOCR [1], a popular thirdparty OCR library with support for many languages. Docling, by default, feeds a high-resolution page image (216 dpi) to the OCR engine, to allow capturing small print detail in decent quality. While EasyOCR delivers reasonable transcription quality, we observe that it runs fairly slow on CPU (upwards of 30 seconds per page).\nWe are actively seeking collaboration from the open-source community to extend Docling with additional OCR backends and speed improvements.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/43", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.0999526977539, - "t": 632.9981689453125, - "r": 504.00347900390625, - "b": 568.0103759765625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 515 - ] - } - ] - }, - { - "self_ref": "#/texts/44", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.48332214355469, - "t": 561.5487670898438, - "r": 504.0033874511719, - "b": 540.876953125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 139 - ] - } - ] - } - ], - "headings": [ - "OCR" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "50b4dce4feb0bf8c14c235d0612eb66878b59a38100f1ecd1466a6b4a0138279", - "content": "3.3 Assembly\nIn the final pipeline stage, Docling assembles all prediction results produced on each page into a well-defined datatype that encapsulates a converted document, as defined in the auxiliary package docling-core . The generated document object is passed through a post-processing model which leverages several algorithms to augment features, such as detection of the document language, correcting the reading order, matching figures with captions and labelling metadata such as title, authors and references. The final output can then be serialized to JSON or transformed into a Markdown representation at the users request.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "In the final pipeline stage, Docling assembles all prediction results produced on each page into a well-defined datatype that encapsulates a converted document, as defined in the auxiliary package docling-core . The generated document object is passed through a post-processing model which leverages several algorithms to augment features, such as detection of the document language, correcting the reading order, matching figures with captions and labelling metadata such as title, authors and references. The final output can then be serialized to JSON or transformed into a Markdown representation at the users request.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/46", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.259033203125, - "t": 506.85528564453125, - "r": 504.2517395019531, - "b": 431.21771240234375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 622 - ] - } - ] - } - ], - "headings": [ - "3.3 Assembly" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "4fd3c505d4953fe32fd3cce6e0809baf8caddeac2fd137bb3df775609690465a", - "content": "3.4 Extensibility\nDocling provides a straight-forward interface to extend its capabilities, namely the model pipeline. A model pipeline constitutes the central part in the processing, following initial document parsing and preceding output assembly, and can be fully customized by sub-classing from an abstract baseclass ( BaseModelPipeline ) or cloning the default model pipeline. This effectively allows to fully customize the chain of models, add or replace models, and introduce additional pipeline configuration parameters. To use a custom model pipeline, the custom pipeline class to instantiate can be provided as an argument to the main document conversion methods. We invite everyone in the community to propose additional or alternative models and improvements.\nImplementations of model classes must satisfy the python Callable interface. The __call__ method must accept an iterator over page objects, and produce another iterator over the page objects which were augmented with the additional features predicted by the model, by extending the provided PagePredictions data model accordingly.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Docling provides a straight-forward interface to extend its capabilities, namely the model pipeline. A model pipeline constitutes the central part in the processing, following initial document parsing and preceding output assembly, and can be fully customized by sub-classing from an abstract baseclass ( BaseModelPipeline ) or cloning the default model pipeline. This effectively allows to fully customize the chain of models, add or replace models, and introduce additional pipeline configuration parameters. To use a custom model pipeline, the custom pipeline class to instantiate can be provided as an argument to the main document conversion methods. We invite everyone in the community to propose additional or alternative models and improvements.\nImplementations of model classes must satisfy the python Callable interface. The __call__ method must accept an iterator over page objects, and produce another iterator over the page objects which were augmented with the additional features predicted by the model, by extending the provided PagePredictions data model accordingly.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/48", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.01625061035156, - "t": 397.58544921875, - "r": 504.00347900390625, - "b": 311.05523681640625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 753 - ] - } - ] - }, - { - "self_ref": "#/texts/49", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 106.94336700439453, - "t": 304.5326232910156, - "r": 504.0707092285156, - "b": 262.160400390625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 330 - ] - } - ] - } - ], - "headings": [ - "3.4 Extensibility" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "733977af36a121d59e392255e10e1ee5058409e045ecf0f9fc0b6faa6800e597", - "content": "4 Performance\nIn this section, we establish some reference numbers for the processing speed of Docling and the resource budget it requires. All tests in this section are run with default options on our standard test set distributed with Docling, which consists of three papers from arXiv and two IBM Redbooks, with a total of 225 pages. Measurements were taken using both available PDF backends on two different hardware systems: one MacBook Pro M3 Max, and one bare-metal server running Ubuntu 20.04 LTS on an Intel Xeon E5-2690 CPU. For reproducibility, we fixed the thread budget (through setting OMP NUM THREADS environment variable ) once to 4 (Docling default) and once to 16 (equal to full core count on the test hardware). All results are shown in Table 1.\nIf you need to run Docling in very low-resource environments, please consider configuring the pypdfium backend. While it is faster and more memory efficient than the default docling-parse backend, it will come at the expense of worse quality results, especially in table structure recovery.\nEstablishing GPU acceleration support for the AI models is currently work-in-progress and largely untested, but may work implicitly when CUDA is available and discovered by the onnxruntime and\n4\ntorch runtimes backing the Docling pipeline. We will deliver updates on this topic at in a future version of this report.\nTable 1: Runtime characteristics of Docling with the standard model pipeline and settings, on our test dataset of 225 pages, on two different systems. OCR is disabled. We show the time-to-solution (TTS), computed throughput in pages per second, and the peak memory used (resident set size) for both the Docling-native PDF backend and for the pypdfium backend, using 4 and 16 threads.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "In this section, we establish some reference numbers for the processing speed of Docling and the resource budget it requires. All tests in this section are run with default options on our standard test set distributed with Docling, which consists of three papers from arXiv and two IBM Redbooks, with a total of 225 pages. Measurements were taken using both available PDF backends on two different hardware systems: one MacBook Pro M3 Max, and one bare-metal server running Ubuntu 20.04 LTS on an Intel Xeon E5-2690 CPU. For reproducibility, we fixed the thread budget (through setting OMP NUM THREADS environment variable ) once to 4 (Docling default) and once to 16 (equal to full core count on the test hardware). All results are shown in Table 1.\nIf you need to run Docling in very low-resource environments, please consider configuring the pypdfium backend. While it is faster and more memory efficient than the default docling-parse backend, it will come at the expense of worse quality results, especially in table structure recovery.\nEstablishing GPU acceleration support for the AI models is currently work-in-progress and largely untested, but may work implicitly when CUDA is available and discovered by the onnxruntime and\n4\ntorch runtimes backing the Docling pipeline. We will deliver updates on this topic at in a future version of this report.\nTable 1: Runtime characteristics of Docling with the standard model pipeline and settings, on our test dataset of 225 pages, on two different systems. OCR is disabled. We show the time-to-solution (TTS), computed throughput in pages per second, and the peak memory used (resident set size) for both the Docling-native PDF backend and for the pypdfium backend, using 4 and 16 threads.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/51", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.0430679321289, - "t": 221.5301513671875, - "r": 504.22869873046875, - "b": 135.16595458984375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 750 - ] - } - ] - }, - { - "self_ref": "#/texts/52", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.19568634033203, - "t": 128.8489990234375, - "r": 504.0033874511719, - "b": 96.76458740234375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 290 - ] - } - ] - }, - { - "self_ref": "#/texts/53", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 107.47733306884766, - "t": 90.18896484375, - "r": 504.123046875, - "b": 69.5284423828125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 192 - ] - } - ] - }, - { - "self_ref": "#/texts/54", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 4, - "bbox": { - "l": 302.41058349609375, - "t": 49.65472412109375, - "r": 308.49029541015625, - "b": 39.960079193115234, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ] - }, - { - "self_ref": "#/texts/55", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 107.42681121826172, - "t": 717.5958862304688, - "r": 504.0035400390625, - "b": 696.97607421875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 121 - ] - } - ] - }, - { - "self_ref": "#/texts/56", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "caption", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 107.0246810913086, - "t": 686.1126708984375, - "r": 504.30712890625, - "b": 643.7755126953125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 383 - ] - } - ] - } - ], - "headings": [ - "4 Performance" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "aba1e89e529c768d59c91022321ea6e306a449d2b0b15815759ac06201064624", - "content": "4 Performance\nTable 1: Runtime characteristics of Docling with the standard model pipeline and settings, on our test dataset of 225 pages, on two different systems. OCR is disabled. We show the time-to-solution (TTS), computed throughput in pages per second, and the peak memory used (resident set size) for both the Docling-native PDF backend and for the pypdfium backend, using 4 and 16 threads.\nApple M3 Max, Thread budget.Thread budget = 4. Apple M3 Max, native backend.TTS = 177 s. Apple M3 Max, native backend.Pages/s = 1.27. Apple M3 Max, native backend.Mem = 6.20 GB. Apple M3 Max, pypdfium backend.TTS = 103 s. Apple M3 Max, pypdfium backend.Pages/s = 2.18. Apple M3 Max, pypdfium backend.Mem = 2.56 GB. (16 cores), Thread budget.Thread budget = 16. (16 cores), native backend.TTS = 167 s. (16 cores), native backend.Pages/s = 1.34. (16 cores), native backend.Mem = 6.20 GB. (16 cores), pypdfium backend.TTS = 92 s. (16 cores), pypdfium backend.Pages/s = 2.45. (16 cores), pypdfium backend.Mem = 2.56 GB. Intel(R) Xeon E5-2690, Thread budget.Thread budget = 4 16. Intel(R) Xeon E5-2690, native backend.TTS = 375 s 244 s. Intel(R) Xeon E5-2690, native backend.Pages/s = 0.60 0.92. Intel(R) Xeon E5-2690, native backend.Mem = 6.16 GB. Intel(R) Xeon E5-2690, pypdfium backend.TTS = 239 s 143 s. Intel(R) Xeon E5-2690, pypdfium backend.Pages/s = 0.94 1.57. Intel(R) Xeon E5-2690, pypdfium backend.Mem = 2.42 GB", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Apple M3 Max, Thread budget.Thread budget = 4. Apple M3 Max, native backend.TTS = 177 s. Apple M3 Max, native backend.Pages/s = 1.27. Apple M3 Max, native backend.Mem = 6.20 GB. Apple M3 Max, pypdfium backend.TTS = 103 s. Apple M3 Max, pypdfium backend.Pages/s = 2.18. Apple M3 Max, pypdfium backend.Mem = 2.56 GB. (16 cores), Thread budget.Thread budget = 16. (16 cores), native backend.TTS = 167 s. (16 cores), native backend.Pages/s = 1.34. (16 cores), native backend.Mem = 6.20 GB. (16 cores), pypdfium backend.TTS = 92 s. (16 cores), pypdfium backend.Pages/s = 2.45. (16 cores), pypdfium backend.Mem = 2.56 GB. Intel(R) Xeon E5-2690, Thread budget.Thread budget = 4 16. Intel(R) Xeon E5-2690, native backend.TTS = 375 s 244 s. Intel(R) Xeon E5-2690, native backend.Pages/s = 0.60 0.92. Intel(R) Xeon E5-2690, native backend.Mem = 6.16 GB. Intel(R) Xeon E5-2690, pypdfium backend.TTS = 239 s 143 s. Intel(R) Xeon E5-2690, pypdfium backend.Pages/s = 0.94 1.57. Intel(R) Xeon E5-2690, pypdfium backend.Mem = 2.42 GB", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/tables/0", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 133.71340942382812, - "t": 635.0601806640625, - "r": 477.5060729980469, - "b": 542.3740844726562, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ] - } - ], - "headings": [ - "4 Performance" - ], - "captions": [ - "Table 1: Runtime characteristics of Docling with the standard model pipeline and settings, on our test dataset of 225 pages, on two different systems. OCR is disabled. We show the time-to-solution (TTS), computed throughput in pages per second, and the peak memory used (resident set size) for both the Docling-native PDF backend and for the pypdfium backend, using 4 and 16 threads." - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "196554a12b55072905c1f05f7fa9d53896d4035f75eca31b908fd15734915c10", - "content": "5 Applications\nThanks to the high-quality, richly structured document conversion achieved by Docling, its output qualifies for numerous downstream applications. For example, Docling can provide a base for detailed enterprise document search, passage retrieval or classification use-cases, or support knowledge extraction pipelines, allowing specific treatment of different structures in the document, such as tables, figures, section structure or references. For popular generative AI application patterns, such as retrieval-augmented generation (RAG), we provide quackling , an open-source package which capitalizes on Docling's feature-rich document output to enable document-native optimized vector embedding and chunking. It plugs in seamlessly with LLM frameworks such as LlamaIndex [8]. Since Docling is fast, stable and cheap to run, it also makes for an excellent choice to build document-derived datasets. With its powerful table structure recognition, it provides significant benefit to automated knowledge-base construction [11, 10]. Docling is also integrated within the open IBM data prep kit [6], which implements scalable data transforms to build large-scale multi-modal training datasets.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Thanks to the high-quality, richly structured document conversion achieved by Docling, its output qualifies for numerous downstream applications. For example, Docling can provide a base for detailed enterprise document search, passage retrieval or classification use-cases, or support knowledge extraction pipelines, allowing specific treatment of different structures in the document, such as tables, figures, section structure or references. For popular generative AI application patterns, such as retrieval-augmented generation (RAG), we provide quackling , an open-source package which capitalizes on Docling's feature-rich document output to enable document-native optimized vector embedding and chunking. It plugs in seamlessly with LLM frameworks such as LlamaIndex [8]. Since Docling is fast, stable and cheap to run, it also makes for an excellent choice to build document-derived datasets. With its powerful table structure recognition, it provides significant benefit to automated knowledge-base construction [11, 10]. Docling is also integrated within the open IBM data prep kit [6], which implements scalable data transforms to build large-scale multi-modal training datasets.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/58", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 107.10533142089844, - "t": 504.97296142578125, - "r": 504.0229187011719, - "b": 364.4931335449219, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1189 - ] - } - ] - } - ], - "headings": [ - "5 Applications" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "cac2f628037f12ceda1caf37bdd1b5c620410c8c5352db2a375268624b58157f", - "content": "6 Future work and contributions\nDocling is designed to allow easy extension of the model library and pipelines. In the future, we plan to extend Docling with several more models, such as a figure-classifier model, an equationrecognition model, a code-recognition model and more. This will help improve the quality of conversion for specific types of content, as well as augment extracted document metadata with additional information. Further investment into testing and optimizing GPU acceleration as well as improving the Docling-native PDF backend are on our roadmap, too.\nWe encourage everyone to propose or implement additional features and models, and will gladly take your inputs and contributions under review . The codebase of Docling is open for use and contribution, under the MIT license agreement and in alignment with our contributing guidelines included in the Docling repository. If you use Docling in your projects, please consider citing this technical report.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Docling is designed to allow easy extension of the model library and pipelines. In the future, we plan to extend Docling with several more models, such as a figure-classifier model, an equationrecognition model, a code-recognition model and more. This will help improve the quality of conversion for specific types of content, as well as augment extracted document metadata with additional information. Further investment into testing and optimizing GPU acceleration as well as improving the Docling-native PDF backend are on our roadmap, too.\nWe encourage everyone to propose or implement additional features and models, and will gladly take your inputs and contributions under review . The codebase of Docling is open for use and contribution, under the MIT license agreement and in alignment with our contributing guidelines included in the Docling repository. If you use Docling in your projects, please consider citing this technical report.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/60", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 106.92281341552734, - "t": 323.5386657714844, - "r": 504.00347900390625, - "b": 258.76641845703125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 543 - ] - } - ] - }, - { - "self_ref": "#/texts/61", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 107.04397583007812, - "t": 252.4183349609375, - "r": 504.0430908203125, - "b": 198.77685546875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 402 - ] - } - ] - } - ], - "headings": [ - "6 Future work and contributions" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "9c3c6693e0d33d7d1fb33cad381de5a999863fa3e278411164cbd6d5dcacf410", - "content": "References\n[1] J. AI. Easyocr: Ready-to-use ocr with 80+ supported languages. https://github.com/ JaidedAI/EasyOCR , 2024. Version: 1.7.0.\n[2] J. Ansel, E. Yang, H. He, N. Gimelshein, A. Jain, M. Voznesensky, B. Bao, P. Bell, D. Berard, E. Burovski, G. Chauhan, A. Chourdia, W. Constable, A. Desmaison, Z. DeVito, E. Ellison, W. Feng, J. Gong, M. Gschwind, B. Hirsh, S. Huang, K. Kalambarkar, L. Kirsch, M. Lazos, M. Lezcano, Y. Liang, J. Liang, Y. Lu, C. Luk, B. Maher, Y. Pan, C. Puhrsch, M. Reso, M. Saroufim, M. Y. Siraichi, H. Suk, M. Suo, P. Tillet, E. Wang, X. Wang, W. Wen, S. Zhang, X. Zhao, K. Zhou, R. Zou, A. Mathews, G. Chanan, P. Wu, and S. Chintala. Pytorch 2: Faster\n5\nmachine learning through dynamic python bytecode transformation and graph compilation. In Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2 (ASPLOS '24) . ACM, 4 2024. doi: 10.1145/3620665.3640366. URL https://pytorch.org/assets/pytorch2-2.pdf .", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "[1] J. AI. Easyocr: Ready-to-use ocr with 80+ supported languages. https://github.com/ JaidedAI/EasyOCR , 2024. Version: 1.7.0.\n[2] J. Ansel, E. Yang, H. He, N. Gimelshein, A. Jain, M. Voznesensky, B. Bao, P. Bell, D. Berard, E. Burovski, G. Chauhan, A. Chourdia, W. Constable, A. Desmaison, Z. DeVito, E. Ellison, W. Feng, J. Gong, M. Gschwind, B. Hirsh, S. Huang, K. Kalambarkar, L. Kirsch, M. Lazos, M. Lezcano, Y. Liang, J. Liang, Y. Lu, C. Luk, B. Maher, Y. Pan, C. Puhrsch, M. Reso, M. Saroufim, M. Y. Siraichi, H. Suk, M. Suo, P. Tillet, E. Wang, X. Wang, W. Wen, S. Zhang, X. Zhao, K. Zhou, R. Zou, A. Mathews, G. Chanan, P. Wu, and S. Chintala. Pytorch 2: Faster\n5\nmachine learning through dynamic python bytecode transformation and graph compilation. In Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2 (ASPLOS '24) . ACM, 4 2024. doi: 10.1145/3620665.3640366. URL https://pytorch.org/assets/pytorch2-2.pdf .", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/63", - "parent": { - "$ref": "#/groups/1" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 112.33451843261719, - "t": 163.731201171875, - "r": 504.0009460449219, - "b": 142.08197021484375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 127 - ] - } - ] - }, - { - "self_ref": "#/texts/64", - "parent": { - "$ref": "#/groups/1" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 112.45421600341797, - "t": 134.16204833984375, - "r": 504.0035095214844, - "b": 69.84818267822266, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 543 - ] - } - ] - }, - { - "self_ref": "#/texts/65", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 5, - "bbox": { - "l": 302.7286376953125, - "t": 49.4200439453125, - "r": 308.49029541015625, - "b": 39.96018600463867, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ] - }, - { - "self_ref": "#/texts/66", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 129.0050048828125, - "t": 717.4641723632812, - "r": 504.0033264160156, - "b": 674.812744140625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 331 - ] - } - ] - } - ], - "headings": [ - "References" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "446cd94ee822344c23e139b971fb8c17c8b72e38e18c4395137f565debe49f81", - "content": "References\n[3] C. Auer, M. Dolfi, A. Carvalho, C. B. Ramis, and P. W. Staar. Delivering document conversion as a cloud service with high throughput and responsiveness. In 2022 IEEE 15th International Conference on Cloud Computing (CLOUD) , pages 363-373. IEEE, 2022.\n[4] J. Berkenbilt. Qpdf: A content-preserving pdf document transformer, 2024. URL https: //github.com/qpdf/qpdf .\n[5] O. R. developers. Onnx runtime. https://onnxruntime.ai/ , 2024. Version: 1.18.1.\n[6] IBM. Data Prep Kit: a community project to democratize and accelerate unstructured data preparation for LLM app developers, 2024. URL https://github.com/IBM/ data-prep-kit .\n[7] A. S. Inc. PyMuPDF, 2024. URL https://github.com/pymupdf/PyMuPDF .\n[8] J. Liu. LlamaIndex, 11 2022. URL https://github.com/jerryjliu/llama_index .\n[9] M. Lysak, A. Nassar, N. Livathinos, C. Auer, and P. Staar. Optimized Table Tokenization for Table Structure Recognition. In Document Analysis and Recognition - ICDAR 2023: 17th International Conference, San Jos'e, CA, USA, August 21-26, 2023, Proceedings, Part II , pages 37-50, Berlin, Heidelberg, Aug. 2023. Springer-Verlag. ISBN 978-3-031-41678-1. doi: 10. 1007/978-3-031-41679-8 3. URL https://doi.org/10.1007/978-3-031-41679-8_3 .", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "[3] C. Auer, M. Dolfi, A. Carvalho, C. B. Ramis, and P. W. Staar. Delivering document conversion as a cloud service with high throughput and responsiveness. In 2022 IEEE 15th International Conference on Cloud Computing (CLOUD) , pages 363-373. IEEE, 2022.\n[4] J. Berkenbilt. Qpdf: A content-preserving pdf document transformer, 2024. URL https: //github.com/qpdf/qpdf .\n[5] O. R. developers. Onnx runtime. https://onnxruntime.ai/ , 2024. Version: 1.18.1.\n[6] IBM. Data Prep Kit: a community project to democratize and accelerate unstructured data preparation for LLM app developers, 2024. URL https://github.com/IBM/ data-prep-kit .\n[7] A. S. Inc. PyMuPDF, 2024. URL https://github.com/pymupdf/PyMuPDF .\n[8] J. Liu. LlamaIndex, 11 2022. URL https://github.com/jerryjliu/llama_index .\n[9] M. Lysak, A. Nassar, N. Livathinos, C. Auer, and P. Staar. Optimized Table Tokenization for Table Structure Recognition. In Document Analysis and Recognition - ICDAR 2023: 17th International Conference, San Jos'e, CA, USA, August 21-26, 2023, Proceedings, Part II , pages 37-50, Berlin, Heidelberg, Aug. 2023. Springer-Verlag. ISBN 978-3-031-41678-1. doi: 10. 1007/978-3-031-41679-8 3. URL https://doi.org/10.1007/978-3-031-41679-8_3 .", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/67", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 112.47968292236328, - "t": 665.970458984375, - "r": 504.3585510253906, - "b": 634.421630859375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 255 - ] - } - ] - }, - { - "self_ref": "#/texts/68", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 112.59274291992188, - "t": 625.3558349609375, - "r": 504.00018310546875, - "b": 603.854736328125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 113 - ] - } - ] - }, - { - "self_ref": "#/texts/69", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 112.65106964111328, - "t": 595.5201416015625, - "r": 478.88665771484375, - "b": 585.318359375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 84 - ] - } - ] - }, - { - "self_ref": "#/texts/70", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 112.5077896118164, - "t": 576.7722778320312, - "r": 504.0283508300781, - "b": 544.3335571289062, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 177 - ] - } - ] - }, - { - "self_ref": "#/texts/71", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 112.71062469482422, - "t": 536.3712768554688, - "r": 447.4246826171875, - "b": 526.034423828125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 70 - ] - } - ] - }, - { - "self_ref": "#/texts/72", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 112.72732543945312, - "t": 516.6817016601562, - "r": 483.91107177734375, - "b": 506.7769470214844, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 79 - ] - } - ] - }, - { - "self_ref": "#/texts/73", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 112.50459289550781, - "t": 498.0171203613281, - "r": 504.004638671875, - "b": 444.5917053222656, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 439 - ] - } - ] - } - ], - "headings": [ - "References" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "554d36b311f761531a0dcf8015bbc043837a1147224a188f49b316fd81cd1c53", - "content": "References\n[10] L. Mishra, S. Dhibi, Y. Kim, C. Berrospi Ramis, S. Gupta, M. Dolfi, and P. Staar. Statements: Universal information extraction from tables with large language models for ESG KPIs. In D. Stammbach, J. Ni, T. Schimanski, K. Dutia, A. Singh, J. Bingler, C. Christiaen, N. Kushwaha, V. Muccione, S. A. Vaghefi, and M. Leippold, editors, Proceedings of the 1st Workshop on Natural Language Processing Meets Climate Change (ClimateNLP 2024) , pages 193-214, Bangkok, Thailand, Aug. 2024. Association for Computational Linguistics. URL https://aclanthology.org/2024.climatenlp-1.15 .\n[11] L. Morin, V. Weber, G. I. Meijer, F. Yu, and P. W. J. Staar. Patcid: an open-access dataset of chemical structures in patent documents. Nature Communications , 15(1):6532, August 2024. ISSN 2041-1723. doi: 10.1038/s41467-024-50779-y. URL https://doi.org/10.1038/ s41467-024-50779-y .\n[12] A. Nassar, N. Livathinos, M. Lysak, and P. Staar. Tableformer: Table structure understanding with transformers. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition , pages 4614-4623, 2022.\n[13] B. Pfitzmann, C. Auer, M. Dolfi, A. S. Nassar, and P. Staar. Doclaynet: a large humanannotated dataset for document-layout segmentation. pages 3743-3751, 2022.\n[14] pypdf Maintainers. pypdf: A Pure-Python PDF Library, 2024. URL https://github.com/ py-pdf/pypdf .", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "[10] L. Mishra, S. Dhibi, Y. Kim, C. Berrospi Ramis, S. Gupta, M. Dolfi, and P. Staar. Statements: Universal information extraction from tables with large language models for ESG KPIs. In D. Stammbach, J. Ni, T. Schimanski, K. Dutia, A. Singh, J. Bingler, C. Christiaen, N. Kushwaha, V. Muccione, S. A. Vaghefi, and M. Leippold, editors, Proceedings of the 1st Workshop on Natural Language Processing Meets Climate Change (ClimateNLP 2024) , pages 193-214, Bangkok, Thailand, Aug. 2024. Association for Computational Linguistics. URL https://aclanthology.org/2024.climatenlp-1.15 .\n[11] L. Morin, V. Weber, G. I. Meijer, F. Yu, and P. W. J. Staar. Patcid: an open-access dataset of chemical structures in patent documents. Nature Communications , 15(1):6532, August 2024. ISSN 2041-1723. doi: 10.1038/s41467-024-50779-y. URL https://doi.org/10.1038/ s41467-024-50779-y .\n[12] A. Nassar, N. Livathinos, M. Lysak, and P. Staar. Tableformer: Table structure understanding with transformers. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition , pages 4614-4623, 2022.\n[13] B. Pfitzmann, C. Auer, M. Dolfi, A. S. Nassar, and P. Staar. Doclaynet: a large humanannotated dataset for document-layout segmentation. pages 3743-3751, 2022.\n[14] pypdf Maintainers. pypdf: A Pure-Python PDF Library, 2024. URL https://github.com/ py-pdf/pypdf .", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/74", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 107.49420928955078, - "t": 435.72955322265625, - "r": 504.1082458496094, - "b": 359.86444091796875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 581 - ] - } - ] - }, - { - "self_ref": "#/texts/75", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 107.34581756591797, - "t": 351.3507995605469, - "r": 504.6417541503906, - "b": 308.78851318359375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 288 - ] - } - ] - }, - { - "self_ref": "#/texts/76", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 107.38827514648438, - "t": 299.4344177246094, - "r": 504.3544616699219, - "b": 268.1841125488281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 226 - ] - } - ] - }, - { - "self_ref": "#/texts/77", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 107.36676788330078, - "t": 258.790283203125, - "r": 504.00341796875, - "b": 238.3961181640625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 164 - ] - } - ] - }, - { - "self_ref": "#/texts/78", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 107.28363800048828, - "t": 229.4072265625, - "r": 504.00091552734375, - "b": 207.166748046875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 102 - ] - } - ] - } - ], - "headings": [ - "References" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "4bbc6b207a0c2d6c4ed96e7846b91522cb519d4194dc432083cd96c8e805152d", - "content": "References\n[15] P. Team. PyPDFium2: Python bindings for PDFium, 2024. URL https://github.com/ pypdfium2-team/pypdfium2 .\n[16] Y. Zhao, W. Lv, S. Xu, J. Wei, G. Wang, Q. Dang, Y. Liu, and J. Chen. Detrs beat yolos on real-time object detection, 2023.\n6", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "[15] P. Team. PyPDFium2: Python bindings for PDFium, 2024. URL https://github.com/ pypdfium2-team/pypdfium2 .\n[16] Y. Zhao, W. Lv, S. Xu, J. Wei, G. Wang, Q. Dang, Y. Liu, and J. Chen. Detrs beat yolos on real-time object detection, 2023.\n6", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/79", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 107.2214584350586, - "t": 199.6893310546875, - "r": 504.0008850097656, - "b": 177.491455078125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 109 - ] - } - ] - }, - { - "self_ref": "#/texts/80", - "parent": { - "$ref": "#/groups/2" - }, - "children": [], - "label": "list_item", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 107.28424072265625, - "t": 169.70806884765625, - "r": 504.0033264160156, - "b": 148.91436767578125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 128 - ] - } - ] - }, - { - "self_ref": "#/texts/81", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 6, - "bbox": { - "l": 302.7389221191406, - "t": 49.36236572265625, - "r": 308.5960998535156, - "b": 39.96012496948242, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ] - } - ], - "headings": [ - "References" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "fb41bdf2aca2f667485ee69f5c8159ccd36ce0ec12f11ea679911e4488646be6", - "content": "Appendix\nIn this section, we illustrate a few examples of Docling' s output in Markdown and JSON.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "In this section, we illustrate a few examples of Docling' s output in Markdown and JSON.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/83", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 107.6931381225586, - "t": 694.013671875, - "r": 463.7545471191406, - "b": 684.3182373046875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 88 - ] - } - ] - } - ], - "headings": [ - "Appendix" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "326474dea6af6e967000d935c6972b42d4bac3c818107b5db892bf4a3699a2b7", - "content": "DocLayNet: A Large Human-Annotated Dataset for Document-Layout Analysis\nBirgit Pfitzmann IBM Research Rueschlikon, Switzerland bpf@zurich.ibm.com\nChristoph Auer IBM Research Rueschlikon, Switzerland cau@zurich.ibm.com\nMichele Dolfi IBM Research Rueschlikon, Switzerland dol@zurich.ibm.com\nAhmed S. Nassar IBM Research Rueschlikon, Switzerland ahn@zurich.ibm.com\nPeter Staar IBM Research Rueschlikon, Switzerland taa@zurich.ibm.com", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Birgit Pfitzmann IBM Research Rueschlikon, Switzerland bpf@zurich.ibm.com\nChristoph Auer IBM Research Rueschlikon, Switzerland cau@zurich.ibm.com\nMichele Dolfi IBM Research Rueschlikon, Switzerland dol@zurich.ibm.com\nAhmed S. Nassar IBM Research Rueschlikon, Switzerland ahn@zurich.ibm.com\nPeter Staar IBM Research Rueschlikon, Switzerland taa@zurich.ibm.com", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/85", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 138.0285186767578, - "t": 650.9168701171875, - "r": 176.45944213867188, - "b": 631.6739501953125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 73 - ] - } - ] - }, - { - "self_ref": "#/texts/86", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 199.22952270507812, - "t": 650.9168701171875, - "r": 237.34890747070312, - "b": 631.6729125976562, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 71 - ] - } - ] - }, - { - "self_ref": "#/texts/87", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 260.11895751953125, - "t": 650.9168701171875, - "r": 298.3296203613281, - "b": 631.549072265625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 70 - ] - } - ] - }, - { - "self_ref": "#/texts/88", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 168.40359497070312, - "t": 629.259521484375, - "r": 206.98048400878906, - "b": 609.97509765625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 72 - ] - } - ] - }, - { - "self_ref": "#/texts/89", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 229.48968505859375, - "t": 629.259521484375, - "r": 267.6090393066406, - "b": 610.0166015625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 68 - ] - } - ] - } - ], - "headings": [ - "DocLayNet: A Large Human-Annotated Dataset for Document-Layout Analysis" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "5da20048f5e2d8dc6407ea6529d2a2e28bb15ea04c0eeb341d2253426bc97839", - "content": "ABSTRACT\nAccurate document layout analysis is a key requirement for highquality PDF document conversion. With the recent availability of public, large ground-truth datasets such as PubLayNet and DocBank, deep-learning models have proven to be very effective at layout detection and segmentation. While these datasets are of adequate size to train such models, they severely lack in layout variability since they are sourced from scientific article repositories such as PubMed and arXiv only. Consequently, the accuracy of the layout segmentation drops significantly when these models are applied on more challenging and diverse layouts. In this paper, we present $_{DocLayNet}$, a new, publicly available, document-layout annotation dataset in COCO format. It contains 80863 manually annotated pages from diverse data sources to represent a wide variability in layouts. For each PDF page, the layout annotations provide labelled bounding-boxes with a choice of 11 distinct classes. DocLayNet also provides a subset of double- and triple-annotated pages to determine the inter-annotator agreement. In multiple experiments, we provide baseline accuracy scores (in mAP) for a set of popular object detection models. We also demonstrate that these models fall approximately 10% behind the inter-annotator agreement. Furthermore, we provide evidence that DocLayNet is of sufficient size. Lastly, we compare models trained on PubLayNet, DocBank and DocLayNet, showing that layout predictions of the DocLayNettrained models are more robust and thus the preferred choice for general-purpose document-layout analysis.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Accurate document layout analysis is a key requirement for highquality PDF document conversion. With the recent availability of public, large ground-truth datasets such as PubLayNet and DocBank, deep-learning models have proven to be very effective at layout detection and segmentation. While these datasets are of adequate size to train such models, they severely lack in layout variability since they are sourced from scientific article repositories such as PubMed and arXiv only. Consequently, the accuracy of the layout segmentation drops significantly when these models are applied on more challenging and diverse layouts. In this paper, we present $_{DocLayNet}$, a new, publicly available, document-layout annotation dataset in COCO format. It contains 80863 manually annotated pages from diverse data sources to represent a wide variability in layouts. For each PDF page, the layout annotations provide labelled bounding-boxes with a choice of 11 distinct classes. DocLayNet also provides a subset of double- and triple-annotated pages to determine the inter-annotator agreement. In multiple experiments, we provide baseline accuracy scores (in mAP) for a set of popular object detection models. We also demonstrate that these models fall approximately 10% behind the inter-annotator agreement. Furthermore, we provide evidence that DocLayNet is of sufficient size. Lastly, we compare models trained on PubLayNet, DocBank and DocLayNet, showing that layout predictions of the DocLayNettrained models are more robust and thus the preferred choice for general-purpose document-layout analysis.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/91", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 123.66893768310547, - "t": 602.5093994140625, - "r": 214.2318878173828, - "b": 500.3504333496094, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1599 - ] - } - ] - } - ], - "headings": [ - "ABSTRACT" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "697fb5694df35ac5dd5d7a26fa6fad0b7a8e074da2d295fd605cc557cce25605", - "content": "CCS CONCEPTS\n\u00b7 Information systems \u2192 Document structure ; \u00b7 Applied computing \u2192 Document analysis ; \u00b7 Computing methodologies \u2192 Machine learning ; Computer vision ; $_{Object detection}$;\nPermission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profi t or commercial advantage and that copies bear this notice and the full citation on thefirst page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s). KDD '22, August 14-18, 2022, Washington, DC, USA \u00a9 2022 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-9385-0/22/08. https://doi.org/10.1145/3534678.3539043", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "\u00b7 Information systems \u2192 Document structure ; \u00b7 Applied computing \u2192 Document analysis ; \u00b7 Computing methodologies \u2192 Machine learning ; Computer vision ; $_{Object detection}$;\nPermission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profi t or commercial advantage and that copies bear this notice and the full citation on thefirst page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s). KDD '22, August 14-18, 2022, Washington, DC, USA \u00a9 2022 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-9385-0/22/08. https://doi.org/10.1145/3534678.3539043", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/93", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 124.05064392089844, - "t": 490.005126953125, - "r": 215.08236694335938, - "b": 476.94268798828125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 174 - ] - } - ] - }, - { - "self_ref": "#/texts/94", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 123.8716049194336, - "t": 464.7064514160156, - "r": 214.06785583496094, - "b": 436.57623291015625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 566 - ] - } - ] - } - ], - "headings": [ - "CCS CONCEPTS" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "7db691b8ca975ba9367e8be38aee0ae69fdd8bc050ae730d0146644c2008292c", - "content": "DocLayNet: A Large Human-Annotated Dataset for Document-Layout Analysis\nBirgit Pfitzmann IBM Research Rueschlikon, Switzerland bpf@zurich.ibm.com\nChristoph Auer IBM Research Rueschlikon, Switzerland cau@zurich.ibm.com\nMichele Dolfi IBM Research Rueschlikon, Switzerland dol@zurich.ibm.com\nAhmed S. Nassar IBM Research Rueschlikon, Switzerland ahn@zurich.ibm.com\nPeter Staar IBM Research Rueschlikon, Switzerland taa@zurich.ibm.com", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Birgit Pfitzmann IBM Research Rueschlikon, Switzerland bpf@zurich.ibm.com\nChristoph Auer IBM Research Rueschlikon, Switzerland cau@zurich.ibm.com\nMichele Dolfi IBM Research Rueschlikon, Switzerland dol@zurich.ibm.com\nAhmed S. Nassar IBM Research Rueschlikon, Switzerland ahn@zurich.ibm.com\nPeter Staar IBM Research Rueschlikon, Switzerland taa@zurich.ibm.com", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/96", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.2007141113281, - "t": 657.4287109375, - "r": 433.130126953125, - "b": 653.031005859375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 73 - ] - } - ] - }, - { - "self_ref": "#/texts/97", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.6015930175781, - "t": 648.9207153320312, - "r": 432.7991943359375, - "b": 645.91748046875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 71 - ] - } - ] - }, - { - "self_ref": "#/texts/98", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.18927001953125, - "t": 641.90869140625, - "r": 429.5950012207031, - "b": 637.8482666015625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 70 - ] - } - ] - }, - { - "self_ref": "#/texts/99", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.2640075683594, - "t": 633.8328857421875, - "r": 436.4726867675781, - "b": 629.6668090820312, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 72 - ] - } - ] - }, - { - "self_ref": "#/texts/100", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.2624206542969, - "t": 625.7568359375, - "r": 427.5014953613281, - "b": 621.548583984375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 68 - ] - } - ] - } - ], - "headings": [ - "DocLayNet: A Large Human-Annotated Dataset for Document-Layout Analysis" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "a6d102658b2713fcfb1326cb4c57dde212749d18a726fb54639a4f7fb4799de0", - "content": "ABSTRACT\nAccurate document layout analysis is a key requirement for highquality PDF document conversion. With the recent availability of public, large groundtruth datasets such as PubLayNet and DocBank, deep-learning models have proven to be very effective at layout detection and segmentation. While these datasets are of adequate size to train such models, they severely lack in layout variability since they are sourced from scientific article repositories such as PubMed and arXiv only. Consequently, the accuracy of the layout segmentation drops significantly when these models are applied on more challenging and diverse layouts. In this paper, we present DocLayNet , a new, publicly available, document-layout annotation dataset in COCO format. It contains 80863 manually annotated pages from diverse data sources to represent a wide variability in layouts. For each PDF page, the layout annotations provide labelled bounding-boxes with a choice of 11 distinct classes. DocLayNet also provides a subset of double- and triple-annotated pages to determine the inter-annotator agreement. In multiple experiments, we provide baseline accuracy scores (in mAP) for a set of popular object detection models. We also demonstrate that these models fall approximately 10% behind the inter-annotator agreement. Furthermore, we provide evidence that DocLayNet is of sufficient size. Lastly, we compare models trained on PubLayNet, DocBank and DocLayNet, showing that layout predictions of the DocLayNettrained models are more robust and thus the preferred choice for general-purpose document-layout analysis.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Accurate document layout analysis is a key requirement for highquality PDF document conversion. With the recent availability of public, large groundtruth datasets such as PubLayNet and DocBank, deep-learning models have proven to be very effective at layout detection and segmentation. While these datasets are of adequate size to train such models, they severely lack in layout variability since they are sourced from scientific article repositories such as PubMed and arXiv only. Consequently, the accuracy of the layout segmentation drops significantly when these models are applied on more challenging and diverse layouts. In this paper, we present DocLayNet , a new, publicly available, document-layout annotation dataset in COCO format. It contains 80863 manually annotated pages from diverse data sources to represent a wide variability in layouts. For each PDF page, the layout annotations provide labelled bounding-boxes with a choice of 11 distinct classes. DocLayNet also provides a subset of double- and triple-annotated pages to determine the inter-annotator agreement. In multiple experiments, we provide baseline accuracy scores (in mAP) for a set of popular object detection models. We also demonstrate that these models fall approximately 10% behind the inter-annotator agreement. Furthermore, we provide evidence that DocLayNet is of sufficient size. Lastly, we compare models trained on PubLayNet, DocBank and DocLayNet, showing that layout predictions of the DocLayNettrained models are more robust and thus the preferred choice for general-purpose document-layout analysis.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/102", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 328.861083984375, - "t": 604.5524291992188, - "r": 528.3615112304688, - "b": 549.0685424804688, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1594 - ] - } - ] - } - ], - "headings": [ - "ABSTRACT" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "1af04626669399966075a62ec7f3126b3e6f763a145a4daa4813bb980071d8ee", - "content": "CCS CONCEPTS\n$_{\u00b7 Information systems }$\u2192$_{ Document structure ; \u00b7 Applied computing }$ \u2192$_{ Document analysis ; \u00b7 Computing methodologies }$\u2192$_{ Machine learning ;}$ Computer vision ; Object detection ;\nPermission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s).\nKDD '22, August 14-18, 2022, Washington, DC, USA \u00a9 2022 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-9385-0/22/08. https://doi.org/10.1145/3534678.3539043\nFigure 1: Four examples of complex page layouts across different document categories", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "$_{\u00b7 Information systems }$\u2192$_{ Document structure ; \u00b7 Applied computing }$ \u2192$_{ Document analysis ; \u00b7 Computing methodologies }$\u2192$_{ Machine learning ;}$ Computer vision ; Object detection ;\nPermission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s).\nKDD '22, August 14-18, 2022, Washington, DC, USA \u00a9 2022 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-9385-0/22/08. https://doi.org/10.1145/3534678.3539043\nFigure 1: Four examples of complex page layouts across different document categories", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/104", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.4852600097656, - "t": 532.8919067382812, - "r": 516.2509155273438, - "b": 523.6624755859375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 191 - ] - } - ] - }, - { - "self_ref": "#/texts/105", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.1643371582031, - "t": 519.994873046875, - "r": 527.3062133789062, - "b": 506.2882080078125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 397 - ] - } - ] - }, - { - "self_ref": "#/texts/106", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.1140441894531, - "t": 502.5775146484375, - "r": 513.2442016601562, - "b": 493.3287353515625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 168 - ] - } - ] - }, - { - "self_ref": "#/texts/107", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.0572509765625, - "t": 490.3890686035156, - "r": 445.8473205566406, - "b": 486.1141662597656, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 84 - ] - } - ] - } - ], - "headings": [ - "CCS CONCEPTS" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "3fd5cf7b3a2477806eefeb53c30ba8ec25bc3fd74c4da8693319b5dfe79b9173", - "content": "KEYWORDS\nPDF document conversion, layout segmentation, object-detection, data set, Machine Learning", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "PDF document conversion, layout segmentation, object-detection, data set, Machine Learning", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/109", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.092529296875, - "t": 469.5487365722656, - "r": 454.5943603515625, - "b": 465.4438781738281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 90 - ] - } - ] - } - ], - "headings": [ - "KEYWORDS" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "a99a839908f4308b03d468a22293885b80b2a0d3ece3f31f320a02adc748a05a", - "content": "ACM Reference Format:\nBirgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar. 2022. DocLayNet: A Large Human-Annotated Dataset for DocumentLayout Analysis. In Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '22), August 14-18, 2022, Washington, DC, USA. ACM, New York, NY, USA, 9 pages. https://doi.org/10.1145/ 3534678.3539043\nFigure 1: Four examples of complex page layouts across different document categories", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar. 2022. DocLayNet: A Large Human-Annotated Dataset for DocumentLayout Analysis. In Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '22), August 14-18, 2022, Washington, DC, USA. ACM, New York, NY, USA, 9 pages. https://doi.org/10.1145/ 3534678.3539043\nFigure 1: Four examples of complex page layouts across different document categories", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/111", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 328.9222412109375, - "t": 448.7705383300781, - "r": 528.159423828125, - "b": 435.41400146484375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 374 - ] - } - ] - }, - { - "self_ref": "#/texts/112", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "caption", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 221.84927368164062, - "t": 499.2803955078125, - "r": 312.25115966796875, - "b": 490.75177001953125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 84 - ] - } - ] - } - ], - "headings": [ - "ACM Reference Format:" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "e306299fa5ee1ada5a6ae0601c662f5589a5158227e31e88e6d52b2d10a4abd1", - "content": "KEYWORDS\nPDF document conversion, layout segmentation, object-detection, data set, Machine Learning", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "PDF document conversion, layout segmentation, object-detection, data set, Machine Learning", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/114", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 222.00753784179688, - "t": 474.62298583984375, - "r": 312.0212097167969, - "b": 465.4729919433594, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 90 - ] - } - ] - } - ], - "headings": [ - "KEYWORDS" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "38298f81ef9f3b5c7566d93c8bb9db58d2818ad070b23abfb4bf9a2841e9acf3", - "content": "ACM Reference Format:\nBirgit Pfitzmann, Christoph Auer, Michele Dolfi , Ahmed S. Nassar, and Peter Staar. 2022. DocLayNet: A Large Human-Annotated Dataset for DocumentLayout Analysis. In Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '22), August 14-18, 2022, Wash-$_{ington, DC, USA.}$ACM, New York, NY, USA, 9 pages. https://doi.org/10.1145/ 3534678.3539043\n1 INTRODUCTION\nDespite the substantial improvements achieved with machine-learning (ML) approaches and deep neural networks in recent years, document conversion remains a challenging problem, as demonstrated by the numerous public competitions held on this topic [1-4]. The challenge originates from the huge variability in PDF documents regarding layout, language and formats (scanned, programmatic or a combination of both). Engineering a single ML model that can be applied on all types of documents and provides high-quality layout segmentation remains to this day extremely challenging [5]. To highlight the variability in document layouts, we show a few example documents from the DocLayNet dataset in Figure 1. Figure 2: Title page of the DocLayNet paper (arxiv .org/pdf/2206.01062) - left PDF, right rendered Markdown. If recognized, metadata such as authors are appearing first under the title. Text content inside figures is currently dropped, the caption is retained and linked to the figure in the JSON representation (not shown).\n7\narXiv:2206.01062v1 [cs.CV] 2 Jun 2022\nKDD '22, August 14-18, 2022, Washington, DC, USA Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Birgit Pfitzmann, Christoph Auer, Michele Dolfi , Ahmed S. Nassar, and Peter Staar. 2022. DocLayNet: A Large Human-Annotated Dataset for DocumentLayout Analysis. In Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '22), August 14-18, 2022, Wash-$_{ington, DC, USA.}$ACM, New York, NY, USA, 9 pages. https://doi.org/10.1145/ 3534678.3539043\n1 INTRODUCTION\nDespite the substantial improvements achieved with machine-learning (ML) approaches and deep neural networks in recent years, document conversion remains a challenging problem, as demonstrated by the numerous public competitions held on this topic [1-4]. The challenge originates from the huge variability in PDF documents regarding layout, language and formats (scanned, programmatic or a combination of both). Engineering a single ML model that can be applied on all types of documents and provides high-quality layout segmentation remains to this day extremely challenging [5]. To highlight the variability in document layouts, we show a few example documents from the DocLayNet dataset in Figure 1. Figure 2: Title page of the DocLayNet paper (arxiv .org/pdf/2206.01062) - left PDF, right rendered Markdown. If recognized, metadata such as authors are appearing first under the title. Text content inside figures is currently dropped, the caption is retained and linked to the figure in the JSON representation (not shown).\n7\narXiv:2206.01062v1 [cs.CV] 2 Jun 2022\nKDD '22, August 14-18, 2022, Washington, DC, USA Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/116", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 221.68344116210938, - "t": 458.718994140625, - "r": 312.1560974121094, - "b": 436.15557861328125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 380 - ] - } - ] - }, - { - "self_ref": "#/texts/117", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 329.6015930175781, - "t": 428.9794921875, - "r": 373.37646484375, - "b": 423.8311462402344, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 14 - ] - } - ] - }, - { - "self_ref": "#/texts/118", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 107.31889343261719, - "t": 420.2637939453125, - "r": 527.5916137695312, - "b": 377.62860107421875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1027 - ] - } - ] - }, - { - "self_ref": "#/texts/119", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 302.8258056640625, - "t": 49.2652587890625, - "r": 308.49029541015625, - "b": 39.960079193115234, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ] - }, - { - "self_ref": "#/texts/120", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_header", - "prov": [ - { - "page_no": 7, - "bbox": { - "l": 110.2352066040039, - "t": 618.2011108398438, - "r": 118.32157135009766, - "b": 492.749267578125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 37 - ] - } - ] - }, - { - "self_ref": "#/texts/121", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 122.18534851074219, - "t": 563.207763671875, - "r": 338.8071594238281, - "b": 558.6549682617188, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 130 - ] - } - ] - } - ], - "headings": [ - "ACM Reference Format:" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "788f6d41f6859085070fc6444705b129150c0325ba6bb6307b985797ea461135", - "content": "ACM Reference Format:\nTable 2: Prediction performance (mAP@0.5-0.95) of object detection networks on DocLayNet test set. The MRCNN (Mask R-CNN) and FRCNN (Faster R-CNN) models with ResNet-50 or ResNet-101 backbone were trained based on the network architectures from the detectron2 model zoo (Mask R-CNN R50, R101-FPN 3x, Faster R-CNN R101-FPN 3x), with default configurations. The YOLO implementation utilized was YOLOv5x6 [13]. All models were initialised using pre-trained weights from the COCO 2017 dataset.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Table 2: Prediction performance (mAP@0.5-0.95) of object detection networks on DocLayNet test set. The MRCNN (Mask R-CNN) and FRCNN (Faster R-CNN) models with ResNet-50 or ResNet-101 backbone were trained based on the network architectures from the detectron2 model zoo (Mask R-CNN R50, R101-FPN 3x, Faster R-CNN R101-FPN 3x), with default configurations. The YOLO implementation utilized was YOLOv5x6 [13]. All models were initialised using pre-trained weights from the COCO 2017 dataset.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/122", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "caption", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 122.11329650878906, - "t": 552.1026611328125, - "r": 226.37594604492188, - "b": 509.48504638671875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 489 - ] - } - ] - } - ], - "headings": [ - "ACM Reference Format:" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "86d96d7b21f189ab38c468660bd3a7728b57f602a586209a1f9e90475730480f", - "content": "ACM Reference Format:\nTable 2: Prediction performance (mAP@0.5-0.95) of object detection networks on DocLayNet test set. The MRCNN (Mask R-CNN) and FRCNN (Faster R-CNN) models with ResNet-50 or ResNet-101 backbone were trained based on the network architectures from the detectron2 model zoo (Mask R-CNN R50, R101-FPN 3x, Faster R-CNN R101-FPN 3x), with default configurations. The YOLO implementation utilized was YOLOv5x6 [13]. All models were initialised using pre-trained weights from the COCO 2017 dataset.\nCaption, human.human = 84-89. Caption, MRCNN.R50 = 68.4. Caption, MRCNN.R101 = 71.5. Caption, FRCNN.R101 = 70.1. Caption, YOLO.v5x6 = 77.7. Footnote, human.human = 83-91. Footnote, MRCNN.R50 = 70.9. Footnote, MRCNN.R101 = 71.8. Footnote, FRCNN.R101 = 73.7. Footnote, YOLO.v5x6 = 77.2. Formula, human.human = 83-85. Formula, MRCNN.R50 = 60.1. Formula, MRCNN.R101 = 63.4. Formula, FRCNN.R101 = 63.5. Formula, YOLO.v5x6 = 66.2. List-item, human.human = 87-88. List-item, MRCNN.R50 = 81.2. List-item, MRCNN.R101 = 80.8. List-item, FRCNN.R101 = 81.0. List-item, YOLO.v5x6 = 86.2. Page-footer, human.human = 93-94. Page-footer, MRCNN.R50 = 61.6. Page-footer, MRCNN.R101 = 59.3. Page-footer, FRCNN.R101 = 58.9. Page-footer, YOLO.v5x6 = 61.1. Page-header,", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Caption, human.human = 84-89. Caption, MRCNN.R50 = 68.4. Caption, MRCNN.R101 = 71.5. Caption, FRCNN.R101 = 70.1. Caption, YOLO.v5x6 = 77.7. Footnote, human.human = 83-91. Footnote, MRCNN.R50 = 70.9. Footnote, MRCNN.R101 = 71.8. Footnote, FRCNN.R101 = 73.7. Footnote, YOLO.v5x6 = 77.2. Formula, human.human = 83-85. Formula, MRCNN.R50 = 60.1. Formula, MRCNN.R101 = 63.4. Formula, FRCNN.R101 = 63.5. Formula, YOLO.v5x6 = 66.2. List-item, human.human = 87-88. List-item, MRCNN.R50 = 81.2. List-item, MRCNN.R101 = 80.8. List-item, FRCNN.R101 = 81.0. List-item, YOLO.v5x6 = 86.2. Page-footer, human.human = 93-94. Page-footer, MRCNN.R50 = 61.6. Page-footer, MRCNN.R101 = 59.3. Page-footer, FRCNN.R101 = 58.9. Page-footer, YOLO.v5x6 = 61.1. Page-header,", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/tables/1", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 125.886474609375, - "t": 505.5043640136719, - "r": 223.0053253173828, - "b": 437.8017578125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ] - } - ], - "headings": [ - "ACM Reference Format:" - ], - "captions": [ - "Table 2: Prediction performance (mAP@0.5-0.95) of object detection networks on DocLayNet test set. The MRCNN (Mask R-CNN) and FRCNN (Faster R-CNN) models with ResNet-50 or ResNet-101 backbone were trained based on the network architectures from the detectron2 model zoo (Mask R-CNN R50, R101-FPN 3x, Faster R-CNN R101-FPN 3x), with default configurations. The YOLO implementation utilized was YOLOv5x6 [13]. All models were initialised using pre-trained weights from the COCO 2017 dataset." - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "f365b4e044030a7457c500af19490b965dc16c54fc252233bf1c9d50bb694546", - "content": "ACM Reference Format:\nTable 2: Prediction performance (mAP@0.5-0.95) of object detection networks on DocLayNet test set. The MRCNN (Mask R-CNN) and FRCNN (Faster R-CNN) models with ResNet-50 or ResNet-101 backbone were trained based on the network architectures from the detectron2 model zoo (Mask R-CNN R50, R101-FPN 3x, Faster R-CNN R101-FPN 3x), with default configurations. The YOLO implementation utilized was YOLOv5x6 [13]. All models were initialised using pre-trained weights from the COCO 2017 dataset.\nhuman.human = 85-89. Page-header, MRCNN.R50 = 71.9. Page-header, MRCNN.R101 = 70.0. Page-header, FRCNN.R101 = 72.0. Page-header, YOLO.v5x6 = 67.9. Picture, human.human = 69-71. Picture, MRCNN.R50 = 71.7. Picture, MRCNN.R101 = 72.7. Picture, FRCNN.R101 = . Picture, YOLO.v5x6 = 77.1. Section-header, human.human = 83-84. Section-header, MRCNN.R50 = 67.6. Section-header, MRCNN.R101 = 69.3. Section-header, FRCNN.R101 = 68.4. Section-header, YOLO.v5x6 = 74.6. Table, human.human = 77-81. Table, MRCNN.R50 = 82.2. Table, MRCNN.R101 = 82.9. Table, FRCNN.R101 = 82.2. Table, YOLO.v5x6 = 86.3. Text, human.human = 84-86. Text, MRCNN.R50 = 84.6. Text, MRCNN.R101 = 85.8. Text, FRCNN.R101 = 85.4. Text, YOLO.v5x6 = . , human.human = . , MRCNN.R50 = 76.7. , MRCNN.R101 =", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "human.human = 85-89. Page-header, MRCNN.R50 = 71.9. Page-header, MRCNN.R101 = 70.0. Page-header, FRCNN.R101 = 72.0. Page-header, YOLO.v5x6 = 67.9. Picture, human.human = 69-71. Picture, MRCNN.R50 = 71.7. Picture, MRCNN.R101 = 72.7. Picture, FRCNN.R101 = . Picture, YOLO.v5x6 = 77.1. Section-header, human.human = 83-84. Section-header, MRCNN.R50 = 67.6. Section-header, MRCNN.R101 = 69.3. Section-header, FRCNN.R101 = 68.4. Section-header, YOLO.v5x6 = 74.6. Table, human.human = 77-81. Table, MRCNN.R50 = 82.2. Table, MRCNN.R101 = 82.9. Table, FRCNN.R101 = 82.2. Table, YOLO.v5x6 = 86.3. Text, human.human = 84-86. Text, MRCNN.R50 = 84.6. Text, MRCNN.R101 = 85.8. Text, FRCNN.R101 = 85.4. Text, YOLO.v5x6 = . , human.human = . , MRCNN.R50 = 76.7. , MRCNN.R101 =", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/tables/1", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 125.886474609375, - "t": 505.5043640136719, - "r": 223.0053253173828, - "b": 437.8017578125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ] - } - ], - "headings": [ - "ACM Reference Format:" - ], - "captions": [ - "Table 2: Prediction performance (mAP@0.5-0.95) of object detection networks on DocLayNet test set. The MRCNN (Mask R-CNN) and FRCNN (Faster R-CNN) models with ResNet-50 or ResNet-101 backbone were trained based on the network architectures from the detectron2 model zoo (Mask R-CNN R50, R101-FPN 3x, Faster R-CNN R101-FPN 3x), with default configurations. The YOLO implementation utilized was YOLOv5x6 [13]. All models were initialised using pre-trained weights from the COCO 2017 dataset." - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "2955e39a24d73907fd28d29621925ba739a2faab30a752a9beabcbeec0636bc3", - "content": "ACM Reference Format:\nTable 2: Prediction performance (mAP@0.5-0.95) of object detection networks on DocLayNet test set. The MRCNN (Mask R-CNN) and FRCNN (Faster R-CNN) models with ResNet-50 or ResNet-101 backbone were trained based on the network architectures from the detectron2 model zoo (Mask R-CNN R50, R101-FPN 3x, Faster R-CNN R101-FPN 3x), with default configurations. The YOLO implementation utilized was YOLOv5x6 [13]. All models were initialised using pre-trained weights from the COCO 2017 dataset.\n80.4. , FRCNN.R101 = 79.9. , YOLO.v5x6 = 88.1. Title, human.human = 60-72. Title, MRCNN.R50 = . Title, MRCNN.R101 = . Title, FRCNN.R101 = . Title, YOLO.v5x6 = 82.7. All, human.human = 82-83. All, MRCNN.R50 = 72.4. All, MRCNN.R101 = 73.5. All, FRCNN.R101 = 73.4. All, YOLO.v5x6 = 76.8", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "80.4. , FRCNN.R101 = 79.9. , YOLO.v5x6 = 88.1. Title, human.human = 60-72. Title, MRCNN.R50 = . Title, MRCNN.R101 = . Title, FRCNN.R101 = . Title, YOLO.v5x6 = 82.7. All, human.human = 82-83. All, MRCNN.R50 = 72.4. All, MRCNN.R101 = 73.5. All, FRCNN.R101 = 73.4. All, YOLO.v5x6 = 76.8", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/tables/1", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 125.886474609375, - "t": 505.5043640136719, - "r": 223.0053253173828, - "b": 437.8017578125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ] - } - ], - "headings": [ - "ACM Reference Format:" - ], - "captions": [ - "Table 2: Prediction performance (mAP@0.5-0.95) of object detection networks on DocLayNet test set. The MRCNN (Mask R-CNN) and FRCNN (Faster R-CNN) models with ResNet-50 or ResNet-101 backbone were trained based on the network architectures from the detectron2 model zoo (Mask R-CNN R50, R101-FPN 3x, Faster R-CNN R101-FPN 3x), with default configurations. The YOLO implementation utilized was YOLOv5x6 [13]. All models were initialised using pre-trained weights from the COCO 2017 dataset." - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "5704352de21e8477c8e912b7a476ec2012de78fa96f53dbed5aaf5d39c75da3a", - "content": "ACM Reference Format:\nto avoid this at any cost in order to have clear, unbiased baseline numbers for human document-layout annotation. Third, we introduced the feature of snapping boxes around text segments to obtain a pixel-accurate annotation and again reduce time and effort. The CCS annotation tool automatically shrinks every user-drawn box to the minimum bounding-box around the enclosed text-cells for all purely text-based segments, which excludes only Table and $_{Picture}$. For the latter, we instructed annotation staffto minimise inclusion of surrounding whitespace while including all graphical lines. A downside of snapping boxes to enclosed text cells is that some wrongly parsed PDF pages cannot be annotated correctly and need to be skipped. Fourth, we established a way toflag pages as rejected for cases where no valid annotation according to the label guidelines could be achieved. Example cases for this would be PDF pages that render incorrectly or contain layouts that are impossible to capture with non-overlapping rectangles. Such rejected pages are not contained in thefinal dataset. With all these measures in place, experienced annotation staffmanaged to annotate a single page in a typical timeframe of 20s to 60s, depending on its complexity.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "to avoid this at any cost in order to have clear, unbiased baseline numbers for human document-layout annotation. Third, we introduced the feature of snapping boxes around text segments to obtain a pixel-accurate annotation and again reduce time and effort. The CCS annotation tool automatically shrinks every user-drawn box to the minimum bounding-box around the enclosed text-cells for all purely text-based segments, which excludes only Table and $_{Picture}$. For the latter, we instructed annotation staffto minimise inclusion of surrounding whitespace while including all graphical lines. A downside of snapping boxes to enclosed text cells is that some wrongly parsed PDF pages cannot be annotated correctly and need to be skipped. Fourth, we established a way toflag pages as rejected for cases where no valid annotation according to the label guidelines could be achieved. Example cases for this would be PDF pages that render incorrectly or contain layouts that are impossible to capture with non-overlapping rectangles. Such rejected pages are not contained in thefinal dataset. With all these measures in place, experienced annotation staffmanaged to annotate a single page in a typical timeframe of 20s to 60s, depending on its complexity.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/123", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 121.85212707519531, - "t": 431.1610107421875, - "r": 226.33633422851562, - "b": 341.54669189453125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1252 - ] - } - ] - } - ], - "headings": [ - "ACM Reference Format:" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "dc53d82468e48121d6452fbca12057fb7a4391696099fe0c6b02a3cc7737229d", - "content": "5 EXPERIMENTS\nThe primary goal of DocLayNet is to obtain high-quality ML models capable of accurate document-layout analysis on a wide variety of challenging layouts. As discussed in Section 2, object detection models are currently the easiest to use, due to the standardisation of ground-truth data in COCO format [16] and the availability of general frameworks such as detectron2 [17]. Furthermore, baseline numbers in PubLayNet and DocBank were obtained using standard object detection models such as Mask R-CNN and Faster R-CNN. As such, we will relate to these object detection methods in this\nFigure 3: Page 6 of the DocLayNet paper. If recognized, metadata such as authors are appearing first under the title. Elements recognized as page headers or footers are suppressed in Markdown to deliver uninterrupted content in reading order. Tables are inserted in reading order. The paragraph in \"5. Experiments\" wrapping over the column end is broken up in two and interrupted by the table.\nFigure 5: Prediction performance (mAP@0.5-0.95) of a Mask R-CNN network with ResNet50 backbone trained on increasing fractions of the DocLayNet dataset. The learning curv eflattens around the 80% mark, indicating that increasing the size of the DocLayNet dataset with similar data will not yield significantly better predictions.\npaper and leave the detailed evaluation of more recent methods mentioned in Section 2 for future work.\nIn this section, we will present several aspects related to the performance of object detection models on DocLayNet. Similarly as in PubLayNet, we will evaluate the quality of their predictions using mean average precision (mAP) with 10 overlaps that range from 0.5 to 0.95 in steps of 0.05 (mAP@0.5-0.95). These scores are computed by leveraging the evaluation code provided by the COCO API [16].", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "The primary goal of DocLayNet is to obtain high-quality ML models capable of accurate document-layout analysis on a wide variety of challenging layouts. As discussed in Section 2, object detection models are currently the easiest to use, due to the standardisation of ground-truth data in COCO format [16] and the availability of general frameworks such as detectron2 [17]. Furthermore, baseline numbers in PubLayNet and DocBank were obtained using standard object detection models such as Mask R-CNN and Faster R-CNN. As such, we will relate to these object detection methods in this\nFigure 3: Page 6 of the DocLayNet paper. If recognized, metadata such as authors are appearing first under the title. Elements recognized as page headers or footers are suppressed in Markdown to deliver uninterrupted content in reading order. Tables are inserted in reading order. The paragraph in \"5. Experiments\" wrapping over the column end is broken up in two and interrupted by the table.\nFigure 5: Prediction performance (mAP@0.5-0.95) of a Mask R-CNN network with ResNet50 backbone trained on increasing fractions of the DocLayNet dataset. The learning curv eflattens around the 80% mark, indicating that increasing the size of the DocLayNet dataset with similar data will not yield significantly better predictions.\npaper and leave the detailed evaluation of more recent methods mentioned in Section 2 for future work.\nIn this section, we will present several aspects related to the performance of object detection models on DocLayNet. Similarly as in PubLayNet, we will evaluate the quality of their predictions using mean average precision (mAP) with 10 overlaps that range from 0.5 to 0.95 in steps of 0.05 (mAP@0.5-0.95). These scores are computed by leveraging the evaluation code provided by the COCO API [16].", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/125", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 122.00563049316406, - "t": 327.5806884765625, - "r": 226.2816162109375, - "b": 284.8097229003906, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 584 - ] - } - ] - }, - { - "self_ref": "#/texts/126", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "caption", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 107.26910400390625, - "t": 267.0020751953125, - "r": 504.2988586425781, - "b": 224.93768310546875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 393 - ] - } - ] - }, - { - "self_ref": "#/texts/127", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 235.38954162597656, - "t": 469.9726867675781, - "r": 339.28778076171875, - "b": 441.4075927734375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 329 - ] - } - ] - }, - { - "self_ref": "#/texts/128", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 234.98081970214844, - "t": 425.5683898925781, - "r": 338.644775390625, - "b": 415.5873718261719, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 102 - ] - } - ] - }, - { - "self_ref": "#/texts/129", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 234.98487854003906, - "t": 416.19970703125, - "r": 338.76287841796875, - "b": 382.79742431640625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 397 - ] - } - ] - } - ], - "headings": [ - "5 EXPERIMENTS" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "5d01a6de3b01c1d19d9b1a9ba6aea1ccd91378f6a61836c343d91c7efabd4241", - "content": "Baselines for Object Detection\nIn Table 2, we present baseline experiments (given in mAP) on Mask R-CNN [12], Faster R-CNN [11], and YOLOv5 [13]. Both training and evaluation were performed on RGB images with dimensions of $^{1025}$\u00d71025 pixels. For training, we only used one annotation in case of redundantly annotated pages. As one can observe, the variation in mAP between the models is rather low, but overall between 6 and 10% lower than the mAP computed from the pairwise human annotations on triple-annotated pages. This gives a good indication that the DocLayNet dataset poses a worthwhile challenge for the research community to close the gap between human recognition and ML approaches. It is interesting to see that Mask R-CNN and Faster R-CNN produce very comparable mAP scores, indicating that pixel-based image segmentation derived from bounding-boxes does not help to obtain better predictions. On the other hand, the more recent Yolov5x model does very well and even out-performs humans on selected labels such as $_{Text}$, Table and $_{Picture}$. This is not entirely surprising, as and Picture are abundant and the most visually distinctive in a document.\nPrediclion Derormance (up80.5-0.85 ohobeci detecion lalo ks Doclaynal Lest saL Ine VACNN (Mask R-CNNI and FACNN (Faster A-CNM) modcs mith PosNc: 50 PosNo: 101 backtone woro trainod based on Enc nchwwcrk achrocturos tom Ihc Oeronhroase a-CNn aso rioi-Fpn Jx, FasieA-Cnn a1o1-FPN Jx), wilh delaui conlwuralions The YoUg mpomorcabon utilzod w2s YoloSyb(13| modos woro inbalsod usino cro-trunodmonhts hron Coco 2017 datasor", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "In Table 2, we present baseline experiments (given in mAP) on Mask R-CNN [12], Faster R-CNN [11], and YOLOv5 [13]. Both training and evaluation were performed on RGB images with dimensions of $^{1025}$\u00d71025 pixels. For training, we only used one annotation in case of redundantly annotated pages. As one can observe, the variation in mAP between the models is rather low, but overall between 6 and 10% lower than the mAP computed from the pairwise human annotations on triple-annotated pages. This gives a good indication that the DocLayNet dataset poses a worthwhile challenge for the research community to close the gap between human recognition and ML approaches. It is interesting to see that Mask R-CNN and Faster R-CNN produce very comparable mAP scores, indicating that pixel-based image segmentation derived from bounding-boxes does not help to obtain better predictions. On the other hand, the more recent Yolov5x model does very well and even out-performs humans on selected labels such as $_{Text}$, Table and $_{Picture}$. This is not entirely surprising, as and Picture are abundant and the most visually distinctive in a document.\nPrediclion Derormance (up80.5-0.85 ohobeci detecion lalo ks Doclaynal Lest saL Ine VACNN (Mask R-CNNI and FACNN (Faster A-CNM) modcs mith PosNc: 50 PosNo: 101 backtone woro trainod based on Enc nchwwcrk achrocturos tom Ihc Oeronhroase a-CNn aso rioi-Fpn Jx, FasieA-Cnn a1o1-FPN Jx), wilh delaui conlwuralions The YoUg mpomorcabon utilzod w2s YoloSyb(13| modos woro inbalsod usino cro-trunodmonhts hron Coco 2017 datasor", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/131", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 235.06893920898438, - "t": 370.8502197265625, - "r": 338.89947509765625, - "b": 285.920654296875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1144 - ] - } - ] - }, - { - "self_ref": "#/texts/132", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 366.3333435058594, - "t": 563.0970458984375, - "r": 527.1106567382812, - "b": 547.0772705078125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 419 - ] - } - ] - } - ], - "headings": [ - "Baselines for Object Detection" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "6ee66003af6ef748e101b0ee42690f4d0a4b0e5798896fc56df58a62478c4abc", - "content": "Baselines for Object Detection\nGaoon, noun = . Gaoon, Mrcnn = . Gaoon, MaCNN = . Gaoon, Frcne = . Gaoon, Yolo = . Foomolo, noun = . Foomolo, Mrcnn = . Foomolo, MaCNN = . Foomolo, Frcne = . Foomolo, Yolo = . Foula, noun = . Foula, Mrcnn = . Foula, MaCNN = . Foula, Frcne = . Foula, Yolo = . Ust-lern, noun = . Ust-lern, Mrcnn = . Ust-lern, MaCNN = . Ust-lern, Frcne = . Ust-lern, Yolo = . Page-locer, noun = . Page-locer, Mrcnn = . Page-locer, MaCNN = . Page-locer, Frcne = . Page-locer, Yolo = . Faqe-haje, noun = . Faqe-haje, Mrcnn = . Faqe-haje, MaCNN = . Faqe-haje, Frcne = . Faqe-haje, Yolo = . Pxlu, noun = . Pxlu, Mrcnn = . Pxlu, MaCNN = . Pxlu, Frcne = . Pxlu, Yolo = . Sonhoade, noun = . Sonhoade, Mrcnn = . Sonhoade, MaCNN = . Sonhoade, Frcne = . Sonhoade, Yolo = ", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Gaoon, noun = . Gaoon, Mrcnn = . Gaoon, MaCNN = . Gaoon, Frcne = . Gaoon, Yolo = . Foomolo, noun = . Foomolo, Mrcnn = . Foomolo, MaCNN = . Foomolo, Frcne = . Foomolo, Yolo = . Foula, noun = . Foula, Mrcnn = . Foula, MaCNN = . Foula, Frcne = . Foula, Yolo = . Ust-lern, noun = . Ust-lern, Mrcnn = . Ust-lern, MaCNN = . Ust-lern, Frcne = . Ust-lern, Yolo = . Page-locer, noun = . Page-locer, Mrcnn = . Page-locer, MaCNN = . Page-locer, Frcne = . Page-locer, Yolo = . Faqe-haje, noun = . Faqe-haje, Mrcnn = . Faqe-haje, MaCNN = . Faqe-haje, Frcne = . Faqe-haje, Yolo = . Pxlu, noun = . Pxlu, Mrcnn = . Pxlu, MaCNN = . Pxlu, Frcne = . Pxlu, Yolo = . Sonhoade, noun = . Sonhoade, Mrcnn = . Sonhoade, MaCNN = . Sonhoade, Frcne = . Sonhoade, Yolo = ", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/tables/2", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 366.86639404296875, - "t": 542.9662475585938, - "r": 460.80865478515625, - "b": 450.93499755859375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ] - } - ], - "headings": [ - "Baselines for Object Detection" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "8fc73e0a335888aff53f085a4143bd8ec3400eb082211e2022a2f143e7cdd434", - "content": "Baselines for Object Detection\niD avod Ihbs arcost cha unbasndbasolino numoc human cocumnnt-Laycut annotalion; Thrd Inirooucod leatura 0i snapoina Doxes around lerl scainunis cblan & pixel-accuiale annolaton and aJan feduce Bifre and elonThe CCS annoinbon aloMalca shruks Ovory Usor-drawnboro mnmum boundino-borarounaIho onclosod coxt-colls Purolytort basud scoitontwhich uxclldcs Ort Tatlo and Picluo latsor Inssucicdannjlabon sha mnim so inclusion Suitcurding mlospeco whloIncvon Oenoncang doans d0 oisnaocmnbors Onchse Ihal So10 wioogly Daisoc Pogcs Cannol be annotalcd coTcCEY and nccd supocd Foudn Oshdned Wuyio(aq Dagcs (ccclod Cases whcion valid anncuabon eccofding abeiqu Oelines coukbe acheneu Eamnole Case, flis wouk PDF peoe3 Ihal rendernnccrrecUy contanlavuta hat Imnosshk cantra milh Vananonnyogannio{ Suchiceciodoaoos not coralnon Ihofnn hr Aroknacoarreehetyn annollca slall nluuocd unnoln sina \" Puou lypical Lmnetamre 0l 20s 10 605 cecendnc conoanty", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "iD avod Ihbs arcost cha unbasndbasolino numoc human cocumnnt-Laycut annotalion; Thrd Inirooucod leatura 0i snapoina Doxes around lerl scainunis cblan & pixel-accuiale annolaton and aJan feduce Bifre and elonThe CCS annoinbon aloMalca shruks Ovory Usor-drawnboro mnmum boundino-borarounaIho onclosod coxt-colls Purolytort basud scoitontwhich uxclldcs Ort Tatlo and Picluo latsor Inssucicdannjlabon sha mnim so inclusion Suitcurding mlospeco whloIncvon Oenoncang doans d0 oisnaocmnbors Onchse Ihal So10 wioogly Daisoc Pogcs Cannol be annotalcd coTcCEY and nccd supocd Foudn Oshdned Wuyio(aq Dagcs (ccclod Cases whcion valid anncuabon eccofding abeiqu Oelines coukbe acheneu Eamnole Case, flis wouk PDF peoe3 Ihal rendernnccrrecUy contanlavuta hat Imnosshk cantra milh Vananonnyogannio{ Suchiceciodoaoos not coralnon Ihofnn hr Aroknacoarreehetyn annollca slall nluuocd unnoln sina \" Puou lypical Lmnetamre 0l 20s 10 605 cecendnc conoanty", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/133", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 365.95367431640625, - "t": 447.0, - "r": 530.2679443359375, - "b": 405.3583984375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 934 - ] - } - ] - } - ], - "headings": [ - "Baselines for Object Detection" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "f47d334bfb4c1079b9e26f8cb28043aaefaf2312d90dd9480295fabecb24580e", - "content": "5 EXPERIMENTS\nIne crimary goal OocVAYNo cblan hion-quality Modols AccuaiodoaMoiuvana4s WMeVanalon chalcnonglayoul: Cecurdg echon Doicdi Delccion modcb rtene Casistlo Usc, Quulo Hhndandiubon ground-vuth data COCO lornat [16] and avaladloy enetal Irarnenoiks uch derectrcnz7] Furnemmcre, baseline nmnoe < I Putun Notand DocBank calanodusnsundad coict dosnchonmodols such Mas< A CNN and Fasior A CNN SuEna blraomhdelecfa nonInr Canacle\nFauri Prco chon ocrloianC( 005-095) ola Mask A-CNN ncthoik ilh AcsNciSo backbono brainod on incrcasing Iracbons oi DocLaynei calasot Tne loannp auro altons around Ih0 \u20ac03 noicahino Ihal inxreasing /e 520 Q Iho DocL\u00f8y Nel dalasot Amardaen nol Ycid sn: dorOocC Chons LAD\npangrandloave detallod evalvallon %moro rcoarimolhods monionan Secilg Jorhlure work\nInuhs sechon All Deseni seur8/ asoecis reles00 Perormanoe ouieci celec on DoxclayNet Simamtas In PLoLaynnt oyuato tnn qualmy cuthnlr crodictionsusiramnanavnna prncisicn (TTAP) wch IDovrdaos that rangn trom 0 5ta 005 (nap,o6-00: Ml olue Fnoula Cvurbar uvalaion coou piayIed DY Ihu COCO API/161 ook", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Ine crimary goal OocVAYNo cblan hion-quality Modols AccuaiodoaMoiuvana4s WMeVanalon chalcnonglayoul: Cecurdg echon Doicdi Delccion modcb rtene Casistlo Usc, Quulo Hhndandiubon ground-vuth data COCO lornat [16] and avaladloy enetal Irarnenoiks uch derectrcnz7] Furnemmcre, baseline nmnoe < I Putun Notand DocBank calanodusnsundad coict dosnchonmodols such Mas< A CNN and Fasior A CNN SuEna blraomhdelecfa nonInr Canacle\nFauri Prco chon ocrloianC( 005-095) ola Mask A-CNN ncthoik ilh AcsNciSo backbono brainod on incrcasing Iracbons oi DocLaynei calasot Tne loannp auro altons around Ih0 \u20ac03 noicahino Ihal inxreasing /e 520 Q Iho DocL\u00f8y Nel dalasot Amardaen nol Ycid sn: dorOocC Chons LAD\npangrandloave detallod evalvallon %moro rcoarimolhods monionan Secilg Jorhlure work\nInuhs sechon All Deseni seur8/ asoecis reles00 Perormanoe ouieci celec on DoxclayNet Simamtas In PLoLaynnt oyuato tnn qualmy cuthnlr crodictionsusiramnanavnna prncisicn (TTAP) wch IDovrdaos that rangn trom 0 5ta 005 (nap,o6-00: Ml olue Fnoula Cvurbar uvalaion coou piayIed DY Ihu COCO API/161 ook", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/135", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 366.0, - "t": 391.0, - "r": 529.8655395507812, - "b": 370.37261962890625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 418 - ] - } - ] - }, - { - "self_ref": "#/texts/136", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 365.9671936035156, - "t": 367.0, - "r": 528.6666870117188, - "b": 354.9878845214844, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 268 - ] - } - ] - }, - { - "self_ref": "#/texts/137", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 365.8995056152344, - "t": 351.3333435058594, - "r": 489.40869140625, - "b": 347.69952392578125, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 83 - ] - } - ] - }, - { - "self_ref": "#/texts/138", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 366.1520690917969, - "t": 344.3362731933594, - "r": 527.7802124023438, - "b": 332.3333435058594, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 296 - ] - } - ] - } - ], - "headings": [ - "5 EXPERIMENTS" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "d2d8ff5d8d63439f9f03b2563b800b5ef4154bdb8378d129ba58a1531a89c29b", - "content": "Baselines for Object Detection\nptesenl baselne expenrnenls (Qvenin MAF) on Mas< R-CNN /121 Fasler F-CNN [11] an1 YOLOvS [13] Bou1 brann anavailang woropomormod AGa Imnoos vith dimonsions 1025 chxrols For tralring onN usodomannolatln Incaso ohcuunourfhunnolulco Dac3 Ohenn Vuruhoninptalunhamagny usnaroA en hn 10?7 loworrnannomap conoutec paicaisehuman anncrbons Aoo-amculeopnnos Ins Cves nacaton thatrhe DocLayNot daasci DOfo s mornwro clagnoo [csoarcncomrurt gap bctwoon human focogniticn and VL aporoaces nlelesuio IharNaska-CNNead Fasler GNincroova comnanen Maseoes nnocauna Ulbi AICBasodnanc scomrorubon oormvod Irom bounon)ooros Ooo{ abuin totcrorcochons Ontho chornnno Mcrocconi YolavSrmrodel does verywell und even Dul-Perdorins selectedlubels such Tedle undpcturl enbeh surcrisio Ta oloandPchre poincant amimemostasiaIN ishinsine documen: Ouau hnne\n8\nKDD '22, August 14-18, 2022, Washington, DC, USA Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "ptesenl baselne expenrnenls (Qvenin MAF) on Mas< R-CNN /121 Fasler F-CNN [11] an1 YOLOvS [13] Bou1 brann anavailang woropomormod AGa Imnoos vith dimonsions 1025 chxrols For tralring onN usodomannolatln Incaso ohcuunourfhunnolulco Dac3 Ohenn Vuruhoninptalunhamagny usnaroA en hn 10?7 loworrnannomap conoutec paicaisehuman anncrbons Aoo-amculeopnnos Ins Cves nacaton thatrhe DocLayNot daasci DOfo s mornwro clagnoo [csoarcncomrurt gap bctwoon human focogniticn and VL aporoaces nlelesuio IharNaska-CNNead Fasler GNincroova comnanen Maseoes nnocauna Ulbi AICBasodnanc scomrorubon oormvod Irom bounon)ooros Ooo{ abuin totcrorcochons Ontho chornnno Mcrocconi YolavSrmrodel does verywell und even Dul-Perdorins selectedlubels such Tedle undpcturl enbeh surcrisio Ta oloandPchre poincant amimemostasiaIN ishinsine documen: Ouau hnne\n8\nKDD '22, August 14-18, 2022, Washington, DC, USA Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/140", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 365.9697570800781, - "t": 317.6666564941406, - "r": 529.27099609375, - "b": 280.0965881347656, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 825 - ] - } - ] - }, - { - "self_ref": "#/texts/141", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 8, - "bbox": { - "l": 303.0059509277344, - "t": 48.90887451171875, - "r": 308.49029541015625, - "b": 39.960079193115234, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ] - }, - { - "self_ref": "#/texts/142", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 88.67599487304688, - "t": 598.9852294921875, - "r": 346.2541809082031, - "b": 593.6693115234375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 130 - ] - } - ] - } - ], - "headings": [ - "Baselines for Object Detection" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "e3d6ac66790577d0580394495e0b83a32df2226259dc41dff1c93f9fcc42e546", - "content": "Baselines for Object Detection\nTable 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/143", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "caption", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 88.52484130859375, - "t": 586.8209228515625, - "r": 525.9969482421875, - "b": 561.3492431640625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 699 - ] - } - ] - } - ], - "headings": [ - "Baselines for Object Detection" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "68042c6a33631bec073ab86e22cd2be2feb779ded54f0b387ffd77c3d5660d96", - "content": "Baselines for Object Detection\nTable 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B\nCaption, Count. = 22524. Caption, % of Total.Train = 2.04. Caption, % of Total.Test = 1.77. Caption, % of Total.Val = 2.32. Caption, triple inter-annotator mAP @ 0.5-0.95 (%).All = 84-89. Caption, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 40-61. Caption, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 86-92. Caption, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 94-99. Caption, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 95-99. Caption, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 69-78. Caption, triple inter-annotator mAP @ 0.5-0.95 (%).T en = n/a. Footnote, Count. = 6318. Footnote, % of Total.Train = 0.60. Footnote, % of Total.Test = 0.31. Footnote, % of Total.Val = 0.58. Footnote, triple inter-annotator mAP @ 0.5-0.95 (%).All = 83-91. Footnote, triple inter-annotator mAP @", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Caption, Count. = 22524. Caption, % of Total.Train = 2.04. Caption, % of Total.Test = 1.77. Caption, % of Total.Val = 2.32. Caption, triple inter-annotator mAP @ 0.5-0.95 (%).All = 84-89. Caption, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 40-61. Caption, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 86-92. Caption, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 94-99. Caption, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 95-99. Caption, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 69-78. Caption, triple inter-annotator mAP @ 0.5-0.95 (%).T en = n/a. Footnote, Count. = 6318. Footnote, % of Total.Train = 0.60. Footnote, % of Total.Test = 0.31. Footnote, % of Total.Val = 0.58. Footnote, triple inter-annotator mAP @ 0.5-0.95 (%).All = 83-91. Footnote, triple inter-annotator mAP @", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/tables/3", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 110.8310546875, - "t": 560.6348876953125, - "r": 323.9291076660156, - "b": 477.7417297363281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ] - } - ], - "headings": [ - "Baselines for Object Detection" - ], - "captions": [ - "Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "08ae62d69da5ce9926996bfa968f506228b4c4526fa3059c06ebfb379c6e4418", - "content": "Baselines for Object Detection\nTable 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B\n0.5-0.95 (%).Fin = n/a. Footnote, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 100. Footnote, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 62-88. Footnote, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 85-94. Footnote, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = n/a. Footnote, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 82-97. Formula, Count. = 25027. Formula, % of Total.Train = 2.25. Formula, % of Total.Test = 1.90. Formula, % of Total.Val = 2.96. Formula, triple inter-annotator mAP @ 0.5-0.95 (%).All = 83-85. Formula, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = . Formula, triple inter-annotator mAP @ 0.5-0.95 (%).Man = n/a. Formula, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 84-87. Formula, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 86-96. Formula,", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "0.5-0.95 (%).Fin = n/a. Footnote, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 100. Footnote, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 62-88. Footnote, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 85-94. Footnote, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = n/a. Footnote, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 82-97. Formula, Count. = 25027. Formula, % of Total.Train = 2.25. Formula, % of Total.Test = 1.90. Formula, % of Total.Val = 2.96. Formula, triple inter-annotator mAP @ 0.5-0.95 (%).All = 83-85. Formula, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = . Formula, triple inter-annotator mAP @ 0.5-0.95 (%).Man = n/a. Formula, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 84-87. Formula, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 86-96. Formula,", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/tables/3", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 110.8310546875, - "t": 560.6348876953125, - "r": 323.9291076660156, - "b": 477.7417297363281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ] - } - ], - "headings": [ - "Baselines for Object Detection" - ], - "captions": [ - "Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "d574bfe962d1c748eab1d411cc77feec7f79ce242c2452bc634d8aaafe77141d", - "content": "Baselines for Object Detection\nTable 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B\ntriple inter-annotator mAP @ 0.5-0.95 (%).Pat = . Formula, triple inter-annotator mAP @ 0.5-0.95 (%).T en = n/a. List-item, Count. = 185660. List-item, % of Total.Train = 17.19. List-item, % of Total.Test = 13.34. List-item, % of Total.Val = 15.82. List-item, triple inter-annotator mAP @ 0.5-0.95 (%).All = 87-88. List-item, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 74-83. List-item, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 90-92. List-item, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 97-97. List-item, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 81-85. List-item, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 75-88. List-item, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 93-95. Page-footer, Count. = 70878. Page-footer, % of Total.Train = 6.51.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "triple inter-annotator mAP @ 0.5-0.95 (%).Pat = . Formula, triple inter-annotator mAP @ 0.5-0.95 (%).T en = n/a. List-item, Count. = 185660. List-item, % of Total.Train = 17.19. List-item, % of Total.Test = 13.34. List-item, % of Total.Val = 15.82. List-item, triple inter-annotator mAP @ 0.5-0.95 (%).All = 87-88. List-item, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 74-83. List-item, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 90-92. List-item, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 97-97. List-item, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 81-85. List-item, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 75-88. List-item, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 93-95. Page-footer, Count. = 70878. Page-footer, % of Total.Train = 6.51.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/tables/3", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 110.8310546875, - "t": 560.6348876953125, - "r": 323.9291076660156, - "b": 477.7417297363281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ] - } - ], - "headings": [ - "Baselines for Object Detection" - ], - "captions": [ - "Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "00208e833c42f218bea39957687bb19a3aa08660c6219d9d073f49aeb4e1d904", - "content": "Baselines for Object Detection\nTable 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B\nPage-footer, % of Total.Test = 5.58. Page-footer, % of Total.Val = 6.00. Page-footer, triple inter-annotator mAP @ 0.5-0.95 (%).All = 93-94. Page-footer, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 88-90. Page-footer, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 95-96. Page-footer, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 100. Page-footer, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 92-97. Page-footer, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 100. Page-footer, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 96-98. Page-header, Count. = 58022. Page-header, % of Total.Train = 5.10. Page-header, % of Total.Test = 6.70. Page-header, % of Total.Val = 5.06. Page-header, triple inter-annotator mAP @ 0.5-0.95 (%).All = 85-89. Page-header, triple inter-annotator mAP @", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Page-footer, % of Total.Test = 5.58. Page-footer, % of Total.Val = 6.00. Page-footer, triple inter-annotator mAP @ 0.5-0.95 (%).All = 93-94. Page-footer, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 88-90. Page-footer, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 95-96. Page-footer, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 100. Page-footer, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 92-97. Page-footer, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 100. Page-footer, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 96-98. Page-header, Count. = 58022. Page-header, % of Total.Train = 5.10. Page-header, % of Total.Test = 6.70. Page-header, % of Total.Val = 5.06. Page-header, triple inter-annotator mAP @ 0.5-0.95 (%).All = 85-89. Page-header, triple inter-annotator mAP @", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/tables/3", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 110.8310546875, - "t": 560.6348876953125, - "r": 323.9291076660156, - "b": 477.7417297363281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ] - } - ], - "headings": [ - "Baselines for Object Detection" - ], - "captions": [ - "Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "715d5f8138d6ed180a5d9eb94134df9b1609299a7066a3e96cd8bb9aa00141d2", - "content": "Baselines for Object Detection\nTable 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B\n0.5-0.95 (%).Fin = 66-76. Page-header, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 90-94. Page-header, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 98-100. Page-header, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 91-92. Page-header, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 97-99. Page-header, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 81-86. Picture, Count. = 45976. Picture, % of Total.Train = 4.21. Picture, % of Total.Test = 2.78. Picture, % of Total.Val = 5.31. Picture, triple inter-annotator mAP @ 0.5-0.95 (%).All = 69-71. Picture, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 56-59. Picture, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 82-86. Picture, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 69-82. Picture, triple inter-annotator mAP @ 0.5-0.95", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "0.5-0.95 (%).Fin = 66-76. Page-header, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 90-94. Page-header, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 98-100. Page-header, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 91-92. Page-header, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 97-99. Page-header, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 81-86. Picture, Count. = 45976. Picture, % of Total.Train = 4.21. Picture, % of Total.Test = 2.78. Picture, % of Total.Val = 5.31. Picture, triple inter-annotator mAP @ 0.5-0.95 (%).All = 69-71. Picture, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 56-59. Picture, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 82-86. Picture, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 69-82. Picture, triple inter-annotator mAP @ 0.5-0.95", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/tables/3", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 110.8310546875, - "t": 560.6348876953125, - "r": 323.9291076660156, - "b": 477.7417297363281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ] - } - ], - "headings": [ - "Baselines for Object Detection" - ], - "captions": [ - "Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "0faabb084e405e28026c1b9e024d2fbff029bf7abc49a9129511ba70134349e7", - "content": "Baselines for Object Detection\nTable 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B\n(%).Law = 80-95. Picture, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 66-71. Picture, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 59-76. Section-header, Count. = 142884. Section-header, % of Total.Train = 12.60. Section-header, % of Total.Test = 15.77. Section-header, % of Total.Val = 12.85. Section-header, triple inter-annotator mAP @ 0.5-0.95 (%).All = 83-84. Section-header, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 76-81. Section-header, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 90-92. Section-header, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 94-95. Section-header, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 87-94. Section-header, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 69-73. Section-header, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 78-86. Table, Count. = 34733. Table,", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "(%).Law = 80-95. Picture, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 66-71. Picture, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 59-76. Section-header, Count. = 142884. Section-header, % of Total.Train = 12.60. Section-header, % of Total.Test = 15.77. Section-header, % of Total.Val = 12.85. Section-header, triple inter-annotator mAP @ 0.5-0.95 (%).All = 83-84. Section-header, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 76-81. Section-header, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 90-92. Section-header, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 94-95. Section-header, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 87-94. Section-header, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 69-73. Section-header, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 78-86. Table, Count. = 34733. Table,", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/tables/3", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 110.8310546875, - "t": 560.6348876953125, - "r": 323.9291076660156, - "b": 477.7417297363281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ] - } - ], - "headings": [ - "Baselines for Object Detection" - ], - "captions": [ - "Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "2e439d44e6fe201bf8a6ebc4b3827251f0387fc3d12cef6f9bfbe695c865b042", - "content": "Baselines for Object Detection\nTable 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B\n% of Total.Train = 3.20. Table, % of Total.Test = 2.27. Table, % of Total.Val = 3.60. Table, triple inter-annotator mAP @ 0.5-0.95 (%).All = 77-81. Table, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 75-80. Table, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 83-86. Table, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 98-99. Table, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 58-80. Table, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 79-84. Table, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 70-85. Text, Count. = 510377. Text, % of Total.Train = 45.82. Text, % of Total.Test = 49.28. Text, % of Total.Val = 45.00. Text, triple inter-annotator mAP @ 0.5-0.95 (%).All = 84-86. Text, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 81-86. Text, triple inter-annotator mAP @", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "% of Total.Train = 3.20. Table, % of Total.Test = 2.27. Table, % of Total.Val = 3.60. Table, triple inter-annotator mAP @ 0.5-0.95 (%).All = 77-81. Table, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 75-80. Table, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 83-86. Table, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 98-99. Table, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 58-80. Table, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 79-84. Table, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 70-85. Text, Count. = 510377. Text, % of Total.Train = 45.82. Text, % of Total.Test = 49.28. Text, % of Total.Val = 45.00. Text, triple inter-annotator mAP @ 0.5-0.95 (%).All = 84-86. Text, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 81-86. Text, triple inter-annotator mAP @", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/tables/3", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 110.8310546875, - "t": 560.6348876953125, - "r": 323.9291076660156, - "b": 477.7417297363281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ] - } - ], - "headings": [ - "Baselines for Object Detection" - ], - "captions": [ - "Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "fd190f6e609af8dda0161e0d14d7d76ae246e065e3f572d3e13e9d10064e23c2", - "content": "Baselines for Object Detection\nTable 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B\n0.5-0.95 (%).Man = 88-93. Text, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 89-93. Text, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 87-92. Text, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 71-79. Text, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 87-95. Title, Count. = 5071. Title, % of Total.Train = 0.47. Title, % of Total.Test = 0.30. Title, % of Total.Val = 0.50. Title, triple inter-annotator mAP @ 0.5-0.95 (%).All = 60-72. Title, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 24-63. Title, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 50-63. Title, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 94-100. Title, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 82-96. Title, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 68-79.", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "0.5-0.95 (%).Man = 88-93. Text, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 89-93. Text, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 87-92. Text, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 71-79. Text, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 87-95. Title, Count. = 5071. Title, % of Total.Train = 0.47. Title, % of Total.Test = 0.30. Title, % of Total.Val = 0.50. Title, triple inter-annotator mAP @ 0.5-0.95 (%).All = 60-72. Title, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 24-63. Title, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 50-63. Title, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 94-100. Title, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 82-96. Title, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 68-79.", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/tables/3", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 110.8310546875, - "t": 560.6348876953125, - "r": 323.9291076660156, - "b": 477.7417297363281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ] - } - ], - "headings": [ - "Baselines for Object Detection" - ], - "captions": [ - "Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "9eed8ba617a8dff773864b65ceb3701a25e48d50dc772f1461ef8d0c9507c478", - "content": "Baselines for Object Detection\nTable 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B\nTitle, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 24-56. Total, Count. = 1107470. Total, % of Total.Train = 941123. Total, % of Total.Test = 99816. Total, % of Total.Val = 66531. Total, triple inter-annotator mAP @ 0.5-0.95 (%).All = 82-83. Total, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 71-74. Total, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 79-81. Total, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 89-94. Total, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 86-91. Total, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 71-76. Total, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 68-85", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Title, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 24-56. Total, Count. = 1107470. Total, % of Total.Train = 941123. Total, % of Total.Test = 99816. Total, % of Total.Val = 66531. Total, triple inter-annotator mAP @ 0.5-0.95 (%).All = 82-83. Total, triple inter-annotator mAP @ 0.5-0.95 (%).Fin = 71-74. Total, triple inter-annotator mAP @ 0.5-0.95 (%).Man = 79-81. Total, triple inter-annotator mAP @ 0.5-0.95 (%).Sci = 89-94. Total, triple inter-annotator mAP @ 0.5-0.95 (%).Law = 86-91. Total, triple inter-annotator mAP @ 0.5-0.95 (%).Pat = 71-76. Total, triple inter-annotator mAP @ 0.5-0.95 (%).T en = 68-85", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/tables/3", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "table", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 110.8310546875, - "t": 560.6348876953125, - "r": 323.9291076660156, - "b": 477.7417297363281, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 0 - ] - } - ] - } - ], - "headings": [ - "Baselines for Object Detection" - ], - "captions": [ - "Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - }, - { - "id": "d9629b1bc4e7008f81fba119c3613918998fcc41bd33359f9dc317a15e8cb142", - "content": "Baselines for Object Detection\nFigure 3: face. The laid te be drawn the respe\nwe distribute d the annotation workload and performed continuous quality contr ols. Phase one and two required a small team of experts only. For phases three and four, a group of 40 dedicated annotators were assembled and supervised. Phase 1: Data selection and preparation. Our inclusion cri-\nof pages ed by seerties. For cument figur es or object how\nd the colfealayout labels. Pageand $_{Title}$. class cificity ed for of the ambiguous, while coverage ensures that all meaningful items on a page can be annotated. We refrained from class labels that are very specific to a document category, such as Abstract in the Scientific Articles category. We also avoided class labels that are tightly linked to the semantics of the text. Labels such as Author and $_{Affiliation}$, as seen\nteria for documents were described in Section 3. A large effort went into ensuring that all documents are free to use. The data sources in DocBank, are often only distinguishable by discriminating on $^{3}$https://arxiv.org/ Figure 4: Table 1 from the DocLayNet paper in the original PDF (A), as rendered Markdown (B) and in JSON representation (C). Spanning table cells, such as the multi-column header \"triple interannotator mAP@0.5-0.95 (%)\", is repeated for each column in the Markdown representation (B), which guarantees that every data point can be traced back to row and column headings only by its grid coordinates in the table. In the JSON representation, the span information is reflected in the fields of each table cell (C).\n9", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "text": "Figure 3: face. The laid te be drawn the respe\nwe distribute d the annotation workload and performed continuous quality contr ols. Phase one and two required a small team of experts only. For phases three and four, a group of 40 dedicated annotators were assembled and supervised. Phase 1: Data selection and preparation. Our inclusion cri-\nof pages ed by seerties. For cument figur es or object how\nd the colfealayout labels. Pageand $_{Title}$. class cificity ed for of the ambiguous, while coverage ensures that all meaningful items on a page can be annotated. We refrained from class labels that are very specific to a document category, such as Abstract in the Scientific Articles category. We also avoided class labels that are tightly linked to the semantics of the text. Labels such as Author and $_{Affiliation}$, as seen\nteria for documents were described in Section 3. A large effort went into ensuring that all documents are free to use. The data sources in DocBank, are often only distinguishable by discriminating on $^{3}$https://arxiv.org/ Figure 4: Table 1 from the DocLayNet paper in the original PDF (A), as rendered Markdown (B) and in JSON representation (C). Spanning table cells, such as the multi-column header \"triple interannotator mAP@0.5-0.95 (%)\", is repeated for each column in the Markdown representation (B), which guarantees that every data point can be traced back to row and column headings only by its grid coordinates in the table. In the JSON representation, the span information is reflected in the fields of each table cell (C).\n9", - "meta": { - "schema_name": "docling_core.transforms.chunker.DocMeta", - "version": "1.0.0", - "doc_items": [ - { - "self_ref": "#/texts/144", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "caption", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 88.67599487304688, - "t": 347.296630859375, - "r": 108.26393127441406, - "b": 318.76702880859375, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 46 - ] - } - ] - }, - { - "self_ref": "#/texts/145", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 88.50696563720703, - "t": 306.8683776855469, - "r": 212.13279724121094, - "b": 277.8305358886719, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 293 - ] - } - ] - }, - { - "self_ref": "#/texts/146", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 327.33526611328125, - "t": 415.4449157714844, - "r": 347.025390625, - "b": 375.5401916503906, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 58 - ] - } - ] - }, - { - "self_ref": "#/texts/147", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "text", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 223.4002227783203, - "t": 370.67547607421875, - "r": 347.0276794433594, - "b": 280.1531982421875, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 430 - ] - } - ] - }, - { - "self_ref": "#/texts/148", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "paragraph", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 88.67599487304688, - "t": 281.1365966796875, - "r": 504.1103515625, - "b": 213.95611572265625, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 737 - ] - } - ] - }, - { - "self_ref": "#/texts/149", - "parent": { - "$ref": "#/body" - }, - "children": [], - "label": "page_footer", - "prov": [ - { - "page_no": 9, - "bbox": { - "l": 302.54315185546875, - "t": 49.2738037109375, - "r": 308.49029541015625, - "b": 39.96010971069336, - "coord_origin": "BOTTOMLEFT" - }, - "charspan": [ - 0, - 1 - ] - } - ] - } - ], - "headings": [ - "Baselines for Object Detection" - ], - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - } - ] -} diff --git a/test/data/2408.09869v5_hs_docs_markdown.json b/test/data/2408.09869v5_hs_docs_markdown.json deleted file mode 100644 index 9000756..0000000 --- a/test/data/2408.09869v5_hs_docs_markdown.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "root": [ - { - "id": "e8a46524ae57bf87dd1c75671561a1852114190bb5b697b813aa44fa10ee938b", - "content": "## Docling Technical Report\n\nVersion 1.0\n\nChristoph Auer Maksym Lysak Ahmed Nassar Michele Dolfi Nikolaos Livathinos Panos Vagenas Cesar Berrospi Ramis Matteo Omenetti Fabian Lindlbauer Kasper Dinkla Lokesh Mishra Yusik Kim Shubham Gupta Rafael Teixeira de Lima Valery Weber Lucas Morin Ingmar Meijer Viktor Kuropiatnyk Peter W. J. Staar\n\nAI4K Group, IBM Research Ruschlikon, Switzerland\n\n## Abstract\n\nThis technical report introduces Docling , an easy to use, self-contained, MITlicensed open-source package for PDF document conversion. It is powered by state-of-the-art specialized AI models for layout analysis (DocLayNet) and table structure recognition (TableFormer), and runs efficiently on commodity hardware in a small resource budget. The code interface allows for easy extensibility and addition of new features and models.\n\n## 1 Introduction\n\nConverting PDF documents back into a machine-processable format has been a major challenge for decades due to their huge variability in formats, weak standardization and printing-optimized characteristic, which discards most structural features and metadata. With the advent of LLMs and popular application patterns such as retrieval-augmented generation (RAG), leveraging the rich content embedded in PDFs has become ever more relevant. In the past decade, several powerful document understanding solutions have emerged on the market, most of which are commercial software, cloud offerings [3] and most recently, multi-modal vision-language models. As of today, only a handful of open-source tools cover PDF conversion, leaving a significant feature and quality gap to proprietary solutions.\n\nWith Docling , we open-source a very capable and efficient document conversion tool which builds on the powerful, specialized AI models and datasets for layout analysis and table structure recognition we developed and presented in the recent past [12, 13, 9]. Docling is designed as a simple, self-contained python library with permissive license, running entirely locally on commodity hardware. Its code architecture allows for easy extensibility and addition of new features and models.\n\nHere is what Docling delivers today:\n\n- \u00b7 Converts PDF documents to JSON or Markdown format, stable and lightning fast\n- \u00b7 Understands detailed page layout, reading order, locates figures and recovers table structures\n- \u00b7 Extracts metadata from the document, such as title, authors, references and language\n- \u00b7 Optionally applies OCR, e.g. for scanned PDFs\n- \u00b7 Can be configured to be optimal for batch-mode (i.e high throughput, low time-to-solution) or interactive mode (compromise on efficiency, low time-to-solution)\n- \u00b7 Can leverage different accelerators (GPU, MPS, etc).\n\n## 2 Getting Started\n\nTo use Docling, you can simply install the docling package from PyPI. Documentation and examples are available in our GitHub repository at github.com/DS4SD/docling. All required model assets 1 are downloaded to a local huggingface datasets cache on first use, unless you choose to pre-install the model assets in advance.\n\nDocling provides an easy code interface to convert PDF documents from file system, URLs or binary streams, and retrieve the output in either JSON or Markdown format. For convenience, separate methods are offered to convert single documents or batches of documents. A basic usage example is illustrated below. Further examples are available in the Doclign code repository.\n\n```\nfrom docling.document\\_converter import DocumentConverter source = \"https :// arxiv.org/pdf /2206.01062\" # PDF path or URL converter = DocumentConverter () result = converter.convert\\_single(source) print(result.render\\_as\\_markdown ()) # output: \"## DocLayNet: A Large Human -Annotated Dataset for Document -Layout Analysis [...]\"\n```\n\nOptionally, you can configure custom pipeline features and runtime options, such as turning on or off features (e.g. OCR, table structure recognition), enforcing limits on the input document size, and defining the budget of CPU threads. Advanced usage examples and options are documented in the README file. Docling also provides a Dockerfile to demonstrate how to install and run it inside a container.\n\n## 3 Processing pipeline\n\nDocling implements a linear pipeline of operations, which execute sequentially on each given document (see Fig. 1). Each document is first parsed by a PDF backend, which retrieves the programmatic text tokens, consisting of string content and its coordinates on the page, and also renders a bitmap image of each page to support downstream operations. Then, the standard model pipeline applies a sequence of AI models independently on every page in the document to extract features and content, such as layout and table structures. Finally, the results from all pages are aggregated and passed through a post-processing stage, which augments metadata, detects the document language, infers reading-order and eventually assembles a typed document object which can be serialized to JSON or Markdown.\n\n## 3.1 PDF backends\n\nTwo basic requirements to process PDF documents in our pipeline are a) to retrieve all text content and their geometric coordinates on each page and b) to render the visual representation of each page as it would appear in a PDF viewer. Both these requirements are encapsulated in Docling's PDF backend interface. While there are several open-source PDF parsing libraries available for python, we faced major obstacles with all of them for different reasons, among which were restrictive\n\nFigure 1: Sketch of Docling's default processing pipeline. The inner part of the model pipeline is easily customizable and extensible.\n\nlicensing (e.g. pymupdf [7]), poor speed or unrecoverable quality issues, such as merged text cells across far-apart text tokens or table columns (pypdfium, PyPDF) [15, 14].\n\nWe therefore decided to provide multiple backend choices, and additionally open-source a custombuilt PDF parser, which is based on the low-level qpdf [4] library. It is made available in a separate package named docling-parse and powers the default PDF backend in Docling. As an alternative, we provide a PDF backend relying on pypdfium , which may be a safe backup choice in certain cases, e.g. if issues are seen with particular font encodings.\n\n## 3.2 AI models\n\nAs part of Docling, we initially release two highly capable AI models to the open-source community, which have been developed and published recently by our team. The first model is a layout analysis model, an accurate object-detector for page elements [13]. The second model is TableFormer [12, 9], a state-of-the-art table structure recognition model. We provide the pre-trained weights (hosted on huggingface) and a separate package for the inference code as docling-ibm-models . Both models are also powering the open-access deepsearch-experience, our cloud-native service for knowledge exploration tasks.\n\n## Layout Analysis Model\n\nOur layout analysis model is an object-detector which predicts the bounding-boxes and classes of various elements on the image of a given page. Its architecture is derived from RT-DETR [16] and re-trained on DocLayNet [13], our popular human-annotated dataset for document-layout analysis, among other proprietary datasets. For inference, our implementation relies on the onnxruntime [5].\n\nThe Docling pipeline feeds page images at 72 dpi resolution, which can be processed on a single CPU with sub-second latency. All predicted bounding-box proposals for document elements are post-processed to remove overlapping proposals based on confidence and size, and then intersected with the text tokens in the PDF to group them into meaningful and complete units such as paragraphs, section titles, list items, captions, figures or tables.\n\n## Table Structure Recognition\n\nThe TableFormer model [12], first published in 2022 and since refined with a custom structure token language [9], is a vision-transformer model for table structure recovery. It can predict the logical row and column structure of a given table based on an input image, and determine which table cells belong to column headers, row headers or the table body. Compared to earlier approaches, TableFormer handles many characteristics of tables, such as partial or no borderlines, empty cells, rows or columns, cell spans and hierarchy both on column-heading or row-heading level, tables with inconsistent indentation or alignment and other complexities. For inference, our implementation relies on PyTorch [2].\n\nThe Docling pipeline feeds all table objects detected in the layout analysis to the TableFormer model, by providing an image-crop of the table and the included text cells. TableFormer structure predictions are matched back to the PDF cells in post-processing to avoid expensive re-transcription text in the table image. Typical tables require between 2 and 6 seconds to be processed on a standard CPU, strongly depending on the amount of included table cells.\n\n## OCR\n\nDocling provides optional support for OCR, for example to cover scanned PDFs or content in bitmaps images embedded on a page. In our initial release, we rely on EasyOCR [1], a popular thirdparty OCR library with support for many languages. Docling, by default, feeds a high-resolution page image (216 dpi) to the OCR engine, to allow capturing small print detail in decent quality. While EasyOCR delivers reasonable transcription quality, we observe that it runs fairly slow on CPU (upwards of 30 seconds per page).\n\nWe are actively seeking collaboration from the open-source community to extend Docling with additional OCR backends and speed improvements.\n\n## 3.3 Assembly\n\nIn the final pipeline stage, Docling assembles all prediction results produced on each page into a well-defined datatype that encapsulates a converted document, as defined in the auxiliary package docling-core . The generated document object is passed through a post-processing model which leverages several algorithms to augment features, such as detection of the document language, correcting the reading order, matching figures with captions and labelling metadata such as title, authors and references. The final output can then be serialized to JSON or transformed into a Markdown representation at the users request.\n\n## 3.4 Extensibility\n\nDocling provides a straight-forward interface to extend its capabilities, namely the model pipeline. A model pipeline constitutes the central part in the processing, following initial document parsing and preceding output assembly, and can be fully customized by sub-classing from an abstract baseclass ( BaseModelPipeline ) or cloning the default model pipeline. This effectively allows to fully customize the chain of models, add or replace models, and introduce additional pipeline configuration parameters. To use a custom model pipeline, the custom pipeline class to instantiate can be provided as an argument to the main document conversion methods. We invite everyone in the community to propose additional or alternative models and improvements.\n\nImplementations of model classes must satisfy the python Callable interface. The \\_\\_call\\_\\_ method must accept an iterator over page objects, and produce another iterator over the page objects which were augmented with the additional features predicted by the model, by extending the provided PagePredictions data model accordingly.\n\n## 4 Performance\n\nIn this section, we establish some reference numbers for the processing speed of Docling and the resource budget it requires. All tests in this section are run with default options on our standard test set distributed with Docling, which consists of three papers from arXiv and two IBM Redbooks, with a total of 225 pages. Measurements were taken using both available PDF backends on two different hardware systems: one MacBook Pro M3 Max, and one bare-metal server running Ubuntu 20.04 LTS on an Intel Xeon E5-2690 CPU. For reproducibility, we fixed the thread budget (through setting OMP NUM THREADS environment variable ) once to 4 (Docling default) and once to 16 (equal to full core count on the test hardware). All results are shown in Table 1.\n\nIf you need to run Docling in very low-resource environments, please consider configuring the pypdfium backend. While it is faster and more memory efficient than the default docling-parse backend, it will come at the expense of worse quality results, especially in table structure recovery.\n\nEstablishing GPU acceleration support for the AI models is currently work-in-progress and largely untested, but may work implicitly when CUDA is available and discovered by the onnxruntime and\n\ntorch runtimes backing the Docling pipeline. We will deliver updates on this topic at in a future version of this report.\n\nTable 1: Runtime characteristics of Docling with the standard model pipeline and settings, on our test dataset of 225 pages, on two different systems. OCR is disabled. We show the time-to-solution (TTS), computed throughput in pages per second, and the peak memory used (resident set size) for both the Docling-native PDF backend and for the pypdfium backend, using 4 and 16 threads.\n\n| CPU | Thread budget | native backend | native backend | native backend | pypdfium backend | pypdfium backend | pypdfium backend |\n|-----------------------|-----------------|------------------|------------------|------------------|--------------------|--------------------|--------------------|\n| | Thread budget | TTS | Pages/s | Mem | TTS | Pages/s | Mem |\n| Apple M3 Max | 4 | 177 s | 1.27 | 6.20 GB | 103 s | 2.18 | 2.56 GB |\n| (16 cores) | 16 | 167 s | 1.34 | 6.20 GB | 92 s | 2.45 | 2.56 GB |\n| Intel(R) Xeon E5-2690 | 4 16 | 375 s 244 s | 0.60 0.92 | 6.16 GB | 239 s 143 s | 0.94 1.57 | 2.42 GB |\n\n## 5 Applications\n\nThanks to the high-quality, richly structured document conversion achieved by Docling, its output qualifies for numerous downstream applications. For example, Docling can provide a base for detailed enterprise document search, passage retrieval or classification use-cases, or support knowledge extraction pipelines, allowing specific treatment of different structures in the document, such as tables, figures, section structure or references. For popular generative AI application patterns, such as retrieval-augmented generation (RAG), we provide quackling , an open-source package which capitalizes on Docling's feature-rich document output to enable document-native optimized vector embedding and chunking. It plugs in seamlessly with LLM frameworks such as LlamaIndex [8]. Since Docling is fast, stable and cheap to run, it also makes for an excellent choice to build document-derived datasets. With its powerful table structure recognition, it provides significant benefit to automated knowledge-base construction [11, 10]. Docling is also integrated within the open IBM data prep kit [6], which implements scalable data transforms to build large-scale multi-modal training datasets.\n\n## 6 Future work and contributions\n\nDocling is designed to allow easy extension of the model library and pipelines. In the future, we plan to extend Docling with several more models, such as a figure-classifier model, an equationrecognition model, a code-recognition model and more. This will help improve the quality of conversion for specific types of content, as well as augment extracted document metadata with additional information. Further investment into testing and optimizing GPU acceleration as well as improving the Docling-native PDF backend are on our roadmap, too.\n\nWe encourage everyone to propose or implement additional features and models, and will gladly take your inputs and contributions under review . The codebase of Docling is open for use and contribution, under the MIT license agreement and in alignment with our contributing guidelines included in the Docling repository. If you use Docling in your projects, please consider citing this technical report.\n\n## References\n\n- [1] J. AI. Easyocr: Ready-to-use ocr with 80+ supported languages. https://github.com/ JaidedAI/EasyOCR , 2024. Version: 1.7.0.\n- [2] J. Ansel, E. Yang, H. He, N. Gimelshein, A. Jain, M. Voznesensky, B. Bao, P. Bell, D. Berard, E. Burovski, G. Chauhan, A. Chourdia, W. Constable, A. Desmaison, Z. DeVito, E. Ellison, W. Feng, J. Gong, M. Gschwind, B. Hirsh, S. Huang, K. Kalambarkar, L. Kirsch, M. Lazos, M. Lezcano, Y. Liang, J. Liang, Y. Lu, C. Luk, B. Maher, Y. Pan, C. Puhrsch, M. Reso, M. Saroufim, M. Y. Siraichi, H. Suk, M. Suo, P. Tillet, E. Wang, X. Wang, W. Wen, S. Zhang, X. Zhao, K. Zhou, R. Zou, A. Mathews, G. Chanan, P. Wu, and S. Chintala. Pytorch 2: Faster\n\nmachine learning through dynamic python bytecode transformation and graph compilation. In Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2 (ASPLOS '24) . ACM, 4 2024. doi: 10.1145/3620665.3640366. URL https://pytorch.org/assets/pytorch2-2.pdf .\n\n- [3] C. Auer, M. Dolfi, A. Carvalho, C. B. Ramis, and P. W. Staar. Delivering document conversion as a cloud service with high throughput and responsiveness. In 2022 IEEE 15th International Conference on Cloud Computing (CLOUD) , pages 363-373. IEEE, 2022.\n- [4] J. Berkenbilt. Qpdf: A content-preserving pdf document transformer, 2024. URL https: //github.com/qpdf/qpdf .\n- [5] O. R. developers. Onnx runtime. https://onnxruntime.ai/ , 2024. Version: 1.18.1.\n- [6] IBM. Data Prep Kit: a community project to democratize and accelerate unstructured data preparation for LLM app developers, 2024. URL https://github.com/IBM/ data-prep-kit .\n- [7] A. S. Inc. PyMuPDF, 2024. URL https://github.com/pymupdf/PyMuPDF .\n- [8] J. Liu. LlamaIndex, 11 2022. URL https://github.com/jerryjliu/llama\\_index .\n- [9] M. Lysak, A. Nassar, N. Livathinos, C. Auer, and P. Staar. Optimized Table Tokenization for Table Structure Recognition. In Document Analysis and Recognition - ICDAR 2023: 17th International Conference, San Jos'e, CA, USA, August 21-26, 2023, Proceedings, Part II , pages 37-50, Berlin, Heidelberg, Aug. 2023. Springer-Verlag. ISBN 978-3-031-41678-1. doi: 10. 1007/978-3-031-41679-8 3. URL https://doi.org/10.1007/978-3-031-41679-8\\_3 .\n- [10] L. Mishra, S. Dhibi, Y. Kim, C. Berrospi Ramis, S. Gupta, M. Dolfi, and P. Staar. Statements: Universal information extraction from tables with large language models for ESG KPIs. In D. Stammbach, J. Ni, T. Schimanski, K. Dutia, A. Singh, J. Bingler, C. Christiaen, N. Kushwaha, V. Muccione, S. A. Vaghefi, and M. Leippold, editors, Proceedings of the 1st Workshop on Natural Language Processing Meets Climate Change (ClimateNLP 2024) , pages 193-214, Bangkok, Thailand, Aug. 2024. Association for Computational Linguistics. URL https://aclanthology.org/2024.climatenlp-1.15 .\n- [11] L. Morin, V. Weber, G. I. Meijer, F. Yu, and P. W. J. Staar. Patcid: an open-access dataset of chemical structures in patent documents. Nature Communications , 15(1):6532, August 2024. ISSN 2041-1723. doi: 10.1038/s41467-024-50779-y. URL https://doi.org/10.1038/ s41467-024-50779-y .\n- [12] A. Nassar, N. Livathinos, M. Lysak, and P. Staar. Tableformer: Table structure understanding with transformers. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition , pages 4614-4623, 2022.\n- [13] B. Pfitzmann, C. Auer, M. Dolfi, A. S. Nassar, and P. Staar. Doclaynet: a large humanannotated dataset for document-layout segmentation. pages 3743-3751, 2022.\n- [14] pypdf Maintainers. pypdf: A Pure-Python PDF Library, 2024. URL https://github.com/ py-pdf/pypdf .\n- [15] P. Team. PyPDFium2: Python bindings for PDFium, 2024. URL https://github.com/ pypdfium2-team/pypdfium2 .\n- [16] Y. Zhao, W. Lv, S. Xu, J. Wei, G. Wang, Q. Dang, Y. Liu, and J. Chen. Detrs beat yolos on real-time object detection, 2023.\n\n## Appendix\n\nIn this section, we illustrate a few examples of Docling' s output in Markdown and JSON.\n\n## DocLayNet: A Large Human-Annotated Dataset for Document-Layout Analysis\n\nBirgit Pfitzmann IBM Research Rueschlikon, Switzerland bpf@zurich.ibm.com\n\nChristoph Auer IBM Research Rueschlikon, Switzerland cau@zurich.ibm.com\n\nMichele Dolfi IBM Research Rueschlikon, Switzerland dol@zurich.ibm.com\n\nAhmed S. Nassar IBM Research Rueschlikon, Switzerland ahn@zurich.ibm.com\n\nPeter Staar IBM Research Rueschlikon, Switzerland taa@zurich.ibm.com\n\n## ABSTRACT\n\nAccurate document layout analysis is a key requirement for highquality PDF document conversion. With the recent availability of public, large ground-truth datasets such as PubLayNet and DocBank, deep-learning models have proven to be very effective at layout detection and segmentation. While these datasets are of adequate size to train such models, they severely lack in layout variability since they are sourced from scientific article repositories such as PubMed and arXiv only. Consequently, the accuracy of the layout segmentation drops significantly when these models are applied on more challenging and diverse layouts. In this paper, we present $\\_{DocLayNet}$, a new, publicly available, document-layout annotation dataset in COCO format. It contains 80863 manually annotated pages from diverse data sources to represent a wide variability in layouts. For each PDF page, the layout annotations provide labelled bounding-boxes with a choice of 11 distinct classes. DocLayNet also provides a subset of double- and triple-annotated pages to determine the inter-annotator agreement. In multiple experiments, we provide baseline accuracy scores (in mAP) for a set of popular object detection models. We also demonstrate that these models fall approximately 10% behind the inter-annotator agreement. Furthermore, we provide evidence that DocLayNet is of sufficient size. Lastly, we compare models trained on PubLayNet, DocBank and DocLayNet, showing that layout predictions of the DocLayNettrained models are more robust and thus the preferred choice for general-purpose document-layout analysis.\n\n## CCS CONCEPTS\n\n\u00b7 Information systems \u2192 Document structure ; \u00b7 Applied computing \u2192 Document analysis ; \u00b7 Computing methodologies \u2192 Machine learning ; Computer vision ; $\\_{Object detection}$;\n\nPermission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profi t or commercial advantage and that copies bear this notice and the full citation on thefirst page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s). KDD '22, August 14-18, 2022, Washington, DC, USA \u00a9 2022 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-9385-0/22/08. https://doi.org/10.1145/3534678.3539043\n\n## DocLayNet: A Large Human-Annotated Dataset for Document-Layout Analysis\n\nBirgit Pfitzmann IBM Research Rueschlikon, Switzerland bpf@zurich.ibm.com\n\nChristoph Auer IBM Research Rueschlikon, Switzerland cau@zurich.ibm.com\n\nMichele Dolfi IBM Research Rueschlikon, Switzerland dol@zurich.ibm.com\n\nAhmed S. Nassar IBM Research Rueschlikon, Switzerland ahn@zurich.ibm.com\n\nPeter Staar IBM Research Rueschlikon, Switzerland taa@zurich.ibm.com\n\n## ABSTRACT\n\nAccurate document layout analysis is a key requirement for highquality PDF document conversion. With the recent availability of public, large groundtruth datasets such as PubLayNet and DocBank, deep-learning models have proven to be very effective at layout detection and segmentation. While these datasets are of adequate size to train such models, they severely lack in layout variability since they are sourced from scientific article repositories such as PubMed and arXiv only. Consequently, the accuracy of the layout segmentation drops significantly when these models are applied on more challenging and diverse layouts. In this paper, we present DocLayNet , a new, publicly available, document-layout annotation dataset in COCO format. It contains 80863 manually annotated pages from diverse data sources to represent a wide variability in layouts. For each PDF page, the layout annotations provide labelled bounding-boxes with a choice of 11 distinct classes. DocLayNet also provides a subset of double- and triple-annotated pages to determine the inter-annotator agreement. In multiple experiments, we provide baseline accuracy scores (in mAP) for a set of popular object detection models. We also demonstrate that these models fall approximately 10% behind the inter-annotator agreement. Furthermore, we provide evidence that DocLayNet is of sufficient size. Lastly, we compare models trained on PubLayNet, DocBank and DocLayNet, showing that layout predictions of the DocLayNettrained models are more robust and thus the preferred choice for general-purpose document-layout analysis.\n\n## CCS CONCEPTS\n\n$\\_{\u00b7 Information systems }$\u2192$\\_{ Document structure ; \u00b7 Applied computing }$ \u2192$\\_{ Document analysis ; \u00b7 Computing methodologies }$\u2192$\\_{ Machine learning ;}$ Computer vision ; Object detection ;\n\nPermission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s).\n\nKDD '22, August 14-18, 2022, Washington, DC, USA \u00a9 2022 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-9385-0/22/08. https://doi.org/10.1145/3534678.3539043\n\nFigure 1: Four examples of complex page layouts across different document categories\n\n## KEYWORDS\n\nPDF document conversion, layout segmentation, object-detection, data set, Machine Learning\n\n## ACM Reference Format:\n\nBirgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar. 2022. DocLayNet: A Large Human-Annotated Dataset for DocumentLayout Analysis. In Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '22), August 14-18, 2022, Washington, DC, USA. ACM, New York, NY, USA, 9 pages. https://doi.org/10.1145/ 3534678.3539043\n\nFigure 1: Four examples of complex page layouts across different document categories\n\n## KEYWORDS\n\nPDF document conversion, layout segmentation, object-detection, data set, Machine Learning\n\n## ACM Reference Format:\n\nBirgit Pfitzmann, Christoph Auer, Michele Dolfi , Ahmed S. Nassar, and Peter Staar. 2022. DocLayNet: A Large Human-Annotated Dataset for DocumentLayout Analysis. In Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '22), August 14-18, 2022, Wash-$\\_{ington, DC, USA.}$ACM, New York, NY, USA, 9 pages. https://doi.org/10.1145/ 3534678.3539043\n\n1 INTRODUCTION\n\nDespite the substantial improvements achieved with machine-learning (ML) approaches and deep neural networks in recent years, document conversion remains a challenging problem, as demonstrated by the numerous public competitions held on this topic [1-4]. The challenge originates from the huge variability in PDF documents regarding layout, language and formats (scanned, programmatic or a combination of both). Engineering a single ML model that can be applied on all types of documents and provides high-quality layout segmentation remains to this day extremely challenging [5]. To highlight the variability in document layouts, we show a few example documents from the DocLayNet dataset in Figure 1. Figure 2: Title page of the DocLayNet paper (arxiv .org/pdf/2206.01062) - left PDF, right rendered Markdown. If recognized, metadata such as authors are appearing first under the title. Text content inside figures is currently dropped, the caption is retained and linked to the figure in the JSON representation (not shown).\n\nKDD '22, August 14-18, 2022, Washington, DC, USA Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar\n\nTable 2: Prediction performance (mAP@0.5-0.95) of object detection networks on DocLayNet test set. The MRCNN (Mask R-CNN) and FRCNN (Faster R-CNN) models with ResNet-50 or ResNet-101 backbone were trained based on the network architectures from the detectron2 model zoo (Mask R-CNN R50, R101-FPN 3x, Faster R-CNN R101-FPN 3x), with default configurations. The YOLO implementation utilized was YOLOv5x6 [13]. All models were initialised using pre-trained weights from the COCO 2017 dataset.\n\n| | human | MRCNN | MRCNN | FRCNN | YOLO |\n|----------------|---------|---------|---------|---------|--------|\n| | human | R50 | R101 | R101 | v5x6 |\n| Caption | 84-89 | 68.4 | 71.5 | 70.1 | 77.7 |\n| Footnote | 83-91 | 70.9 | 71.8 | 73.7 | 77.2 |\n| Formula | 83-85 | 60.1 | 63.4 | 63.5 | 66.2 |\n| List-item | 87-88 | 81.2 | 80.8 | 81.0 | 86.2 |\n| Page-footer | 93-94 | 61.6 | 59.3 | 58.9 | 61.1 |\n| Page-header | 85-89 | 71.9 | 70.0 | 72.0 | 67.9 |\n| Picture | 69-71 | 71.7 | 72.7 | | 77.1 |\n| Section-header | 83-84 | 67.6 | 69.3 | 68.4 | 74.6 |\n| Table | 77-81 | 82.2 | 82.9 | 82.2 | 86.3 |\n| Text | 84-86 | 84.6 | 85.8 | 85.4 | |\n| | | 76.7 | 80.4 | 79.9 | 88.1 |\n| Title | 60-72 | | | | 82.7 |\n| All | 82-83 | 72.4 | 73.5 | 73.4 | 76.8 |\n\nto avoid this at any cost in order to have clear, unbiased baseline numbers for human document-layout annotation. Third, we introduced the feature of snapping boxes around text segments to obtain a pixel-accurate annotation and again reduce time and effort. The CCS annotation tool automatically shrinks every user-drawn box to the minimum bounding-box around the enclosed text-cells for all purely text-based segments, which excludes only Table and $\\_{Picture}$. For the latter, we instructed annotation staffto minimise inclusion of surrounding whitespace while including all graphical lines. A downside of snapping boxes to enclosed text cells is that some wrongly parsed PDF pages cannot be annotated correctly and need to be skipped. Fourth, we established a way toflag pages as rejected for cases where no valid annotation according to the label guidelines could be achieved. Example cases for this would be PDF pages that render incorrectly or contain layouts that are impossible to capture with non-overlapping rectangles. Such rejected pages are not contained in thefinal dataset. With all these measures in place, experienced annotation staffmanaged to annotate a single page in a typical timeframe of 20s to 60s, depending on its complexity.\n\n## 5 EXPERIMENTS\n\nThe primary goal of DocLayNet is to obtain high-quality ML models capable of accurate document-layout analysis on a wide variety of challenging layouts. As discussed in Section 2, object detection models are currently the easiest to use, due to the standardisation of ground-truth data in COCO format [16] and the availability of general frameworks such as detectron2 [17]. Furthermore, baseline numbers in PubLayNet and DocBank were obtained using standard object detection models such as Mask R-CNN and Faster R-CNN. As such, we will relate to these object detection methods in this\n\nFigure 3: Page 6 of the DocLayNet paper. If recognized, metadata such as authors are appearing first under the title. Elements recognized as page headers or footers are suppressed in Markdown to deliver uninterrupted content in reading order. Tables are inserted in reading order. The paragraph in \"5. Experiments\" wrapping over the column end is broken up in two and interrupted by the table.\n\nFigure 5: Prediction performance (mAP@0.5-0.95) of a Mask R-CNN network with ResNet50 backbone trained on increasing fractions of the DocLayNet dataset. The learning curv eflattens around the 80% mark, indicating that increasing the size of the DocLayNet dataset with similar data will not yield significantly better predictions.\n\npaper and leave the detailed evaluation of more recent methods mentioned in Section 2 for future work.\n\nIn this section, we will present several aspects related to the performance of object detection models on DocLayNet. Similarly as in PubLayNet, we will evaluate the quality of their predictions using mean average precision (mAP) with 10 overlaps that range from 0.5 to 0.95 in steps of 0.05 (mAP@0.5-0.95). These scores are computed by leveraging the evaluation code provided by the COCO API [16].\n\n## Baselines for Object Detection\n\nIn Table 2, we present baseline experiments (given in mAP) on Mask R-CNN [12], Faster R-CNN [11], and YOLOv5 [13]. Both training and evaluation were performed on RGB images with dimensions of $^{1025}$\u00d71025 pixels. For training, we only used one annotation in case of redundantly annotated pages. As one can observe, the variation in mAP between the models is rather low, but overall between 6 and 10% lower than the mAP computed from the pairwise human annotations on triple-annotated pages. This gives a good indication that the DocLayNet dataset poses a worthwhile challenge for the research community to close the gap between human recognition and ML approaches. It is interesting to see that Mask R-CNN and Faster R-CNN produce very comparable mAP scores, indicating that pixel-based image segmentation derived from bounding-boxes does not help to obtain better predictions. On the other hand, the more recent Yolov5x model does very well and even out-performs humans on selected labels such as $\\_{Text}$, Table and $\\_{Picture}$. This is not entirely surprising, as and Picture are abundant and the most visually distinctive in a document.\n\nPrediclion Derormance (up80.5-0.85 ohobeci detecion lalo ks Doclaynal Lest saL Ine VACNN (Mask R-CNNI and FACNN (Faster A-CNM) modcs mith PosNc: 50 PosNo: 101 backtone woro trainod based on Enc nchwwcrk achrocturos tom Ihc Oeronhroase a-CNn aso rioi-Fpn Jx, FasieA-Cnn a1o1-FPN Jx), wilh delaui conlwuralions The YoUg mpomorcabon utilzod w2s YoloSyb(13| modos woro inbalsod usino cro-trunodmonhts hron Coco 2017 datasor\n\n| | noun | Mrcnn | MaCNN | Frcne | Yolo |\n|------------|--------|---------|---------|---------|--------|\n| Gaoon | | | | | |\n| Foomolo | | | | | |\n| Foula | | | | | |\n| Ust-lern | | | | | |\n| Page-locer | | | | | |\n| Faqe-haje | | | | | |\n| Pxlu | | | | | |\n| Sonhoade | | | | | |\n\niD avod Ihbs arcost cha unbasndbasolino numoc human cocumnnt-Laycut annotalion; Thrd Inirooucod leatura 0i snapoina Doxes around lerl scainunis cblan & pixel-accuiale annolaton and aJan feduce Bifre and elonThe CCS annoinbon aloMalca shruks Ovory Usor-drawnboro mnmum boundino-borarounaIho onclosod coxt-colls Purolytort basud scoitontwhich uxclldcs Ort Tatlo and Picluo latsor Inssucicdannjlabon sha mnim so inclusion Suitcurding mlospeco whloIncvon Oenoncang doans d0 oisnaocmnbors Onchse Ihal So10 wioogly Daisoc Pogcs Cannol be annotalcd coTcCEY and nccd supocd Foudn Oshdned Wuyio(aq Dagcs (ccclod Cases whcion valid anncuabon eccofding abeiqu Oelines coukbe acheneu Eamnole Case, flis wouk PDF peoe3 Ihal rendernnccrrecUy contanlavuta hat Imnosshk cantra milh Vananonnyogannio{ Suchiceciodoaoos not coralnon Ihofnn hr Aroknacoarreehetyn annollca slall nluuocd unnoln sina \" Puou lypical Lmnetamre 0l 20s 10 605 cecendnc conoanty\n\n## 5 EXPERIMENTS\n\nIne crimary goal OocVAYNo cblan hion-quality Modols AccuaiodoaMoiuvana4s WMeVanalon chalcnonglayoul: Cecurdg echon Doicdi Delccion modcb rtene Casistlo Usc, Quulo Hhndandiubon ground-vuth data COCO lornat [16] and avaladloy enetal Irarnenoiks uch derectrcnz7] Furnemmcre, baseline nmnoe < I Putun Notand DocBank calanodusnsundad coict dosnchonmodols such Mas< A CNN and Fasior A CNN SuEna blraomhdelecfa nonInr Canacle\n\nFauri Prco chon ocrloianC( 005-095) ola Mask A-CNN ncthoik ilh AcsNciSo backbono brainod on incrcasing Iracbons oi DocLaynei calasot Tne loannp auro altons around Ih0 \u20ac03 noicahino Ihal inxreasing /e 520 Q Iho DocL\u00f8y Nel dalasot Amardaen nol Ycid sn: dorOocC Chons LAD\n\npangrandloave detallod evalvallon %moro rcoarimolhods monionan Secilg Jorhlure work\n\nInuhs sechon All Deseni seur8/ asoecis reles00 Perormanoe ouieci celec on DoxclayNet Simamtas In PLoLaynnt oyuato tnn qualmy cuthnlr crodictionsusiramnanavnna prncisicn (TTAP) wch IDovrdaos that rangn trom 0 5ta 005 (nap,o6-00: Ml olue Fnoula Cvurbar uvalaion coou piayIed DY Ihu COCO API/161 ook\n\n## Baselines for Object Detection\n\nptesenl baselne expenrnenls (Qvenin MAF) on Mas< R-CNN /121 Fasler F-CNN [11] an1 YOLOvS [13] Bou1 brann anavailang woropomormod AGa Imnoos vith dimonsions 1025 chxrols For tralring onN usodomannolatln Incaso ohcuunourfhunnolulco Dac3 Ohenn Vuruhoninptalunhamagny usnaroA en hn 10?7 loworrnannomap conoutec paicaisehuman anncrbons Aoo-amculeopnnos Ins Cves nacaton thatrhe DocLayNot daasci DOfo s mornwro clagnoo [csoarcncomrurt gap bctwoon human focogniticn and VL aporoaces nlelesuio IharNaska-CNNead Fasler GNincroova comnanen Maseoes nnocauna Ulbi AICBasodnanc scomrorubon oormvod Irom bounon)ooros Ooo{ abuin totcrorcochons Ontho chornnno Mcrocconi YolavSrmrodel does verywell und even Dul-Perdorins selectedlubels such Tedle undpcturl enbeh surcrisio Ta oloandPchre poincant amimemostasiaIN ishinsine documen: Ouau hnne\n\nKDD '22, August 14-18, 2022, Washington, DC, USA Birgit Pfitzmann, Christoph Auer, Michele Dolfi, Ahmed S. Nassar, and Peter Staar\n\nTable 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurrence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the tripleannotated pages, from which we obtain accuracy ranges. Table 1: DocLayNet dataset overview. Along with the frequency of each class label, we present the relative occurr ence (as % of row \"Total\") in the train, test and validation sets. The inter-annotator agreement is computed as the mAP@0.5-0.95 metric between pairwise annotations from the triple-annotated pages, from which we obtain accuracy ranges. B\n\n| | Count | % of Total | % of Total | % of Total | triple inter-annotator mAP @ 0.5-0.95 (%) | triple inter-annotator mAP @ 0.5-0.95 (%) | triple inter-annotator mAP @ 0.5-0.95 (%) | triple inter-annotator mAP @ 0.5-0.95 (%) | triple inter-annotator mAP @ 0.5-0.95 (%) | triple inter-annotator mAP @ 0.5-0.95 (%) | triple inter-annotator mAP @ 0.5-0.95 (%) |\n|----------------|---------|--------------|--------------|--------------|---------------------------------------------|---------------------------------------------|---------------------------------------------|---------------------------------------------|---------------------------------------------|---------------------------------------------|---------------------------------------------|\n| class label | | Train | Test | Val | All | Fin | Man | Sci | Law | Pat | T en |\n| Caption | 22524 | 2.04 | 1.77 | 2.32 | 84-89 | 40-61 | 86-92 | 94-99 | 95-99 | 69-78 | n/a |\n| Footnote | 6318 | 0.60 | 0.31 | 0.58 | 83-91 | n/a | 100 | 62-88 | 85-94 | n/a | 82-97 |\n| Formula | 25027 | 2.25 | 1.90 | 2.96 | 83-85 | | n/a | 84-87 | 86-96 | | n/a |\n| List-item | 185660 | 17.19 | 13.34 | 15.82 | 87-88 | 74-83 | 90-92 | 97-97 | 81-85 | 75-88 | 93-95 |\n| Page-footer | 70878 | 6.51 | 5.58 | 6.00 | 93-94 | 88-90 | 95-96 | 100 | 92-97 | 100 | 96-98 |\n| Page-header | 58022 | 5.10 | 6.70 | 5.06 | 85-89 | 66-76 | 90-94 | 98-100 | 91-92 | 97-99 | 81-86 |\n| Picture | 45976 | 4.21 | 2.78 | 5.31 | 69-71 | 56-59 | 82-86 | 69-82 | 80-95 | 66-71 | 59-76 |\n| Section-header | 142884 | 12.60 | 15.77 | 12.85 | 83-84 | 76-81 | 90-92 | 94-95 | 87-94 | 69-73 | 78-86 |\n| Table | 34733 | 3.20 | 2.27 | 3.60 | 77-81 | 75-80 | 83-86 | 98-99 | 58-80 | 79-84 | 70-85 |\n| Text | 510377 | 45.82 | 49.28 | 45.00 | 84-86 | 81-86 | 88-93 | 89-93 | 87-92 | 71-79 | 87-95 |\n| Title | 5071 | 0.47 | 0.30 | 0.50 | 60-72 | 24-63 | 50-63 | 94-100 | 82-96 | 68-79 | 24-56 |\n| Total | 1107470 | 941123 | 99816 | 66531 | 82-83 | 71-74 | 79-81 | 89-94 | 86-91 | 71-76 | 68-85 |\n\nFigure 3: face. The laid te be drawn the respe\n\nwe distribute d the annotation workload and performed continuous quality contr ols. Phase one and two required a small team of experts only. For phases three and four, a group of 40 dedicated annotators were assembled and supervised. Phase 1: Data selection and preparation. Our inclusion cri-\n\nof pages ed by seerties. For cument figur es or object how\n\nd the colfealayout labels. Pageand $\\_{Title}$. class cificity ed for of the ambiguous, while coverage ensures that all meaningful items on a page can be annotated. We refrained from class labels that are very specific to a document category, such as Abstract in the Scientific Articles category. We also avoided class labels that are tightly linked to the semantics of the text. Labels such as Author and $\\_{Affiliation}$, as seen\n\nteria for documents were described in Section 3. A large effort went into ensuring that all documents are free to use. The data sources in DocBank, are often only distinguishable by discriminating on $^{3}$https://arxiv.org/ Figure 4: Table 1 from the DocLayNet paper in the original PDF (A), as rendered Markdown (B) and in JSON representation (C). Spanning table cells, such as the multi-column header \"triple interannotator mAP@0.5-0.95 (%)\", is repeated for each column in the Markdown representation (B), which guarantees that every data point can be traced back to row and column headings only by its grid coordinates in the table. In the JSON representation, the span information is reflected in the fields of each table cell (C).", - "dataframe": null, - "blob": null, - "score": null, - "embedding": null, - "sparse_embedding": null, - "dl_meta": { - "origin": { - "mimetype": "application/pdf", - "binary_hash": 11465328351749295394, - "filename": "2408.09869v5.pdf" - } - } - } - ] -} \ No newline at end of file diff --git a/test/test_converter.py b/test/test_converter.py index 5642ebc..3bd4b37 100644 --- a/test/test_converter.py +++ b/test/test_converter.py @@ -1,82 +1,34 @@ -import json -from unittest.mock import MagicMock - from docling.chunking import HybridChunker -from docling.datamodel.document import DoclingDocument +from haystack.dataclasses import ByteStream from docling_haystack.converter import DoclingConverter, ExportType -PATHS = ["foo.pdf"] - -DL_DOC_JSON = "test/data/2408.09869v5.json" -MD_EXPORT = "test/data/2408.09869v5.md" +PATHS = ["test/data/2408.09869v5.pdf"] -# TODO should not have to provide specific conversion mock res (chunking should suffice) -def test_convert_doc_chunks(monkeypatch): +def test_convert_doc_chunks(): EMBED_MODEL_ID = "sentence-transformers/all-MiniLM-L6-v2" - INPUT_FILE = DL_DOC_JSON - EXPECTED_OUT_FILE = "test/data/2408.09869v5_hs_docs_doc_chunks.json" - with open(INPUT_FILE) as f: - data_json = f.read() - mock_dl_doc = DoclingDocument.model_validate_json(data_json) - mock_response = MagicMock() - mock_response.document = mock_dl_doc - - monkeypatch.setattr( - "docling.document_converter.DocumentConverter.__init__", - lambda *args, **kwargs: None, - ) - monkeypatch.setattr( - "docling.document_converter.DocumentConverter.convert", - lambda *args, **kwargs: mock_response, - ) - - # TODO: chunking is currently performed; it should best be mocked instead converter = DoclingConverter( export_type=ExportType.DOC_CHUNKS, chunker=HybridChunker(tokenizer=EMBED_MODEL_ID), ) - docs = converter.run(paths=PATHS)["documents"] - act_data = dict(root=[d.to_dict() for d in docs]) - with open(EXPECTED_OUT_FILE) as f: - exp_data = json.load(fp=f) - assert exp_data == act_data - + docs = converter.run(sources=PATHS, meta=[{"test_custom_meta": "passed"}])[ + "documents" + ] + assert len(docs) >= 50 + assert docs[0].meta["test_custom_meta"] == "passed" + assert docs[-1].meta["test_custom_meta"] == "passed" + assert "dl_meta" in docs[0].meta -# TODO should not have to provide specific conversion mock res (export should suffice) -def test_convert_markdown(monkeypatch): - INPUT_FILE = MD_EXPORT - EXPECTED_OUT_FILE = "test/data/2408.09869v5_hs_docs_markdown.json" - with open(INPUT_FILE) as f: - mock_md_data = f.read() - - with open("test/data/2408.09869v5.json") as f: - data_json = f.read() - mock_dl_doc = DoclingDocument.model_validate_json(data_json) - mock_response = MagicMock() - mock_response.document = mock_dl_doc - - monkeypatch.setattr( - "docling.document_converter.DocumentConverter.__init__", - lambda *args, **kwargs: None, - ) - monkeypatch.setattr( - "docling.document_converter.DocumentConverter.convert", - lambda *args, **kwargs: mock_response, - ) - - monkeypatch.setattr( - "docling_core.types.doc.document.DoclingDocument.export_to_markdown", - lambda *args, **kwargs: mock_md_data, - ) - # TODO: chunking is currently performed; it should best be mocked instead +def test_convert_markdown(): converter = DoclingConverter( export_type=ExportType.MARKDOWN, ) - docs = converter.run(paths=PATHS)["documents"] - act_data = dict(root=[d.to_dict() for d in docs]) - with open(EXPECTED_OUT_FILE) as f: - exp_data = json.load(fp=f) - assert exp_data == act_data + BYTE_STREAM_DATA = [open("test/data/2408.09869v5.pdf", "rb").read()] + docs = converter.run( + sources=[ByteStream(BYTE_STREAM_DATA[0])], meta={"test_custom_meta": "passed"} + )["documents"] + assert len(docs) == 1 + assert docs[0].meta["test_custom_meta"] == "passed" + assert "dl_meta" in docs[0].meta