Package Details: paperless-ngx-venv 2.16.3-1

Git Clone URL: https://aur.archlinux.org/paperless-ngx-venv.git (read-only, click to copy)
Package Base: paperless-ngx-venv
Description: paperless-ngx: scan, index and archive all your physical documents
Upstream URL: https://docs.paperless-ngx.com/
Keywords: documents paperless
Licenses: GPL-3.0-or-later
Conflicts: paperless, paperless-ng, paperless-ngx
Provides: paperless, paperless-ngx-venv
Replaces: paperless-ngx
Submitter: AlphaJack
Maintainer: AlphaJack (atomicfs, shtrophic)
Last Packager: shtrophic
Votes: 29
Popularity: 0.92
First Submitted: 2024-11-02 15:19 (UTC)
Last Updated: 2025-06-06 13:35 (UTC)

Required by (0)

Sources (10)

Pinned Comments

shtrophic commented on 2025-04-14 20:22 (UTC) (edited on 2025-04-14 20:32 (UTC) by shtrophic)

For people not using redis: there is now an "automated patching mechanism" that will instead use the next best fork of redis that is available on your system as the Requires= dependency in *.service. This way, anyone can use their favorite fork of it. Keep in mind that upstream does not explicitly say that forks of redis work as well, and this further makes the built paperless-ngx-venv package non-portable. Happy experimenting :)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 .. 14 Next › Last »

dp20eic commented on 2025-01-17 15:55 (UTC)

Moin,

@shtrophic kommentierte 2025-01-14 17:27 (CET)

I once set up a new LXC with paperless-ngx-venv, I then exported the data on the old paperless-ngx using paperless-manage and then imported it again on the new one using paperless-manage, that worked so far. Two small things were missing, ghost script and extra/python-psycopg because I use PostgreSQL instead of SQLite.

Thanks for advice Bernd

shtrophic commented on 2025-01-15 20:25 (UTC)

applied, thanks!

luziferius commented on 2025-01-15 14:22 (UTC)

Packaging is currently broken on aarch64, which still runs on Python 3.12, so the application of patches that hard-code 3.13 in paths doesn't work.

Symptom:

patching file /home/thomas/.cache/yay/paperless-ngx-venv/src/venv/lib/python3.13/site-packages/whoosh/analysis/filters.py
Hunk #1 FAILED at 53.
Hunk #2 FAILED at 155.
Hunk #3 FAILED at 164.
patch: **** Can't reopen file /home/thomas/.cache/yay/paperless-ngx-venv/src/venv/lib/python3.13/site-packages/whoosh/analysis/filters.py : No such file or directory

To mitigate this, use site.getsitepackages() from the Python standard library to read the paths. It returns a list of items, so unpacking that gets the first directory, which is the desired one while the venv is active. Patch for PKGBUILD:

--- a/PKGBUILD
+++ b/PKGBUILD
@@ -93,11 +93,12 @@ prepare(){
  python -m venv "$srcdir/venv"
  source "$srcdir/venv/bin/activate"
  pip install -r "$srcdir/$_pkgname/requirements.txt"
+ site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
  deactivate

  # fix regex warnings
  for whoosh in filters intraword; do
-       patch "$srcdir/venv/lib/python3.13/site-packages/whoosh/analysis/$whoosh.py" < "$srcdir/whoosh-$whoosh.patch"
+       patch "$site_packages/whoosh/analysis/$whoosh.py" < "$srcdir/whoosh-$whoosh.patch"
  done
 }

shtrophic commented on 2025-01-14 16:27 (UTC) (edited on 2025-01-14 16:27 (UTC) by shtrophic)

Hi @dp20eic, @tobias_de,

please try again with the paperless-manage utility. Calling manage.py manually will not work, as this package installs a virtual environment into /usr/lib/paperless, which manage.py does not know about.

dp20eic commented on 2025-01-14 12:24 (UTC)

Moin,

@tobias_de thanks for your support, I will check it today.

Kind regards Bernd

tobias_de commented on 2025-01-12 19:40 (UTC) (edited on 2025-01-12 19:42 (UTC) by tobias_de)

@dp20eic: I also had to install a ton of dependencies manually. The proper way will be to fix the package requirements file, but this hack will work temporarily:

sudo -u paperless pip install httpx-oauth --break-system-packages

(Note that the break-system-packages will force you to overwrite those installed files once they get properly managed/installed via an archlinux package)

dp20eic commented on 2025-01-02 22:08 (UTC)

Hi,

I've been running paperless-ngx as a Proxmox LX Container under Arch Linux for some time now. I've now created a new LX Container and installed paperless-ngx-venv in it. So far so good, now I've exported everything from the old paperless-ngx using

sudo -u paperless python3 manage.py document_exporter /tmp

but when I try in the new paperless-ngx-venv using

sudo -u paperless python3 manage.py document_exporter /tmp

I get many unfulfilled dependencies, all of which I was able to install, but I fail with this one

❯ sudo -u paperless python3 manage.py document_importer /tmp
Traceback (most recent call last):
  File "/usr/share/paperless/src/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
    ~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/django/core/management/base.py", line 413, in run_from_argv
    self.execute(*args, **cmd_options)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/django/core/management/base.py", line 454, in execute
    self.check()
    ~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/django/core/management/base.py", line 486, in check
    all_issues = checks.run_checks(
        app_configs=app_configs,
    ...<2 lines>...
        databases=databases,
    )
  File "/usr/lib/python3.13/site-packages/django/core/checks/registry.py", line 88, in run_checks
    new_errors = check(app_configs=app_configs, databases=databases)
  File "/usr/lib/python3.13/site-packages/django/core/checks/urls.py", line 44, in check_url_namespaces_unique
    all_namespaces = _load_all_namespaces(resolver)
  File "/usr/lib/python3.13/site-packages/django/core/checks/urls.py", line 63, in _load_all_namespaces
    url_patterns = getattr(resolver, "url_patterns", [])
  File "/usr/lib/python3.13/site-packages/django/utils/functional.py", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/django/urls/resolvers.py", line 718, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
                       ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/django/utils/functional.py", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/django/urls/resolvers.py", line 711, in urlconf_module
    return import_module(self.urlconf_name)
  File "/usr/lib/python3.13/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 1026, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/usr/share/paperless/src/paperless/urls.py", line 20, in <module>
    from documents.views import AcknowledgeTasksView
  File "/usr/share/paperless/src/documents/views.py", line 165, in <module>
    from paperless_mail.oauth import PaperlessMailOAuth2Manager
  File "/usr/share/paperless/src/paperless_mail/oauth.py", line 7, in <module>
    from httpx_oauth.clients.google import GoogleOAuth2
ModuleNotFoundError: No module named 'httpx_oauth'

How do I break this dependency?

hashworks commented on 2024-12-28 21:02 (UTC) (edited on 2024-12-28 21:04 (UTC) by hashworks)

@pipep @shtrophic I've updated the nltk-data package. You might need to override anything you added to /usr/share/nltk_data/tokenizers.

shtrophic commented on 2024-12-23 12:51 (UTC)

Hi, thanks for reporting. I have patched requirements.txt for updated versions of httptools and uvloop; It fixes the build issue for me. No guarantees though that this doesn't break some paperless internals! Still, according to your upstream feature request, these are only transitive dependencies, so I suppose it will be fine. Python upgrades are always a PITA....

eomanis commented on 2024-12-22 19:06 (UTC) (edited on 2024-12-22 19:59 (UTC) by eomanis)

paperless-ngx-venv 2.13.5-2 doesn't seem to build with Python 3.13.1 because dependencies httptools and uvloop have GCC compilation errors against Python 3.13:

Failed to build httptools uvloop
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (httptools, uvloop)

Upstream feature request

For httptools:

  In file included from /usr/include/python3.13/longobject.h:107,
                   from /usr/include/python3.13/Python.h:81,
                   from httptools/parser/parser.c:22:
  /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
    111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
        |                 ^~~~~~~~~~~~~~~~~~~
  httptools/parser/parser.c: In function ‘__Pyx_PyInt_As_int’:
  httptools/parser/parser.c:10134:27: error: too few arguments to function ‘_PyLong_AsByteArray’
  10134 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
        |                           ^~~~~~~~~~~~~~~~~~~
  /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
    111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
        |                 ^~~~~~~~~~~~~~~~~~~
  error: command '/usr/bin/gcc' failed with exit code 1
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for httptools

For uvloop:

  In file included from /usr/include/python3.13/longobject.h:107,
                   from /usr/include/python3.13/Python.h:81,
                   from uvloop/loop.c:22:
  /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
    111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
        |                 ^~~~~~~~~~~~~~~~~~~
  uvloop/loop.c: In function ‘__Pyx_PyInt_As_uint64_t’:
  uvloop/loop.c:177765:27: error: too few arguments to function ‘_PyLong_AsByteArray’
  177765 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
         |                           ^~~~~~~~~~~~~~~~~~~
  /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
    111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
        |                 ^~~~~~~~~~~~~~~~~~~
  uvloop/loop.c: In function ‘__Pyx_PyInt_As_long’:
  uvloop/loop.c:177999:27: error: too few arguments to function ‘_PyLong_AsByteArray’
  177999 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
         |                           ^~~~~~~~~~~~~~~~~~~
  /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
    111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
        |                 ^~~~~~~~~~~~~~~~~~~
  uvloop/loop.c: In function ‘__Pyx_PyInt_As_unsigned_long’:
  uvloop/loop.c:178271:27: error: too few arguments to function ‘_PyLong_AsByteArray’
  178271 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
         |                           ^~~~~~~~~~~~~~~~~~~
  /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
    111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
        |                 ^~~~~~~~~~~~~~~~~~~
  uvloop/loop.c: In function ‘__Pyx_PyInt_As_unsigned_int’:
  uvloop/loop.c:178467:27: error: too few arguments to function ‘_PyLong_AsByteArray’
  178467 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
         |                           ^~~~~~~~~~~~~~~~~~~
  /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
    111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
        |                 ^~~~~~~~~~~~~~~~~~~
  uvloop/loop.c: In function ‘__Pyx_PyInt_As_size_t’:
  uvloop/loop.c:178739:27: error: too few arguments to function ‘_PyLong_AsByteArray’
  178739 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
         |                           ^~~~~~~~~~~~~~~~~~~
  /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
    111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
        |                 ^~~~~~~~~~~~~~~~~~~
  error: command '/usr/bin/gcc' failed with exit code 1
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for uvloop