diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 08630e176..87b527cad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,8 +35,6 @@ jobs: - name: Install dependencies run: | - sudo apt-get update -qq - sudo apt-get install -qq --no-install-recommends libpoppler-cpp-dev pip install --upgrade pipenv pipenv install --system --dev --ignore-pipfile - @@ -81,7 +79,7 @@ jobs: name: Prepare tests run: | sudo apt-get update -qq - sudo apt-get install -qq --no-install-recommends libpoppler-cpp-dev unpaper tesseract-ocr imagemagick ghostscript optipng + sudo apt-get install -qq --no-install-recommends unpaper tesseract-ocr imagemagick ghostscript optipng pip install --upgrade pipenv pipenv install --system --dev --ignore-pipfile - @@ -140,7 +138,7 @@ jobs: name: Install dependencies run: | sudo apt-get update -qq - sudo apt-get install -qq --no-install-recommends libpoppler-cpp-dev gettext liblept5 + sudo apt-get install -qq --no-install-recommends gettext liblept5 pip3 install -r requirements.txt - name: Download frontend artifact diff --git a/Dockerfile b/Dockerfile index 57f96c39f..c94b7030f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -67,7 +67,6 @@ COPY requirements.txt ../ RUN apt-get update \ && apt-get -y --no-install-recommends install \ build-essential \ - libpoppler-cpp-dev \ libpq-dev \ libqpdf-dev \ && python3 -m pip install --upgrade --no-cache-dir supervisor \ diff --git a/Pipfile b/Pipfile index 8bacba7a4..29a91ece3 100644 --- a/Pipfile +++ b/Pipfile @@ -23,7 +23,6 @@ imap-tools = "*" langdetect = "*" # numpy 1.20.0 drops python 3.6 support numpy = "~=1.19.5" -pdftotext = "*" pathvalidate = "*" # pinned to 8.1.0, since aarch64 wheels might not be available beyond that https://github.com/python-pillow/Pillow/issues/5202 pillow = "==8.1.0" @@ -55,6 +54,7 @@ concurrent-log-handler = "*" uvloop = "~=0.14.0" # TODO: keep an eye on piwheel builds and update this once available (https://www.piwheels.org/project/cryptography/) cryptography = "~=3.3.2" +"pdfminer.six" = "*" [dev-packages] coveralls = "*" diff --git a/Pipfile.lock b/Pipfile.lock index f75949d20..eefaeeecd 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "bd8b69979d91f4d8c52cac127c891d750c52959807220a98dcf74fed126bfa26" + "sha256": "71959eb287fc97969263be5e3a1b1f4f369b7a5ace85bd1947a25b9b92e17e8a" }, "pipfile-spec": 6, "requires": {}, @@ -227,11 +227,11 @@ }, "django": { "hashes": [ - "sha256:169e2e7b4839a7910b393eec127fd7cbae62e80fa55f89c6510426abf673fe5f", - "sha256:c6c0462b8b361f8691171af1fb87eceb4442da28477e12200c40420176206ba7" + "sha256:32ce792ee9b6a0cbbec340123e229ac9f765dff8c2a4ae9247a14b2ba3a365a7", + "sha256:baf099db36ad31f970775d0be5587cc58a6256a6771a44eb795b554d45f211b8" ], "index": "pypi", - "version": "==3.1.6" + "version": "==3.1.7" }, "django-cors-headers": { "hashes": [ @@ -610,15 +610,8 @@ "sha256:b9aac0ebeafb21c08bf65f2039f4b2c5f78a3449d0a41df711d72445649e952a", "sha256:d78877ba8d8bf957f3bb636c4f73f4f6f30f56c461993877ac22c39c20837509" ], - "markers": "python_version >= '3.4'", - "version": "==20201018" - }, - "pdftotext": { - "hashes": [ - "sha256:98aeb8b07a4127e1a30223bd933ef080bbd29aa88f801717ca6c5618380b8aa6" - ], "index": "pypi", - "version": "==2.1.5" + "version": "==20201018" }, "pikepdf": { "hashes": [ @@ -1104,11 +1097,11 @@ }, "tqdm": { "hashes": [ - "sha256:11d544652edbdfc9cc41aa4c8a5c166513e279f3f2d9f1a9e1c89935b51de6ff", - "sha256:a89be573bfddb81bb0b395a416d5e55e3ecc73ce95a368a4f6360bedea33195e" + "sha256:65185676e9fdf20d154cffd1c5de8e39ef9696ff7e59fe0156b1b08e468736af", + "sha256:70657337ec104eb4f3fb229285358f23f045433f6aea26846cdd55f0fd68945c" ], "index": "pypi", - "version": "==4.56.2" + "version": "==4.57.0" }, "twisted": { "extras": [ @@ -1146,11 +1139,11 @@ }, "txaio": { "hashes": [ - "sha256:1488d31d564a116538cc1265ac3f7979fb6223bb5a9e9f1479436ee2c17d8549", - "sha256:a8676d6c68aea1f0e2548c4afdb8e6253873af3bc2659bb5bcd9f39dff7ff90f" + "sha256:7d6f89745680233f1c4db9ddb748df5e88d2a7a37962be174c0fd04c8dba1dc8", + "sha256:c16b55f9a67b2419cfdf8846576e2ec9ba94fe6978a83080c352a80db31c93fb" ], "markers": "python_version >= '3.6'", - "version": "==20.12.1" + "version": "==21.2.1" }, "tzlocal": { "hashes": [ @@ -1172,11 +1165,11 @@ "standard" ], "hashes": [ - "sha256:1079c50a06f6338095b4f203e7861dbff318dde5f22f3a324fc6e94c7654164c", - "sha256:ef1e0bb5f7941c6fe324e06443ddac0331e1632a776175f87891c7bd02694355" + "sha256:3292251b3c7978e8e4a7868f4baf7f7f7bb7e40c759ecc125c37e99cdea34202", + "sha256:7587f7b08bd1efd2b9bad809a3d333e972f1d11af8a5e52a9371ee3a5de71524" ], "index": "pypi", - "version": "==0.13.3" + "version": "==0.13.4" }, "uvloop": { "hashes": [ @@ -1220,11 +1213,10 @@ }, "watchgod": { "hashes": [ - "sha256:59700dab7445aa8e6067a5b94f37bae90fc367554549b1ed2e9d0f4f38a90d2a", - "sha256:5fb60afa9558b79736395db1cb60ad3ed59df5c2f507a3ff729220cf1251ffdc", - "sha256:e9cca0ab9c63f17fc85df9fd8bd18156ff00aff04ebe5976cee473f4968c6858" + "sha256:48140d62b0ebe9dd9cf8381337f06351e1f2e70b2203fa9c6eff4e572ca84f29", + "sha256:d6c1ea21df37847ac0537ca0d6c2f4cdf513562e95f77bb93abbcf05573407b7" ], - "version": "==0.6" + "version": "==0.7" }, "wcwidth": { "hashes": [ @@ -1498,11 +1490,11 @@ }, "faker": { "hashes": [ - "sha256:bf2a9b3f8d00a5dada61fc4a3f80fe0d6795c7f02a138a7d2ef2db5817c7d017", - "sha256:d4aecdb877519d06c2fdc01ffc5ecf70658981acf5e13cd07ded9892994ef5c6" + "sha256:31a58ec5a8f4672f24da3b5ddea02c82a712de1de3179b432948e5c34d787aca", + "sha256:aadfe0efe11ecbbbc5b3b0b0fab050c2acbd2d8e5201769546d43d236bfff663" ], "markers": "python_version >= '3.6'", - "version": "==6.1.1" + "version": "==6.4.1" }, "filelock": { "hashes": [ diff --git a/ansible/tasks/main.yml b/ansible/tasks/main.yml index 517831994..bfaf8df17 100644 --- a/ansible/tasks/main.yml +++ b/ansible/tasks/main.yml @@ -15,7 +15,6 @@ - imagemagick - optipng - gnupg - - libpoppler-cpp-dev - libpq-dev - libmagic-dev - mime-support diff --git a/docs/setup.rst b/docs/setup.rst index 8ebb6f83c..f6d6b47bc 100644 --- a/docs/setup.rst +++ b/docs/setup.rst @@ -280,7 +280,6 @@ writing. Windows is not and will never be supported. * ``imagemagick`` >= 6 for PDF conversion * ``optipng`` for optimizing thumbnails * ``gnupg`` for handling encrypted documents - * ``libpoppler-cpp-dev`` for PDF to text conversion * ``libpq-dev`` for PostgreSQL * ``libmagic-dev`` for mime type detection * ``mime-support`` for mime type detection @@ -354,7 +353,7 @@ writing. Windows is not and will never be supported. .. code:: shell-session sudo -Hu paperless pip3 install -r requirements.txt - + This will install all python dependencies in the home directory of the new paperless user. @@ -803,7 +802,7 @@ Using nginx as a reverse proxy ############################## If you want to expose paperless to the internet, you should hide it behind a -reverse proxy with SSL enabled. +reverse proxy with SSL enabled. In addition to the usual configuration for SSL, the following configuration is required for paperless to operate: diff --git a/requirements.txt b/requirements.txt index 7100ba953..2df1b29ae 100644 --- a/requirements.txt +++ b/requirements.txt @@ -32,7 +32,7 @@ django-extensions==3.1.1 django-filter==2.4.0 django-picklefield==3.0.1; python_version >= '3' django-q==1.3.4 -django==3.1.6 +django==3.1.7 djangorestframework==3.12.2 filelock==3.0.12 fuzzywuzzy[speedup]==0.18.0 @@ -55,8 +55,7 @@ msgpack==1.0.2 numpy==1.19.5 ocrmypdf==11.6.2 pathvalidate==2.3.2 -pdfminer.six==20201018; python_version >= '3.4' -pdftotext==2.1.5 +pdfminer.six==20201018 pikepdf==2.5.2 pillow==8.1.0 pluggy==0.13.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' @@ -86,15 +85,15 @@ sortedcontainers==2.3.0 sqlparse==0.4.1; python_version >= '3.5' threadpoolctl==2.1.0; python_version >= '3.5' tika==1.24 -tqdm==4.56.2 +tqdm==4.57.0 twisted[tls]==20.3.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' -txaio==20.12.1; python_version >= '3.6' +txaio==21.2.1; python_version >= '3.6' tzlocal==2.1 urllib3==1.26.3; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4' -uvicorn[standard]==0.13.3 +uvicorn[standard]==0.13.4 uvloop==0.14.0 watchdog==1.0.2 -watchgod==0.6 +watchgod==0.7 wcwidth==0.2.5 websockets==8.1 whitenoise==5.2.0