Package Details: paperless-ngx-venv 2.14.7-1

Git Clone URL: https://aur.archlinux.org/paperless-ngx-venv.git (read-only, click to copy)
Package Base: paperless-ngx-venv
Description: A supercharged version of paperless: scan, index and archive all your physical documents (version with bundled dependencies)
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: 27
Popularity: 0.51
First Submitted: 2024-11-02 15:19 (UTC)
Last Updated: 2025-01-31 17:55 (UTC)

Required by (0)

Sources (12)

Latest Comments

1 2 3 4 5 6 .. 13 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