Skip to content

This Python-based Desktop Application Automated Personal Assistant is designed to help users manage daily tasks, get news updates, fetch weather information, receive stock/crypto prices, and more. It features a graphical user interface (GUI) built using Tkinter and integrates with various APIs for added functionality.

Notifications You must be signed in to change notification settings

VIKASNARASIMHA1/Automated_Personal_Assistant_V1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

Automated Personal Assistant V1

This Python-based Desktop Application Automated Personal Assistant is designed to help users manage daily tasks, get news updates, fetch weather information, receive stock/crypto prices, and more. It features a graphical user interface (GUI) built using Tkinter and integrates with various APIs for added functionality.

With this assistant, users can:

• Manage tasks (add, edit, delete)

• Set reminders for breaks

• Send emails

• Fetch the latest news

• Fetch stock or cryptocurrency prices

• Get weather information based on the city name

• Give voice commands to interact with the assistant

Features

Task Management

• Add Tasks: Users can input task names, set priorities (Low, Medium, High), and specify due dates for each task.

• Edit Tasks: Modify the name, priority, or due date of any task.

• Delete Tasks: Remove tasks from the task list.

• View Tasks: Display all tasks with their names, priorities, and due dates.

Email Automation

• Send Emails: Allows users to send emails to a specified address. Users can provide a subject and body for the email.

• Email Validation: Ensures that the provided email address is valid before sending the email.

Voice Commands

• Voice Interaction: Users can speak commands like "set reminder," "send email," "fetch news," and more.

• Speech Recognition: The assistant listens for commands through the microphone using SpeechRecognition.

Stock/Crypto Price Fetching

• Stock Price: Retrieve real-time stock prices for a given stock symbol (e.g., AAPL for Apple).

• Crypto Price: Retrieve real-time cryptocurrency prices (e.g., Bitcoin, Ethereum) using the CoinGecko API.

Weather Updates

Weather Fetching: Get the current weather data for any city worldwide, including temperature and weather conditions, using the OpenWeatherMap API.

News Scraping

Latest News: Fetch the top headlines from Hacker News and display them to the user.

Task Reminders

Reminder for Breaks: Set recurring reminders to take a break at regular intervals (in minutes). Notifications will appear on the screen to remind the user.

Requirements

Python 3.x

This code is compatible with Python 3.6 or later.

Python Libraries

To install the required libraries, run the following command:

pip install requests beautifulsoup4 plyer pyttsx3 SpeechRecognition schedule

• Tkinter: GUI framework for the user interface (usually pre-installed with Python).

• requests: For making HTTP requests to external APIs.

• beautifulsoup4: For scraping web pages (e.g., news headlines).

• plyer: For system notifications (used for reminders).

• pyttsx3: For text-to-speech functionality (speaking back to the user).

• SpeechRecognition: For voice command functionality.

• schedule: For scheduling tasks such as reminders.

Setup Instructions

• Clone or Download the Repository: You can either clone this repository using Git or download the code as a ZIP file.

• API Keys Required: Some features require external API keys to work. Make sure you obtain the necessary keys

• Set Email Credentials: You need to provide your email credentials to send emails using Gmail. Set up environment variables to store your email and password securely and run the program.

Usage

Once the GUI is launched, you will be able to perform various actions via the interface or voice commands.

GUI Components

Task Management

• Task Name: Enter the name of the task.

• Priority: Select the priority (Low, Medium, High).

• Due Date: Set the task's due date (in YYYY-MM-DD format).

• Add Task: Add a new task to the list.

• Edit Task: Modify an existing task by selecting it from the list and editing its details.

• Delete Task: Remove a task from the list.

Voice Commands

Click the Voice Command button or say a command such as:

• "Set reminder"

• "Send email"

• "Fetch news"

• "What can you do?"

• “Fetch Weather”

• “Fetch Stock”

• “Fetch Crypto”

• “Add Task”

• “Exit”

Fetching Prices

Use the Fetch Stock/Crypto Price button to get real-time stock or crypto prices by entering their symbols.

Weather Updates

Click the Fetch Weather button to get current weather information for any city by entering the city name.

News

Click the Fetch News button to get the latest headlines from Hacker News.

Reminder

Click the Reminder button to set a reminder that will notify you to take breaks at regular intervals.

Exit

The Exit button will close the program.

Error Handling and Logging

The assistant includes basic error handling for common issues such as invalid input, network errors, and email sending problems. If any error occurs, it will be logged into a file called assistant.log.

Troubleshooting

• Email Issues: Make sure you have set up your Gmail account for sending emails. If you are using two-factor authentication, consider using an App Password.

• API Errors: If you receive errors related to APIs (e.g., weather, stock prices), make sure your API keys are correctly set and have valid access limits.

About

This Python-based Desktop Application Automated Personal Assistant is designed to help users manage daily tasks, get news updates, fetch weather information, receive stock/crypto prices, and more. It features a graphical user interface (GUI) built using Tkinter and integrates with various APIs for added functionality.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages