🤖 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
🚀 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.
Release files for shaheen-jarvis 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| shaheen_jarvis-0.3.2.tar.gz | 47.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| shaheen_jarvis-0.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 86.1 kB
Release files / shaheen_jarvis-0.3.2.tar.gz
| Download URL | shaheen_jarvis-0.3.2.tar.gz |
|---|---|
| Size | 47.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b892360b3028968c9677f7e704ee64f04748f22b903f3a13ca2c3edb9858d66c
|
|
BLAKE2b-256 checksum How to use checksums |
f61f12d7090d249641b31cf250dedbb32685a3f05b782ff0e8c9a1f4a0ed85c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|
Release files / shaheen_jarvis-0.3.2-py3-none-any.whl
| Download URL | shaheen_jarvis-0.3.2-py3-none-any.whl |
|---|---|
| Size | 38.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6822c944bdedc434f2665229ba6a6bc76bf702a4acc80eea48ef4dcf7d8ce762
|
|
BLAKE2b-256 checksum How to use checksums |
b35f32025507c331da89d6185ad9d44515978f04860d6fbde49b9a10becc5615
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|