Files
Mark-LIV/requirements.txt
T
2026-09-16 18:48:54 +03:00

93 lines
5.0 KiB
Plaintext

# ── MARK LIV — Python dependencies ────────────────────────────────────────────
# pip skips any line whose sys_platform marker does not match your OS, so this
# one file serves Windows, macOS and Linux. `python setup.py` runs it for you.
# Version bounds: the lower bound is what the app is developed against, the
# upper bound stops the next MAJOR release of a dependency from breaking every
# fresh clone on the day it ships. Minor and patch updates flow in freely.
# ── Core: UI, audio, Gemini Live ──────────────────────────────────────────────
# PyQt6 and numpy also carry the holographic avatar: the head is rendered in
# software with QPainter and posed with numpy, so the face costs no extra
# package, no OpenGL and no GPU. Nothing below was added for it.
PyQt6>=6.6,<7
sounddevice>=0.4,<1
numpy>=1.24,<3
google-genai>=2.8.0,<3
# ── Web search & browser control ──────────────────────────────────────────────
requests>=2.31,<3
beautifulsoup4>=4.12,<5
playwright>=1.40,<2
# ── Automation / input control ────────────────────────────────────────────────
pyautogui
pyperclip
pygetwindow
# ── Vision & media ────────────────────────────────────────────────────────────
pillow>=10,<13
opencv-python>=4.8,<5
mss>=9,<11
# ── System, files & documents ─────────────────────────────────────────────────
psutil>=5.9,<8
send2trash
youtube-transcript-api
python-pptx
openpyxl
# ── Remote dashboard (control from your phone) ────────────────────────────────
fastapi>=0.110,<1
uvicorn[standard]>=0.27,<1
cryptography>=42,<50
python-multipart>=0.0.9,<1
qrcode[pil]>=7,<9
# ── Plugin extras: Gmail / Google Calendar (OAuth) ────────────────────────────
google-api-python-client
google-auth-oauthlib
# ── Plugin extras: Tuya / Smart Life smart light (home_assistant) ─────────────
tinytuya
# ── Windows-only (pip skips these automatically on macOS / Linux) ─────────────
comtypes; sys_platform == "win32"
pycaw; sys_platform == "win32"
win10toast; sys_platform == "win32"
pywinauto; sys_platform == "win32"
pywin32; sys_platform == "win32"
wmi; sys_platform == "win32"
# ── Documents, media & hardware readouts ──────────────────────────────────────
# Every one of these is imported inside a try/except at the point of use, so a
# missing package disables exactly one feature and never stops the app. They are
# declared because a feature that silently does nothing is worse than a slightly
# longer install.
ddgs>=9,<10 # web_search — the maintained successor to
# duckduckgo-search, which is tried first and
# falls back to the old name automatically
pdfplumber # file_processor — PDF text and tables
PyPDF2 # file_processor — PDF fallback reader
python-docx # file_processor — .docx reading
paho-mqtt # printer_control plugin — MQTT printers
pynvml # system_monitor + the HUD's GPU meter (NVIDIA)
# ── Optional: heavy extras, install only if you want the feature ──────────────
# Left out on purpose — together they are several hundred megabytes, which is a
# lot to download for a fresh clone that may never use them.
#
# pip install pandas # file_processor: spreadsheet/CSV analysis
# pip install pydub # file_processor: audio metadata and conversion
# # (also needs ffmpeg on PATH for most formats)
# pip install mediapipe # pushup_counter: elbow-angle rep detection
# ── Optional: local wake word ("Hey Jarvis") ──────────────────────────────────
# Deliberately NOT installed by default — it's opt-in. Enable it (and download
# the tiny model) with one click from ⚙ → WAKE WORD in the app, or install it
# yourself with: pip install openwakeword
#
# macOS / Linux OS actions (volume, brightness, reminders) shell out to native
# tools (pactl / brightnessctl / osascript / systemd), so no extra Python
# packages are needed there — nothing Windows-specific is ever pulled in.