Tags
Language
Tags
April 2025
Su Mo Tu We Th Fr Sa
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3
Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
SpicyMags.xyz

Mastering Rest Apis With Fastapi By Jose Salvatierra

Posted By: ELK1nG
Mastering Rest Apis With Fastapi By Jose Salvatierra

Mastering Rest Apis With Fastapi
Published 9/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.50 GB | Duration: 8h 48m

Build professional APIs using FastAPI, including 100% test coverage, background tasks, user authentication, and more!

What you'll learn

Gain broad experience with FastAPI

Understand how to test FastAPI apps using Pytest with 100% test coverage

Become a master of logging with the built-in logging module

Add user authentication with password hashing and Bearer tokens

Use an async SQL database and model one-to-many and many-to-many relationships

Send user emails when they register without a performance hit using background tasks

Handle file uploads and store them in a third-party service

Deploy your FastAPI apps to the cloud

Requirements

Some prior programming experience in any programming language.

All software used in the course is provided, and completely free

Complete beginners may wish to take a beginner Python course first, and then transition to this course afterwards

Description

With FastAPI you can build complete, high-performance APIs in days, and adding new features is blazing-fast. That's why FastAPI has become so popular in recent years.In this course, I'll show you how to go from a blank slate to a complete, finished FastAPI application.The projectWe'll build social media API with user authentication, email sending, and file upload. Users will be able to register and log in using Bearer (JWT) tokens. They will be able to create posts, leave comments, and like existing posts.We'll use Pydantic for data validation and encode/databases as our database connectivity library.Advanced knowledgeUse background tasks in FastAPI to improve performance when running slow code, such as when sending emails (covered in the course) or when making slow requests to third party APIs (also covered).Throughout the course we use an async database library, again to maximise performance, which is nonetheless straightforward to use. You'll learn about the different types of data relationships and how to model them, including many-to-many relationships.You'll learn how to handle file uploads and what to do with the uploaded files, so you don't run out of server space.Complete API testingFinally, 100% of the code in this course has tests. You'll use pytest extensively to write integration and unit tests for the API. You'll learn about pytest fixtures, parametrization, and testing conventions.Part of real-world development means logging! There's a lot of logging knowledge in this course, including how to set up the logging module properly, when to make logging calls, and where to store logs when your application is deployed.DeploymentsOf course, I'll show you how to deploy your FastAPI app using popular service Render.  You can deploy your FastAPI app for free, but I'll also show you some paid options for improved performance.We'll also look at application management, error handling with Sentry, and CI/CD with GitHub Actions.If you use or want to use FastAPI, this course contains everything you need to develop complete, real-world APIs.Let's get started. I'll see you on the inside!

Overview

Section 1: Course Introduction

Lecture 1 Community

Lecture 2 Instructions - Join the Community

Lecture 3 Welcome to this course!

Lecture 4 Platform features and note-taking

Lecture 5 You can do it!

Lecture 6 What is an API?

Lecture 7 What is REST?

Section 2: Working with FastAPI

Lecture 8 Introduction to this section

Lecture 9 Your First FastAPI App

Lecture 10 Initial App Setup

Lecture 11 Linting, formatting and sorting imports

Lecture 12 Our social media API: adding posts

Lecture 13 Splitting our API into files with APIRouter

Lecture 14 Adding comments to the social medical API

Section 3: Introduction to pytest

Lecture 15 Introduction to the pytest section

Lecture 16 The basics of pytest

Lecture 17 Getting started with FastAPI tests

Lecture 18 Creating posts in our tests

Lecture 19 Adding tests for posts

Lecture 20 Adding comments tests

Section 4: Working with async databases

Lecture 21 Introduction to working with databases

Lecture 22 Installing requirements for async databases in FastAPI

Lecture 23 Creating a config file using Pydantic

Lecture 24 Different configurations per environment in

Lecture 25 Config caching and how to get the config object

Lecture 26 Async database setup with FastAPI

Lecture 27 Database connection with lifespan events in FastAPI

Lecture 28 Run your FastAPI test in 'test' mode

Lecture 29 Using a database in our FastAPI router

Section 5: Logging in FastAPI applications

Lecture 30 Introduction to logging

Lecture 31 Python logging: loggers, handlers, and formatters

Lecture 32 Logger hierarchies and __name__

Lecture 33 Adding Logging Configuration for FastAPI Applications

Lecture 34 How to configure multiple loggers in the logging module

Lecture 35 Adding File Handlers for Saving Logs

Lecture 36 Python logging: filters and custom filters

Lecture 37 Logging HTTPExceptions with an Exception Handler

Lecture 38 Add logging to your FastAPI endpoints

Lecture 39 Identifying logs from the same request: Correlation ID

Lecture 40 Adding JSON-formatted log files

Lecture 41 Obfuscating email addresses in logs using a custom filter

Lecture 42 Adding Logtail for Cloud Logging in FastAPI

Lecture 43 Enabling Logtail in only in production

Section 6: User authentication with FastAPI

Lecture 44 Introduction to user authentication

Lecture 45 Installing requirements and, what are JWTs?

Lecture 46 Adding a users table and retrieving users by email

Lecture 47 Adding user registration and tests

Lecture 48 Adding tests for the user registration endpoint

Lecture 49 How to hash passwords with passlib

Lecture 50 Generate the access token

Lecture 51 Retrieve the current user with their token

Lecture 52 Use the current user in the API router

Lecture 53 Dependency injection: getting the user

Lecture 54 Adding user relationships to other tables

Section 7: Many-to-many relationships

Lecture 55 Introduction to many-to many

Lecture 56 Adding a table for post likes

Lecture 57 Adding an API route to like posts

Lecture 58 Extracting reusable queries with SQLAlchemy

Lecture 59 Query string arguments and data sorting with Enum

Section 8: User email confirmation

Lecture 60 Creating the confirmation token

Lecture 61 Decoding the confirmation token

Lecture 62 Adding a user confirmation endpoint

Lecture 63 Requiring user confirmation for authenticated requests

Lecture 64 Mailgun set-up and configuration

Lecture 65 Sending emails and testing with Python

Lecture 66 Sending a confirmation email on registration

Lecture 67 Sending emails with background tasks

Section 9: File Uploads with FastAPI

Lecture 68 Account setup for Backblaze B2

Lecture 69 Our configuration for Backblaze B2

Lecture 70 Internal library for Backblaze B2

Lecture 71 Writing our file upload endpoint

Lecture 72 Writing tests for file upload

Section 10: Background Tasks for Image Generation

Lecture 73 Model and database changes for image generation

Lecture 74 Configuration for DeepAI, our third party service

Lecture 75 Generating images using background tasks

Lecture 76 Executing image generation in our FastAPI endpoint

Section 11: FastAPI Deployments and Application Management

Lecture 77 Updating our project to Pydantic v2

Lecture 78 Deploy a FastAPI app to Render

Lecture 79 Add a free PostgreSQL database to your FastAPI app

Lecture 80 Error management with Sentry for FastAPI apps

Lecture 81 Continuous Integration with GitHub Actions for Python apps

Software developers looking to expand their skill-set by learning to develop professional grade FAST APIs,Students wanting to extend the capabilities of mobile and web applications by using server-side technologies