Python

roadmap.sh: https://roadmap.sh/python

Suggested path through the Python nodes. Each node links to its lesson when written.

Nodes

Basics & syntax

  • Basic syntax
  • Variables and data types
  • Conditionals
  • Type casting
  • Exceptions
  • Functions & built-in functions
  • Operators
  • Working with strings

Data structures

  • Lists
  • Tuples
  • Sets
  • Dictionaries

Loops & comprehensions

  • Loops
  • List comprehensions
  • Generator expressions

Object-oriented programming

  • Classes
  • Methods
  • Inheritance
  • Encapsulation
  • Decorators
  • Lambdas

Modules & functional concepts

  • Modules
  • Iterators
  • Context managers
  • Recursion
  • Regular expressions
  • Paradigms
  • Variable scope

Package managers & environments

  • pip
  • PyPI
  • Virtualenv
  • Pipenv
  • Conda
  • Poetry
  • PDM
  • uv
  • pyenv
  • pyproject.toml

Static typing

  • Static typing
  • typing module
  • mypy
  • Pyright
  • Pyre
  • Pydantic

Code formatting & linting

  • Code formatting
  • Black
  • YAPF
  • Ruff

Testing

  • Testing
  • unittest (PyUnit)
  • pytest
  • doctest
  • tox

Documentation

  • Sphinx

Concurrency & async

  • Concurrency
  • Asynchrony
  • Threading
  • Multiprocessing
  • The GIL
  • gevent

Frameworks & libraries

  • Learn a framework
  • Django
  • Flask
  • FastAPI
  • Sanic
  • Tornado
  • Pyramid
  • aiohttp
  • Plotly Dash
  • Common packages

Data structures & algorithms

  • Arrays & linked lists
  • Heaps, stacks & queues
  • Hashmaps
  • Binary search tree
  • Sorting algorithms

Resources

See resources.md.

Project ideas

  • Build a CLI task manager with argparse, JSON persistence, and a pytest suite.
  • Write an async web scraper using aiohttp + asyncio that fans out across many URLs with a concurrency limit.
  • Create a typed FastAPI service with Pydantic models, dependency injection, and full test coverage.

1 item under this folder.