Spaces:
Sleeping
A newer version of the Gradio SDK is available:
6.2.0
title: EPAI Capstone
emoji: ⚡
colorFrom: indigo
colorTo: green
sdk: gradio
sdk_version: 5.20.1
app_file: app.py
pinned: false
license: mit
short_description: Pyhton code demonstrating the underlying working of agents
EPAI-v5 Capstone - Agentic Python
EPAI-V5 - Extensive Python & PyTorch for AI -(Version 5), is an advanced Python course for fundamental understanding of Python Language and the PyTorch library. Designed for those who want to become application and ML Architects, offered by The School of AI
Project Overview
This capstone aims to make use of all the python concepts coveres in the course so far, while also introducing the students to the concept of Agentic AI. The project involves writing some python utility modules, that provide automated email workflows, calender integration and file management capabilities. ANd also using LLM models (Gemini) that are used to understand the uesr instructions and pick the appropriate tools from the utility toolset and generate a code that caters to the user prompt.
Here are the instructions for the capstone:
Your go-to model is Gemini-2.0-flash-exp. It's free for the usage you're going to have. Build an agent that: scans a folder,
- identifies file types
- moves them into categorized folders (e.g., PDFs, images, code files, etc)
- uses online services to compress PDF
- uses online services to compress PNGs and JPGs
- reads a particular file called "todo.txt" and performs these tasks if mentioned inside:
- Remind me to "------" via email
- Add a calendar invite for "" date and share it with "--@--.com"
- Share the stock price for NVIDIA every day at 5 PM via email with me
- more if you wish
Restriction: You CANNOT use any LLM for any of the tasks mentioned directly. Your LLM use is to call a python function that does these jobs! You need to show the start-to-end of all 6 tasks in a YouTube video Submission: Link to the YouTube video Link to the GitHub Code
Key Features
Email Automation
- Decorator-based email sending with SMTP configuration and error handling
- Reminder emails and calendar invite generation with ICS attachments
- Scheduled daily stock price emails using background scheduler
File Management
- Recursive directory scanning and file type categorization
- File organization by extension with automatic folder creation
- ZIP archive creation for files/folders with error handling
Stock Monitoring
- Real-time stock price lookup using Yahoo Finance
- Scheduled daily price updates with configurable timing
Deviation from requirement - A text box with customisable task prompt from user has been implemented, in place of reading and parsing the todo.txt file
Installation & Usage
# Install dependencies
pip install requirements.txt
Environment Variables
Required for email features:
SENDER_EMAIL=your_email@gmail.com
SENDER_PASSWORD=your_app_password
MY_GOOGLE_API_KEY=google_key_gor_gemini_model
Dependencies
- yfinance - Stock price data
- apscheduler - Background scheduling
- smtplib - Email sending
- os/shuutil - File operations
Contribution
Please ensure new features maintain the existing decorator pattern and include:
- Comprehensive docstrings
- Environment variable configuration where needed
- Error handling in decorated functions
- Type hinting for public methods
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference