A powerful, voice-enabled AI assistant framework with comprehensive speech recognition, natural language processing, and extensive API integrations.
Project description
🤖 Shaheen-Jarvis Framework
🚀 Overview
Shaheen-Jarvis is a powerful, modular, voice-enabled AI assistant framework built in Python. It combines traditional programmatic functions with modern AI capabilities, featuring comprehensive speech recognition, natural language processing, and extensive API integrations.
✨ Key Features
- 🎤 Advanced Speech Recognition - Full voice command support with Google Speech Recognition
- 🧠 AI-Powered Responses - Intelligent conversations and code generation
- 🌐 Web Integration - Weather, news, Wikipedia, and web search capabilities
- 🎵 Multimedia Control - YouTube music playback and app launching
- 📝 Productivity Tools - Notes, tasks, calculations, and system monitoring
- 🔧 Extensible Plugin System - Easy to extend with custom functionality
- 🎨 Rich CLI Interface - Beautiful colored output and interactive commands
📦 Installation
Quick Install from PyPI
pip install shaheen-jarvis
Development Install
git clone https://github.com/yourusername/shaheen-jarvis.git
cd shaheen-jarvis
pip install -r requirements.txt
pip install -e .
🚀 Quick Start
🎤 Voice-Controlled Usage (Recommended)
from jarvis import Shaheen_Jarvis
# Initialize with voice enabled
jarvis = Shaheen_Jarvis(enable_voice=True)
# Start interactive voice session
while True:
command = jarvis.listen() # Listen for voice input
if command:
response = jarvis.dispatch(command) # Process command
print(f"Jarvis: {response}")
jarvis.speak(response) # Speak the response
💻 CLI Usage
# Basic commands
jarvis time
jarvis weather "New York"
jarvis joke
# Interactive mode
jarvis --interactive
# Voice mode
jarvis --voice
🐍 Python Script Usage
from jarvis import Shaheen_Jarvis
# Initialize Jarvis
jarvis = Shaheen_Jarvis()
# Basic functions
print(jarvis.call("tell_time"))
print(jarvis.call("tell_joke"))
print(jarvis.call("get_weather", "London"))
# AI-powered functions
print(jarvis.call("ask_ai", "What is quantum computing?"))
print(jarvis.call("generate_code", "Python function to sort a list"))
# Natural language dispatch
response = jarvis.dispatch("What's the weather like today?")
print(response)
🎤 Voice Commands
Shaheen-Jarvis supports comprehensive voice recognition. Here are example commands you can speak:
⏰ Time & Date
- "What time is it?"
- "What's the date today?"
- "Tell me the current time"
🌦️ Weather
- "What's the weather?"
- "Weather in London"
- "Tell me the weather in Paris"
🎵 Entertainment
- "Tell me a joke"
- "Play Adele songs on YouTube"
- "Open WhatsApp"
- "Random quote"
🔍 Search & Information
- "Wikipedia artificial intelligence"
- "Search web for latest technology"
- "What is quantum computing?"
- "Tell me about machine learning"
🧮 Mathematics
- "Calculate 25 plus 17"
- "What is 100 divided by 4?"
- "Compute 15 times 8"
📝 Productivity
- "Note buy groceries tomorrow"
- "Remember to call mom"
- "Show my tasks"
- "Create todo finish project"
🔧 System & Tools
- "Generate a password"
- "Get system info"
- "Get my IP address"
- "System information"
🤖 AI Features
- "Ask AI about Python programming"
- "Generate code for a sorting algorithm"
- "Explain neural networks"
- "What is blockchain?"
Features
- Core Engine: Function registration, alias support, and dynamic dispatch
- Predefined Functions: Time, date, jokes, email sending, weather updates, etc.
- Plugin Support: Load plugins from local paths
- Voice I/O: Speech recognition and text-to-speech capabilities
- Intuitive CLI: Interactive mode, history, and color output
- AI Integration: OpenRouter API for AI-driven capabilities
- Web Functions: Weather, news, translation, and web search with fallbacks
- System Utilities: System info, CPU usage, RAM status, network information
- Productivity Tools: Notes, to-do lists, alarms, email functions with voice
⚙️ Configuration
Configuration is managed through a YAML file (jarvis_config.yaml) and environment variables. Here's a sample:
debug: false
api_keys:
news_api_key: ${NEWS_API_KEY}
openai_api_key: ${OPENAI_API_KEY}
weather_api_key: ${WEATHER_API_KEY}
voice:
enable_voice: true
stt_backend: whisper
tts_backend: pyttsx3
logging:
level: 'INFO'
log_to_file: true
Make sure to set all environment variables correctly. See .env.sample for reference.
🎯 Examples
Comprehensive Interactive Test
To test every feature through voice commands:
python interactive_voice_test.py
Advanced Use
For voice-controlled commands and more complex AI interactions:
python example_advanced.py
python example_voice.py
🤝 Contribution
Please check the GitHub repository for contributions and feature requests. Feel free to open issues or pull requests!
© 2025 Shaheen-Jarvis
Licensed under the MIT License.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file shaheen_jarvis-0.3.0.tar.gz.
File metadata
- Download URL: shaheen_jarvis-0.3.0.tar.gz
- Upload date:
- Size: 46.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
346d6a1eac2dd22e4fb49efa015f8b357ef1ebf35bfdbddefa5654c011bc79d0
|
|
| MD5 |
f29b1ec4d433c2e090457a8c7c4cc53d
|
|
| BLAKE2b-256 |
3fc2735bdb992b573747ba478fd04b69f558cca4c34c2db6235f09f1783c4db8
|
File details
Details for the file shaheen_jarvis-0.3.0-py3-none-any.whl.
File metadata
- Download URL: shaheen_jarvis-0.3.0-py3-none-any.whl
- Upload date:
- Size: 37.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7bc933b347e552b282c84cdd63a1f39860421cd32c0193daf75619d195d389d
|
|
| MD5 |
9fff3be7181aa66c580ded13815a1736
|
|
| BLAKE2b-256 |
cf7afca4012daedb09af2d5a0c6419e321e1fb7c0377906a44509d4bd7a94905
|