Files
Frametop--frametop/pyproject.toml
T

45 lines
1.5 KiB
TOML

[project]
name = "frametop"
version = "0.1.0"
description = "Desktops in VR on the Steam Frame"
readme = "README.md"
requires-python = ">=3.12"
# Frametop's Python dependencies, locked in uv.lock. The Frame's runtime apps
# (input settings uses Kirigami) still come from the container's dnf packages;
# these groups cover everything uv can pin: dev tooling and the hand tracker's
# NumPy/OpenCV stack (Fedora's python3-opencv pulls in over a gigabyte).
[dependency-groups]
dev = [
"pytest>=8",
"ruff>=0.14",
"pyflakes>=3.4",
]
# type checking is dev tooling outside the image: the image installs the
# default groups (dev for CI's pytest/ruff, tracker for the hand tracker,
# voice for Frametop Voice) but not this one
types = [
"mypy>=1.19",
]
tracker = [
"numpy>=2.2",
"opencv-python-headless>=4.11",
"huggingface_hub>=0.34",
# the eye recorder's export encrypts with age (recorder/age.py), written on cryptography
"cryptography>=42",
]
# Frametop Voice (voice/ft-voiced): Moonshine, the wake word spotter and Silero VAD run
# through sherpa-onnx; sentencepiece spells out wake phrases (voice/requirements.txt has the
# same versions, for the dev container). sherpa-onnx's wheels need sherpa-onnx-core of the
# same version (onnxruntime and its C++ side), but don't all say so, and uv locks without it:
# both are named here, at one version.
voice = [
"numpy>=2.2",
"sentencepiece>=0.2.2",
"sherpa-onnx==1.13.8",
"sherpa-onnx-core==1.13.8",
]
[tool.uv]
package = false