chore: bump minimum Python from 3.8 to 3.9 (#336)

* chore: bump minimum Python from 3.8 to 3.9 and adopt PEP 585 builtins

- Update requires-python, classifiers, mypy target, and black target in pyproject.toml
- Replace Python 3.8 with 3.9 in CI matrix and nightly workflow
- Replace typing.List/Dict/Tuple/Set with builtin list/dict/tuple/set (PEP 585)
- Update all 3.8 version references in README, docs, website, and install.sh
- Fix test_wayland_no_tools to mock IBus availability
- Remove List from common_types re-exports and update test

* style: reformat test files for Black 26.x and pin version in CI

Black 26.x introduced parenthesized context manager formatting.
Reformat 7 test files and pin Black>=26,<27 in CI to prevent
future drift from unpinned version upgrades.
This commit is contained in:
Jatin K Malik
2026-03-21 12:15:10 -07:00
committed by GitHub
parent e478f7e353
commit fa17b88f74
27 changed files with 265 additions and 227 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ const faqCategories = [
},
{
q: "What are the system requirements?",
a: "You need Python 3.8+, a working microphone, and about 500MB of disk space. For GPU acceleration with whisper.cpp, you need Vulkan support (AMD, Intel, or NVIDIA).",
a: "You need Python 3.9+, a working microphone, and about 500MB of disk space. For GPU acceleration with whisper.cpp, you need Vulkan support (AMD, Intel, or NVIDIA).",
},
],
},
+6 -6
View File
@@ -37,8 +37,8 @@ const distroConfig: Record<DistroSlug, DistroConfig> = {
intro:
"This Ubuntu guide is tuned for practical desktop use: terminals, browsers, IDEs, office suites, and chat apps. Vocalinux runs locally so your voice data never leaves your machine.",
prerequisites: [
"Ubuntu 22.04+ (or Ubuntu-based distro)",
"Python 3.8+",
"Ubuntu 22.04+ (or Ubuntu-based distro)",
"Python 3.9+",
"Working microphone",
"curl installed (sudo apt update && sudo apt install -y curl)",
],
@@ -68,8 +68,8 @@ const distroConfig: Record<DistroSlug, DistroConfig> = {
intro:
"Fedora is an excellent match for Vocalinux thanks to current Python stacks and up-to-date system libraries. This guide focuses on reliable setup and minimal friction.",
prerequisites: [
"Fedora Workstation 39+ (or Fedora-based distro)",
"Python 3.8+",
"Fedora Workstation 39+ (or Fedora-based distro)",
"Python 3.9+",
"Working microphone",
"curl installed (sudo dnf install -y curl)",
],
@@ -99,8 +99,8 @@ const distroConfig: Record<DistroSlug, DistroConfig> = {
intro:
"Arch users usually care about control and performance. This guide keeps setup lean while preserving compatibility across rolling-release desktop environments.",
prerequisites: [
"Arch Linux / Manjaro / EndeavourOS",
"Python 3.8+",
"Arch Linux / Manjaro / EndeavourOS",
"Python 3.9+",
"Working microphone",
"curl installed (sudo pacman -Sy --needed curl)",
],
+2 -2
View File
@@ -858,7 +858,7 @@ export default function HomePage() {
</h4>
<ul className="space-y-2 text-sm text-muted-foreground">
<li>• Ubuntu 22.04+ (or equivalent)</li>
<li>• Python 3.8 or newer</li>
<li>• Python 3.9 or newer</li>
<li>• 4GB RAM (8GB for large models)</li>
<li>• Microphone</li>
<li>• X11 or Wayland display server</li>
@@ -1134,7 +1134,7 @@ export default function HomePage() {
question: "What are the system requirements?",
answer: (
<>
Minimum: 4GB RAM, Python 3.8+, ~200MB disk space. 8GB+ RAM recommended for larger Whisper models. The default whisper.cpp tiny model (~39MB) works great on modest hardware. GPU acceleration is available via Vulkan for AMD, Intel, and NVIDIA GPUs.{" "}
Minimum: 4GB RAM, Python 3.9+, ~200MB disk space. 8GB+ RAM recommended for larger Whisper models. The default whisper.cpp tiny model (~39MB) works great on modest hardware. GPU acceleration is available via Vulkan for AMD, Intel, and NVIDIA GPUs.{" "}
<Link href="/install/" className="text-primary hover:underline">View full installation requirements</Link>.
</>
),
+1 -1
View File
@@ -11,7 +11,7 @@ const troubleshootingItems = [
solutions: [
"Ensure you ran the installer: curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash",
"Check if the virtual environment is activated: source ~/.local/share/vocalinux/venv/bin/activate",
"Verify Python version (3.8+ required): python3 --version",
"Verify Python version (3.9+ required): python3 --version",
"Try reinstalling: ./uninstall.sh && ./install.sh",
],
},