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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
788ec312459025d80c94e07bbf84f78ef1df3e1df573fef0a984444aba3f03a1
|
|
| MD5 |
a3423036e971665da32972383cc11928
|
|
| BLAKE2b-256 |
59becd91c9192a575db2931a588e84fb4ec635146d30fa4dc085d52048aec225
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
099cdf245a2187a9d35fb718339f09272572bda9749e3d9c557f99e60a58db43
|
|
| MD5 |
45e4f0b3596047e17cd1fdae65c31dd6
|
|
| BLAKE2b-256 |
e861268fd9ddf4fbe352505618a8d6838b65883409d41fc0502fea1d6ac58335
|