This document provides a comprehensive list of all technologies, libraries, frameworks, and tools used in the JARVIS V2 Desktop AI Assistant project.
- Python 3.8+ (Primary Language)
- Version: 3.8 or higher required
- Used for: Entire application development
- Features: Type hints, async/await, modern syntax
-
SpeechRecognition 3.10.0+
- Purpose: Convert speech to text
- Engines: Google Speech API, CMU Sphinx
- Features: Multiple backend support, noise adaptation
-
PyAudio 0.2.14+
- Purpose: Audio stream handling
- Features: Cross-platform audio I/O
- Dependencies: PortAudio
- pyttsx3 2.90+
- Purpose: Convert text to speech
- Engine: Native OS TTS engines
- Features: Offline operation, customizable voice
- pvporcupine 3.0.0+
- Purpose: Hot word detection ("Hey Jarvis")
- Engine: Picovoice Porcupine
- Features: Low latency, customizable keywords
-
psutil 5.9.6+
- Purpose: System and process utilities
- Features: CPU, memory, disk, network monitoring
- OS: Cross-platform system information
-
pywin32 306+
- Purpose: Windows API access
- Features: Native Windows operations
- Modules: win32api, win32gui, win32con, win32com
-
pyautogui 0.9.54+
- Purpose: GUI automation and screenshot capture
- Features: Mouse/keyboard control, screen capture
- Dependencies: PIL/Pillow, pymsgbox, pytweening
-
pygetwindow 0.0.9+
- Purpose: Window management
- Features: Get/set window position, size, title
- Platform: Windows-specific
-
pyrect 0.2.0
- Purpose: Rectangle geometry utilities
- Used by: pygetwindow for window positioning
-
pymsgbox 2.0.1
- Purpose: Cross-platform message boxes
- Features: Alert, confirm, prompt dialogs
-
pytweening 1.2.0
- Purpose: Animation and easing functions
- Used by: pyautogui for smooth movements
-
pyscreeze 1.0.1
- Purpose: Screenshot functionality
- Features: Multi-monitor support
-
mouseinfo 0.1.3
- Purpose: Mouse position information
- Used by: pyautogui for debugging
-
pyperclip 1.11.0
- Purpose: Clipboard operations
- Features: Copy/paste text across platforms
-
customtkinter 5.2.2+
- Purpose: Modern UI components
- Based on: Tkinter (standard library)
- Features: Modern widgets, themes, scaling
-
darkdetect 0.8.0
- Purpose: System theme detection
- Features: Detect dark/light mode
- Used by: CustomTkinter for theme matching
- pystray 0.19.5+
- Purpose: System tray icon and menu
- Features: Background operation, quick access
- Platform: Windows/macOS/Linux
- Pillow 10.0.0+ (PIL Fork)
- Purpose: Image processing and manipulation
- Features: Screenshot processing, format conversion
- Formats: PNG, JPEG, BMP, GIF, TIFF
- OpenAI API 1.3.0+ (Optional)
- Purpose: Advanced intent recognition
- Features: GPT models, embeddings
- Status: Optional dependency
- NumPy 1.26.0+
- Purpose: Numerical operations
- Features: Array operations, mathematical functions
- Used by: AI/ML operations, data processing
-
pathlib (Standard Library)
- Purpose: Object-oriented filesystem paths
- Features: Cross-platform path handling
-
watchdog 3.0.0+
- Purpose: File system event monitoring
- Features: Watch directories for changes
- Use cases: File detection, auto-reload
-
python-dotenv 1.0.0+
- Purpose: Load environment variables from .env files
- Features: Configuration management, secrets
-
PyYAML 6.0.0+
- Purpose: YAML file parsing
- Features: Config file support (alternative to JSON)
- Format: YAML configuration files
- json
- Purpose: JSON configuration files
- Features: Parse and write JSON
- requests 2.31.0+
- Purpose: HTTP requests
- Features: REST API calls, web requests
- Dependencies: urllib3, certifi, charset-normalizer, idna
-
urllib3 2.2.3+
- Purpose: HTTP client
- Used by: requests library
-
certifi 2024.8.30+
- Purpose: SSL certificate bundle
- Used by: requests for HTTPS
-
charset-normalizer 3.4.0+
- Purpose: Character encoding detection
- Used by: requests library
-
idna 2.10+
- Purpose: Internationalized domain names
- Used by: requests library
-
pydantic 2.9.2+
- Purpose: Data validation using Python type hints
- Features: Settings management, data parsing
- Dependencies: pydantic-core, annotated-types
-
pydantic-core 2.23.4+
- Purpose: Core validation logic for pydantic
- Performance: Rust-based validation
-
annotated-types 0.7.0+
- Purpose: Type annotations for pydantic
- Features: Extended type hints
- typing-extensions 4.12.2+
- Purpose: Backported typing features
- Features: Latest type hints for older Python versions
- anyio 4.6.2.post1+
- Purpose: Asynchronous I/O
- Features: Async networking, file I/O
- Used by: OpenAI SDK, httpx
-
httpx 0.27.2+
- Purpose: Async HTTP client
- Features: HTTP/2, async requests
- Used by: OpenAI API client
-
httpcore 1.0.7+
- Purpose: Low-level HTTP transport
- Used by: httpx
-
h11 0.14.0+
- Purpose: HTTP/1.1 protocol implementation
- Used by: httpcore
- sniffio 1.3.1+
- Purpose: Detect async library in use
- Features: AsyncIO, Trio, Curio detection
-
pytest 7.4.0+ (or 8.4.2)
- Purpose: Testing framework
- Features: Test discovery, fixtures, parametrization
- Platform: Cross-platform
-
pytest-cov 7.0.0+
- Purpose: Code coverage plugin for pytest
- Features: Coverage reports, HTML output
- Dependencies: coverage
-
coverage 7.10.6+ (or 7.11.0)
- Purpose: Code coverage measurement
- Features: Branch coverage, exclusions
-
pluggy 1.6.0+
- Purpose: Plugin system for pytest
- Features: Hook management
-
iniconfig 2.1.0+
- Purpose: INI file parsing for pytest
- Used by: pytest configuration
- colorama 0.4.6+
- Purpose: Cross-platform colored terminal output
- Features: ANSI color codes on Windows
- Used by: Logger, CLI interface
- tqdm 4.67.1+
- Purpose: Progress bars for loops and downloads
- Features: Auto-updating progress indicators
- Used by: OpenAI SDK, file operations
-
comtypes 1.4.12+
- Purpose: COM interface access
- Platform: Windows-only
- Used by: pyttsx3, Windows automation
-
pypiwin32 223+
- Purpose: pywin32 installer helper
- Platform: Windows-only
- OpenAI SDK 1.55.2+
- Purpose: GPT-4, embeddings, completions
- Features: Async support, streaming
- Status: Optional dependency
-
distro 1.9.0+
- Purpose: Linux distribution detection
- Used by: OpenAI SDK
-
jiter 0.8.0+
- Purpose: Fast JSON iteration
- Used by: OpenAI SDK, pydantic
- pygments 2.18.0+
- Purpose: Syntax highlighting
- Used by: pytest output, documentation
- threading - Multi-threading support
- subprocess - Process management
- os - Operating system interface
- re - Regular expressions
- datetime - Date and time operations
- time - Time-related functions
- logging - Logging facility
- argparse - Command-line argument parsing
- pathlib - Object-oriented filesystem paths
- typing - Type hints support
- enum - Enumeration support
- dataclasses - Data classes
- Git
- Purpose: Source code version control
- Platform: All major platforms
- venv (Standard Library)
- Purpose: Isolated Python environments
- Features: Dependency isolation
- pip
- Purpose: Python package installer
- Features: Install, upgrade, remove packages
- install.bat - Automated installation script
- run_jarvis.bat - Quick launch script
- run_cli.bat - CLI mode launcher
- test.bat - Test runner script
- requirements.txt - Python dependencies list
- config.json - Runtime configuration
- .gitignore - Git exclusion rules
- Markdown (.md files)
- Purpose: Project documentation
- Files: README, ARCHITECTURE, QUICKSTART, etc.
-
python-docx 1.2.0
- Purpose: Create Word documents
- Used by: Report generation script
-
lxml 6.0.2
- Purpose: XML processing
- Used by: python-docx
- SpeechRecognition
- pyttsx3
- pyaudio
- pvporcupine
- pyautogui
- pygetwindow
- psutil
- pywin32
- pillow
- customtkinter
- pystray
- watchdog
- requests
- python-dotenv
- pyyaml
- colorama
- numpy
- openai (optional)
- pydantic
- typing-extensions
- pytest
- pytest-cov
- coverage
- python-docx (for reports)
- lxml
- Direct Dependencies: ~25 packages
- Sub-dependencies: ~50+ packages
- Total Installed: ~75+ packages
- Windows 10/11 (Primary Target)
- 64-bit recommended
- Administrator access for some features
- Python 3.8+ (Minimum)
- Python 3.12 (Tested & Recommended)
- CPU: Modern multi-core processor
- RAM: 4GB minimum, 8GB recommended
- Disk: 500MB free space
- Microphone: Required for voice input
- Speakers/Headphones: Required for voice output
-
Google Speech Recognition API
- Purpose: Online speech-to-text
- Requirement: Internet connection
- Cost: Free tier available
-
OpenAI API (Optional)
- Purpose: Advanced NLP capabilities
- Requirement: API key, internet
- Cost: Paid service
- Singleton Pattern - Global instances (Config, Logger)
- Command Pattern - Command processing
- Strategy Pattern - Multiple recognition engines
- Observer Pattern - Event-driven callbacks
- Facade Pattern - Unified interface (Jarvis Controller)
- Factory Pattern - Module creation
- MVC Pattern - UI separation
- MIT License - JARVIS V2 Project
- Various open-source licenses for dependencies
- Most are MIT, BSD, or Apache 2.0
- Check individual package licenses for details
- Project Version: 2.0.0
- Python: 3.8+ (3.12 recommended)
- Last Updated: October 27, 2025
pip install -r requirements.txt# Speech & Audio
pip install SpeechRecognition pyttsx3 pyaudio pvporcupine
# Desktop Automation
pip install pyautogui pygetwindow psutil pywin32 pillow
# GUI
pip install customtkinter pystray
# File Operations
pip install watchdog
# HTTP & Config
pip install requests python-dotenv pyyaml
# Utilities
pip install colorama numpy
# Testing
pip install pytest pytest-cov
# Optional
pip install openaiPyAudio Installation
- Windows: Download pre-built wheel from unofficial binaries
- Requires: Microsoft Visual C++ 14.0 or greater
pywin32 Installation
- May require manual post-install script
- Run:
python Scripts/pywin32_postinstall.py -install
pvporcupine Issues
- Requires internet for initial model download
- Free tier has usage limits
- Python: https://docs.python.org/3/
- SpeechRecognition: https://pypi.org/project/SpeechRecognition/
- pyttsx3: https://pypi.org/project/pyttsx3/
- CustomTkinter: https://github.com/TomSchimansky/CustomTkinter
- PyAutoGUI: https://pyautogui.readthedocs.io/
- psutil: https://psutil.readthedocs.io/
- OpenAI: https://platform.openai.com/docs
Document Version: 1.0 Last Updated: October 27, 2025 Project: JARVIS V2 - Desktop AI Assistant