Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Malhar Lathkar

Rating No ratings yet

Build APIs and web apps based on Asynchronous Server Gateway Interface (ASGI). This book provides a comprehensive explanation of using Pydantic models to construct the request/response objects in a FASTAPI path operation You’ll start by reviewing type hints in Python and the asynchronous processing concepts. One of the highlights of FastAPI is its auto generation of API docs. Pydantic library is the main pillar on top of which FastAPI is built. You’ll see that ASGI has a far better performance compared to most of the other popular Python frameworks as they implement Web server Gateway Interface (WSGI), which is synchronous in nature and hence having slower response time. This book thoroughly explains how FastAPI interacts asynchronously with relational as well as NOSQL databases. Modern web apps use template engines to interact with the front-end. In this book, you will learn to use jinja2 templates and static assets. Swagger UI and OpenAPI standards are also covered in detail. Finally, different options of deployment of FastAPI app have been explored in this book. This book uses practical examples to empower you to build high performance APIs What You'll Learn • Develop robust and high-performance web apps • Deploy the FastAPI app for public availability using cloud services such as Deta and Docker container • Understand the important building blocks of a web app such as form handling, templating and database interaction Who This Book Is For Aspiring and the experienced Python developers looking to leverage the flexibility of Python and the powerful features introduced in Modern Python. Computer science Engineering students at graduate and postgraduate level will also benefit immensely from the practical approach adapted in the book.

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A practical, example-driven guide to building fast, asynchronous Python web APIs with FastAPI, covering the modern Python foundations (type hints, async, Pydantic) and the full stack from routing to deployment. Best for Python developers and CS students who want to move beyond Flask/Django into ASGI-based, high-performance web development. 【Book Arc】 - **Opening (~0%–15%)**: Establishes the "why" behind FastAPI — modern Python type hints, asynchronous processing, and the ASGI vs. WSGI performance argument — before installing FastAPI and writing a first "Hello World" app. - **Early (~15%–35%)**: Covers REST architecture and HTTP verbs (GET/POST/PUT/DELETE), route-based URLs, path and query parameters, validation with RegEx, and FastAPI's auto-generated Swagger/OpenAPI docs. - **Middle (~35%–50%)**: Centers on Pydantic's BaseModel as the pillar of request/response modeling — built-in and custom validation, nested models — then moves to front-end integration via Jinja2 templates, static assets, CSS, and JavaScript. - **Late (~50%–80%)**: Explains asynchronous interaction with both relational and NoSQL databases, plus form handling as a core web-app building block. (Excerpts do not cover the exact chapter boundaries here.) - **Ending (~80%–100%)**: Explores deployment options for making the app publicly available, including cloud services such as Deta and Docker containers. (Excerpts do not cover the detailed deployment steps.) 【Key Takeaways】 - **ASGI is the performance story** (Opening): FastAPI's async, non-blocking request handling contrasts with the synchronous WSGI model used by Django and Flask, which is the book's central justification for the framework. - **Type hints are a prerequisite, not a nicety** (Opening): The book treats Python type hints as foundational, since FastAPI and Pydantic rely on them for validation and editor support. - **Pydantic's BaseModel is the backbone** (Middle): Unlike dataclasses, BaseModel enforces runtime schema validation, making it the mechanism for constructing request/response objects in path operations. - **Validation is declarative and automatic** (Early–Middle): Path/query parameters and request bodies are validated with constraints (length, RegEx, URL format), and failures return structured error responses with location and message. - **Auto-generated docs come free** (Early): Swagger UI and the OpenAPI JSON schema are generated from your code, giving interactive testing without extra tooling. - **Full-stack, not just API** (Middle): Jinja2 templates, static files, CSS, and JavaScript let you serve real web pages, not only JSON endpoints. - **Databases are handled asynchronously** (Late): The book addresses async interaction with both relational and NoSQL databases, extending the performance theme beyond HTTP. - **Deployment is part of the craft** (Ending): Docker containers and cloud services like Deta are presented as concrete paths to public availability. 【Reading Tips】 - Deep-read the Opening chapters on type hints and async — everything later depends on them; skim if you already write typed async Python. - Treat the Pydantic chapter as the pivot point: master BaseModel validation before touching templates or databases. - Use the auto-generated Swagger UI as a live lab while reading; test each path operation as you build it. - Skim the Jinja2/CSS/JS material if you only need APIs, but read it if you're building server-rendered pages. - Read the deployment chapter with your own project in hand — it's the least useful in the abstract. 【Coverage Limits】 This guide is synthesized from stratified excerpts covering roughly the first half of the book in detail; the database, form-handling, and deployment chapters are represented only by their introductory framing, so specific techniques there are not summarized.
Page 5
amming language, Python has been continuously evolving. New features and capabilities are incorporated with each version of Python. This has made Python the...
View in text
Excerpt 2
g python-dotenv is a convenient way to load the environment variables from a .env file. Let us conclude this chapter by writing a simple “Hello World” app us...
View in text
Excerpt 3
quence of characters that specifies a search pattern. These patterns are used by string-searching algorithms for “find” or “find and replace” operations on s...
View in text
Excerpt 4
nction()">Submit</button>     <p id="response"></p> </body> </html> Listing 4-16 Calling JavaScript in the jinja2 template This renders an HTML button, which...
View in text
Excerpt 5
itle": "Programming Basics",     "author": "Robert Ciesla",     "price": 40,     "publisher": "Apress"     "id": 2,     "title": "Decoupled Django",     "aut...
View in text
Excerpt 6
books app = FastAPI() @app.get("/stores") async def root():     return {"message": "Home page"} app.mount("/albumapi", albums.albums) app.mount("/bookapi", b...
View in text
Excerpt 7
the Book type. type Book {   title: String!   price: Int! } Listing 8-17 Type definition in GraphQL We have defined two fields in the Book type here; they’re...
View in text
Excerpt 8
to fail. Here is the console output of the PyTest command: =========================== FAILURES ========================== __________________________ test_ws...
View in text
Tags
AI categories
PythonBackendWeb Technology
ISBN: 1484291786
Publisher: Apress
Publish Year: 2023
Language: English
Pages: 321
File Format: PDF
File Size: 8.8 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…