Repository navigation
Expand file tree
/
Copy pathrequirements.txt
More file actions
31 lines (29 loc) · 1.85 KB
/
Copy pathrequirements.txt
File metadata and controls
31 lines (29 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Core pip dependencies, pinned: installed into .venv by tools/install.sh and
# into the AppImage. The distro's python3-evdev is only a fallback for the
# system Python (it may be 1.x); CI tests these pins on every supported
# interpreter.
customtkinter==6.0.0
# evdev 2.0.0 declares Requires-Python >=3.11, so on the 3.10 floor that
# README, docs/CONTRIBUTING.md and pyproject.toml promise, pip cannot even see
# it: "No matching distribution found for evdev==2.0.0". One pin there broke
# tools/install.sh on Python 3.10 systems (Ubuntu 22.04, Debian 11) and killed
# the CI matrix job for 3.10 in "Install dependencies". The last 1.x release is
# pinned for that interpreter instead, which is also exactly what the distro
# packages ship. src/recorder.py handles both APIs already (it tries
# list_devices(writable=False) and falls back on TypeError), and the app only
# touches ecodes/InputDevice/list_devices/UInput, all stable across 1.x.
evdev==2.0.0; python_version >= "3.11"
evdev==1.9.3; python_version < "3.11"
python-xlib==0.33
# NOT pip-installable on most systems (need C headers + libs).
# Installed from the distro by tools/install.sh instead:
# Debian/Ubuntu/Mint : sudo apt install python3-dbus python3-gi
# Arch/CachyOS : sudo pacman -S python-dbus python-gobject
# Fedora : sudo dnf install python3-dbus python3-gobject
# Required only for KDE Wayland (Portal RemoteDesktop driver).
# Optional, NOT listed above on purpose: numpy + Pillow are imported only by
# experimental/capture.py and experimental/vision.py, which no productive code
# path uses — their only consumers are the experimental visual-trigger add-ons
# in experimental/* (plus tests/test_experimental_addons.py, not run in CI).
# Those add-ons install numpy/Pillow themselves via experimental/install.sh,
# so the main app and AppImage stay dependency-light. Do not add them here.