Skip to content

RobinaMirbahar/Python-Learning-Assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

64 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐍 Python Learning Assistant

Streamlit App License: MIT Python Gemini API PRs Welcome

An interactive AI-powered Python tutor β€” built for all skill levels.
Adaptive explanations. Live code examples. Instant feedback. Powered by Google Gemini.

🌐 Live Demo Β· πŸ› Report Bug Β· ✨ Request Feature

App Screenshot


✨ Features

Feature Description
🎯 Adaptive Learning Tailored explanations for beginner, intermediate, and advanced learners
πŸ’» Interactive Examples Run code snippets directly inside the app
πŸ“š 50+ Question Bank Pre-loaded with curated Python questions across all skill levels
⚑ Real-time Feedback Instant AI-driven explanations and corrections
πŸ—‚οΈ Session History Progress tracking that persists throughout your learning session

πŸš€ Quick Start

Prerequisites

Installation

# 1. Clone the repository
git clone https://github.com/yourusername/python-learning-assistant.git
cd python-learning-assistant

# 2. Create and activate a virtual environment
python -m venv venv
source venv/bin/activate        # macOS / Linux
.\venv\Scripts\activate         # Windows

# 3. Install dependencies
pip install -r requirements.txt

# 4. Add your API key
echo "GEMINI_API_KEY=your_api_key_here" > .env

# 5. Launch the app
streamlit run python-assistant.py

Then open http://localhost:8501 in your browser. πŸŽ‰


πŸ“‚ Project Structure

PYTHON-LEARNING-ASSISTANT/
β”œβ”€β”€ .devcontainer/          # VSCode dev container configuration
β”œβ”€β”€ .github/                # GitHub Actions workflows
β”œβ”€β”€ venv/                   # Python virtual environment (gitignored)
β”œβ”€β”€ .env                    # Environment variables (gitignored)
β”œβ”€β”€ .gitignore
β”œβ”€β”€ LICENSE
β”œβ”€β”€ python-assistant.py     # Main Streamlit application
β”œβ”€β”€ README.md
└── requirements.txt        # Python dependencies

πŸ“š Sample Questions

🟒 Beginner
  • "Explain variables and data types in Python"
  • "How do if-else statements work?"
  • "What are lists and how do I use them?"
🟑 Intermediate
  • "Explain OOP concepts with a class example"
  • "How do I handle file I/O operations?"
  • "What are decorators and when should I use them?"
πŸ”΄ Advanced
  • "Explain metaclasses with real-world use cases"
  • "How can I optimize Python code performance?"
  • "Implement a custom context manager"

πŸ› οΈ Development

Using the Dev Container (VSCode)

  1. Open the project folder in VSCode
  2. Press F1 β†’ select "Remote-Containers: Reopen in Container"
  3. The environment configures automatically β€” no manual setup needed

Dependencies (requirements.txt)

streamlit>=1.32.0
google-generativeai>=0.3.0
python-dotenv>=1.0.0

🀝 Contributing

Contributions are welcome and appreciated! Here's how to get started:

  1. Fork this repository
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Commit your changes: git commit -m 'feat: add your feature'
  4. Push to your branch: git push origin feature/your-feature-name
  5. Open a Pull Request

For major changes, please open an issue first to discuss what you'd like to change.


πŸ“œ License

Distributed under the MIT License. See LICENSE for details.


πŸ™ About the Author

Robina Mirbahar
πŸ† Google Cloud Innovator Champion Β |Β  πŸ‘©β€πŸ’» Women Techmakers Ambassador Β |Β  πŸš€ Google Developer Expert

LinkedIn Twitter GitHub

If you find this project useful, consider giving it a ⭐ β€” it helps others discover it too!

About

🐍 AI-powered Python tutor for all skill levels. Covers variables to metaclasses with 50+ exercises, interactive code examples & real-time feedback. Built with Streamlit + Gemini API. πŸš€

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages