Skip to content

deyanp19/python-explorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Python Features Explorer

A comprehensive interactive learning system for Python

Python Version License

Quick Start β€’ Features β€’ Documentation β€’ Configuration

Python Features Explorer is an interactive command-line application designed to help you learn Python through guided exploration. Navigate through comprehensive chapters, execute working examples, track your progress, and test your knowledge with quizzes.


✨ What's New in Version 2.0.0

🎯 Major Updates

  • πŸ” Smart Search - Find chapters by keywords instantly
  • πŸ’Ύ Progress Tracking - Remember where you left off, even after closing
  • πŸ“Š Statistics Dashboard - Monitor your learning journey
  • ⭐ Favorites System - Bookmark important chapters for quick access
  • 🌚 Theme Support - Light/dark/automatic themes for comfortable viewing
  • πŸ“š Quiz System - Test your understanding with interactive quizzes
  • βš™οΈ Configurable Settings - Custom behavior via config.yaml
  • πŸ“ Logging & Error Handling - Better debugging and reliability

πŸš€ Quick Start

# Install dependencies
pip install colorama PyYAML

# Run the application
python main.py

Features you'll discover immediately:

  • Search for chapters by typing keywords
  • View your progress and statistics
  • Mark chapters as favorites
  • Take quizzes after completing examples
  • All your progress saved automatically

See the Quick Start Guide for detailed setup instructions.


πŸŽ“ Learning Path

The application is organized into 10 comprehensive chapters covering essential Python concepts:

# Topic Progress
1 Introduction to Python πŸ“– Basic concepts, setup, environment
2 Data Types & Variables πŸ“– Variables, types, strings
3 Control Flow ♾️ Conditions, loops, flow control
4 Functions πŸ“š Function definitions, parameters, scope
5 Modules & Packages πŸ“¦ Module system, packages, imports
6 Error Handling ⚠️ Exceptions, try-except, debugging
7 Working with Files πŸ“ File I/O, CSV, JSON handling
8 Collections & Iterators πŸ“Š Lists, dicts, sets, comprehensions
9 Classes & OOP πŸ—οΈ Object-oriented programming, inheritance
10 Advanced Python ⚑ Decorators, generators, async

Each chapter includes:

  • Clear learning objectives
  • Detailed explanations
  • Working examples you can run
  • Quiz questions (when enabled)
  • Progress tracking

πŸ”₯ Key Features

πŸ” Intelligent Search

Find specific content instantly:

Search chapters (press Enter to see all)> os

Searches chapter titles, descriptions, and examples.

πŸ’Ύ Smart Progress Tracking

  • Automatically save your state between sessions
  • Track which examples you've completed
  • Remember quiz scores and ratings
  • Total time spent tracking

🎨 Theme Support

Choose your preferred appearance:

  • Light mode - Bright, clear text
  • Dark mode - Easier on eyes for long sessions
  • Auto-detect - Matches your system theme

πŸ“Š Progress Dashboard

Type stats at the main menu to see:

  • Total chapters completed
  • Progress percentage
  • Favorited chapters
  • Examples rated
  • Session time tracked

⭐ Favorites System

Mark important chapters for quick access:

  1. Press fav to enable
  2. Favorite chapters appear at the top of the menu
  3. Quick access to challenging material

πŸ“š Interactive Quizzes

Test your knowledge after completing chapters:

  • Multiple choice questions
  • Instant feedback with explanations
  • Pass/fail determination (70% required)
  • Retry attempts available

βš™οΈ Customizable Configuration

Adjust the application to your needs:

# config.yaml examples
execution:
  timeout_seconds: 60

search:
  fuzzy_match: true

quizzes:
  enabled: true
  passing_score: 75

πŸ“š Complete Chapter Outline

Chapter 1: Introduction to Python πŸš€

  • What is Python?
  • History and philosophy
  • Installing Python
  • Setting up your development environment
  • Python shell basics
  • First program: Hello World
  • Understanding Python code
  • Comments and documentation

Chapter 2: Data Types & Variables πŸ“¦

  • Variables and data types
  • Primitive data types (int, float, str, bool)
  • Type conversion
  • String manipulation
  • Number formatting
  • Working with bytes
  • Best practices

Chapter 3: Control Flow ♾️

  • Conditional statements (if, elif, else)
  • Boolean operations
  • Loops (for, while)
  • Loop control (break, continue, pass)
  • Pattern matching (match/case) - Python 3.10+
  • Common patterns

Chapter 4: Functions πŸ“š

  • Function definitions
  • Parameters and return values
  • Default arguments
  • *args and **kwargs
  • Lambda functions
  • Anonymous functions
  • Function scope
  • Recursive functions

Chapter 5: Modules & Packages πŸ“¦

  • Import system
  • Standard library modules
  • Creating your own modules
  • Package structure
  • Installation and dependencies
  • pip and virtual environments
  • Module discovery
  • Best practices

Chapter 6: Error Handling ⚠️

  • Exception handling
  • Try-except blocks
  • Custom exceptions
  • Exception chaining
  • Debugging techniques
  • Logging vs exceptions
  • Best practices
  • Error recovery

Chapter 7: Working with Files πŸ“

  • Reading and writing files
  • File operations
  • Context managers
  • Path manipulation (os, pathlib)
  • CSV file handling
  • JSON serialization
  • Binary file I/O
  • Working with large files

Chapter 8: Collections & Iterators πŸ“Š

  • Lists and list comprehensions
  • Dictionaries and dict comprehensions
  • Sets and set operations
  • Tuples and namedtuples
  • Iterators and generators
  • itertools module
  • collections module
  • Common data structures

Chapter 9: Classes & OOP πŸ—οΈ

  • Object-oriented programming basics
  • Classes and objects
  • Class methods and static methods
  • Inheritance and polymorphism
  • Special methods (init, str, etc.)
  • Encapsulation and properties
  • Abstract base classes
  • Design patterns

Chapter 10: Advanced Python ⚑

  • Decorators (function and class)
  • Generators and coroutines
  • Context managers (with statements)
  • Asyncio and async/await
  • Metaprogramming
  • Type hints
  • Data classes
  • Performance optimization

πŸ› οΈ Installation & Setup

Install Dependencies

Option 1: Manual Installation

pip install colorama PyYAML

Option 2: Using requirements.txt

pip install -r requirements.txt

Option 3: Virtual Environment (Recommended)

python -m venv explorer_env
source explorer_env/bin/activate  # On Windows: explorer_env\Scripts\activate.bat
pip install -r requirements.txt

Configure the Application

  1. Use defaults (recommended for beginners):

    python main.py
  2. Custom configuration:

    cp config.yaml.example config.yaml
    # Edit config.yaml to your preferences
    python main.py
  3. Generate quizzes:

    python generate_quizzes.py

πŸ“– Command Reference

Application Commands

Command Description
1-N Select a chapter
exit, quit, q Exit the application
help Show help message
stats View statistics and progress
fav Toggle favorites mode
config Display current configuration

During Examples

Command Description
1-N Select an example to run
y Try quiz (if enabled)

🎯 Example Workflow

============================================================
Welcome to the Python Features Explorer!
============================================================
Search chapters (press Enter to see all): python
Search chapters (press Enter to see all)

===  Python Features Explorer - Chapters  ===

Progress: 0/10 chapters (0%)
Favorites: 0 of 10

  1. Introduction to Python (1/1 examples)  ☰  ✨
  2. Data Types & Variables (2/2 examples)  ☰
  3. Control Flow (5/5 examples)            ☰
  4. Functions (6/6 examples)               ☰
  5. Modules & Packages (4/4 examples)      ☰
  6. Error Handling (4/4 examples)          ☰
  7. Working with Files (5/5 examples)      ☰
  8. Collections & Iterators (7/7 examples) ☰
  9. Classes & OOP (5/5 examples)           ☰
  10. Advanced Python (6/6 examples)        ☰
  11. Exit Application

Search chapters (press Enter to see all)

Try these commands:

  • python β†’ Filter to show only Python-related chapters
  • 1 β†’ Enter Chapter 1: Introduction to Python
  • y β†’ Try quiz after completing examples
  • stats β†’ View your overall progress
  • fav β†’ Enable favorite mode

πŸ”§ Configuration

Advanced customization through config.yaml:

# Application settings
app:
  name: "Python Features Explorer"
  version: "2.0.0"
  debug: false

# Execution settings
execution:
  timeout_seconds: 30
  max_examples_per_session: 0
  shell: "python3"

# Display preferences
display:
  show_descriptions: true
  show_progress_bars: true
  content_width: 80
  wide_separators: false

# Search configuration
search:
  fuzzy_match: true
  min_characters: 2
  search_scope: "all"

# Progress tracking
progress:
  enabled: true
  storage_file: "user_progress.json"
  auto_save: true

# Theme settings
theme:
  mode: "auto"  # auto, dark, light
  colors:
    header: "cyan"
    chapter_title: "green"
    example: "blue"

# Quizzes
quizzes:
  enabled: true
  questions_per_chapter: 5
  passing_score: 70
  allow_retries: true

# Security
security:
  sandbox_mode: false
  allowed_directories: ["examples"]
  blocked_functions: ["os.system", "eval", "exec"]

# Logging
logging:
  level: "INFO"
  file: "python_explorer.log"
  max_size_mb: 10

See FEATURES.md for complete configuration options.


πŸ“ Logging & Diagnostics

All activities are logged to python_explorer.log:

  • Application startup and shutdown
  • Chapter loading details
  • Examples executed
  • Progress changes
  • Errors and warnings

View logs for troubleshooting:

tail -n 50 python_explorer.log

πŸŽ“ Learning Tips

  1. Complete all examples - Practice is key to learning
  2. Take quizzes - Reinforce concepts
  3. Track your progress - Stay motivated with statistics
  4. Use favorites - Bookmark important chapters
  5. Search effectively - Find concepts quickly
  6. Review the logs - Learn from issues and errors

πŸ“‹ System Requirements

  • Python: 3.8 or higher (3.10+ recommended for latest features)
  • Operating System: Any OS with Python support (Windows, macOS, Linux)
  • Disk Space: Minimal (< 5 MB)
  • Memory: Standard requirements for Python execution

πŸ” Search Examples

Searching works on:

  • Chapter titles (e.g., "function", "loop")
  • Descriptions (e.g., "introduction", "basic")
  • Example names (e.g., "math", "json")

Examples:

Search chapters> os           # Find all OS-related content
Search chapters> data        # Find all data type content
Search chapters> class       # Find OOP content
Search chapters> loop        # Find control flow content

πŸ›‘οΈ Security Considerations

This application executes Python scripts, which carry inherent risks:

  • Examples run with your user privileges
  • No sandboxing by default - Scripts have file system access
  • Review code before execution - Always read example content

For more details, see security.md.

For production use, we recommend:

  • Running in a containerized environment
  • Enabling sandbox mode in config
  • Reviewing all example code
  • Using restricted access permissions

πŸ“š Documentation


πŸ”„ Version History

Version 2.0.0 (Current) - April 2024

New: Features mentioned above (search, progress tracking, themes, quizzes, etc.)

Version 1.0

  • Initial release
  • Basic chapter navigation
  • Example execution
  • Manual progress tracking

🀝 Contributing

While this is an educational project, contributions are welcome!

Suggested improvements:

  • Additional chapters or examples
  • Better search algorithms
  • Enhanced quiz functionality
  • Improved user interface
  • Additional themes

πŸ“§ Support & Feedback

  • Documentation: See FEATURES.md
  • Logging: Check python_explorer.log for issues
  • Configuration: Review FEATURES.md for config options
  • Issues: Please report problems through the project's issue tracker

πŸŽ‰ Getting Started

  1. Install dependencies: pip install colorama PyYAML
  2. Run application: python main.py
  3. Explore chapters: Browse the content
  4. Learn by doing: Execute examples
  5. Test yourself: Take quizzes

Happy Learning! 🐍


Made with ❀️ for Python learners everywhere

License: MIT

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages