diff --git a/CHANGELOG.md b/CHANGELOG.md index 98dc73c1f..2c39000dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## 0.18.0 + +### Enhancements + +### Features +- Upgraded Python version to 3.12 + +### Fixes + ## 0.17.11-dev3 ### Enhancements diff --git a/Dockerfile b/Dockerfile index c9c2e69e2..4b6fe48f6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM quay.io/unstructured-io/base-images:wolfi-base-latest AS base -ARG PYTHON=python3.11 +ARG PYTHON=python3.12 ARG PIP="${PYTHON} -m pip" USER root diff --git a/requirements/base.txt b/requirements/base.txt index 64280918a..f9bd773be 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -10,7 +10,7 @@ backoff==2.2.1 # via -r ./base.in beautifulsoup4==4.13.4 # via -r ./base.in -certifi==2025.4.26 +certifi==2025.6.15 # via # httpcore # httpx @@ -141,11 +141,11 @@ typing-inspect==0.9.0 # unstructured-client unstructured-client==0.25.9 # via - # -c ././deps/constraints.txt + # -c requirements/deps/constraints.txt # -r ./base.in urllib3==2.4.0 # via - # -c ././deps/constraints.txt + # -c requirements/deps/constraints.txt # requests # unstructured-client webencodings==0.5.1 diff --git a/requirements/dev.txt b/requirements/dev.txt index ac2fa3cb4..7a9d8bfba 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -10,8 +10,8 @@ cfgv==3.4.0 # via pre-commit click==8.2.1 # via - # -c ./base.txt - # -c ./test.txt + # -c requirements/base.txt + # -c requirements/test.txt # pip-tools distlib==0.3.9 # via virtualenv @@ -23,14 +23,14 @@ nodeenv==1.9.1 # via pre-commit packaging==25.0 # via - # -c ./base.txt - # -c ./test.txt + # -c requirements/base.txt + # -c requirements/test.txt # build pip-tools==7.4.1 # via -r ./dev.in platformdirs==4.3.8 # via - # -c ./test.txt + # -c requirements/test.txt # virtualenv pre-commit==4.2.0 # via -r ./dev.in @@ -42,7 +42,7 @@ pyyaml==6.0.2 # via pre-commit tomli==2.2.1 # via - # -c ./test.txt + # -c requirements/test.txt # build # pip-tools virtualenv==20.31.2 diff --git a/requirements/extra-csv.txt b/requirements/extra-csv.txt index d37c6a53d..fcf90ed3f 100644 --- a/requirements/extra-csv.txt +++ b/requirements/extra-csv.txt @@ -6,19 +6,19 @@ # numpy==2.2.6 # via - # -c ./base.txt + # -c requirements/base.txt # pandas pandas==2.3.0 # via -r ./extra-csv.in python-dateutil==2.9.0.post0 # via - # -c ./base.txt + # -c requirements/base.txt # pandas pytz==2025.2 # via pandas six==1.17.0 # via - # -c ./base.txt + # -c requirements/base.txt # python-dateutil tzdata==2025.2 # via pandas diff --git a/requirements/extra-docx.txt b/requirements/extra-docx.txt index b71b1cd6d..9b8f4d127 100644 --- a/requirements/extra-docx.txt +++ b/requirements/extra-docx.txt @@ -6,11 +6,11 @@ # lxml==5.4.0 # via - # -c ./base.txt + # -c requirements/base.txt # python-docx -python-docx==1.1.2 +python-docx==1.2.0 # via -r ./extra-docx.in typing-extensions==4.14.0 # via - # -c ./base.txt + # -c requirements/base.txt # python-docx diff --git a/requirements/extra-odt.txt b/requirements/extra-odt.txt index 4c92aae6c..8e35f5b5a 100644 --- a/requirements/extra-odt.txt +++ b/requirements/extra-odt.txt @@ -6,13 +6,13 @@ # lxml==5.4.0 # via - # -c ./base.txt + # -c requirements/base.txt # python-docx pypandoc==1.15 # via -r ./extra-odt.in -python-docx==1.1.2 +python-docx==1.2.0 # via -r ./extra-odt.in typing-extensions==4.14.0 # via - # -c ./base.txt + # -c requirements/base.txt # python-docx diff --git a/requirements/extra-paddleocr.txt b/requirements/extra-paddleocr.txt index e6587d3d0..f361f7fe7 100644 --- a/requirements/extra-paddleocr.txt +++ b/requirements/extra-paddleocr.txt @@ -14,23 +14,23 @@ annotated-types==0.7.0 # via pydantic anyio==4.9.0 # via - # -c ./base.txt + # -c requirements/base.txt # httpx astor==0.8.1 # via paddlepaddle beautifulsoup4==4.13.4 # via - # -c ./base.txt + # -c requirements/base.txt # unstructured-paddleocr -certifi==2025.4.26 +certifi==2025.6.15 # via - # -c ./base.txt + # -c requirements/base.txt # httpcore # httpx # requests charset-normalizer==3.4.2 # via - # -c ./base.txt + # -c requirements/base.txt # requests cython==3.1.2 # via unstructured-paddleocr @@ -38,27 +38,27 @@ decorator==5.2.1 # via paddlepaddle exceptiongroup==1.3.0 # via - # -c ./base.txt + # -c requirements/base.txt # anyio fire==0.7.0 # via unstructured-paddleocr -fonttools==4.58.2 +fonttools==4.58.4 # via unstructured-paddleocr h11==0.16.0 # via - # -c ./base.txt + # -c requirements/base.txt # httpcore httpcore==1.0.9 # via - # -c ./base.txt + # -c requirements/base.txt # httpx httpx==0.28.1 # via - # -c ./base.txt + # -c requirements/base.txt # paddlepaddle idna==3.10 # via - # -c ./base.txt + # -c requirements/base.txt # anyio # httpx # requests @@ -68,7 +68,7 @@ lazy-loader==0.4 # via scikit-image lxml==5.4.0 # via - # -c ./base.txt + # -c requirements/base.txt # python-docx networkx==3.4.2 # via @@ -76,7 +76,7 @@ networkx==3.4.2 # scikit-image numpy==2.2.6 # via - # -c ./base.txt + # -c requirements/base.txt # albucore # albumentations # imageio @@ -102,7 +102,7 @@ opt-einsum==3.3.0 # via paddlepaddle packaging==25.0 # via - # -c ./base.txt + # -c requirements/base.txt # lazy-loader # scikit-image paddlepaddle==3.0.0 @@ -115,15 +115,15 @@ pillow==11.2.1 # unstructured-paddleocr protobuf==6.31.1 # via - # -c ././deps/constraints.txt + # -c requirements/deps/constraints.txt # paddlepaddle pyclipper==1.3.0.post6 # via unstructured-paddleocr -pydantic==2.11.5 +pydantic==2.11.7 # via albumentations pydantic-core==2.33.2 # via pydantic -python-docx==1.1.2 +python-docx==1.2.0 # via unstructured-paddleocr pyyaml==6.0.2 # via @@ -131,11 +131,11 @@ pyyaml==6.0.2 # unstructured-paddleocr rapidfuzz==3.13.0 # via - # -c ./base.txt + # -c requirements/base.txt # unstructured-paddleocr requests==2.32.4 # via - # -c ./base.txt + # -c requirements/base.txt # unstructured-paddleocr scikit-image==0.25.2 # via unstructured-paddleocr @@ -149,11 +149,11 @@ simsimd==6.4.9 # via albucore sniffio==1.3.1 # via - # -c ./base.txt + # -c requirements/base.txt # anyio soupsieve==2.7 # via - # -c ./base.txt + # -c requirements/base.txt # beautifulsoup4 stringzilla==3.12.5 # via albucore @@ -163,11 +163,11 @@ tifffile==2025.5.10 # via scikit-image tqdm==4.67.1 # via - # -c ./base.txt + # -c requirements/base.txt # unstructured-paddleocr typing-extensions==4.14.0 # via - # -c ./base.txt + # -c requirements/base.txt # anyio # beautifulsoup4 # exceptiongroup @@ -182,6 +182,6 @@ unstructured-paddleocr==2.10.0 # via -r ./extra-paddleocr.in urllib3==2.4.0 # via - # -c ././deps/constraints.txt - # -c ./base.txt + # -c requirements/base.txt + # -c requirements/deps/constraints.txt # requests diff --git a/requirements/extra-pdf-image.txt b/requirements/extra-pdf-image.txt index 3110073d9..0c04084c0 100644 --- a/requirements/extra-pdf-image.txt +++ b/requirements/extra-pdf-image.txt @@ -10,17 +10,17 @@ antlr4-python3-runtime==4.9.3 # via omegaconf cachetools==5.5.2 # via google-auth -certifi==2025.4.26 +certifi==2025.6.15 # via - # -c ./base.txt + # -c requirements/base.txt # requests cffi==1.17.1 # via - # -c ./base.txt + # -c requirements/base.txt # cryptography charset-normalizer==3.4.2 # via - # -c ./base.txt + # -c requirements/base.txt # pdfminer-six # requests coloredlogs==15.0.1 @@ -29,7 +29,7 @@ contourpy==1.3.2 # via matplotlib cryptography==45.0.4 # via - # -c ./base.txt + # -c requirements/base.txt # pdfminer-six cycler==0.12.1 # via matplotlib @@ -44,13 +44,13 @@ filelock==3.18.0 # transformers flatbuffers==25.2.10 # via onnxruntime -fonttools==4.58.2 +fonttools==4.58.4 # via matplotlib fsspec==2025.5.1 # via # huggingface-hub # torch -google-api-core[grpc]==2.25.0 +google-api-core[grpc]==2.25.1 # via google-cloud-vision google-auth==2.40.3 # via @@ -64,12 +64,12 @@ googleapis-common-protos==1.70.0 # grpcio-status grpcio==1.73.0 # via - # -c ././deps/constraints.txt + # -c requirements/deps/constraints.txt # google-api-core # grpcio-status grpcio-status==1.73.0 # via google-api-core -hf-xet==1.1.3 +hf-xet==1.1.4 # via huggingface-hub huggingface-hub==0.33.0 # via @@ -82,7 +82,7 @@ humanfriendly==10.0 # via coloredlogs idna==3.10 # via - # -c ./base.txt + # -c requirements/base.txt # requests jinja2==3.1.6 # via torch @@ -90,7 +90,7 @@ kiwisolver==1.4.8 # via matplotlib lxml==5.4.0 # via - # -c ./base.txt + # -c requirements/base.txt # pikepdf markupsafe==3.0.2 # via jinja2 @@ -102,7 +102,7 @@ networkx==3.4.2 # via torch numpy==2.2.6 # via - # -c ./base.txt + # -c requirements/base.txt # accelerate # contourpy # matplotlib @@ -129,7 +129,7 @@ opencv-python==4.11.0.86 # via unstructured-inference packaging==25.0 # via - # -c ./base.txt + # -c requirements/base.txt # accelerate # huggingface-hub # matplotlib @@ -143,7 +143,7 @@ pdf2image==1.17.0 # via -r ./extra-pdf-image.in pdfminer-six==20250327 # via - # -c ././deps/constraints.txt + # -c requirements/deps/constraints.txt # -r ./extra-pdf-image.in # unstructured-inference pi-heif==0.22.0 @@ -164,7 +164,7 @@ proto-plus==1.26.1 # google-cloud-vision protobuf==6.31.1 # via - # -c ././deps/constraints.txt + # -c requirements/deps/constraints.txt # google-api-core # google-cloud-vision # googleapis-common-protos @@ -174,7 +174,7 @@ protobuf==6.31.1 # proto-plus psutil==7.0.0 # via - # -c ./base.txt + # -c requirements/base.txt # accelerate pyasn1==0.6.1 # via @@ -186,19 +186,19 @@ pycocotools==2.0.10 # via effdet pycparser==2.22 # via - # -c ./base.txt + # -c requirements/base.txt # cffi pyparsing==3.2.3 # via matplotlib pypdf==5.6.0 # via - # -c ./base.txt + # -c requirements/base.txt # -r ./extra-pdf-image.in pypdfium2==4.30.1 # via unstructured-inference python-dateutil==2.9.0.post0 # via - # -c ./base.txt + # -c requirements/base.txt # matplotlib # pandas python-multipart==0.0.20 @@ -214,15 +214,15 @@ pyyaml==6.0.2 # transformers rapidfuzz==3.13.0 # via - # -c ./base.txt + # -c requirements/base.txt # unstructured-inference regex==2024.11.6 # via - # -c ./base.txt + # -c requirements/base.txt # transformers requests==2.32.4 # via - # -c ./base.txt + # -c requirements/base.txt # google-api-core # huggingface-hub # transformers @@ -237,7 +237,7 @@ scipy==1.15.3 # via unstructured-inference six==1.17.0 # via - # -c ./base.txt + # -c requirements/base.txt # python-dateutil sympy==1.14.0 # via @@ -249,7 +249,7 @@ timm==1.0.15 # unstructured-inference tokenizers==0.21.1 # via - # -c ././deps/constraints.txt + # -c requirements/deps/constraints.txt # transformers torch==2.7.1 # via @@ -264,14 +264,14 @@ torchvision==0.22.1 # timm tqdm==4.67.1 # via - # -c ./base.txt + # -c requirements/base.txt # huggingface-hub # transformers transformers==4.52.4 # via unstructured-inference typing-extensions==4.14.0 # via - # -c ./base.txt + # -c requirements/base.txt # huggingface-hub # onnx # pypdf @@ -284,10 +284,10 @@ unstructured-pytesseract==0.3.15 # via -r ./extra-pdf-image.in urllib3==2.4.0 # via - # -c ././deps/constraints.txt - # -c ./base.txt + # -c requirements/base.txt + # -c requirements/deps/constraints.txt # requests wrapt==1.17.2 # via - # -c ./base.txt + # -c requirements/base.txt # deprecated diff --git a/requirements/extra-xlsx.txt b/requirements/extra-xlsx.txt index e309ec096..5aac580ef 100644 --- a/requirements/extra-xlsx.txt +++ b/requirements/extra-xlsx.txt @@ -10,7 +10,7 @@ networkx==3.4.2 # via -r ./extra-xlsx.in numpy==2.2.6 # via - # -c ./base.txt + # -c requirements/base.txt # pandas openpyxl==3.1.5 # via -r ./extra-xlsx.in @@ -18,15 +18,15 @@ pandas==2.3.0 # via -r ./extra-xlsx.in python-dateutil==2.9.0.post0 # via - # -c ./base.txt + # -c requirements/base.txt # pandas pytz==2025.2 # via pandas six==1.17.0 # via - # -c ./base.txt + # -c requirements/base.txt # python-dateutil tzdata==2025.2 # via pandas -xlrd==2.0.1 +xlrd==2.0.2 # via -r ./extra-xlsx.in diff --git a/requirements/huggingface.txt b/requirements/huggingface.txt index 5fdc31e0e..e74a309b3 100644 --- a/requirements/huggingface.txt +++ b/requirements/huggingface.txt @@ -4,17 +4,17 @@ # # pip-compile ./huggingface.in # -certifi==2025.4.26 +certifi==2025.6.15 # via - # -c ./base.txt + # -c requirements/base.txt # requests charset-normalizer==3.4.2 # via - # -c ./base.txt + # -c requirements/base.txt # requests click==8.2.1 # via - # -c ./base.txt + # -c requirements/base.txt # sacremoses filelock==3.18.0 # via @@ -25,7 +25,7 @@ fsspec==2025.5.1 # via # huggingface-hub # torch -hf-xet==1.1.3 +hf-xet==1.1.4 # via huggingface-hub huggingface-hub==0.33.0 # via @@ -33,17 +33,17 @@ huggingface-hub==0.33.0 # transformers idna==3.10 # via - # -c ./base.txt + # -c requirements/base.txt # requests jinja2==3.1.6 # via torch joblib==1.5.1 # via - # -c ./base.txt + # -c requirements/base.txt # sacremoses langdetect==1.0.9 # via - # -c ./base.txt + # -c requirements/base.txt # -r ./huggingface.in markupsafe==3.0.2 # via jinja2 @@ -53,11 +53,11 @@ networkx==3.4.2 # via torch numpy==2.2.6 # via - # -c ./base.txt + # -c requirements/base.txt # transformers packaging==25.0 # via - # -c ./base.txt + # -c requirements/base.txt # huggingface-hub # transformers pyyaml==6.0.2 @@ -66,12 +66,12 @@ pyyaml==6.0.2 # transformers regex==2024.11.6 # via - # -c ./base.txt + # -c requirements/base.txt # sacremoses # transformers requests==2.32.4 # via - # -c ./base.txt + # -c requirements/base.txt # huggingface-hub # transformers sacremoses==0.1.1 @@ -82,19 +82,19 @@ sentencepiece==0.2.0 # via -r ./huggingface.in six==1.17.0 # via - # -c ./base.txt + # -c requirements/base.txt # langdetect sympy==1.14.0 # via torch tokenizers==0.21.1 # via - # -c ././deps/constraints.txt + # -c requirements/deps/constraints.txt # transformers torch==2.7.1 # via -r ./huggingface.in tqdm==4.67.1 # via - # -c ./base.txt + # -c requirements/base.txt # huggingface-hub # sacremoses # transformers @@ -102,11 +102,11 @@ transformers==4.52.4 # via -r ./huggingface.in typing-extensions==4.14.0 # via - # -c ./base.txt + # -c requirements/base.txt # huggingface-hub # torch urllib3==2.4.0 # via - # -c ././deps/constraints.txt - # -c ./base.txt + # -c requirements/base.txt + # -c requirements/deps/constraints.txt # requests diff --git a/requirements/test.txt b/requirements/test.txt index 6492b3dcd..d399eeed4 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -2,21 +2,21 @@ # This file is autogenerated by pip-compile with Python 3.10 # by the following command: # -# pip-compile requirements/test.in +# pip-compile ./test.in # annotated-types==0.7.0 # via pydantic autoflake==2.3.1 - # via -r requirements/test.in + # via -r ./test.in black==25.1.0 - # via -r requirements/test.in + # via -r ./test.in click==8.2.1 # via # -c requirements/base.txt # black -coverage[toml]==7.9.0 +coverage[toml]==7.9.1 # via - # -r requirements/test.in + # -r ./test.in # pytest-cov exceptiongroup==1.3.0 # via @@ -26,24 +26,24 @@ execnet==2.1.1 # via pytest-xdist flake8==7.2.0 # via - # -r requirements/test.in + # -r ./test.in # flake8-print flake8-print==5.0.0 - # via -r requirements/test.in + # via -r ./test.in freezegun==1.5.2 - # via -r requirements/test.in + # via -r ./test.in grpcio==1.73.0 # via - # -c requirements/./deps/constraints.txt - # -r requirements/test.in + # -c requirements/deps/constraints.txt + # -r ./test.in iniconfig==2.1.0 # via pytest liccheck==0.9.2 - # via -r requirements/test.in + # via -r ./test.in mccabe==0.7.0 # via flake8 -mypy==1.16.0 - # via -r requirements/test.in +mypy==1.16.1 + # via -r ./test.in mypy-extensions==1.1.0 # via # -c requirements/base.txt @@ -68,8 +68,8 @@ pycodestyle==2.13.0 # via # flake8 # flake8-print -pydantic==2.11.5 - # via -r requirements/test.in +pydantic==2.11.7 + # via -r ./test.in pydantic-core==2.33.2 # via pydantic pyflakes==3.3.2 @@ -84,17 +84,17 @@ pytest==8.4.0 # pytest-mock # pytest-xdist pytest-cov==6.2.1 - # via -r requirements/test.in + # via -r ./test.in pytest-mock==3.14.1 - # via -r requirements/test.in + # via -r ./test.in pytest-xdist==3.7.0 - # via -r requirements/test.in + # via -r ./test.in python-dateutil==2.9.0.post0 # via # -c requirements/base.txt # freezegun ruff==0.11.13 - # via -r requirements/test.in + # via -r ./test.in semantic-version==2.10.0 # via liccheck six==1.17.0 @@ -111,13 +111,13 @@ tomli==2.2.1 # mypy # pytest types-click==7.1.8 - # via -r requirements/test.in + # via -r ./test.in types-markdown==3.8.0.20250415 - # via -r requirements/test.in + # via -r ./test.in types-requests==2.32.4.20250611 - # via -r requirements/test.in + # via -r ./test.in types-tabulate==0.9.0.20241207 - # via -r requirements/test.in + # via -r ./test.in typing-extensions==4.14.0 # via # -c requirements/base.txt @@ -131,6 +131,6 @@ typing-inspection==0.4.1 # via pydantic urllib3==2.4.0 # via - # -c requirements/./deps/constraints.txt # -c requirements/base.txt + # -c requirements/deps/constraints.txt # types-requests diff --git a/unstructured/__version__.py b/unstructured/__version__.py index 78e486a34..6d884e3cd 100644 --- a/unstructured/__version__.py +++ b/unstructured/__version__.py @@ -1 +1 @@ -__version__ = "0.17.11-dev3" # pragma: no cover +__version__ = "0.18.0" # pragma: no cover