Skip to content

ajitagupta/python-engineering-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Engineering Lab

Python Engineering Lab — engineering concepts assembled one piece at a time

A learning-in-public project. I'm a software engineer consolidating my Python and software-engineering fundamentals by implementing one engineering concept at a time — from scratch, by hand — and writing down what I actually learned.

This repo is aimed at fellow beginners. Each concept lives in its own folder, is small enough to read in one sitting, and has its own notes explaining how to run it and what tripped me up.

How this lab works

  • One concept per folder, numbered in order (01-..., 02-...).
  • I write the first version myself before looking at any reference solution. The point is understanding, not copying.
  • Each concept folder has its own README with run instructions and notes.

Getting started

You'll need Python 3.12 or newer.

# Clone and enter the repo
git clone https://github.com/ajitagupta/python-engineering-lab.git
cd python-engineering-lab

# Create and activate a virtual environment
python -m venv .venv
.venv\Scripts\activate          # macOS/Linux: source .venv/bin/activate

Then follow the README inside whichever concept folder you want to run — each lists its own dependencies and how to start it.

Roadmap

Concept Skill Status Folder
01 — REST API Flask routes, HTTP methods, JSON ✅ Done 01-rest-api
02 — Validation & error handling Input validation, status codes ⬜ Planned coming soon
03 — Pytest API tests Testing, test client, fixtures ⬜ Planned coming soon
04 — SQLite persistence Databases, storage, SQL ⬜ Planned coming soon
05 — Search & filtering Query parameters, filtering ⬜ Planned coming soon
06 — Pagination limit/offset, response metadata ⬜ Planned coming soon
07 — File upload Multipart uploads, CSV parsing ⬜ Planned coming soon
08 — Background scheduler Scheduled jobs, background tasks ⬜ Planned coming soon
09 — Caching Cache strategies, invalidation ⬜ Planned coming soon
10 — Parser Parsing, structured text ⬜ Planned coming soon

Scoped to ten concepts for now; the back half (architecture, performance, production) gets planned once the pace settles.


A learning project, updated as I work through it. Progress over speed — one concept genuinely understood beats five rushed.

About

Simple to advanced labs for learning backend patterns in Python

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

No contributors

Languages