Skip to main content

voice-mode-install

A standalone installer package for VoiceMode that handles system dependency detection and installation.

Overview

voice-mode-install simplifies the VoiceMode installation process by:

  1. Detecting your platform - Identifies your OS, distribution, and architecture
  2. Checking dependencies - Scans for required system packages
  3. Installing packages - Uses your system's package manager (apt, dnf, brew)
  4. Installing VoiceMode - Runs uv tool install voice-mode
  5. Hardware recommendations - Suggests optimal configuration for your system
  6. Logging everything - Saves installation logs for troubleshooting

Quick Start

# Install and run
uvx voice-mode-install

# Dry run (see what would be installed)
uvx voice-mode-install --dry-run

# Install specific version
uvx voice-mode-install --voice-mode-version=5.1.3

# Skip service installation
uvx voice-mode-install --skip-services

# Non-interactive mode
uvx voice-mode-install --non-interactive

Prerequisites

  • uv - Required to run the installer (curl -LsSf https://astral.sh/uv/install.sh | sh)
  • Python 3.10+ - Usually pre-installed on modern systems
  • sudo access - Needed to install system packages (Linux)
  • Homebrew (macOS) - The installer will offer to install it if missing

Supported Platforms

  • macOS - Intel and Apple Silicon (via Homebrew)
  • Ubuntu/Debian - Using apt package manager
  • Fedora/RHEL - Using dnf package manager

Features

Phase 1 (Included)

✅ Dry-run Mode - Preview what will be installed ✅ Installation Logging - Detailed logs saved to ~/.voicemode/install.log ✅ Shell Completion - Auto-configures tab completion for bash/zsh ✅ Health Check - Verifies installation after completion ✅ Version Pinning - Install specific VoiceMode versions ✅ Hardware Detection - Recommends optimal setup for your system ✅ Homebrew Auto-Install - Offers to install Homebrew on macOS if missing

Phase 2 (Future)

⏱️ Config Validation - Check for conflicting settings ⏱️ Uninstall Support - Clean removal of VoiceMode

How It Works

  1. Platform Detection - Identifies OS, distribution, and architecture
  2. Dependency Checking - Compares installed packages against dependencies.yaml
  3. Package Manager Setup (macOS only) - Checks for Homebrew and offers to install if missing
  4. Package Installation - Uses platform-specific package managers:
    • macOS: brew install (installs Homebrew first if needed)
    • Ubuntu/Debian: sudo apt install
    • Fedora: sudo dnf install
  5. VoiceMode Installation - Runs uv tool install voice-mode[==version]
  6. Post-Install - Configures shell completion and verifies installation

Installation Logs

Logs are saved to ~/.voicemode/install.log in JSONL format:

{"timestamp": "2025-10-12T10:30:00", "type": "start", "message": "Installation started"}
{"timestamp": "2025-10-12T10:30:15", "type": "check", "message": "Checked core dependencies"}
{"timestamp": "2025-10-12T10:30:45", "type": "install", "message": "Successfully installed system packages"}
{"timestamp": "2025-10-12T10:31:30", "type": "complete", "message": "Installation completed"}

Troubleshooting

VoiceMode command not found after installation

Restart your shell or run:

source ~/.bashrc  # or ~/.zshrc for zsh

Permission denied during package installation

The installer needs sudo access to install system packages. Run:

sudo -v  # Refresh sudo credentials
uvx voice-mode-install

Network errors during installation

  • Check your internet connection
  • Try again with: uvx voice-mode-install
  • Use uvx --refresh voice-mode-install to get the latest installer

Installation hangs or fails

  1. Check the log file: ~/.voicemode/install.log
  2. Try a dry run: uvx voice-mode-install --dry-run
  3. Report issues with log file attached

Development

Building from Source

cd installer/
uv build

Testing Locally

cd installer/
uv pip install -e .
voice-mode-install --dry-run

Project Structure

installer/
├── pyproject.toml          # Package definition
├── voicemode_install/
│   ├── __init__.py        # Version and exports
│   ├── cli.py             # Main CLI entry point
│   ├── system.py          # Platform detection
│   ├── checker.py         # Dependency checking
│   ├── installer.py       # Package installation
│   ├── hardware.py        # Hardware detection
│   ├── logger.py          # Installation logging
│   └── dependencies.yaml  # System dependencies
└── README.md

Design Decisions

See DECISIONS.md in the task directory for detailed rationale behind:

  • Version management strategy
  • Dependency synchronization approach
  • Error handling philosophy
  • Platform coverage priorities
  • Service installation scope

Contributing

This installer is part of the VoiceMode project.

License

MIT License - Same as VoiceMode

Release files for voice-mode-install 8.12.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for voice-mode-install 8.12.0
File Size Uploaded
voice_mode_install-8.12.0.tar.gz 16.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for voice-mode-install 8.12.0
File Interpreter ABI Platform
voice_mode_install-8.12.0-py3-none-any.whl Python 3 none any Details

Total release size: 35.5 kB

Release files / voice_mode_install-8.12.0.tar.gz

Download URL voice_mode_install-8.12.0.tar.gz
Size 16.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b477b6f31daaf4058e81e1ec71eb3d6f76ece86e6c6997585bc089d0d3925d6f
BLAKE2b-256 checksum
How to use checksums
8a12da574622748968ff3aa6f0e1a65c54daebee22e3d4989f48d42c2a2aa17d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 21, 2026.

Transparency log

Release files / voice_mode_install-8.12.0-py3-none-any.whl

Download URL voice_mode_install-8.12.0-py3-none-any.whl
Size 19.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e4d574698b99eea2c9e44a286ead923ea4ff838224236b701d602e023ddce1d7
BLAKE2b-256 checksum
How to use checksums
0dd2faff4df5ebfc35f7f9b969a68bb3ec0e538e6c24acf04414c3f0e32bd979
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

8.12.0 This release

2 release files

8.11.0

2 release files

8.10.2

2 release files

8.10.1

2 release files

8.10.0

2 release files

8.9.0

2 release files

8.8.0

2 release files

8.7.1

2 release files

8.7.0

2 release files

8.6.2

2 release files

8.6.1

2 release files

8.6.0

2 release files

8.5.1

2 release files

8.5.0

2 release files

8.4.0

2 release files

8.3.0

2 release files

8.2.1

2 release files

8.2.0

2 release files

8.1.0

2 release files

8.0.8

2 release files

8.0.7

2 release files

8.0.6

2 release files

8.0.5

2 release files

8.0.4

2 release files

8.0.3

2 release files

8.0.2

2 release files

8.0.1

2 release files

8.0.0

2 release files

7.4.2

2 release files

7.4.1

2 release files

7.4.0

2 release files

7.3.0

2 release files

7.2.0

2 release files

7.1.2

2 release files

7.1.1

2 release files

7.1.0

2 release files

7.0.1

2 release files

7.0.0

2 release files

6.2.0

2 release files

6.1.1

2 release files

6.1.0

2 release files

6.0.5

2 release files

6.0.4

2 release files

6.0.3

2 release files

5.1.4

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page