Resources: Module 01 — Introduction¶
Resources specifically relevant to this module's topics: HTTP, WSGI, ASGI, and the Python web framework landscape.
Official Documentation¶
-
Flask Documentation — Quickstart — The official Flask quickstart builds a minimal app step by step. Read this alongside the module to reinforce the concepts.
-
FastAPI Documentation — Tutorial: First Steps — Sebastián Ramírez's own step-by-step introduction. Covers the same ground as this module's FastAPI section with more depth on each feature.
-
PEP 3333 — Python Web Server Gateway Interface v1.0.1 — The authoritative specification for WSGI. The "Specification Details" section is dense but worth reading once to understand the standard precisely.
-
ASGI Specification — The ASGI specification document. Covers the
scope,receive, andsendinterface for HTTP, WebSocket, and lifespan connections.
HTTP Fundamentals¶
-
MDN Web Docs — HTTP — Mozilla's HTTP reference. The "HTTP Messages", "HTTP Methods", and "HTTP Status Codes" pages are the most relevant to this module. Free and authoritative.
-
HTTP/1.1 RFC 9110 — The authoritative HTTP semantics specification. Not required reading, but useful as a reference when you need the exact definition of an HTTP status code or method behavior.
Framework History and Design¶
-
Armin Ronacher — "Flask: One Year In" — A blog post by Flask's creator reflecting on the framework's design goals. Provides historical context for why Flask was built the way it was. [Verify URL before using — search for Armin Ronacher Flask blog post if link changes]
-
FastAPI — Alternatives, Inspiration, and Comparisons — Sebastián Ramírez's own comparison of FastAPI to Flask, Django, Hug, APIStar, and other frameworks. Explains exactly what problems FastAPI was designed to solve and what it borrowed from each predecessor.
Tools Used in This Module¶
- uvicorn — The ASGI server used with FastAPI. Install with
pip install uvicorn[standard]. - gunicorn — The WSGI server used with Flask and Django in production. Install with
pip install gunicorn. - httpie — A human-friendly CLI for testing HTTP endpoints.
pip install httpie. Usehttp GET localhost:5000/instead ofcurl.