A collection of beginner-friendly Python mini projects that is being upgraded from notebook proofs-of-concept into a structured, testable package.
For full documentation navigation, start with docs/README.md.
- Python 3.11+
pip
python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txtPYTHONPATH=src python -m mini_projects.cli tictactoe --difficulty hardPYTHONPATH=src python -m mini_projects.cli curriculum-demoPYTHONPATH=src python -m mini_projects.cli world-bank-sync --countries US CA GB DE JP --indicators NY.GDP.MKTP.KD.ZG FP.CPI.TOTL.ZG SL.UEM.TOTL.ZSPYTHONPATH=src python -m mini_projects.cli world-bank-statusAvailable difficulty levels:
easy: random legal movesmedium: mixed random + shallow minimaxhard: full minimax with alpha-beta pruning
Learn-Python/
src/
mini_projects/
cli.py
features/
advanced_python/
dsa/
async_concurrency/
backend_api/
data_stack/
dashboard/
big_data/
capstone/
tictactoe/
domain/
application/
presentation/
tests/
features/
tictactoe/
.github/workflows/ci.yml
requirements.txt
requirements-dev.txt
PYTHONPATH=src pytest -qGitHub Actions runs test checks on every push and pull request through .github/workflows/ci.yml.
- TicTacToe (modernized package):
src/mini_projects/features/tictactoewith CLI + alpha-beta AI difficulty levels. - Advanced Python: decorators, generators, context managers, protocols, dataclasses.
- DSA Deepening: trie, union-find, Dijkstra shortest path, LIS dynamic programming pattern.
- Async/Concurrency: retry, bounded concurrency, timeout fanout, model-selection helper.
- Backend API: FastAPI notes service with validation and SQLite adapter.
- Data Stack: normalized indicator schema and KPI/category analysis workflow.
- Dashboard Building: payload builder for KPI cards and trend/category views from indicator data.
- Big Data Analysis: chunked processing and scaling strategy selector.
- Capstone Integration: World Bank ingestion + cache freshness + dashboard + big-data strategy in one runnable flow.
- Source: World Bank Indicators API v2 (free and open, no API key).
- Adapter path:
src/mini_projects/features/capstone/infrastructure/world_bank_client.py - Cache/freshness path:
src/mini_projects/features/capstone/infrastructure/cache_store.py - Orchestration path:
src/mini_projects/features/capstone/application/pipeline.py - API endpoints:
POST /world-bank/refreshGET /world-bank/latestGET /world-bank/status
- Runbook index:
docs/pipelines/world-bank/overview.md
- Curriculum guide:
docs/curriculum/overview.md - New tests live under
tests/features/for each added module. - This expansion demonstrates language depth, algorithms, async systems, backend services, data analysis, dashboard thinking, and big-data scaling decisions.
Hangman.ipynb: categories, hint recommendation, multiplayer helper, JSON score persistence.Minesweeper.ipynb: flags, timer, SQLite leaderboard, solver-hint mode.sudoku.ipynb: constraint propagation + backtracking + puzzle generation.Rock Paper Scissors.ipynb: input normalization, best-of rounds, adaptive opponent model.Binary Search.ipynb: expanded to visualizer-style algorithms notebook (binary search, BFS, DFS, quicksort, mergesort).Guess the number.ipynb: robust validation, attempts tracking, reverse mode.madlib.ipynb: multi-template system with validation and deterministic selection support.Simple Calculator.ipynb: expression parser, safe errors, history session runner.Find the month.ipynb: normalized lookup, fallback handling, fuzzy suggestion helper.
- Hangman letter recommendation.
- Minesweeper safe-cell hinting.
- Sudoku step ranking via constraint-first candidate flow.
- Rock Paper Scissors Markov-style opponent prediction.
- Binary Search notebook includes empirical timing trend comparisons.
- Guess the Number adaptive mode helper via binary-search strategy.
- Notebooks now follow a consistent pattern: intro -> helpers -> runner -> assertions/demo.
- New code should be added under
src/mini_projectsand verified with tests intests/. - Some interactive notebook runners require user input and are intended to be executed cell-by-cell.
compose.py,compose_template.py,graph.py,graph_template.pyimage.py,transform.py,transform_empty.py,png.pylyrics.py,words.py
Modernization notes and contracts for these scripts are documented in docs/migration/script-modernization.md.
Place screenshots or GIFs in a future docs/assets/ folder and reference them here.
- Minesweeper GUI with timer, flags, SQLite leaderboard, and solver mode.
- Sudoku with constraint propagation, visualization, and puzzle generation.
- Hangman with categories, persistent scores, and multiplayer mode.
- Algorithms visualizer (binary search, BFS, DFS, quicksort, mergesort, and more).
- Optional TicTacToe Monte Carlo Tree Search (MCTS) mode.