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

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

shaheen_jarvis-0.2.0.tar.gz (45.8 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.2.0-py3-none-any.whl (37.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: shaheen_jarvis-0.2.0.tar.gz
  • Upload date:
  • Size: 45.8 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.2.0.tar.gz
Algorithm Hash digest
SHA256 b15f7a89d793424976fb5b27186b950aa8a19d5a010948bc749b80e3dcdce078
MD5 607f9282a6229be6636513dd2cea4332
BLAKE2b-256 0e16f995c06e9efb30acc5eeee5c750770b95e77f6078e597d3e7bde95c6eb51

See more details on using hashes here.

File details

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

File metadata

  • Download URL: shaheen_jarvis-0.2.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

Hashes for shaheen_jarvis-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3dff1762eda738e06aabac6d9a4544ce183b36bb7148fe4ddac72d2ee3bbbe25
MD5 74d810e72bcca323f12ca0a47df4419a
BLAKE2b-256 46efa5c1aea04940a791ed56c658085a9c2b9991ca151eb3be857b4e2524c891

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