A curated collection of small, practical Python projects and automation tools to solve everyday problems, demonstrate specific programming concepts, or explore a useful technique in modern Python development.
The goal of this repository is to build a clear, structured portfolio showing clean and maintainable code as well as tracking consistent improvement in Python skills.
A simple command line task manager that stores tasks in JSON format.
Demonstrates:
- CLI workflow design
- File handling with
pathlib - Persistent storage
- Modular code structure
- Input validation and error handling
Located in: todo_cli/
A lightweight command line flashcard trainer with JSON storage.
This repository will be expanded with further tools, including:
- file automation utilities
- data parsing scripts
- argparse-based command line tools
- SQLite-backed utilities
- colored terminal apps
- testable modules with separated logic and I/O
Each project is self-contained with its own module folder and README.
This repository follows three principles:
-
Clarity
Code should be readable, predictable, and easy to maintain. -
Purpose
Each project solves a concrete problem or showcases a specific technique. -
Progress
New folders will appear over time, reflecting continuous skill development.
python-toolbox/
├── README.md
├── todo_cli/
│ ├── todo.py
│ └── README.md
├── file_tools/
├── data_tools/
└── learning/
Most projects require only standard Python 3.
Optional features may use:
argparsecoloramasqlite3pytest
Each subproject includes installation instructions if needed.
MIT License
David Mikhail
PhD in Theoretical Physics and computational researcher transitioning into applied software engineering, scientific computing and HPC development.