Learn concurrency, coordination, and reliability concepts through practical Python experiments.
Created by python_scripts (Abhijith Warrier).
Explore how systems behave when work runs concurrently, resources are limited, and operations fail. This series uses Python to make coordination problems and reliability trade-offs concrete.
The following topics describe the planned scope of the series. This roadmap is not a list of already published notebooks.
| Area | Concepts |
|---|---|
| Concurrency and shared state | Race conditions, locks, synchronization, and deadlocks. |
| Reliable operations | Idempotency, timeouts, retries, exponential backoff, and jitter. |
| Managing load | Backpressure, bounded queues, and overload behaviour. |
| Distributed coordination | Delivery guarantees, deduplication, consistent hashing, replication, and logical clocks. |
Once this repository and its notebooks are available, clone it:
git clone https://github.com/abhijithwarrier/Python-Systems-Engineering.git
cd Python-Systems-EngineeringCreate and activate a virtual environment:
python -m venv .venvmacOS / Linux:
source .venv/bin/activateWindows PowerShell:
.venv\Scripts\Activate.ps1Install and launch JupyterLab:
python -m pip install jupyterlab
python -m jupyterlabUse python3 instead of python where required by your system. Open a notebook and run its cells from top to bottom. Any topic-specific packages and Python-version requirements will be stated in that notebook; install packages using its dedicated installation section.
Experiments will identify their assumptions and distinguish a controlled local demonstration from a production-ready distributed system. Some topics may include supporting Python scripts for separate processes or services.
Run the example, change an input or assumption, and explain why the result changed. Keep the conceptual lesson connected to the code and its output.
Part of the python_scripts educational series: learning concepts by implementing and exploring them with Python.
Follow @python_scripts on Instagram for accompanying Reels and explanations.
Created by Abhijith Warrier