<p><span>Discover FastAPI features and best practices for building and deploying high-quality web APIs from scratch</span></p><h4><span>Key Features</span></h4><ul><li><span><span>A practical guide to developing production-ready web APIs rapidly in Python</span></span></li><li><span><span>Learn how
Building Python Web APIs with FastAPI: A fast-paced guide to building high-performance, robust web APIs with very little boilerplate code
โ Scribed by Abdulazeez Abdulazeez Adeshina
- Publisher
- Packt Publishing
- Year
- 2022
- Tongue
- English
- Leaves
- 216
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
Discover FastAPI features and best practices for building and deploying high-quality web APIs from scratch
Key Features
- A practical guide to developing production-ready web APIs rapidly in Python
- Learn how to put FastAPI into practice by implementing it in real-world scenarios
- Explore FastAPI, its syntax, and configurations for deploying applications
Book Description
RESTful web services are commonly used to create APIs for web-based applications owing to their light weight and high scalability. This book will show you how FastAPI, a high-performance web framework for building RESTful APIs in Python, allows you to build robust web APIs that are simple and intuitive and makes it easy to build quickly with very little boilerplate code.
This book will help you set up a FastAPI application in no time and show you how to use FastAPI to build a REST API that receives and responds to user requests. You'll go on to learn how to handle routing and authentication while working with databases in a FastAPI application. The book walks you through the four key areas: building and using routes for create, read, update, and delete (CRUD) operations; connecting the application to SQL and NoSQL databases; securing the application built; and deploying your application locally or to a cloud environment.
By the end of this book, you'll have developed a solid understanding of the FastAPI framework and be able to build and deploy robust REST APIs.
What you will learn
- Set up a FastAPI application that is fully functional and secure
- Understand how to handle errors from requests and send proper responses in FastAPI
- Integrate and connect your application to a SQL and NoSQL (MongoDB) database
- Perform CRUD operations using SQL and FastAPI
- Manage concurrency in FastAPI applications
- Implement authentication in a FastAPI application
- Deploy a FastAPI application to any platform
Who this book is for
This book is for Python developers who want to learn FastAPI in a pragmatic way to create robust web APIs with ease. If you are a Django or Flask developer looking to try something new that's faster, more efficient, and produces fewer bugs, this FastAPI Python book is for you. The book assumes intermediate-level knowledge of Python programming.
Table of Contents
- Getting Started with Fast API
- Routing in FastAPI
- Response Models and Error Handling
- Templating in FastAPI
- Structuring FastAPI Applications
- Connecting to a Database
- Securing FastAPI Applications
- Testing FastAPI Applications
- Deploying FastAPI Applications
โฆ Table of Contents
Cover
Title Page
Copyright and Credits
Contributors
Table of Contents
Preface
Part 1: An Introduction to FastAPI
Chapter 1: Getting Started with FastAPI
Technical Requirement
Git basics
Installing Git
Git operations
Git branches
Creating isolated development environments with Virtualenv
Creating a virtual environment
Activating and deactivating the virtual environment
Package management with pip
Installing pip
Setting up Docker
Dockerfile
Building a simple FastAPI application
Summary
Chapter 2: Routing in FastAPI
Technical requirements
Understanding routing in FastAPI
Routing example
Routing with the APIRouter class
Validating request bodies using Pydantic models
Nested models
Path and query parameters
Path parameters
Query parameters
Request body
FastAPI Automatic Docs
Building a simple CRUD app
Summary
Chapter 3: Response Models and Error Handling
Technical requirements
Understanding responses in FastAPI
What is a response header?
What is a response body?
Status codes
Building response models
Error handling
Summary
Chapter 4: Templating in FastAPI
Technical requirements
Understanding Jinja
Filters
Using if statements
Loops
Macros
Template inheritance
Using Jinja templates in FastAPI
Summary
Part 2: Building and Securing FastAPI Applications
Chapter 5: Structuring FastAPI Applications
Technical requirements
Structuring in FastAPI applications
Building an event planner application
Implementing the models
Implementing routes
Summary
Chapter 6: Connecting to a Database
Technical requirements
Setting up SQLModel
Tables
Rows
Sessions
Creating a database
Creating events
Read events
Update events
Delete event
Setting up MongoDB
Document
Initializing the database
CRUD operations
Create
Read
Update
Delete
routes/events.py
routes/users.py
Summary
Chapter 7: Securing FastAPI Applications
Technical requirements
Authentication methods in FastAPI
Dependency injection
Creating and using a dependency
Securing the application with OAuth2 and JWT
Hashing passwords
Creating and verifying access tokens
Handling user authentication
Updating the application
Updating the user sign-in route
Updating event routes
Updating the event document class and routes
Configuring CORS
Summary
Part 3: Testing And Deploying FastAPI Applications
Chapter 8: Testing FastAPI Applications
Technical requirements
Unit testing with pytest
Eliminating repetition with pytest fixtures
Setting up our test environment
Writing tests for REST API endpoints
Testing the sign-up route
Testing the sign-in route
Testing CRUD endpoints
Testing READ endpoints
Testing the CREATE endpoint
Testing the UPDATE endpoint
Testing the DELETE endpoint
Test coverage
Summary
Chapter 9: Deploying FastAPI Applications
Technical requirements
Preparing for deployment
Managing dependencies
Configuring environment variables
Deploying with Docker
Writing the Dockerfile
Building the Docker image
Deploying our application locally
Running our application
Deploying Docker images
Deploying databases
Summary
Index
Other Books You May Enjoy
๐ SIMILAR VOLUMES
<p><span>Develop web API applications using design patterns, advanced customization, and cutting-edge technologies, such as SignalR, gRPC, and GraphQL, while leveraging powerful cloud platforms and tools to accelerate development</span></p><span>Key Features</span><ul><li><span><span>Gain proficienc
Giunio De Luca, "FastAPI Cookbook: Develop high-performance APIs and web applications with Python" Enhance your web development skills, from setting up your environment and advanced integrations to building robust, high-traffic web applications with practical, scalable solutions Key Features
<p><span>Enhance your web development skills, from setting up your environment and advanced integrations to building robust, high-traffic web applications with practical, scalable solutions</span></p><h4><span>Key Features</span></h4><ul><li><span><span>Explore FastAPI in depth, from basic setup to