Skip to main content

Interactive Python Learning CLI

Project description

PyLearn - Interactive Python Learning CLI

An interactive, terminal-based Python learning tool covering beginner-to-advanced topics plus interview prep. Navigate lessons, run exercises, take quizzes, and track progress -- all from the command line.

Zero external dependencies -- pure Python stdlib.

Installation

pip install .          # install from source
pip install -e .       # editable/dev install

Quick Start

pylearn                # run via installed command
python -m pylearn      # alternative
python run.py          # run without installing

What's Included

Module Lessons Exercises Quiz
01 - Python Basics 4 4 5
02 - Data Types 7 7 7
03 - Control Flow 5 5 5
04 - Functions 6 6 6
05 - OOP (Expanded) 12 8 8
10 - Interview Prep 3 10 5
Total 37 40 36

Features

  • Lessons with explanations, code examples, and key points
  • Exercises with validation, hints, and solutions
  • Quizzes with scoring and explanations
  • Progress tracking with streaks and per-module stats
  • Interview prep with classic coding problems (Two Sum, FizzBuzz, Binary Search, etc.)
  • ANSI colors for a clean terminal UI
  • Works on Windows, macOS, and Linux

Project Structure

python/
├── run.py                    # Entry point (dev)
├── pyproject.toml            # Package metadata
├── pylearn/
│   ├── app.py                # Main app loop & routing
│   ├── cli.py                # Menus, prompts, display
│   ├── config.py             # Paths & constants
│   ├── utils/                # Terminal colors, formatting
│   ├── engine/               # Code runner & validator
│   ├── progress/             # JSON-based progress tracking
│   └── curriculum/           # Auto-discovered lesson modules
│       ├── 01_basics/
│       ├── 02_data_types/
│       ├── 03_control_flow/
│       ├── 04_functions/
│       ├── 05_oop/
│       └── 10_interview_prep/
~/.pylearn/
└── progress.json             # Auto-created on first run

Adding New Modules

Create a numbered directory under pylearn/curriculum/ (e.g., 06_error_handling/) with an __init__.py that exports a module variable of type Module. The auto-discovery system will pick it up automatically.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pylearn_cli-1.0.0.tar.gz (78.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pylearn_cli-1.0.0-py3-none-any.whl (84.3 kB view details)

Uploaded Python 3

File details

Details for the file pylearn_cli-1.0.0.tar.gz.

File metadata

  • Download URL: pylearn_cli-1.0.0.tar.gz
  • Upload date:
  • Size: 78.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for pylearn_cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 788ec312459025d80c94e07bbf84f78ef1df3e1df573fef0a984444aba3f03a1
MD5 a3423036e971665da32972383cc11928
BLAKE2b-256 59becd91c9192a575db2931a588e84fb4ec635146d30fa4dc085d52048aec225

See more details on using hashes here.

File details

Details for the file pylearn_cli-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pylearn_cli-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 84.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for pylearn_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 099cdf245a2187a9d35fb718339f09272572bda9749e3d9c557f99e60a58db43
MD5 45e4f0b3596047e17cd1fdae65c31dd6
BLAKE2b-256 e861268fd9ddf4fbe352505618a8d6838b65883409d41fc0502fea1d6ac58335

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page