Skip to main content

A powerful, voice-enabled AI assistant framework with comprehensive speech recognition, natural language processing, and extensive API integrations.

Project description

🤖 Shaheen-Jarvis Framework

Python License Voice Enabled AI Powered

🚀 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.


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

shaheen_jarvis-0.3.2.tar.gz (47.6 kB view details)

Uploaded Source

Built Distribution

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

shaheen_jarvis-0.3.2-py3-none-any.whl (38.5 kB view details)

Uploaded Python 3

File details

Details for the file shaheen_jarvis-0.3.2.tar.gz.

File metadata

  • Download URL: shaheen_jarvis-0.3.2.tar.gz
  • Upload date:
  • Size: 47.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for shaheen_jarvis-0.3.2.tar.gz
Algorithm Hash digest
SHA256 b892360b3028968c9677f7e704ee64f04748f22b903f3a13ca2c3edb9858d66c
MD5 347e36c2dcfcd00c0b55459ea4cb88a9
BLAKE2b-256 f61f12d7090d249641b31cf250dedbb32685a3f05b782ff0e8c9a1f4a0ed85c2

See more details on using hashes here.

File details

Details for the file shaheen_jarvis-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: shaheen_jarvis-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 38.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for shaheen_jarvis-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6822c944bdedc434f2665229ba6a6bc76bf702a4acc80eea48ef4dcf7d8ce762
MD5 721ab97a00547c1261907ac0d24ee735
BLAKE2b-256 b35f32025507c331da89d6185ad9d44515978f04860d6fbde49b9a10becc5615

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