Package Details: open-webui-no-venv 0.6.40-1

Git Clone URL: https://aur.archlinux.org/open-webui-no-venv.git (read-only, click to copy)
Package Base: open-webui-no-venv
Description: Web UI and OpenAI API for various LLM runners, including Ollama, built without creating virtualenv
Upstream URL: https://github.com/open-webui/open-webui
Licenses: BSD-3-Clause
Conflicts: open-webui, open-webui-git
Provides: open-webui
Submitter: mistersmee
Maintainer: mistersmee
Last Packager: mistersmee
Votes: 8
Popularity: 1.26
First Submitted: 2025-01-05 15:58 (UTC)
Last Updated: 2025-11-26 05:41 (UTC)

Latest Comments

1 2 3 Next › Last »

MarekCZ commented on 2025-11-25 10:11 (UTC)

Hi sashank, I hit the same issue as you did. The problem came with python-langchain 1.0, since the internal structure of the package(s) changed. I downgraded packages python-langchain, python-langchain-core, python-langchain-text-splitters and python-langchain-community to the last available version before 1.0 and everything works as expected. Hope it helps, at least for now. Cheers.

sashank commented on 2025-10-20 19:09 (UTC)

Well, whatever they changed just broke everything, lol. Can't figure out if its a database error (which I get when I run /bin/open-webui serve --port 8080 or if it's this: ModuleNotFoundError: No module named 'langchain.text_splitter' which what I get when I check the systemd logs. But I have to focus on other stuff. I just got a new AMD APU machine for this sort of stuff, and I have to work on a couple of other things before I get distracted by this again, haha. Anyways, thank you again for keeping up on all this. This has been such a great linux learning experience beyond basic shell scripts and whatnot.

sashank commented on 2025-10-17 07:53 (UTC) (edited on 2025-10-17 07:54 (UTC) by sashank)

P.P.S I checked your dependency_discover.py script, and I trust it more than namecap, haha.

Edit: I just saw that you replied. So yes, I agree with you.

mistersmee commented on 2025-10-17 07:49 (UTC)

@sashank, the potentially unnecessary packages that namcap lists out isn't always accurate 100% of the time, it doesn't consider some things, and upstream doesn't list all the packages it depends upon most probably because they're transitive dependencies or something. To see exactly what open-webui depends upon, you can go through the necessary_dependencies.txt file I've included. I've always kept track of the dependencies using that. python-pytest and python-git-python are only used in the unit tests, which we don't use, because I'm pretty sure upstream doesn't enable them, or if they are enabled, they don't enable them properly, in pyproject.toml.

As for python 3.13, open-webui has been running fine on it since basically python 3.13 came out, there was a little bit of time where some of the dependencies hadn't caught up, but all of them have now. I don't know why upstream refuses to move to 3.13, the main python version on Arch has been 3.13 since a while, and 3.14 also came out recently. 3.12 isn't EOL, but still.

And yeah, not sure about what exactly caused the problems, but I'm satisfied with the fact that they're fixed.

sashank commented on 2025-10-17 07:17 (UTC)

But yeah, looking at everything, I just don't see how any of the difference would have caused the problems that they did. Just sharing everything for both your curiosity and learning and mine.

Also, in regards to potentially unnecesary packages, they list python-accelerate, python-importlib-metadata, python-opentelemetry-exporter-otlp-proto-grpc, python-opentelemetry-exporter-otlp-proto-http, python-python-multipart, python-urllib3 as unneeded dependencies...

The only one I see in pyproject.toml is python-multipart and accelerate. I don't see importlib-metadata or urllib3, but we do have python-requests, which I guess depends on urllib3, and I'll trust something in there requires importlib_metadata. So I'm guessing they're saying that other packages we require probably already require those.

Not sure what's going on with the python-pytest and python-git-python errors.

sashank commented on 2025-10-17 06:39 (UTC)

Here's the second command (new package):

namcap ~/.cache/yay/open-webui-no-venv/open-webui-no-venv-0.6.33-2-any.pkg.tar.zst
open-webui-no-venv W: Directory (var/opt/open-webui/data) is empty
open-webui-no-venv E: Uncommon license identifiers such as 'BSD-3-Clause' require license files below /usr/share/licenses/open-webui-no-venv/ or switching to common license identifiers. Found 0/1 required license files.
open-webui-no-venv W: Referenced python module 'pytest_docker.plugin.get_docker_ip' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/test/util/abstract_integration_test.py'])
open-webui-no-venv W: Referenced python module 'opentelemetry.exporter.otlp.proto.http.trace_exporter.OTLPSpanExporter' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/utils/telemetry/setup.py'])
open-webui-no-venv W: Referenced python module 'gcp_storage_emulator.server.create_server' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/test/apps/webui/storage/test_provider.py'])
open-webui-no-venv W: Referenced python module 'docker' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/test/util/abstract_integration_test.py'])
open-webui-no-venv W: Referenced python module 'opentelemetry.exporter.otlp.proto.grpc.trace_exporter.OTLPSpanExporter' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/utils/telemetry/setup.py'])
open-webui-no-venv W: Referenced python module 'opentelemetry.exporter.otlp.proto.http._log_exporter.OTLPLogExporter' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/utils/telemetry/logs.py'])
open-webui-no-venv W: Referenced python module 'docker.DockerClient' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/test/util/abstract_integration_test.py'])
open-webui-no-venv W: Referenced python module 'opentelemetry.exporter.otlp.proto.http.metric_exporter.OTLPMetricExporter' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/utils/telemetry/metrics.py'])
open-webui-no-venv W: Referenced python module 'moto.mock_aws' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/test/apps/webui/storage/test_provider.py'])
open-webui-no-venv W: Referenced python module 'opentelemetry.exporter.otlp.proto.grpc._log_exporter.OTLPLogExporter' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/utils/telemetry/logs.py'])
open-webui-no-venv W: Referenced python module 'opentelemetry.exporter.otlp.proto.grpc.metric_exporter.OTLPMetricExporter' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/utils/telemetry/metrics.py'])
open-webui-no-venv E: Dependency python-pytest detected and not included (python modules ['pytest'] needed in files ['usr/lib/python3.13/site-packages/open_webui/test/util/abstract_integration_test.py', 'usr/lib/python3.13/site-packages/open_webui/test/apps/webui/storage/test_provider.py', 'usr/lib/python3.13/site-packages/open_webui/test/util/test_redis.py'])
open-webui-no-venv E: Dependency python-git-python detected and not included (python modules ['main.app'] needed in files ['usr/lib/python3.13/site-packages/open_webui/test/util/abstract_integration_test.py'])
open-webui-no-venv W: Dependency python-google-cloud-core detected and implicitly satisfied (python modules ['google.cloud.exceptions.NotFound', 'google.cloud.exceptions.GoogleCloudError'] needed in files ['usr/lib/python3.13/site-packages/open_webui/storage/provider.py'])
open-webui-no-venv W: Dependency bash detected and implicitly satisfied (programs ['bash'] needed in scripts ['.INSTALL'])
open-webui-no-venv W: Dependency included, but may not be needed ('python-accelerate')
open-webui-no-venv W: Dependency included, but may not be needed ('python-importlib-metadata')
open-webui-no-venv W: Dependency included, but may not be needed ('python-opentelemetry-exporter-otlp-proto-grpc')
open-webui-no-venv W: Dependency included, but may not be needed ('python-opentelemetry-exporter-otlp-proto-http')
open-webui-no-venv W: Dependency included, but may not be needed ('python-python-multipart')
open-webui-no-venv W: Dependency included, but may not be needed ('python-urllib3')

sashank commented on 2025-10-17 06:38 (UTC)

So here's the first command,

namcap ~/.cache/yay/open-webui-no-venv/open-webui-no-venv-0.6.33-1-any.pkg.tar.zst
open-webui-no-venv W: Directory (var/opt/open-webui/data) is empty
open-webui-no-venv E: Uncommon license identifiers such as 'BSD-3-Clause' require license files below /usr/share/licenses/open-webui-no-venv/ or switching to common license identifiers. Found 0/1 required license files.
open-webui-no-venv W: Referenced python module 'opentelemetry.exporter.otlp.proto.grpc._log_exporter.OTLPLogExporter' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/utils/telemetry/logs.py'])
open-webui-no-venv W: Referenced python module 'opentelemetry.exporter.otlp.proto.grpc.metric_exporter.OTLPMetricExporter' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/utils/telemetry/metrics.py'])
open-webui-no-venv W: Referenced python module 'opentelemetry.exporter.otlp.proto.grpc.trace_exporter.OTLPSpanExporter' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/utils/telemetry/setup.py'])
open-webui-no-venv W: Referenced python module 'gcp_storage_emulator.server.create_server' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/test/apps/webui/storage/test_provider.py'])
open-webui-no-venv W: Referenced python module 'opentelemetry.exporter.otlp.proto.http._log_exporter.OTLPLogExporter' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/utils/telemetry/logs.py'])
open-webui-no-venv W: Referenced python module 'docker.DockerClient' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/test/util/abstract_integration_test.py'])
open-webui-no-venv W: Referenced python module 'opentelemetry.exporter.otlp.proto.http.metric_exporter.OTLPMetricExporter' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/utils/telemetry/metrics.py'])
open-webui-no-venv W: Referenced python module 'moto.mock_aws' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/test/apps/webui/storage/test_provider.py'])
open-webui-no-venv W: Referenced python module 'pytest_docker.plugin.get_docker_ip' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/test/util/abstract_integration_test.py'])
open-webui-no-venv W: Referenced python module 'docker' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/test/util/abstract_integration_test.py'])
open-webui-no-venv W: Referenced python module 'opentelemetry.exporter.otlp.proto.http.trace_exporter.OTLPSpanExporter' is an uninstalled dependency (needed in files ['usr/lib/python3.13/site-packages/open_webui/utils/telemetry/setup.py'])
open-webui-no-venv E: Dependency python-pytest detected and not included (python modules ['pytest'] needed in files ['usr/lib/python3.13/site-packages/open_webui/test/apps/webui/storage/test_provider.py', 'usr/lib/python3.13/site-packages/open_webui/test/util/test_redis.py', 'usr/lib/python3.13/site-packages/open_webui/test/util/abstract_integration_test.py'])
open-webui-no-venv E: Dependency python-git-python detected and not included (python modules ['main.app'] needed in files ['usr/lib/python3.13/site-packages/open_webui/test/util/abstract_integration_test.py'])
open-webui-no-venv W: Dependency bash detected and implicitly satisfied (programs ['bash'] needed in scripts ['.INSTALL'])
open-webui-no-venv W: Dependency python-google-cloud-core detected and implicitly satisfied (python modules ['google.cloud.exceptions.GoogleCloudError', 'google.cloud.exceptions.NotFound'] needed in files ['usr/lib/python3.13/site-packages/open_webui/storage/provider.py'])
open-webui-no-venv W: Dependency included, but may not be needed ('python-accelerate')
open-webui-no-venv W: Dependency included, but may not be needed ('python-importlib-metadata')
open-webui-no-venv W: Dependency included, but may not be needed ('python-opentelemetry-exporter-otlp-proto-grpc')
open-webui-no-venv W: Dependency included, but may not be needed ('python-opentelemetry-exporter-otlp-proto-http')
open-webui-no-venv W: Dependency included, but may not be needed ('python-passlib')
open-webui-no-venv W: Dependency included, but may not be needed ('python-python-multipart')
open-webui-no-venv W: Dependency included, but may not be needed ('python-urllib3')

sashank commented on 2025-10-17 06:34 (UTC)

Yeah, I wasn't using chroot for this install, using yay instead paru with the chroot flag. One thing though, openwebui requires python < 3.13 in pyproject.toml. But I imagine its using the libraries built for python 3.13 even if its building with 3.12 (and who knows, maybe it's ignoring the <3.13 requirement, since I can't load and 3.13 modules from within python3.12. I don't have any packages installed in 3.12/site_packages. But, I don't know).

requires-python = ">= 3.11, < 3.13.0a1"

So if python -m build --wheel --no-isolation is going through the pyproject.toml file and its ignoring the requirements in there and building with python 3.13, is it ignoring other things? So I checked the pkg.tar.zst archive and it is for sure doing all this with python 3.13.

So checking the makepkg source code, the only relevant thing I can think of is this bit in handle_deps()

    # we might need the new system environment
    # save our shell options and turn off extglob
    local shellopts=$(shopt -p extglob)
    shopt -u extglob
    source /etc/profile &>/dev/null
    eval "$shellopts"

    # umask might have been changed in /etc/profile
    # ensure that sane default is set again
    umask 0022

I have the two package archives I just realized.

So the .BUILDINFO, .MTREE, and the .PKGINFO files are the only ones that differ when I extract both packages and run the following two commands:

diff <(find ~/Downloads/open-webui-no-venv-0.6.33-1-any.pkg/ 2>/dev/null -name '*' | xargs -I {} sha256sum {} 2>/dev/null | cut -d ' ' -f 1) <(find ~/Downloads/open-webui-no-venv-0.6.33-2-any.pkg/ 2>/dev/null -name '*' | xargs -I {} sha256sum {} 2>/dev/null | cut -d ' ' -f 1)

which gives me:

1c1
< 34852fef0f2995c8de0239f9187cf2032719bcaecd24796466f1c9b7e815907f
---
> ef98ff02470c4cab33ba5cee4cac0eedd90564a3c9008a9e1836779faa0e9b02
3,4c3,4
< 24c9842b0927cd07ed1d498667781da08dfd5a0c92d3a5b9ec0a20547e0f7703
< 37ec5e001df1240b87ac14561884343f9f8378243fc868b1d361f6fed4138b50
---
> 494e6b3763a1a36998293d52a3786c13dce5d2da20e6c448ecf2bd3c13043107
> d2596d48df7fc7645600d62e5bc7b9da52ee62df932f674253410682885da774

Running the following code

find ~/Downloads/open-webui-no-venv-0.6.33-2-any.pkg/ -name '*' 2>/dev/null | xargs -I {} sha256sum {} 2>/dev/null | grep -e "ef98ff02470c4cab33ba5cee4cac0eedd90564a3c9008a9e1836779faa0e9b02" -e "494e6b3763a1a36998293d52a3786c13dce5d2da20e6c448ecf2bd3c13043107" -e "d2596d48df7fc7645600d62e5bc7b9da52ee62df932f674253410682885da774" 

gives me

ef98ff02470c4cab33ba5cee4cac0eedd90564a3c9008a9e1836779faa0e9b02  ~/Downloads/open-webui-no-venv-0.6.33-2-any.pkg/.BUILDINFO
494e6b3763a1a36998293d52a3786c13dce5d2da20e6c448ecf2bd3c13043107  ~/Downloads/open-webui-no-venv-0.6.33-2-any.pkg/.MTREE
d2596d48df7fc7645600d62e5bc7b9da52ee62df932f674253410682885da774  ~/Downloads/open-webui-no-venv-0.6.33-2-any.pkg/.PKGINFO

So yeah, the only thing that might mess things up is the .MTREE file, but even that shouldn't cause that problem. That just keeps track of the package dependencies for the package managers, right?

Looking at .BUILDINFO, other than a bunch of HASKELL things, the only things that might be relevant is

< installed = deno-2.5.2-1-x86_64
---
> installed = deno-2.5.3-1-x86_64

(probably not since we use npm and I guess node.js instead of deno)

< installed = npm-11.6.1-1-any
---
> installed = npm-11.6.2-1-any
< installed = python-faster-whisper-1.1.1-1-any
---
> installed = python-faster-whisper-1.2.0-1-any

In .PKGINFO, you have depend = python-passlib

In the next post I'll examine the outputs of namcap on the two packages.

mistersmee commented on 2025-10-16 04:54 (UTC)

@sashank, I think python-passlib still being installed did/does have some effect, though not sure what.

And no, having python-passlib as a dependency doesn't technically affect the python build process. The way the --no-isolation flag works, from my understanding, is that, instead of downloading dependencies from pypi, and creating a separate build environment with only those downloaded dependencies, python takes the current state of the system as the build environment, so all the packages in python13/site-packages become part of the build environment, no matter what version they're on. So, even if python-passlib isn't declared as a makepkg dependency, if it is installed, the build process will take it into account when building.

Of course, all this assumes that you aren't using a chroot, which most people when just using an AUR helper aren't. If you're in a chroot, a new build environment is created per every build, and only the dependencies declared in the PKGBUILD are installed inside the chroot.

Anyhow, still not sure exactly why python-passlib would have an effect on open-webui if it doesn't get imported at all, but, hey, as long as it's working fine and the bug got fixed, and upstream knows, I'll consider the matter as resolved.

sashank commented on 2025-10-16 01:47 (UTC) (edited on 2025-10-16 01:50 (UTC) by sashank)

python-passlib is still installed. I remember that I made a quick back up copy of the git source directory before tidyinstall ran, deleting the src directory, to make sure that it was downloading the right version of the code (this is before 0.6.33-2, so 0.6.33-1), and it was downloading the bcrypt only python source code (that's where my now deleted examination of the source code in the issue conversation came from). But maybe adding python-passlib as a dependency affects the python build process when you set the flag --no-isolation?