Mastering Rest Apis With Fastapi By Jose Salvatierra
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 learnGain 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
RequirementsSome 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
DescriptionWith 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!
OverviewSection 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
Screenshots
Download linkrapidgator.net:
- Código:
-
https://rapidgator.net/file/be334488b00dabc438dce7399fb591c0/tcjkx.Mastering.Rest.Apis.With.Fastapi.By.Jose.Salvatierra.part1.rar.html
https://rapidgator.net/file/8305d43fdba629b93242f6991b5940a6/tcjkx.Mastering.Rest.Apis.With.Fastapi.By.Jose.Salvatierra.part2.rar.html
https://rapidgator.net/file/ad1ca45cedfe53691be7eddd11dcf1e9/tcjkx.Mastering.Rest.Apis.With.Fastapi.By.Jose.Salvatierra.part3.rar.html
https://rapidgator.net/file/0d52fe90f6114f5ad05252586b0c2763/tcjkx.Mastering.Rest.Apis.With.Fastapi.By.Jose.Salvatierra.part4.rar.html
uploadgig.com:
- Código:
-
https://uploadgig.com/file/download/54d1f430dc9a0686/tcjkx.Mastering.Rest.Apis.With.Fastapi.By.Jose.Salvatierra.part1.rar
https://uploadgig.com/file/download/aa1ae395edE9f3CD/tcjkx.Mastering.Rest.Apis.With.Fastapi.By.Jose.Salvatierra.part2.rar
https://uploadgig.com/file/download/8Ac2591c54f440Ed/tcjkx.Mastering.Rest.Apis.With.Fastapi.By.Jose.Salvatierra.part3.rar
https://uploadgig.com/file/download/e68bea0eB7725F6b/tcjkx.Mastering.Rest.Apis.With.Fastapi.By.Jose.Salvatierra.part4.rar
nitroflare.com:
- Código:
-
https://nitroflare.com/view/98FBF29C2D05A34/tcjkx.Mastering.Rest.Apis.With.Fastapi.By.Jose.Salvatierra.part1.rar
https://nitroflare.com/view/1E7958E19F9512B/tcjkx.Mastering.Rest.Apis.With.Fastapi.By.Jose.Salvatierra.part2.rar
https://nitroflare.com/view/6A50E6E5E098E94/tcjkx.Mastering.Rest.Apis.With.Fastapi.By.Jose.Salvatierra.part3.rar
https://nitroflare.com/view/D2AE4F94E10D4D0/tcjkx.Mastering.Rest.Apis.With.Fastapi.By.Jose.Salvatierra.part4.rar