4.5 (12)
2 Weeks
·Cohort-based Course
Learn to use FastAPI, async + await, Pydantic, and MongoDB to build modern web apps with Python and become the FastAPI expert on your team.
4.5 (12)
2 Weeks
·Cohort-based Course
Learn to use FastAPI, async + await, Pydantic, and MongoDB to build modern web apps with Python and become the FastAPI expert on your team.
Course overview
FastAPI is the fastest growing Python web and API framework, period. Take this course to add FastAPI to your toolbox.
01
Anyone who wants to build an API with Python as the backend language.
02
Devs who want to leverage modern Python features (async, Pydantic, OpenAPI) for APIs
03
People who want to leverage a modern database such as MongoDB and talk to it using Python's latest APIs (async and await)
Modern APIs with FastAPI MongoDB and Python
4.5 (12)
Damian R.
Martin
Tim W.
FK
Rick
Be the first to know about upcoming cohorts
Founder, Talk Python
Michael is the founder of Talk Python Training. He is also the host of the Talk Python to Me and Python Bytes podcasts and he is a Python Software Foundation (PSF) Fellow.
Michael has been working in the software field for more than 20 years and has spoken at numerous conferences on 4 continents.
01
Course Kickoff
The first part of our course is all about getting to know each other, the Maven platform, and discuss the general flow and format of what we'll learn together. I'm excited to meet you here in this one!
02
Python Typing (What, When, and How)
This lecture will be the first code-focused section of the course. We'll begin studying the foundations of FastAPI: Python type hints.
03
Pydantic Models
Pydantic is a core element of both FastAPI (our main focus and API layer) driving an insane amount of functionality there, as well as the core window into MongoDB using Beanie. Suffice it to say, it's quite important and this chapter will be all about Pydantic.
04
Async Python (What, When, Why)
In this chapter, you'll learn about the key ideas behind Python's asyncio programming model. When we can benefit from it and some of the limitations to be aware of.
05
Writing Code with async + await
Perhaps you've heard that async programming is hard. But with Python's asyncio, many of those challenges are avoided entirely. In this chapter, you will see several examples of concrete async code written using Python's async and await keywords. Our examples will show you can gain massive performance with minimal code changes using asyncio.
06
Introducing Document Databases and MongoDB
Document databases, and MongoDB in particular, are powerful tools that allow us to write code exactly matching the structure in our databases. With end-to-end Pydantic models using Beanie + FastAPI, these for a great pairing for your maintainable and fast web app.
07
Foundations of the Beanie ODM (History, Registering Connections, etc.)
Beanie is a great ODM (Object-Document mapper) with async support. In this chapter, we will talk about getting started with Beanie as well as the standard boiler-plate topics of setting up DB connections, and related tasks.
08
Modeling data with Document DBs and Pydantic Classes
Beanie is based on Pydantic models making it a good pair for FastAPI. We model our data and speak to the database using Pydantic models.
09
Querying and Inserting Data with Beanie's async API
When using Beanie, we speak to the database (MongoDB) using Pydantic models and a clever async query interface. That query interface is the topic of this chapter. You'll find it a dream to work with.
10
Building a realistic API with FastAPI
With all of the foundational topics covered, it's time to focus on building a great API with FastAPI. In this course, we will build an API that exposes and models real pypi.org data. We will build an API to explore details and run searches across the top Python packages.
11
Accepting inbound data with FastAPI
Our previous foray into FastAPI resulted in a powerful API over the PyPI data. But it was read-only. In this chapter, we begin accepting data from API clients. This will introduce is to a whole host of new concepts and good data processing practices around APIs.
12
Performance Testing with locust.io
So you've built an API. How many users can it handle? How large of a server do you need to deploy it to? How many servers? In this chapter, we'll provide concrete tooling to answer those and related questions.
13
Course Conclusion and Final Q&A
That's it, you've made it to the end! We'll do a quick review and more importantly, a final Q&A session to close any loose ends.
Be the first to know about upcoming cohorts
6-10 hours per week, two weeks
Monday, Wednesday, & Friday
9:00am - 11:00am US PDT (UTC−07:00)
We'll meet 3 times a week for 2 weeks, 2 hours each.
Time commitment
Our cohorts require a total of 12 hours of classroom time and 4-6 hours of hands-on exercises.
Hands-on Exercises
2-4 hours per week
In addition to live, classroom lessons and interactions, you'll have between 2-4 hours of optional, hands-on exercises to reinforce the concepts covered in class.
With this course, you'll get practical experience with cutting-edge Python tech
100% Live Instruction
Online courses are great (I've created many) but sometimes you really need a live in-person course to fully grok a technology.
A cohort of peers
You’ll be learning in public with a dedicated group of fellow Python devs.
Live access to experts
This course will be taught in-person by Michael Kennedy, a recognized Python expert. In addition to Michael, your cohort peers bring years of experience too.
Be the first to know about upcoming cohorts