Modern APIs with FastAPI MongoDB and Python

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 + MongoDB

FastAPI is the fastest growing Python web and API framework, period. Take this course to add FastAPI to your toolbox.

Who is this course for

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)

4.5 (12)

See what people are saying

        This course was phenomenal. Michael bridges the gap between beginners and advanced students in an organic way. I learned how to build an API asynchronously using MongoDB. It was fun, engaging, and relevant.
Damian R.

Damian R.

        I just finished the amazing FastAPI course by Michael Kennedy. It's very complete and well explained. Thank you!
Martin

Martin

        I just finished your Modern APIs with FastAPIs and Python course. I absolutely loved it and it 100% helped me upskill into a new job I'm starting next week. Thanks for all your work helping junior devs like myself!
Tim W.

Tim W.

        Want learn how modern Python can do for your next project? Go check out the new course by Michael Kennedy on FastAPI. The course is amazingly well done and FastAPI is a katana :D
FK

FK

        I just finished the course last night and tonight and WOW, it's going to be worth sooo much more to be than the price I paid for it. I've been a TP2M listener for a couple years and love your stuff Michael. Be encouraged: you're changing people's lives. Seriously.
Rick

Rick

A pattern of wavy dots

Be the first to know about upcoming cohorts

Modern APIs with FastAPI MongoDB and Python

Meet your instructor

Michael Kennedy

Michael Kennedy

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.

Course syllabus

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.

A pattern of wavy dots

Be the first to know about upcoming cohorts

Modern APIs with FastAPI MongoDB and Python

Course schedule

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.

All the best Python tech together in one course

With this course, you'll get practical experience with cutting-edge Python tech

With this course, you'll get practical experience with cutting-edge Python tech

Learning is better with cohorts

Learning is better with cohorts

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.

Frequently Asked Questions

A pattern of wavy dots

Be the first to know about upcoming cohorts

Modern APIs with FastAPI MongoDB and Python