From 014582ed84fb85c8b4fe5c30c18c857a913b42e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexis=20M=C3=A9taireau?= Date: Tue, 28 May 2024 16:29:44 +0200 Subject: [PATCH] Bump the minimum python version to 3.9 The minimum python version when installing from source is now python 3.9, as Pyside6 6.7.1 dropped support for python 3.8 (see #780 for more information). On Debian-derivatives distributions, the minimum Python version is now set to 3.8. In practice, because Pyside6 is not packaged for Debian, we use Pyside2 [0], which is why we can relax the python version requirement. In practice, when installing from source on an environment where python3.9 is not the default python, poetry will look for it and use it if available > For various reasons, this Python version might not be compatible with > the python range supported by the project. In this case, Poetry will > try to find one that is and use it. > > [Poetry docs](https://python-poetry.org/docs/managing-environments/) On Ubuntu Focal (20.04) where Python 3.9 is not installed by default, it is possible to install it using the `python3.9` package. Additionally, In version 1.24.3, PyMuPDF changed its package name from `fitz` to `pymupdf` [2], resulting in a breakage on how it is installed in our container. This is now fixed. [0] More information on how Pyside6 packaging affects dangerzone on #221 [1] See [the current status of Pyside6 packaging](https://repology.org/ project/python:pyside6/packages) [2] PyMuPDF changelog: https://pymupdf.readthedocs.io/en/latest/changes.html#change-log --- BUILD.md | 24 ++ Dockerfile | 3 +- dev_scripts/env.py | 2 +- dev_scripts/qa.py | 24 ++ poetry.lock | 423 +++++++++++++------------- pyproject.toml | 4 +- stdeb.cfg | 2 +- tests/test_docs/unsafe/sample-bmp.bmp | Bin 0 -> 1000810 bytes tests/test_docs/unsafe/sample-pdf.pdf | Bin 0 -> 54327 bytes 9 files changed, 266 insertions(+), 216 deletions(-) create mode 100644 tests/test_docs/unsafe/sample-bmp.bmp create mode 100644 tests/test_docs/unsafe/sample-pdf.pdf diff --git a/BUILD.md b/BUILD.md index e1ae680c6..7c088c4ba 100644 --- a/BUILD.md +++ b/BUILD.md @@ -33,6 +33,30 @@ Install dependencies: + + + + + +
+
+ :memo: Expand this section if you are on Ubuntu 20.04 (Focal). +
+ + The default Python version that ships with Ubuntu Focal (3.8) is not + compatible with PySide6, which requires Python 3.9 of greater. + + You can install Python 3.9 using the `python3.9` package. + + ```bash + sudo apt install -y python3.9 + ``` + + Poetry will automatically pick up the correct version when running. +
+
+ + ```sh sudo apt install -y podman dh-python build-essential fakeroot make libqt6gui6 \ pipx python3 python3-dev python3-stdeb python3-all diff --git a/Dockerfile b/Dockerfile index 3e8b80dc0..27d3147ef 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,7 +8,7 @@ ARG REQUIREMENTS_TXT # Install PyMuPDF via hash-checked requirements file COPY ${REQUIREMENTS_TXT} /tmp/requirements.txt RUN apk --no-cache add linux-headers g++ linux-headers gcc make python3-dev py3-pip clang-dev -RUN pip install --break-system-packages --require-hashes -r /tmp/requirements.txt +RUN pip install -vv --break-system-packages --require-hashes -r /tmp/requirements.txt ########################################### @@ -62,6 +62,7 @@ RUN apk --no-cache -U upgrade && \ font-noto-cjk COPY --from=pymupdf-build /usr/lib/python3.12/site-packages/fitz/ /usr/lib/python3.12/site-packages/fitz +COPY --from=pymupdf-build /usr/lib/python3.12/site-packages/pymupdf/ /usr/lib/python3.12/site-packages/pymupdf COPY --from=tessdata-dl /usr/share/tessdata/ /usr/share/tessdata COPY --from=h2orestart-dl /libreoffice_ext/ /libreoffice_ext diff --git a/dev_scripts/env.py b/dev_scripts/env.py index fcc4bbdbb..bc4148e5c 100755 --- a/dev_scripts/env.py +++ b/dev_scripts/env.py @@ -100,7 +100,7 @@ ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update \ - && apt-get install -y python-all curl wget gnupg2 \ + && apt-get install -y python-all python3.9 curl wget gnupg2 \ && rm -rf /var/lib/apt/lists/* RUN . /etc/os-release \ && sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_$VERSION_ID/ /' \ diff --git a/dev_scripts/qa.py b/dev_scripts/qa.py index 80d2a4f86..a26a0e3f9 100755 --- a/dev_scripts/qa.py +++ b/dev_scripts/qa.py @@ -216,6 +216,30 @@ + + + + + +
+
+ :memo: Expand this section if you are on Ubuntu 20.04 (Focal). +
+ + The default Python version that ships with Ubuntu Focal (3.8) is not + compatible with PySide6, which requires Python 3.9 of greater. + + You can install Python 3.9 using the `python3.9` package. + + ```bash + sudo apt install -y python3.9 + ``` + + Poetry will automatically pick up the correct version when running. +
+
+ + ```sh sudo apt install -y podman dh-python build-essential fakeroot make libqt6gui6 \ pipx python3 python3-dev python3-stdeb python3-all diff --git a/poetry.lock b/poetry.lock index f66360f80..c10d056a5 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "altgraph" @@ -24,33 +24,33 @@ files = [ [[package]] name = "black" -version = "24.4.0" +version = "24.4.2" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" files = [ - {file = "black-24.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6ad001a9ddd9b8dfd1b434d566be39b1cd502802c8d38bbb1ba612afda2ef436"}, - {file = "black-24.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3a3a092b8b756c643fe45f4624dbd5a389f770a4ac294cf4d0fce6af86addaf"}, - {file = "black-24.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dae79397f367ac8d7adb6c779813328f6d690943f64b32983e896bcccd18cbad"}, - {file = "black-24.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:71d998b73c957444fb7c52096c3843875f4b6b47a54972598741fe9a7f737fcb"}, - {file = "black-24.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8e5537f456a22cf5cfcb2707803431d2feeb82ab3748ade280d6ccd0b40ed2e8"}, - {file = "black-24.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:64e60a7edd71fd542a10a9643bf369bfd2644de95ec71e86790b063aa02ff745"}, - {file = "black-24.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cd5b4f76056cecce3e69b0d4c228326d2595f506797f40b9233424e2524c070"}, - {file = "black-24.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:64578cf99b6b46a6301bc28bdb89f9d6f9b592b1c5837818a177c98525dbe397"}, - {file = "black-24.4.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f95cece33329dc4aa3b0e1a771c41075812e46cf3d6e3f1dfe3d91ff09826ed2"}, - {file = "black-24.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4396ca365a4310beef84d446ca5016f671b10f07abdba3e4e4304218d2c71d33"}, - {file = "black-24.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44d99dfdf37a2a00a6f7a8dcbd19edf361d056ee51093b2445de7ca09adac965"}, - {file = "black-24.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:21f9407063ec71c5580b8ad975653c66508d6a9f57bd008bb8691d273705adcd"}, - {file = "black-24.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:652e55bb722ca026299eb74e53880ee2315b181dfdd44dca98e43448620ddec1"}, - {file = "black-24.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7f2966b9b2b3b7104fca9d75b2ee856fe3fdd7ed9e47c753a4bb1a675f2caab8"}, - {file = "black-24.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bb9ca06e556a09f7f7177bc7cb604e5ed2d2df1e9119e4f7d2f1f7071c32e5d"}, - {file = "black-24.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:d4e71cdebdc8efeb6deaf5f2deb28325f8614d48426bed118ecc2dcaefb9ebf3"}, - {file = "black-24.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6644f97a7ef6f401a150cca551a1ff97e03c25d8519ee0bbc9b0058772882665"}, - {file = "black-24.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:75a2d0b4f5eb81f7eebc31f788f9830a6ce10a68c91fbe0fade34fff7a2836e6"}, - {file = "black-24.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb949f56a63c5e134dfdca12091e98ffb5fd446293ebae123d10fc1abad00b9e"}, - {file = "black-24.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:7852b05d02b5b9a8c893ab95863ef8986e4dda29af80bbbda94d7aee1abf8702"}, - {file = "black-24.4.0-py3-none-any.whl", hash = "sha256:74eb9b5420e26b42c00a3ff470dc0cd144b80a766128b1771d07643165e08d0e"}, - {file = "black-24.4.0.tar.gz", hash = "sha256:f07b69fda20578367eaebbd670ff8fc653ab181e1ff95d84497f9fa20e7d0641"}, + {file = "black-24.4.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dd1b5a14e417189db4c7b64a6540f31730713d173f0b63e55fabd52d61d8fdce"}, + {file = "black-24.4.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e537d281831ad0e71007dcdcbe50a71470b978c453fa41ce77186bbe0ed6021"}, + {file = "black-24.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaea3008c281f1038edb473c1aa8ed8143a5535ff18f978a318f10302b254063"}, + {file = "black-24.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:7768a0dbf16a39aa5e9a3ded568bb545c8c2727396d063bbaf847df05b08cd96"}, + {file = "black-24.4.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:257d724c2c9b1660f353b36c802ccece186a30accc7742c176d29c146df6e474"}, + {file = "black-24.4.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bdde6f877a18f24844e381d45e9947a49e97933573ac9d4345399be37621e26c"}, + {file = "black-24.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e151054aa00bad1f4e1f04919542885f89f5f7d086b8a59e5000e6c616896ffb"}, + {file = "black-24.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:7e122b1c4fb252fd85df3ca93578732b4749d9be076593076ef4d07a0233c3e1"}, + {file = "black-24.4.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:accf49e151c8ed2c0cdc528691838afd217c50412534e876a19270fea1e28e2d"}, + {file = "black-24.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:88c57dc656038f1ab9f92b3eb5335ee9b021412feaa46330d5eba4e51fe49b04"}, + {file = "black-24.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be8bef99eb46d5021bf053114442914baeb3649a89dc5f3a555c88737e5e98fc"}, + {file = "black-24.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:415e686e87dbbe6f4cd5ef0fbf764af7b89f9057b97c908742b6008cc554b9c0"}, + {file = "black-24.4.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bf10f7310db693bb62692609b397e8d67257c55f949abde4c67f9cc574492cc7"}, + {file = "black-24.4.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:98e123f1d5cfd42f886624d84464f7756f60ff6eab89ae845210631714f6db94"}, + {file = "black-24.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48a85f2cb5e6799a9ef05347b476cce6c182d6c71ee36925a6c194d074336ef8"}, + {file = "black-24.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:b1530ae42e9d6d5b670a34db49a94115a64596bc77710b1d05e9801e62ca0a7c"}, + {file = "black-24.4.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:37aae07b029fa0174d39daf02748b379399b909652a806e5708199bd93899da1"}, + {file = "black-24.4.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:da33a1a5e49c4122ccdfd56cd021ff1ebc4a1ec4e2d01594fef9b6f267a9e741"}, + {file = "black-24.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef703f83fc32e131e9bcc0a5094cfe85599e7109f896fe8bc96cc402f3eb4b6e"}, + {file = "black-24.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:b9176b9832e84308818a99a561e90aa479e73c523b3f77afd07913380ae2eab7"}, + {file = "black-24.4.2-py3-none-any.whl", hash = "sha256:d36ed1124bb81b32f8614555b34cc4259c3fbc7eec17870e8ff8ded335b58d8c"}, + {file = "black-24.4.2.tar.gz", hash = "sha256:c872b53057f000085da66a19c55d68f6f8ddcac2642392ad3a355878406fbd4d"}, ] [package.dependencies] @@ -205,63 +205,63 @@ files = [ [[package]] name = "coverage" -version = "7.5.0" +version = "7.5.1" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.8" files = [ - {file = "coverage-7.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:432949a32c3e3f820af808db1833d6d1631664d53dd3ce487aa25d574e18ad1c"}, - {file = "coverage-7.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2bd7065249703cbeb6d4ce679c734bef0ee69baa7bff9724361ada04a15b7e3b"}, - {file = "coverage-7.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbfe6389c5522b99768a93d89aca52ef92310a96b99782973b9d11e80511f932"}, - {file = "coverage-7.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:39793731182c4be939b4be0cdecde074b833f6171313cf53481f869937129ed3"}, - {file = "coverage-7.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85a5dbe1ba1bf38d6c63b6d2c42132d45cbee6d9f0c51b52c59aa4afba057517"}, - {file = "coverage-7.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:357754dcdfd811462a725e7501a9b4556388e8ecf66e79df6f4b988fa3d0b39a"}, - {file = "coverage-7.5.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a81eb64feded34f40c8986869a2f764f0fe2db58c0530d3a4afbcde50f314880"}, - {file = "coverage-7.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:51431d0abbed3a868e967f8257c5faf283d41ec882f58413cf295a389bb22e58"}, - {file = "coverage-7.5.0-cp310-cp310-win32.whl", hash = "sha256:f609ebcb0242d84b7adeee2b06c11a2ddaec5464d21888b2c8255f5fd6a98ae4"}, - {file = "coverage-7.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:6782cd6216fab5a83216cc39f13ebe30adfac2fa72688c5a4d8d180cd52e8f6a"}, - {file = "coverage-7.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e768d870801f68c74c2b669fc909839660180c366501d4cc4b87efd6b0eee375"}, - {file = "coverage-7.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:84921b10aeb2dd453247fd10de22907984eaf80901b578a5cf0bb1e279a587cb"}, - {file = "coverage-7.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:710c62b6e35a9a766b99b15cdc56d5aeda0914edae8bb467e9c355f75d14ee95"}, - {file = "coverage-7.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c379cdd3efc0658e652a14112d51a7668f6bfca7445c5a10dee7eabecabba19d"}, - {file = "coverage-7.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fea9d3ca80bcf17edb2c08a4704259dadac196fe5e9274067e7a20511fad1743"}, - {file = "coverage-7.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:41327143c5b1d715f5f98a397608f90ab9ebba606ae4e6f3389c2145410c52b1"}, - {file = "coverage-7.5.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:565b2e82d0968c977e0b0f7cbf25fd06d78d4856289abc79694c8edcce6eb2de"}, - {file = "coverage-7.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cf3539007202ebfe03923128fedfdd245db5860a36810136ad95a564a2fdffff"}, - {file = "coverage-7.5.0-cp311-cp311-win32.whl", hash = "sha256:bf0b4b8d9caa8d64df838e0f8dcf68fb570c5733b726d1494b87f3da85db3a2d"}, - {file = "coverage-7.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:9c6384cc90e37cfb60435bbbe0488444e54b98700f727f16f64d8bfda0b84656"}, - {file = "coverage-7.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fed7a72d54bd52f4aeb6c6e951f363903bd7d70bc1cad64dd1f087980d309ab9"}, - {file = "coverage-7.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cbe6581fcff7c8e262eb574244f81f5faaea539e712a058e6707a9d272fe5b64"}, - {file = "coverage-7.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad97ec0da94b378e593ef532b980c15e377df9b9608c7c6da3506953182398af"}, - {file = "coverage-7.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd4bacd62aa2f1a1627352fe68885d6ee694bdaebb16038b6e680f2924a9b2cc"}, - {file = "coverage-7.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adf032b6c105881f9d77fa17d9eebe0ad1f9bfb2ad25777811f97c5362aa07f2"}, - {file = "coverage-7.5.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4ba01d9ba112b55bfa4b24808ec431197bb34f09f66f7cb4fd0258ff9d3711b1"}, - {file = "coverage-7.5.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:f0bfe42523893c188e9616d853c47685e1c575fe25f737adf473d0405dcfa7eb"}, - {file = "coverage-7.5.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a9a7ef30a1b02547c1b23fa9a5564f03c9982fc71eb2ecb7f98c96d7a0db5cf2"}, - {file = "coverage-7.5.0-cp312-cp312-win32.whl", hash = "sha256:3c2b77f295edb9fcdb6a250f83e6481c679335ca7e6e4a955e4290350f2d22a4"}, - {file = "coverage-7.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:427e1e627b0963ac02d7c8730ca6d935df10280d230508c0ba059505e9233475"}, - {file = "coverage-7.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9dd88fce54abbdbf4c42fb1fea0e498973d07816f24c0e27a1ecaf91883ce69e"}, - {file = "coverage-7.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a898c11dca8f8c97b467138004a30133974aacd572818c383596f8d5b2eb04a9"}, - {file = "coverage-7.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07dfdd492d645eea1bd70fb1d6febdcf47db178b0d99161d8e4eed18e7f62fe7"}, - {file = "coverage-7.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d3d117890b6eee85887b1eed41eefe2e598ad6e40523d9f94c4c4b213258e4a4"}, - {file = "coverage-7.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6afd2e84e7da40fe23ca588379f815fb6dbbb1b757c883935ed11647205111cb"}, - {file = "coverage-7.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a9960dd1891b2ddf13a7fe45339cd59ecee3abb6b8326d8b932d0c5da208104f"}, - {file = "coverage-7.5.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ced268e82af993d7801a9db2dbc1d2322e786c5dc76295d8e89473d46c6b84d4"}, - {file = "coverage-7.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e7c211f25777746d468d76f11719e64acb40eed410d81c26cefac641975beb88"}, - {file = "coverage-7.5.0-cp38-cp38-win32.whl", hash = "sha256:262fffc1f6c1a26125d5d573e1ec379285a3723363f3bd9c83923c9593a2ac25"}, - {file = "coverage-7.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:eed462b4541c540d63ab57b3fc69e7d8c84d5957668854ee4e408b50e92ce26a"}, - {file = "coverage-7.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d0194d654e360b3e6cc9b774e83235bae6b9b2cac3be09040880bb0e8a88f4a1"}, - {file = "coverage-7.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:33c020d3322662e74bc507fb11488773a96894aa82a622c35a5a28673c0c26f5"}, - {file = "coverage-7.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cbdf2cae14a06827bec50bd58e49249452d211d9caddd8bd80e35b53cb04631"}, - {file = "coverage-7.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3235d7c781232e525b0761730e052388a01548bd7f67d0067a253887c6e8df46"}, - {file = "coverage-7.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2de4e546f0ec4b2787d625e0b16b78e99c3e21bc1722b4977c0dddf11ca84e"}, - {file = "coverage-7.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4d0e206259b73af35c4ec1319fd04003776e11e859936658cb6ceffdeba0f5be"}, - {file = "coverage-7.5.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2055c4fb9a6ff624253d432aa471a37202cd8f458c033d6d989be4499aed037b"}, - {file = "coverage-7.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:075299460948cd12722a970c7eae43d25d37989da682997687b34ae6b87c0ef0"}, - {file = "coverage-7.5.0-cp39-cp39-win32.whl", hash = "sha256:280132aada3bc2f0fac939a5771db4fbb84f245cb35b94fae4994d4c1f80dae7"}, - {file = "coverage-7.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:c58536f6892559e030e6924896a44098bc1290663ea12532c78cef71d0df8493"}, - {file = "coverage-7.5.0-pp38.pp39.pp310-none-any.whl", hash = "sha256:2b57780b51084d5223eee7b59f0d4911c31c16ee5aa12737c7a02455829ff067"}, - {file = "coverage-7.5.0.tar.gz", hash = "sha256:cf62d17310f34084c59c01e027259076479128d11e4661bb6c9acb38c5e19bb8"}, + {file = "coverage-7.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0884920835a033b78d1c73b6d3bbcda8161a900f38a488829a83982925f6c2e"}, + {file = "coverage-7.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:39afcd3d4339329c5f58de48a52f6e4e50f6578dd6099961cf22228feb25f38f"}, + {file = "coverage-7.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a7b0ceee8147444347da6a66be737c9d78f3353b0681715b668b72e79203e4a"}, + {file = "coverage-7.5.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a9ca3f2fae0088c3c71d743d85404cec8df9be818a005ea065495bedc33da35"}, + {file = "coverage-7.5.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fd215c0c7d7aab005221608a3c2b46f58c0285a819565887ee0b718c052aa4e"}, + {file = "coverage-7.5.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4bf0655ab60d754491004a5efd7f9cccefcc1081a74c9ef2da4735d6ee4a6223"}, + {file = "coverage-7.5.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:61c4bf1ba021817de12b813338c9be9f0ad5b1e781b9b340a6d29fc13e7c1b5e"}, + {file = "coverage-7.5.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:db66fc317a046556a96b453a58eced5024af4582a8dbdc0c23ca4dbc0d5b3146"}, + {file = "coverage-7.5.1-cp310-cp310-win32.whl", hash = "sha256:b016ea6b959d3b9556cb401c55a37547135a587db0115635a443b2ce8f1c7228"}, + {file = "coverage-7.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:df4e745a81c110e7446b1cc8131bf986157770fa405fe90e15e850aaf7619bc8"}, + {file = "coverage-7.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:796a79f63eca8814ca3317a1ea443645c9ff0d18b188de470ed7ccd45ae79428"}, + {file = "coverage-7.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4fc84a37bfd98db31beae3c2748811a3fa72bf2007ff7902f68746d9757f3746"}, + {file = "coverage-7.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6175d1a0559986c6ee3f7fccfc4a90ecd12ba0a383dcc2da30c2b9918d67d8a3"}, + {file = "coverage-7.5.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fc81d5878cd6274ce971e0a3a18a8803c3fe25457165314271cf78e3aae3aa2"}, + {file = "coverage-7.5.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:556cf1a7cbc8028cb60e1ff0be806be2eded2daf8129b8811c63e2b9a6c43bca"}, + {file = "coverage-7.5.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9981706d300c18d8b220995ad22627647be11a4276721c10911e0e9fa44c83e8"}, + {file = "coverage-7.5.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d7fed867ee50edf1a0b4a11e8e5d0895150e572af1cd6d315d557758bfa9c057"}, + {file = "coverage-7.5.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ef48e2707fb320c8f139424a596f5b69955a85b178f15af261bab871873bb987"}, + {file = "coverage-7.5.1-cp311-cp311-win32.whl", hash = "sha256:9314d5678dcc665330df5b69c1e726a0e49b27df0461c08ca12674bcc19ef136"}, + {file = "coverage-7.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:5fa567e99765fe98f4e7d7394ce623e794d7cabb170f2ca2ac5a4174437e90dd"}, + {file = "coverage-7.5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b6cf3764c030e5338e7f61f95bd21147963cf6aa16e09d2f74f1fa52013c1206"}, + {file = "coverage-7.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ec92012fefebee89a6b9c79bc39051a6cb3891d562b9270ab10ecfdadbc0c34"}, + {file = "coverage-7.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16db7f26000a07efcf6aea00316f6ac57e7d9a96501e990a36f40c965ec7a95d"}, + {file = "coverage-7.5.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:beccf7b8a10b09c4ae543582c1319c6df47d78fd732f854ac68d518ee1fb97fa"}, + {file = "coverage-7.5.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8748731ad392d736cc9ccac03c9845b13bb07d020a33423fa5b3a36521ac6e4e"}, + {file = "coverage-7.5.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7352b9161b33fd0b643ccd1f21f3a3908daaddf414f1c6cb9d3a2fd618bf2572"}, + {file = "coverage-7.5.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:7a588d39e0925f6a2bff87154752481273cdb1736270642aeb3635cb9b4cad07"}, + {file = "coverage-7.5.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:68f962d9b72ce69ea8621f57551b2fa9c70509af757ee3b8105d4f51b92b41a7"}, + {file = "coverage-7.5.1-cp312-cp312-win32.whl", hash = "sha256:f152cbf5b88aaeb836127d920dd0f5e7edff5a66f10c079157306c4343d86c19"}, + {file = "coverage-7.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:5a5740d1fb60ddf268a3811bcd353de34eb56dc24e8f52a7f05ee513b2d4f596"}, + {file = "coverage-7.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e2213def81a50519d7cc56ed643c9e93e0247f5bbe0d1247d15fa520814a7cd7"}, + {file = "coverage-7.5.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5037f8fcc2a95b1f0e80585bd9d1ec31068a9bcb157d9750a172836e98bc7a90"}, + {file = "coverage-7.5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3721c2c9e4c4953a41a26c14f4cef64330392a6d2d675c8b1db3b645e31f0e"}, + {file = "coverage-7.5.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca498687ca46a62ae590253fba634a1fe9836bc56f626852fb2720f334c9e4e5"}, + {file = "coverage-7.5.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cdcbc320b14c3e5877ee79e649677cb7d89ef588852e9583e6b24c2e5072661"}, + {file = "coverage-7.5.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:57e0204b5b745594e5bc14b9b50006da722827f0b8c776949f1135677e88d0b8"}, + {file = "coverage-7.5.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8fe7502616b67b234482c3ce276ff26f39ffe88adca2acf0261df4b8454668b4"}, + {file = "coverage-7.5.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:9e78295f4144f9dacfed4f92935fbe1780021247c2fabf73a819b17f0ccfff8d"}, + {file = "coverage-7.5.1-cp38-cp38-win32.whl", hash = "sha256:1434e088b41594baa71188a17533083eabf5609e8e72f16ce8c186001e6b8c41"}, + {file = "coverage-7.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:0646599e9b139988b63704d704af8e8df7fa4cbc4a1f33df69d97f36cb0a38de"}, + {file = "coverage-7.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4cc37def103a2725bc672f84bd939a6fe4522310503207aae4d56351644682f1"}, + {file = "coverage-7.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fc0b4d8bfeabd25ea75e94632f5b6e047eef8adaed0c2161ada1e922e7f7cece"}, + {file = "coverage-7.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d0a0f5e06881ecedfe6f3dd2f56dcb057b6dbeb3327fd32d4b12854df36bf26"}, + {file = "coverage-7.5.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9735317685ba6ec7e3754798c8871c2f49aa5e687cc794a0b1d284b2389d1bd5"}, + {file = "coverage-7.5.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d21918e9ef11edf36764b93101e2ae8cc82aa5efdc7c5a4e9c6c35a48496d601"}, + {file = "coverage-7.5.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c3e757949f268364b96ca894b4c342b41dc6f8f8b66c37878aacef5930db61be"}, + {file = "coverage-7.5.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:79afb6197e2f7f60c4824dd4b2d4c2ec5801ceb6ba9ce5d2c3080e5660d51a4f"}, + {file = "coverage-7.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d1d0d98d95dd18fe29dc66808e1accf59f037d5716f86a501fc0256455219668"}, + {file = "coverage-7.5.1-cp39-cp39-win32.whl", hash = "sha256:1cc0fe9b0b3a8364093c53b0b4c0c2dd4bb23acbec4c9240b5f284095ccf7981"}, + {file = "coverage-7.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:dde0070c40ea8bb3641e811c1cfbf18e265d024deff6de52c5950677a8fb1e0f"}, + {file = "coverage-7.5.1-pp38.pp39.pp310-none-any.whl", hash = "sha256:6537e7c10cc47c595828b8a8be04c72144725c383c4702703ff4e42e44577312"}, + {file = "coverage-7.5.1.tar.gz", hash = "sha256:54de9ef3a9da981f7af93eafde4ede199e0846cd819eb27c88e2b712aae9708c"}, ] [package.dependencies] @@ -502,38 +502,38 @@ testing = ["coverage", "pyyaml"] [[package]] name = "mypy" -version = "1.9.0" +version = "1.10.0" description = "Optional static typing for Python" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f8a67616990062232ee4c3952f41c779afac41405806042a8126fe96e098419f"}, - {file = "mypy-1.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d357423fa57a489e8c47b7c85dfb96698caba13d66e086b412298a1a0ea3b0ed"}, - {file = "mypy-1.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49c87c15aed320de9b438ae7b00c1ac91cd393c1b854c2ce538e2a72d55df150"}, - {file = "mypy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:48533cdd345c3c2e5ef48ba3b0d3880b257b423e7995dada04248725c6f77374"}, - {file = "mypy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:4d3dbd346cfec7cb98e6cbb6e0f3c23618af826316188d587d1c1bc34f0ede03"}, - {file = "mypy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:653265f9a2784db65bfca694d1edd23093ce49740b2244cde583aeb134c008f3"}, - {file = "mypy-1.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a3c007ff3ee90f69cf0a15cbcdf0995749569b86b6d2f327af01fd1b8aee9dc"}, - {file = "mypy-1.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2418488264eb41f69cc64a69a745fad4a8f86649af4b1041a4c64ee61fc61129"}, - {file = "mypy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:68edad3dc7d70f2f17ae4c6c1b9471a56138ca22722487eebacfd1eb5321d612"}, - {file = "mypy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:85ca5fcc24f0b4aeedc1d02f93707bccc04733f21d41c88334c5482219b1ccb3"}, - {file = "mypy-1.9.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aceb1db093b04db5cd390821464504111b8ec3e351eb85afd1433490163d60cd"}, - {file = "mypy-1.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0235391f1c6f6ce487b23b9dbd1327b4ec33bb93934aa986efe8a9563d9349e6"}, - {file = "mypy-1.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4d5ddc13421ba3e2e082a6c2d74c2ddb3979c39b582dacd53dd5d9431237185"}, - {file = "mypy-1.9.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:190da1ee69b427d7efa8aa0d5e5ccd67a4fb04038c380237a0d96829cb157913"}, - {file = "mypy-1.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:fe28657de3bfec596bbeef01cb219833ad9d38dd5393fc649f4b366840baefe6"}, - {file = "mypy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e54396d70be04b34f31d2edf3362c1edd023246c82f1730bbf8768c28db5361b"}, - {file = "mypy-1.9.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5e6061f44f2313b94f920e91b204ec600982961e07a17e0f6cd83371cb23f5c2"}, - {file = "mypy-1.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81a10926e5473c5fc3da8abb04119a1f5811a236dc3a38d92015cb1e6ba4cb9e"}, - {file = "mypy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b685154e22e4e9199fc95f298661deea28aaede5ae16ccc8cbb1045e716b3e04"}, - {file = "mypy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:5d741d3fc7c4da608764073089e5f58ef6352bedc223ff58f2f038c2c4698a89"}, - {file = "mypy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:587ce887f75dd9700252a3abbc9c97bbe165a4a630597845c61279cf32dfbf02"}, - {file = "mypy-1.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f88566144752999351725ac623471661c9d1cd8caa0134ff98cceeea181789f4"}, - {file = "mypy-1.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61758fabd58ce4b0720ae1e2fea5cfd4431591d6d590b197775329264f86311d"}, - {file = "mypy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e49499be624dead83927e70c756970a0bc8240e9f769389cdf5714b0784ca6bf"}, - {file = "mypy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:571741dc4194b4f82d344b15e8837e8c5fcc462d66d076748142327626a1b6e9"}, - {file = "mypy-1.9.0-py3-none-any.whl", hash = "sha256:a260627a570559181a9ea5de61ac6297aa5af202f06fd7ab093ce74e7181e43e"}, - {file = "mypy-1.9.0.tar.gz", hash = "sha256:3cc5da0127e6a478cddd906068496a97a7618a21ce9b54bde5bf7e539c7af974"}, + {file = "mypy-1.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:da1cbf08fb3b851ab3b9523a884c232774008267b1f83371ace57f412fe308c2"}, + {file = "mypy-1.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:12b6bfc1b1a66095ab413160a6e520e1dc076a28f3e22f7fb25ba3b000b4ef99"}, + {file = "mypy-1.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e36fb078cce9904c7989b9693e41cb9711e0600139ce3970c6ef814b6ebc2b2"}, + {file = "mypy-1.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2b0695d605ddcd3eb2f736cd8b4e388288c21e7de85001e9f85df9187f2b50f9"}, + {file = "mypy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:cd777b780312ddb135bceb9bc8722a73ec95e042f911cc279e2ec3c667076051"}, + {file = "mypy-1.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3be66771aa5c97602f382230165b856c231d1277c511c9a8dd058be4784472e1"}, + {file = "mypy-1.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8b2cbaca148d0754a54d44121b5825ae71868c7592a53b7292eeb0f3fdae95ee"}, + {file = "mypy-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ec404a7cbe9fc0e92cb0e67f55ce0c025014e26d33e54d9e506a0f2d07fe5de"}, + {file = "mypy-1.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e22e1527dc3d4aa94311d246b59e47f6455b8729f4968765ac1eacf9a4760bc7"}, + {file = "mypy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:a87dbfa85971e8d59c9cc1fcf534efe664d8949e4c0b6b44e8ca548e746a8d53"}, + {file = "mypy-1.10.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a781f6ad4bab20eef8b65174a57e5203f4be627b46291f4589879bf4e257b97b"}, + {file = "mypy-1.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b808e12113505b97d9023b0b5e0c0705a90571c6feefc6f215c1df9381256e30"}, + {file = "mypy-1.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f55583b12156c399dce2df7d16f8a5095291354f1e839c252ec6c0611e86e2e"}, + {file = "mypy-1.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cf18f9d0efa1b16478c4c129eabec36148032575391095f73cae2e722fcf9d5"}, + {file = "mypy-1.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:bc6ac273b23c6b82da3bb25f4136c4fd42665f17f2cd850771cb600bdd2ebeda"}, + {file = "mypy-1.10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9fd50226364cd2737351c79807775136b0abe084433b55b2e29181a4c3c878c0"}, + {file = "mypy-1.10.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f90cff89eea89273727d8783fef5d4a934be2fdca11b47def50cf5d311aff727"}, + {file = "mypy-1.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fcfc70599efde5c67862a07a1aaf50e55bce629ace26bb19dc17cece5dd31ca4"}, + {file = "mypy-1.10.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:075cbf81f3e134eadaf247de187bd604748171d6b79736fa9b6c9685b4083061"}, + {file = "mypy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:3f298531bca95ff615b6e9f2fc0333aae27fa48052903a0ac90215021cdcfa4f"}, + {file = "mypy-1.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fa7ef5244615a2523b56c034becde4e9e3f9b034854c93639adb667ec9ec2976"}, + {file = "mypy-1.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3236a4c8f535a0631f85f5fcdffba71c7feeef76a6002fcba7c1a8e57c8be1ec"}, + {file = "mypy-1.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a2b5cdbb5dd35aa08ea9114436e0d79aceb2f38e32c21684dcf8e24e1e92821"}, + {file = "mypy-1.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:92f93b21c0fe73dc00abf91022234c79d793318b8a96faac147cd579c1671746"}, + {file = "mypy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:28d0e038361b45f099cc086d9dd99c15ff14d0188f44ac883010e172ce86c38a"}, + {file = "mypy-1.10.0-py3-none-any.whl", hash = "sha256:f8c083976eb530019175aabadb60921e73b4f45736760826aa1689dda8208aee"}, + {file = "mypy-1.10.0.tar.gz", hash = "sha256:3d087fcbec056c4ee34974da493a826ce316947485cef3901f511848e687c131"}, ] [package.dependencies] @@ -582,13 +582,13 @@ files = [ [[package]] name = "platformdirs" -version = "4.2.1" +version = "4.2.2" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.2.1-py3-none-any.whl", hash = "sha256:17d5a1161b3fd67b390023cb2d3b026bbd40abde6fdb052dfbd3a29c3ba22ee1"}, - {file = "platformdirs-4.2.1.tar.gz", hash = "sha256:031cd18d4ec63ec53e82dceaac0417d218a6863f7745dfcc9efe7793b7039bdf"}, + {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, ] [package.extras] @@ -613,23 +613,23 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "pyinstaller" -version = "6.6.0" +version = "6.7.0" description = "PyInstaller bundles a Python application and all its dependencies into a single package." optional = false python-versions = "<3.13,>=3.8" files = [ - {file = "pyinstaller-6.6.0-py3-none-macosx_10_13_universal2.whl", hash = "sha256:d2705efe79f8749526f65c4bce70ae88eea8b6adfb051f123122e86542fe3802"}, - {file = "pyinstaller-6.6.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:2aa771693ee3e0a899be3e9d946a24eab9896a98d0d4035f05a22f1193004cfb"}, - {file = "pyinstaller-6.6.0-py3-none-manylinux2014_i686.whl", hash = "sha256:1fc15e8cebf76361568359a40926aa5746fc0a84ca365fb2ac6caeea014a2cd3"}, - {file = "pyinstaller-6.6.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:7c4a55a5d872c118bc7a5e641c2df46ad18585c002d96adad129b4ee8c104463"}, - {file = "pyinstaller-6.6.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:97197593344f11f3dd2bdadbab14c61fbc4cdf9cc692a89b047cb671764c1824"}, - {file = "pyinstaller-6.6.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:00d81ddeee97710245a7ed03b0f9d5a4daf6c3a07adf978487b10991e1e20470"}, - {file = "pyinstaller-6.6.0-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:b7cab21db6fcfbdab47ee960239d1b44cd95383a4463177bd592613941d67959"}, - {file = "pyinstaller-6.6.0-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:00996d2090734d9ae4a1e53ed40351b07d593c37118d3e0d435bbcfa8db9edee"}, - {file = "pyinstaller-6.6.0-py3-none-win32.whl", hash = "sha256:cfe3ed214601de0723cb660994b44934efacb77a1cf0e4cc5133da996bcf36ce"}, - {file = "pyinstaller-6.6.0-py3-none-win_amd64.whl", hash = "sha256:e2f55fbbdf8a99ea84b39bc5669a68624473c303486d7eb2cd9063b339f0aa28"}, - {file = "pyinstaller-6.6.0-py3-none-win_arm64.whl", hash = "sha256:abbd591967593dab264bcc3bcb2466c0a1582f19a112e37e916c4212069c7933"}, - {file = "pyinstaller-6.6.0.tar.gz", hash = "sha256:be6bc2c3073d3e84fb7148d3af33ce9b6a7f01cfb154e06314cd1d4c05798a32"}, + {file = "pyinstaller-6.7.0-py3-none-macosx_10_13_universal2.whl", hash = "sha256:6decedba07031d1318528cb76d8400ae1572f7b08197f771ceca9e454e0060bf"}, + {file = "pyinstaller-6.7.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0756b3d4d3283ae2a5bda56abe479b80801ecafecdb3a96cd928542c2c75d016"}, + {file = "pyinstaller-6.7.0-py3-none-manylinux2014_i686.whl", hash = "sha256:df1b66500a7def997790bdadc23c142a2f96585ccd440beac63b72a4f3e41684"}, + {file = "pyinstaller-6.7.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:fa552214a8cbb5bfe4621c46a73c3cce12f299a520aa5ac397dc18718278f03a"}, + {file = "pyinstaller-6.7.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:5263ecbfd34a2297f0e5d41ecfcf7a6fb1ebbf60dbe0dc7c2d64f4a55871a99d"}, + {file = "pyinstaller-6.7.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:4ff8ce04f1e5ab3a65d4a1ee6036cba648d0cdae6a7a33c6f0ca4ace46cdd43c"}, + {file = "pyinstaller-6.7.0-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:95efc2de7722213f376c5bac9620f390899f9a3c9eed70bd65adf29e2a085d5f"}, + {file = "pyinstaller-6.7.0-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:1b6dd6a50a7315214d345875cd08f8aa71025e7ba6bfa0f95c09285585e8d372"}, + {file = "pyinstaller-6.7.0-py3-none-win32.whl", hash = "sha256:73b94ce02b208c34eaabd032dd1522a3c03c0b3118a31bf7e4eafe7a9f4af2da"}, + {file = "pyinstaller-6.7.0-py3-none-win_amd64.whl", hash = "sha256:a3f85935b40f89e717f1e67377d3bfc953060e5795828ecf5357e2c1f7aa52bf"}, + {file = "pyinstaller-6.7.0-py3-none-win_arm64.whl", hash = "sha256:53038419ca09eea59de02dfb52453dd327983b0957821be610fb04cfd84676d0"}, + {file = "pyinstaller-6.7.0.tar.gz", hash = "sha256:8f09179c5f3d1b4b8453ac61adfe394dd416f9fc33abd7553f77d4897bc3a582"}, ] [package.dependencies] @@ -637,7 +637,7 @@ altgraph = "*" importlib-metadata = {version = ">=4.6", markers = "python_version < \"3.10\""} macholib = {version = ">=1.8", markers = "sys_platform == \"darwin\""} packaging = ">=22.0" -pyinstaller-hooks-contrib = ">=2024.3" +pyinstaller-hooks-contrib = ">=2024.6" setuptools = ">=42.0.0" [package.extras] @@ -646,13 +646,13 @@ hook-testing = ["execnet (>=1.5.0)", "psutil", "pytest (>=2.7.3)"] [[package]] name = "pyinstaller-hooks-contrib" -version = "2024.5" +version = "2024.6" description = "Community maintained hooks for PyInstaller" optional = false python-versions = ">=3.7" files = [ - {file = "pyinstaller_hooks_contrib-2024.5-py2.py3-none-any.whl", hash = "sha256:0852249b7fb1e9394f8f22af2c22fa5294c2c0366157969f98c96df62410c4c6"}, - {file = "pyinstaller_hooks_contrib-2024.5.tar.gz", hash = "sha256:aa5dee25ea7ca317ad46fa16b5afc8dba3b0e43f2847e498930138885efd3cab"}, + {file = "pyinstaller_hooks_contrib-2024.6-py2.py3-none-any.whl", hash = "sha256:6cc88dad75261d9e1a7e0c6385139f35dcdbb16640c911a27f6078fe924a38cf"}, + {file = "pyinstaller_hooks_contrib-2024.6.tar.gz", hash = "sha256:3c188b3a79f5cd46d96520df3934642556a1b6ce8988ec5bbce820ada424bc2b"}, ] [package.dependencies] @@ -662,112 +662,113 @@ setuptools = ">=42.0.0" [[package]] name = "pymupdf" -version = "1.24.2" +version = "1.24.4" description = "A high performance Python library for data extraction, analysis, conversion & manipulation of PDF (and other) documents." optional = false python-versions = ">=3.8" files = [ - {file = "PyMuPDF-1.24.2-cp310-none-macosx_10_9_x86_64.whl", hash = "sha256:5faed2bbdfbea80db1bbaa5944888f27a672f2e10e16e61f7d4ff73429a00506"}, - {file = "PyMuPDF-1.24.2-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:24c398e43a14e0e11f3515ea57875b5b0ee1a37d6dc59f921f69d8d16e881cb8"}, - {file = "PyMuPDF-1.24.2-cp310-none-manylinux2014_aarch64.whl", hash = "sha256:569336fe3c5f81f28aa9658861597e43e5716cbfa5b8d2602431095df76e0d7c"}, - {file = "PyMuPDF-1.24.2-cp310-none-manylinux2014_x86_64.whl", hash = "sha256:8fe58a024629c23847423b3294f0f160c72c72f953af53d183bd3328f954593a"}, - {file = "PyMuPDF-1.24.2-cp310-none-win32.whl", hash = "sha256:49224a558736303ed980252a704646fe9347c74bf70d0ad32530c62b8e0bfe33"}, - {file = "PyMuPDF-1.24.2-cp310-none-win_amd64.whl", hash = "sha256:a32c94c7ee45f2bfee766e5b957bdfe08c96b21fd9adbfb546c141621af0ca85"}, - {file = "PyMuPDF-1.24.2-cp311-none-macosx_10_9_x86_64.whl", hash = "sha256:815d9e10faa43a149d8c9928d7cefda83fd91a1f637dfb3a295620175a0af95c"}, - {file = "PyMuPDF-1.24.2-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:b583add37141a9337935d014d4e1913b10e22d17f3fd656fdc5f0c0c2e65a33e"}, - {file = "PyMuPDF-1.24.2-cp311-none-manylinux2014_aarch64.whl", hash = "sha256:d6a4d4ad8cc698db25a31026311f03fd351c2db9bfd41d898494cd0baff3b679"}, - {file = "PyMuPDF-1.24.2-cp311-none-manylinux2014_x86_64.whl", hash = "sha256:7b5acb936203bdaef5945f211af8a5fb40f07059be1ba69a728425f6d522e60f"}, - {file = "PyMuPDF-1.24.2-cp311-none-win32.whl", hash = "sha256:d01d348a35438f8a1647334428ef23c6d947acae875fa61cac2be3a65b15e4f5"}, - {file = "PyMuPDF-1.24.2-cp311-none-win_amd64.whl", hash = "sha256:909ab62c752be80c3c130a9774fc27fb863d26149ba880129e0a2cf0d53cebde"}, - {file = "PyMuPDF-1.24.2-cp312-none-macosx_10_9_x86_64.whl", hash = "sha256:6a3c1f2e99a4ca43c97b1f43fdd1aed739910e25ee5bd7fe73cd4eaf59841ae3"}, - {file = "PyMuPDF-1.24.2-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:3effff62943ceebbbe32a08ce4aa9c8ed4fa18fd8a462cf6130c78818c47822d"}, - {file = "PyMuPDF-1.24.2-cp312-none-manylinux2014_aarch64.whl", hash = "sha256:f3964783bf81f2ec94db4f9fa536052be3b7457824c9e9d21edb91f3a489a377"}, - {file = "PyMuPDF-1.24.2-cp312-none-manylinux2014_x86_64.whl", hash = "sha256:04af266755d4c250b46a3311062aec36ea94cecc4470a53ab79d9de56e5a753d"}, - {file = "PyMuPDF-1.24.2-cp312-none-win32.whl", hash = "sha256:3bd7bdda4c4e4f98989ce84a7b2c08033639a8be1b46fb064fdd65b20a7e7d03"}, - {file = "PyMuPDF-1.24.2-cp312-none-win_amd64.whl", hash = "sha256:ec2544f35088b29730210decfb0bdb750e0c3d2652ee470897f6d2e4a6dc1950"}, - {file = "PyMuPDF-1.24.2-cp38-none-macosx_10_9_x86_64.whl", hash = "sha256:d4fd3957fd507affbcae4536092cb3e3726e91d484be16972603c5cacae7848a"}, - {file = "PyMuPDF-1.24.2-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:4290273dfcc58a2c0b1f207f5e25479b868f59e9ea6ac9241740506fa0c03c0a"}, - {file = "PyMuPDF-1.24.2-cp38-none-manylinux2014_aarch64.whl", hash = "sha256:8f52f27d1f5968b6dda4d803e7f5246626a45ab68f0626509a9e17fadcebfb69"}, - {file = "PyMuPDF-1.24.2-cp38-none-manylinux2014_x86_64.whl", hash = "sha256:db650840eb3efbdc97df94210d0400042c863b08348d67037495d221ec4e8b7f"}, - {file = "PyMuPDF-1.24.2-cp38-none-win32.whl", hash = "sha256:423217223741f55f9bb7622475a94c2934495e8a843246c582c78f3680914a80"}, - {file = "PyMuPDF-1.24.2-cp38-none-win_amd64.whl", hash = "sha256:ca493fbb91d81a43d68d3547194d0c86083db49d4dd98e8f41aa5a77a26ff8fe"}, - {file = "PyMuPDF-1.24.2-cp39-none-macosx_10_9_x86_64.whl", hash = "sha256:9783b67f63e7f9b397f119de996ea8214498d163531b9371d8ea7e374cdd45cd"}, - {file = "PyMuPDF-1.24.2-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:4db161926d636c0bff016ac7591edbe6b30712507079f7008cefb0fdf58055dc"}, - {file = "PyMuPDF-1.24.2-cp39-none-manylinux2014_aarch64.whl", hash = "sha256:537cc7bef86514a6fa248eeb14b588f51699388628372cf31bae7839283aa628"}, - {file = "PyMuPDF-1.24.2-cp39-none-manylinux2014_x86_64.whl", hash = "sha256:a124b360898d24b730fe3be0e0bca438789c1568ceaad854387eee1886bb788c"}, - {file = "PyMuPDF-1.24.2-cp39-none-win32.whl", hash = "sha256:007586883fbc8acb900d46aa95520aaeb8943d05a956b26c54053ddb58dbdd5f"}, - {file = "PyMuPDF-1.24.2-cp39-none-win_amd64.whl", hash = "sha256:d89cbb1a093dbf042f503f5c7fc368d0718a652418512a7a42a2965cba27713d"}, - {file = "PyMuPDF-1.24.2.tar.gz", hash = "sha256:cdaca48b7677a0c1dc827413b90c8fe4517f789f74c6ac0fb47f6051368246bb"}, + {file = "PyMuPDF-1.24.4-cp310-none-macosx_10_9_x86_64.whl", hash = "sha256:05997af6b8a0078af1f0556493335d0d2bec24b303bd617cf768035d440369b7"}, + {file = "PyMuPDF-1.24.4-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:15aa2cb28e5275cdff2bd43416737a34802f0b0032c717b4c6aaceeaace49d7f"}, + {file = "PyMuPDF-1.24.4-cp310-none-manylinux2014_aarch64.whl", hash = "sha256:1aed718f3793d1f34cd1006ce5b4f33436f7279e148094f4fc65377e50b49f39"}, + {file = "PyMuPDF-1.24.4-cp310-none-manylinux2014_x86_64.whl", hash = "sha256:c6cc731bd03e9f93b9adff1f680de780828725aa004f66768a98f252f584520b"}, + {file = "PyMuPDF-1.24.4-cp310-none-win32.whl", hash = "sha256:029ca9334acd369bd8f133717c31b8386bea6fbea9a0e3af3c1abc73aeaf13ec"}, + {file = "PyMuPDF-1.24.4-cp310-none-win_amd64.whl", hash = "sha256:2daf5a1f6c511822f94798ccc8760b48561bafe5b965beef4d21f9b65c358b81"}, + {file = "PyMuPDF-1.24.4-cp311-none-macosx_10_9_x86_64.whl", hash = "sha256:07567bed6c498506be6a9e96fdbc458449b29b574b581a601730f48f9a4e1bb7"}, + {file = "PyMuPDF-1.24.4-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:9bc3950d9ee2afb69e0e228c354f4a6cc8b82d8989bead39e4d1a0ca2a6687b0"}, + {file = "PyMuPDF-1.24.4-cp311-none-manylinux2014_aarch64.whl", hash = "sha256:1ae2abb8aff9cf0b5e5ef9eb36cfc040d92c9dcbef5793f0f99dfb8cc277adce"}, + {file = "PyMuPDF-1.24.4-cp311-none-manylinux2014_x86_64.whl", hash = "sha256:a43fd2c77f627c837719b68c40fb54a8df86883923445af2e1e1e7a014b68d2e"}, + {file = "PyMuPDF-1.24.4-cp311-none-win32.whl", hash = "sha256:4b1f4da5d37f9e5be659fe34e145deb1111dd62c51dbec8928b02057d48b557b"}, + {file = "PyMuPDF-1.24.4-cp311-none-win_amd64.whl", hash = "sha256:2b7f4d7db2beba61751de917f571d7c7f3f6c45f7fecb0218f143b9b9bcf517d"}, + {file = "PyMuPDF-1.24.4-cp312-none-macosx_10_9_x86_64.whl", hash = "sha256:a98a73137955d59f199ef10341f4583fccea38b7fe8d2137c26d11ca8c0d1ed0"}, + {file = "PyMuPDF-1.24.4-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:b775138e234fc6d6eaaf2dbfb40bc34dea64a67b50ffa4df623fdb2ce63581f4"}, + {file = "PyMuPDF-1.24.4-cp312-none-manylinux2014_aarch64.whl", hash = "sha256:eab54d8162d07f5916025744e5857b8cb21a0e23319cc1982b7b5040df86f655"}, + {file = "PyMuPDF-1.24.4-cp312-none-manylinux2014_x86_64.whl", hash = "sha256:25c7cbed34cf02d62f8f8011b5ca1fdf7d16ebc2a649938f2b63d987b8158abf"}, + {file = "PyMuPDF-1.24.4-cp312-none-win32.whl", hash = "sha256:5b1fe766c7a8312bd3ece4cc331fdc80e51ccea4f2d0f2d58a18b7cc10bd3857"}, + {file = "PyMuPDF-1.24.4-cp312-none-win_amd64.whl", hash = "sha256:9121e2ea3ec0f862025535663e5953bf12bbae45f7d11c21e0888a31ebd14875"}, + {file = "PyMuPDF-1.24.4-cp38-none-macosx_10_9_x86_64.whl", hash = "sha256:a0443f6ff6c0b546aa432b400248b4d03206b4a8817c970c8c0c7b5d99461525"}, + {file = "PyMuPDF-1.24.4-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:637271c5e19e97781a061df4ef6e2a08ce6cb33b553de4bbee6323b08eee4d84"}, + {file = "PyMuPDF-1.24.4-cp38-none-manylinux2014_aarch64.whl", hash = "sha256:c9100aa15c409058568428e4c7ddc48d70814dbd667e6e6fcb7972c053e59aae"}, + {file = "PyMuPDF-1.24.4-cp38-none-manylinux2014_x86_64.whl", hash = "sha256:50edf1177b4176794cbace1f920c8e70c641184aa233ddee678210b59f59ae84"}, + {file = "PyMuPDF-1.24.4-cp38-none-win32.whl", hash = "sha256:5f9d799118475dc1a295f736c136dff55a66b3e4568e7cb470c2538122e14f61"}, + {file = "PyMuPDF-1.24.4-cp38-none-win_amd64.whl", hash = "sha256:258fdc4f7d42978fba1047108dc2172689ffa35a048a7908cda47952e47a761d"}, + {file = "PyMuPDF-1.24.4-cp39-none-macosx_10_9_x86_64.whl", hash = "sha256:5ffaff6967e04a76131cf7f56d2e1b328192105e9f7fde074aca6021bd9171d3"}, + {file = "PyMuPDF-1.24.4-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:28596474d2da25735da27625c07c474e1fa07f743d31a99591e7caa52ce30c5e"}, + {file = "PyMuPDF-1.24.4-cp39-none-manylinux2014_aarch64.whl", hash = "sha256:1156240b52d68a3d5e104719c0d559ab3aaf6323e53e8dad6bfb1ec614318f7f"}, + {file = "PyMuPDF-1.24.4-cp39-none-manylinux2014_x86_64.whl", hash = "sha256:bbc148423b9825a7fa90695fd34d9a882db1361901848938f184a4da655099fe"}, + {file = "PyMuPDF-1.24.4-cp39-none-win32.whl", hash = "sha256:6872420aeb5a058093983ff06d987d6fbbe184e9e8665232320bc8ede808bc15"}, + {file = "PyMuPDF-1.24.4-cp39-none-win_amd64.whl", hash = "sha256:76cbdf6670c0df28610b77c5da4e71a67e5e337c1c2e473ea0ce05e1a079c443"}, + {file = "PyMuPDF-1.24.4.tar.gz", hash = "sha256:03f9e8656e2799a2d7a1d69719da4cd45ce9a030e06a5887e04c5d531035bfa2"}, ] [package.dependencies] -PyMuPDFb = "1.24.1" +PyMuPDFb = "1.24.3" [[package]] name = "pymupdfb" -version = "1.24.1" +version = "1.24.3" description = "MuPDF shared libraries for PyMuPDF." optional = false python-versions = ">=3.8" files = [ - {file = "PyMuPDFb-1.24.1-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:37179e363bf69ce9be637937c5469957b96968341dabe3ce8f4b690a82e9ad92"}, - {file = "PyMuPDFb-1.24.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:17444ea7d6897c27759880ad76af537d19779f901de82ae9548598a70f614558"}, - {file = "PyMuPDFb-1.24.1-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:490f7fff4dbe362bc895cefdfc5030d712311d024d357a1388d64816eb215d34"}, - {file = "PyMuPDFb-1.24.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0fbcc0d2a9ce79fa38eb4e8bb5c959b582f7a49938874e9f61d1a6f5eeb1e4b8"}, - {file = "PyMuPDFb-1.24.1-py3-none-win32.whl", hash = "sha256:ae67736058882cdd9459810a4aae9ac2b2e89ac2e916cb5fefb0f651c9739e9e"}, - {file = "PyMuPDFb-1.24.1-py3-none-win_amd64.whl", hash = "sha256:01c8b7f0ce9166310eb28c7aebcb8d5fe12a4bc082f9b00d580095eebeaf0af5"}, + {file = "PyMuPDFb-1.24.3-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:d2ccca660042896d4af479f979ec10674c5a0b3cd2d9ecb0011f08dc82380cce"}, + {file = "PyMuPDFb-1.24.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:ad51d21086a16199684a3eebcb47d9c8460fc27e7bebae77f5fe64e8c34ebf34"}, + {file = "PyMuPDFb-1.24.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3e7aab000d707c40e3254cd60152897b90952ed9a3567584d70974292f4912ce"}, + {file = "PyMuPDFb-1.24.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f39588fd2b7a63e2456df42cd8925c316202e0eb77d115d9c01ba032b2c9086f"}, + {file = "PyMuPDFb-1.24.3-py3-none-win32.whl", hash = "sha256:0d606a10cb828cefc9f864bf67bc9d46e8007af55e643f022b59d378af4151a8"}, + {file = "PyMuPDFb-1.24.3-py3-none-win_amd64.whl", hash = "sha256:e88289bd4b4afe5966a028774b302f37d4b51dad5c5e6720dd04524910db6c6e"}, + {file = "PyMuPDFb-1.24.3.tar.gz", hash = "sha256:7cc5da3031d160e0f01dbb88567ddca70adc82f062a3a5b4e2dd2a57646f442c"}, ] [[package]] name = "pyside6" -version = "6.6.3.1" +version = "6.7.1" description = "Python bindings for the Qt cross-platform application and UI framework" optional = false -python-versions = "<3.13,>=3.8" +python-versions = "<3.13,>=3.9" files = [ - {file = "PySide6-6.6.3.1-cp38-abi3-macosx_11_0_universal2.whl", hash = "sha256:3d2ebb08a7744b59e1270e57f264a9ef5b45fccdc0328a9aeb50d890d6b3f4f2"}, - {file = "PySide6-6.6.3.1-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:35936f06257e5c37ae8993da0cb5a528e5db3ea1fc2bb6b12cdf899a11510966"}, - {file = "PySide6-6.6.3.1-cp38-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:f7acd26fe8e1a745ef0be66b49ee49ee8ae50c2a2855d9792db262ebc7916d98"}, - {file = "PySide6-6.6.3.1-cp38-abi3-win_amd64.whl", hash = "sha256:d993989a10725c856f5b07f25e0664c5059daa92c259549c9df0972b5b0c7935"}, + {file = "PySide6-6.7.1-cp39-abi3-macosx_11_0_universal2.whl", hash = "sha256:fb50aad5023ca6f4a4e62079aa57258f72cff65e33100849dab85087017f3041"}, + {file = "PySide6-6.7.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:45a539286e3a8afafd3ebc6b3391d587ce86293564ecba3a994e335dc68fe599"}, + {file = "PySide6-6.7.1-cp39-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:98ac591d8b54844f366fe806e92437487f31250b24aaf647bd192f958e4d2afb"}, + {file = "PySide6-6.7.1-cp39-abi3-win_amd64.whl", hash = "sha256:ea088381d99b53950c87510fd42801a3b6e21d15e7a9ff6c69f96a34a9030fbc"}, ] [package.dependencies] -PySide6-Addons = "6.6.3.1" -PySide6-Essentials = "6.6.3.1" -shiboken6 = "6.6.3.1" +PySide6-Addons = "6.7.1" +PySide6-Essentials = "6.7.1" +shiboken6 = "6.7.1" [[package]] name = "pyside6-addons" -version = "6.6.3.1" +version = "6.7.1" description = "Python bindings for the Qt cross-platform application and UI framework (Addons)" optional = false -python-versions = "<3.13,>=3.8" +python-versions = "<3.13,>=3.9" files = [ - {file = "PySide6_Addons-6.6.3.1-cp38-abi3-macosx_11_0_universal2.whl", hash = "sha256:31135adc521ed6e3fdc8203507e7e9d72424d6b9ebd245d1189d991e90669d6a"}, - {file = "PySide6_Addons-6.6.3.1-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:7373479565e5bd963b9662857c40c20768bc0b5853334e2076a62cb039e91f74"}, - {file = "PySide6_Addons-6.6.3.1-cp38-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:3abdc1e21de0c6763e5392af5ed8b2349291318ce235e7c310d84a2f9d5001a9"}, - {file = "PySide6_Addons-6.6.3.1-cp38-abi3-win_amd64.whl", hash = "sha256:d8fbcd726dbf3e713e5d5ccc45ff0e1a9edfe336d7190c96cf7e7c7598681239"}, + {file = "PySide6_Addons-6.7.1-cp39-abi3-macosx_11_0_universal2.whl", hash = "sha256:f360baa915fbd0be9beb3439e937d8accbaa56dd03c4b95f4c869d679343eb3e"}, + {file = "PySide6_Addons-6.7.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:e9fbfc31e0de5075ee98d92cdbd7ccd274e4ac25100c890ae5bddfc8804a304c"}, + {file = "PySide6_Addons-6.7.1-cp39-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:e7de1210580217cf605c5ac8cb0f21ebcc51b261e6f9c90908eb596991607789"}, + {file = "PySide6_Addons-6.7.1-cp39-abi3-win_amd64.whl", hash = "sha256:58c91a27aba1190f48200d7ec6b12422b955b1ca3f68e82fc97081561d77ba4f"}, ] [package.dependencies] -PySide6-Essentials = "6.6.3.1" -shiboken6 = "6.6.3.1" +PySide6-Essentials = "6.7.1" +shiboken6 = "6.7.1" [[package]] name = "pyside6-essentials" -version = "6.6.3.1" +version = "6.7.1" description = "Python bindings for the Qt cross-platform application and UI framework (Essentials)" optional = false -python-versions = "<3.13,>=3.8" +python-versions = "<3.13,>=3.9" files = [ - {file = "PySide6_Essentials-6.6.3.1-cp38-abi3-macosx_11_0_universal2.whl", hash = "sha256:6c16530b63079711783796584b640cc80a347e0b2dc12651aa2877265df7a008"}, - {file = "PySide6_Essentials-6.6.3.1-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:1f41f357ce2384576581e76c9c3df1c4fa5b38e347f0bcd0cae7c5bce42a917c"}, - {file = "PySide6_Essentials-6.6.3.1-cp38-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:27034525fdbdd21ef21f20fcd7aaf5c2ffe26f2bcf5269a69dd9492dec7e92aa"}, - {file = "PySide6_Essentials-6.6.3.1-cp38-abi3-win_amd64.whl", hash = "sha256:31f7e70ada44d3cdbe6686670b3df036c720cfeb1dced0f7704e5f5a4be6a764"}, + {file = "PySide6_Essentials-6.7.1-cp39-abi3-macosx_11_0_universal2.whl", hash = "sha256:a527ec6d36533ad1ef04209b01d3d3d0286e0caaf26ec0fb0db601abbe738aac"}, + {file = "PySide6_Essentials-6.7.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:b2d70dc4376c1b1ff5b2988a428a0ed5a889173ce9a0b56803468063d0ef7c75"}, + {file = "PySide6_Essentials-6.7.1-cp39-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:b1cc7eadccd2a3a6cf4bc789b874bd316714b8c5191ade4a710b952bd0d2cc81"}, + {file = "PySide6_Essentials-6.7.1-cp39-abi3-win_amd64.whl", hash = "sha256:9a42670f1288759abef1bb1ce948f05acc2cc07a88df14e06467a9c43405b616"}, ] [package.dependencies] -shiboken6 = "6.6.3.1" +shiboken6 = "6.7.1" [[package]] name = "pytest" @@ -881,13 +882,13 @@ files = [ [[package]] name = "requests" -version = "2.31.0" +version = "2.32.2" description = "Python HTTP for Humans." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, + {file = "requests-2.32.2-py3-none-any.whl", hash = "sha256:fc06670dd0ed212426dfeb94fc1b983d917c4f9847c863f313c9dfaaffb7c23c"}, + {file = "requests-2.32.2.tar.gz", hash = "sha256:dd951ff5ecf3e3b3aa26b40703ba77495dab41da839ae72ef3c8e5d8e2433289"}, ] [package.dependencies] @@ -918,15 +919,15 @@ testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jar [[package]] name = "shiboken6" -version = "6.6.3.1" +version = "6.7.1" description = "Python/C++ bindings helper module" optional = false -python-versions = "<3.13,>=3.8" +python-versions = "<3.13,>=3.9" files = [ - {file = "shiboken6-6.6.3.1-cp38-abi3-macosx_11_0_universal2.whl", hash = "sha256:2a8df586aa9eb629388b368d3157893083c5217ed3eb637bf182d1948c823a0f"}, - {file = "shiboken6-6.6.3.1-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:b1aeff0d79d84ddbdc9970144c1bbc3a52fcb45618d1b33d17d57f99f1246d45"}, - {file = "shiboken6-6.6.3.1-cp38-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:902d9e126ac57cc3841cdc50ba38d53948b40cf667538172f253c4ae7b2dcb2c"}, - {file = "shiboken6-6.6.3.1-cp38-abi3-win_amd64.whl", hash = "sha256:88494b5e08a1f235efddbe2b0b225a3a66e07d72b6091fcc2fc5448572453649"}, + {file = "shiboken6-6.7.1-cp39-abi3-macosx_11_0_universal2.whl", hash = "sha256:80aa412a45d984592a865f95a6d0e39b70e41ef251d11a39880802454d9d87c8"}, + {file = "shiboken6-6.7.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:6322b7a6232fc93eac0b11489007734438ae1e6213429fd6d7521d04072c2f87"}, + {file = "shiboken6-6.7.1-cp39-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:ec53bfcc4bb762bc845548410e17a09447837a3f20102efb4f91c12688648091"}, + {file = "shiboken6-6.7.1-cp39-abi3-win_amd64.whl", hash = "sha256:a023ac2dc24c9325dbd0698bb7c21057e2361e92a2e187009820433342c882a0"}, ] [[package]] @@ -975,13 +976,13 @@ files = [ [[package]] name = "types-requests" -version = "2.31.0.20240406" +version = "2.32.0.20240523" description = "Typing stubs for requests" optional = false python-versions = ">=3.8" files = [ - {file = "types-requests-2.31.0.20240406.tar.gz", hash = "sha256:4428df33c5503945c74b3f42e82b181e86ec7b724620419a2966e2de604ce1a1"}, - {file = "types_requests-2.31.0.20240406-py3-none-any.whl", hash = "sha256:6216cdac377c6b9a040ac1c0404f7284bd13199c0e1bb235f4324627e8898cf5"}, + {file = "types-requests-2.32.0.20240523.tar.gz", hash = "sha256:26b8a6de32d9f561192b9942b41c0ab2d8010df5677ca8aa146289d11d505f57"}, + {file = "types_requests-2.32.0.20240523-py3-none-any.whl", hash = "sha256:f19ed0e2daa74302069bbbbf9e82902854ffa780bc790742a810a9aaa52f65ec"}, ] [package.dependencies] @@ -989,13 +990,13 @@ urllib3 = ">=2" [[package]] name = "typing-extensions" -version = "4.11.0" +version = "4.12.0" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.11.0-py3-none-any.whl", hash = "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"}, - {file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"}, + {file = "typing_extensions-4.12.0-py3-none-any.whl", hash = "sha256:b349c66bea9016ac22978d800cfff206d5f9816951f12a7d0ec5578b0a819594"}, + {file = "typing_extensions-4.12.0.tar.gz", hash = "sha256:8cbcdc8606ebcb0d95453ad7dc5065e6237b6aa230a31e81d0f440c30fed5fd8"}, ] [[package]] @@ -1031,20 +1032,20 @@ test = ["pytest (>=6.0.0)", "setuptools (>=65)"] [[package]] name = "zipp" -version = "3.18.1" +version = "3.18.2" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.18.1-py3-none-any.whl", hash = "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b"}, - {file = "zipp-3.18.1.tar.gz", hash = "sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715"}, + {file = "zipp-3.18.2-py3-none-any.whl", hash = "sha256:dce197b859eb796242b0622af1b8beb0a722d52aa2f57133ead08edd5bf5374e"}, + {file = "zipp-3.18.2.tar.gz", hash = "sha256:6278d9ddbcfb1f1089a88fde84481528b07b0e10474e09dcfe53dad4069fa059"}, ] [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] [metadata] lock-version = "2.0" -python-versions = ">=3.8,<3.13" -content-hash = "41fa1259c38a7b266e439f7dc1ed6a303e991a8633d2ba02624ad560b22c98f0" +python-versions = ">=3.9,<3.13" +content-hash = "4c381c24a6a23f7b26456b7400a61f3ddc204a6301abf2d04a6ed93a89c2a835" diff --git a/pyproject.toml b/pyproject.toml index 70986e8fc..622f3a981 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,10 +13,10 @@ include = [ ] [tool.poetry.dependencies] -python = ">=3.8,<3.13" +python = ">=3.9,<3.13" click = "*" appdirs = "*" -PySide6 = "^6.4.1" +PySide6 = "^6.7.1" colorama = "*" pyxdg = {version = "*", platform = "linux"} requests = "*" diff --git a/stdeb.cfg b/stdeb.cfg index cf51d2f8f..716287f32 100644 --- a/stdeb.cfg +++ b/stdeb.cfg @@ -3,7 +3,7 @@ Package3: dangerzone Depends3: podman, python3, python3-pyside2.qtcore, python3-pyside2.qtgui, python3-pyside2.qtwidgets, python3-pyside2.qtsvg, python3-appdirs, python3-click, python3-xdg, python3-colorama, python3-requests, python3-markdown, python3-packaging Build-Depends: dh-python, python3, python3-setuptools, python3-stdeb Suite: bionic -X-Python3-Version: >= 3.6 +X-Python3-Version: >= 3.8 # Do not trigger testing when we build the package. Assume that the user # has tested the package already. For more info, see: # https://github.com/freedomofpress/dangerzone/issues/292#issuecomment-1349967888 diff --git a/tests/test_docs/unsafe/sample-bmp.bmp b/tests/test_docs/unsafe/sample-bmp.bmp new file mode 100644 index 0000000000000000000000000000000000000000..dca58a343bade49bc17551fcaba6a6ac142d84a9 GIT binary patch literal 1000810 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

8_G0|za0U;w-JWX7XU<%i!pXn2Lr*Zz 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 Zc{n)g+dKXmiY%Zc1;CJ!3d@SX{4ae%^I!k~ literal 0 HcmV?d00001