Skip to main content

The agentic AI companion to MultiViewer, the best app to watch motorsports

Project description

Pitwall 🏁

The agentic AI companion to MultiViewer, the best app to watch motorsports

Pitwall transforms your motorsport viewing experience by augmenting MultiViewer with an agentic intelligence you can interrogate over the course of a racing session.

CI Python License Tests Coverage

Key Features

  • 💬 Conversational Interface: Ask questions, request specific views, or let Pitwall decide what to show
  • 🤖 AI-Powered Feed Management: A conversational interface to control driver onboards, broadcast feeds, and more.
  • 🏎️ Racing Intelligence: Pit strategy, race control interpretation, and more.
  • 🧠 Session Memory: Remembers context and preferences throughout your viewing session
  • 🌐 Multi-Series Support: Works with all motorsports series that MultiViewer supports
  • OpenRouter Powered: Use any of the thousands of LLMs on OpenRouter

Quick Start

Prerequisites

  • Python 3.10 or higher
  • MultiViewer installed and running
  • A streaming subscription for the motorsport series you wish to watch.
  • OpenRouter API key for AI model access

Installation

pip install pitwall

Basic Usage

  1. Start MultiViewer and ensure it's running on your system
  2. Set your API key:
    export OPENROUTER_API_KEY="your-openrouter-api-key"
    
  3. Launch Pitwall:
    pitwall
    

Example Commands

# Quick analysis of current session
pitwall quick "What's the current battle for the lead?"

# Start interactive chat mode
pitwall chat

# Use a specific AI model
pitwall chat --model claude-sonnet

# Check 
pitwall models

# Resume a previous session
pitwall chat --session your-session-id

Configuration

Environment Variables

# Required: OpenRouter API key for AI models
export OPENROUTER_API_KEY="your-key-here"

# Optional: Custom MultiViewer host (default: localhost)
export MULTIVIEWER_HOST="192.168.1.100"

Model Options

Pitwall supports various AI models through OpenRouter:

  • claude-sonnet: Anthropic Claude Sonnet (recommended)
  • claude-opus: Anthropic Claude Opus (premium)
  • gpt-41: OpenAI GPT-4.1
  • gemini-pro: Google Gemini Pro
  • llama: Meta Llama models
  • deepseek: DeepSeek models

Advanced Features

Session Memory

Pitwall remembers your viewing sessions:

# List previous sessions
pitwall memory list

# Resume a specific session
pitwall chat --session abc123

# Export session data
pitwall memory export abc123 --output session.json

Development

Local Development

# Clone the repository
git clone https://github.com/RobSpectre/pitwall.git
cd pitwall

# Install in development mode
pip install -e .[dev]

# Run tests
pytest

# Run linting
black .
flake8 pitwall tests
mypy pitwall

Testing

# Run all tests
pytest

# Run with coverage
pytest --cov=pitwall

# Run specific test categories
pytest tests/test_cli.py
pytest tests/test_memory.py
pytest tests/test_pitwall.py

# Run across multiple Python versions
tox

Architecture

Pitwall is built with a modular architecture:

pitwall/
├── cli.py          # Command-line interface
├── pitwall.py      # Core AI agent logic
├── memory.py       # Session management
├── prompts.py      # AI prompt templates
└── __init__.py     # Package initialization

License

This project is licensed under the MIT License - see the LICENSE file for details.

Meta

  • Vibe-coded by Rob Spectre
  • Released under MIT License
  • Software is as is - no warranty expressed or implied, diggity.
  • This package is not developed or maintained by MultiViewer or any racing series
  • 🏎️ Go Weeyums! 🏎️

Acknowledgements

  • MultiViewer for the incredible motorsport viewing platform
  • mvf1 for MultiViewer MCP support
  • PydanticAI for the AI agent framework

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pitwall-0.1.0.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pitwall-0.1.0-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file pitwall-0.1.0.tar.gz.

File metadata

  • Download URL: pitwall-0.1.0.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for pitwall-0.1.0.tar.gz
Algorithm Hash digest
SHA256 73e87d43b884027610a86989ed5281316d7213c1e35f2a11dc25e4392e151a5c
MD5 e613b28fe1d9fe0cf4b2e88f2dcdd961
BLAKE2b-256 9a254b167fa61196cfef5ece9e48ce441f20b781a72748bf778a213f25022c90

See more details on using hashes here.

File details

Details for the file pitwall-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pitwall-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for pitwall-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0ceb7acdc177d744cdf89b39bc9ac47ecc145a714727f792c4bc7b40d0baff1c
MD5 b5925b521e3b1e2de09b9f36b101a13c
BLAKE2b-256 7bd4fd85512181be67f3eb7e951796bdc9edfce29b02689a4275de715ce9f11f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page