Decouple non-UI CLI startup from config_ui

Stop aman.py from importing the GTK settings module at module load so version, init, bench, diagnostics, and top-level help can start without pulling in the UI stack.\n\nPromote PyGObject and python-xlib into main project dependencies, switch the documented source install surface to plain uv/pip commands, and teach the portable, deb, and Arch packaging flows to install filtered runtime requirements before the Aman wheel so they still rely on distro-provided GTK/X11 packages.\n\nAdd regression coverage for importing aman with config_ui blocked and for the portable bundle's new requirements payload, then rerun the focused CLI/diagnostics/portable tests plus py_compile.
This commit is contained in:
Thales Maciel 2026-03-14 13:38:15 -03:00
parent b4a3d446fa
commit 721248ca26
No known key found for this signature in database
GPG key ID: 33112E6833C34679
15 changed files with 173 additions and 35 deletions

12
uv.lock generated
View file

@ -16,13 +16,9 @@ dependencies = [
{ name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
{ name = "numpy", version = "2.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
{ name = "pillow" },
{ name = "sounddevice" },
]
[package.optional-dependencies]
x11 = [
{ name = "pygobject" },
{ name = "python-xlib" },
{ name = "sounddevice" },
]
[package.metadata]
@ -31,11 +27,11 @@ requires-dist = [
{ name = "llama-cpp-python" },
{ name = "numpy" },
{ name = "pillow" },
{ name = "pygobject", marker = "extra == 'x11'" },
{ name = "python-xlib", marker = "extra == 'x11'" },
{ name = "pygobject" },
{ name = "python-xlib" },
{ name = "sounddevice" },
]
provides-extras = ["x11", "wayland"]
provides-extras = ["wayland"]
[[package]]
name = "anyio"