Mastering REST APIs with FastAPI
Mastering REST APIs with FastAPI, available at $79.99, has an average rating of 4.62, with 82 lectures, based on 193 reviews, and has 1966 subscribers.
You will learn about 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 This course is ideal for individuals who are Software developers looking to expand their skill-set by learning to develop professional grade FAST APIs or Students wanting to extend the capabilities of mobile and web applications by using server-side technologies It is particularly useful for Software developers looking to expand their skill-set by learning to develop professional grade FAST APIs or Students wanting to extend the capabilities of mobile and web applications by using server-side technologies.
Enroll now: Mastering REST APIs with FastAPI
Summary
Title: Mastering REST APIs with FastAPI
Price: $79.99
Average Rating: 4.62
Number of Lectures: 82
Number of Published Lectures: 82
Number of Curriculum Items: 82
Number of Published Curriculum Objects: 82
Original Price: $149.99
Quality Status: approved
Status: Live
What You Will 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
Who Should Attend
- 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
Target Audiences
- 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
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 project
We’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 knowledge
Use 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 testing
Finally, 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.
Deployments
Of 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!
Course Curriculum
Chapter 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?
Chapter 2: Working with FastAPI
Lecture 1: Introduction to this section
Lecture 2: Your First FastAPI App
Lecture 3: Initial App Setup
Lecture 4: Linting, formatting and sorting imports
Lecture 5: Our social media API: adding posts
Lecture 6: Splitting our API into files with APIRouter
Lecture 7: Adding comments to the social medical API
Chapter 3: Introduction to pytest
Lecture 1: Introduction to the pytest section
Lecture 2: The basics of pytest
Lecture 3: Getting started with FastAPI tests
Lecture 4: Creating posts in our tests
Lecture 5: Adding tests for posts
Lecture 6: Adding comments tests
Chapter 4: Working with async databases
Lecture 1: Introduction to working with databases
Lecture 2: Installing requirements for async databases in FastAPI
Lecture 3: Creating a config file using Pydantic
Lecture 4: Different configurations per environment in
Lecture 5: Config caching and how to get the config object
Lecture 6: Async database setup with FastAPI
Lecture 7: Database connection with lifespan events in FastAPI
Lecture 8: Run your FastAPI test in 'test' mode
Lecture 9: Using a database in our FastAPI router
Chapter 5: Logging in FastAPI applications
Lecture 1: Introduction to logging
Lecture 2: Python logging: loggers, handlers, and formatters
Lecture 3: Logger hierarchies and __name__
Lecture 4: Adding Logging Configuration for FastAPI Applications
Lecture 5: How to configure multiple loggers in the logging module
Lecture 6: Adding File Handlers for Saving Logs
Lecture 7: Add logging to your FastAPI endpoints
Lecture 8: Python logging: filters and custom filters
Lecture 9: Logging HTTPExceptions with an Exception Handler
Lecture 10: Identifying logs from the same request: Correlation ID
Lecture 11: Adding JSON-formatted log files
Lecture 12: Obfuscating email addresses in logs using a custom filter
Lecture 13: Adding Logtail for Cloud Logging in FastAPI
Lecture 14: Enabling Logtail in only in production
Chapter 6: User authentication with FastAPI
Lecture 1: Introduction to user authentication
Lecture 2: Installing requirements and, what are JWTs?
Lecture 3: Adding a users table and retrieving users by email
Lecture 4: Adding user registration and tests
Lecture 5: Adding tests for the user registration endpoint
Lecture 6: How to hash passwords with passlib
Lecture 7: Generate the access token
Lecture 8: Retrieve the current user with their token
Lecture 9: Use the current user in the API router
Lecture 10: Dependency injection: getting the user
Lecture 11: Adding user relationships to other tables
Lecture 12: (Optional) OAuth Password Bearer and Swagger Auth
Chapter 7: Many-to-many relationships
Lecture 1: Introduction to many-to many
Lecture 2: Adding a table for post likes
Lecture 3: Adding an API route to like posts
Lecture 4: Extracting reusable queries with SQLAlchemy
Lecture 5: Query string arguments and data sorting with Enum
Chapter 8: User email confirmation
Lecture 1: Creating the confirmation token
Lecture 2: Decoding the confirmation token
Lecture 3: Adding a user confirmation endpoint
Lecture 4: Requiring user confirmation for authenticated requests
Lecture 5: Mailgun set-up and configuration
Lecture 6: Sending emails and testing with Python
Lecture 7: Sending a confirmation email on registration
Lecture 8: Sending emails with background tasks
Chapter 9: File Uploads with FastAPI
Lecture 1: Account setup for Backblaze B2
Lecture 2: Our configuration for Backblaze B2
Lecture 3: Internal library for Backblaze B2
Lecture 4: Writing our file upload endpoint
Lecture 5: Writing tests for file upload
Chapter 10: Background Tasks for Image Generation
Lecture 1: Model and database changes for image generation
Lecture 2: Configuration for DeepAI, our third party service
Lecture 3: Generating images using background tasks
Lecture 4: Executing image generation in our FastAPI endpoint
Chapter 11: FastAPI Deployments and Application Management
Lecture 1: Updating our project to Pydantic v2
Lecture 2: Deploy a FastAPI app to Render
Lecture 3: Add a free PostgreSQL database to your FastAPI app
Lecture 4: Error management with Sentry for FastAPI apps
Lecture 5: Continuous Integration with GitHub Actions for Python apps
Instructors
-
Jose Salvatierra
Founder of Teclado and Software Engineer
Rating Distribution
- 1 stars: 4 votes
- 2 stars: 4 votes
- 3 stars: 12 votes
- 4 stars: 54 votes
- 5 stars: 120 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Best Video Editing Courses to Learn in February 2025
- Best Music Production Courses to Learn in February 2025
- Best Animation Courses to Learn in February 2025
- Best Digital Illustration Courses to Learn in February 2025
- Best Renewable Energy Courses to Learn in February 2025
- Best Sustainable Living Courses to Learn in February 2025
- Best Ethical AI Courses to Learn in February 2025
- Best Cybersecurity Fundamentals Courses to Learn in February 2025
- Best Smart Home Technology Courses to Learn in February 2025
- Best Holistic Health Courses to Learn in February 2025
- Best Nutrition And Diet Planning Courses to Learn in February 2025
- Best Yoga Instruction Courses to Learn in February 2025
- Best Stress Management Courses to Learn in February 2025
- Best Mindfulness Meditation Courses to Learn in February 2025
- Best Life Coaching Courses to Learn in February 2025
- Best Career Development Courses to Learn in February 2025
- Best Relationship Building Courses to Learn in February 2025
- Best Parenting Skills Courses to Learn in February 2025
- Best Home Improvement Courses to Learn in February 2025
- Best Gardening Courses to Learn in February 2025