Codeskill

Learn to code, step by step

Going deep with Python

Welcome to Going deep with Python. It assumes you have finished An introduction to Python and Going further with Python. You should be comfortable with idiomatic Python, packaging, virtual environments, Flask basics, pytest, and the kind of small app you might actually deploy.

The intermediate tutorials taught you how to write maintainable Python. These tutorials go into the parts that bite professionals: concurrency when one thread is not enough, profiling before you guess at optimisations, packaging you could publish, design patterns without Java cosplay, data pipelines beyond a single pandas notebook, and web APIs that sit sensibly next to a JavaScript front end.

Flask is the default web framework here. FastAPI gets a mention where its async model genuinely matters, but most of the API tutorials use Flask because it is straightforward, well understood, and enough for plenty of real services. Security, background tasks, and the JS + Python split get their own pages – these are the gaps that turn a demo into something you would run in production.

You need Python 3.10 or newer, a virtual environment, and a text editor. VS Code works well; use whatever you like. Examples assume a project folder and pinned dependencies. Where the intermediate series already explains something clearly, we link back rather than repeat it.

These tutorials end with two mini projects: a JSON-backed API with a simple front end, and an automation suite that watches files, sends email, and writes reports. Neither project needs a database – file storage and in-memory state are enough to teach the architecture.

Work through the tutorials in order when you can. Each one builds on the last. Some topics (concurrency, profiling) reward slow reading and small experiments on your own machine.

  1. Concurrency threads processes asyncio
  2. Performance profiling generators
  3. Packaging and publishing mindset
  4. Design patterns without Java cosplay
  5. Data cleaning pipelines
  6. Modern API design Flask/FastAPI
  7. Background tasks and schedulers
  8. Security for Python web apps
  9. JS front end + Python API
  10. Mini project API + front end
  11. Mini project automation suite