PyJARVIS is a Python-based AI Voice Assistant with a Tkinter-powered GUI, capable of performing multiple desktop and internet tasks. It uses speech recognition + text-to-speech along with APIs to provide an interactive experience.
PyJARVIS is designed to be your personal digital assistant, capable of handling a variety of commands:
- Voice Control: Interact naturally using speech.
- Web Automation: Open popular websites (Google, YouTube, Facebook, etc.) and perform web searches.
- Information Retrieval: Query Wikipedia for quick summaries.
- System Commands: Open essential desktop applications like Notepad, Calculator, and Command Prompt.
- Time & Date: Get current time and date information.
- Weather Updates: Fetch real-time weather reports for specified cities (requires OpenWeather API key).
- Entertainment: Tell jokes.
- Memory Function: Remember and recall custom notes.
- GUI: Interactive desktop interface to view commands and responses.
- Python 3.9+
pyttsx3: Text-to-speech conversion.SpeechRecognition: Voice recognition from microphone input.pywhatkit: YouTube control and general web searches.wikipedia: Integration with Wikipedia for information lookup.tkinter: For the graphical user interface.requests: For making API calls (e.g., OpenWeatherMap).python-dotenv: Securely loading API keys from.envfiles.datetime,os,webbrowser,pyjokes,threading,time(standard Python libraries)
Follow these steps to get PyJARVIS running on your local machine.
- Python 3.9 or higher
- A working microphone
- An OpenWeatherMap API Key (for weather functionality)
-
Clone the repository:
git clone https://github.com/OmKadane/PyJARVIS.git cd PyJARVIS -
Create and activate a virtual environment:
- Windows:
python -m venv myenv myenv\Scripts\activate
- macOS / Linux:
python3 -m venv myenv source myenv/bin/activate
- Windows:
-
Install the required Python packages:
pip install -r requirements.txt
-
Set up your OpenWeatherMap API Key:
- Create a file named
.envin the root of your project directory (the same level asmain.py). - Add your OpenWeatherMap API key to this file:
OPENWEATHER_API_KEY="your_new_api_key_here" - Ensure
.envis listed in your.gitignorefile to prevent accidental exposure.
- Create a file named
Once the setup is complete, run the main script from your terminal (with your virtual environment activated):
python main.pyThe assistant's GUI will appear, and it will greet you and start listening. Click "Start Listening" if it doesn't begin automatically. You can give it commands like:
- "Open Notepad"
- "What time is it?"
- "Search for Python tutorials"
- "Tell me a joke"
- "Weather in London"
- "Remember this is my task list"
- "Exit"
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.