• Stars
    star
    567
  • Rank 78,634 (Top 2 %)
  • Language
    Python
  • Created about 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Course demos and handouts for our Modern APIs with FastAPI course.

Modern APIs with FastAPI course

A course from Talk Python Training. Sign up at talkpython.fm/fastapi.

Course Summary

FastAPI is one of the most exciting new web frameworks out today. It's exciting because it leverages more of the modern Python language features than any other framework: type hints, async and await, dataclasses, and much more. If you are building an API in Python, you have many choices. But, to us, FastAPI is the clear choice going forward. And this course will teach you everything you need to know to get started. We'll build a realistic API working with live data and deploy that API to a cloud server Linux VM. In fact, you'll even see how to create proper HTML web pages to augment your API all within FastAPI.

What's this course about and how is it different?

This course is designed to get you creating new APIs running in the cloud with FastAPIs quickly. We start off with just a little foundational concepts, then jump right into build our first API with FastAPI.

Then we explore the foundational modern Python features to make sure you're ready to take full advantage of this framework. We'll look at how async and await works in Python, how to build self-validating and describing classes with Pydantic, Python 3's type hints, and other core language concepts.

We round out the course by building a realistic API working with live data. Then we deploy that API using nginx + gunicorn + uvicorn running on Ubuntu in a cloud VM at Digital Ocean.

What topics are covered

In this course, you will:

  • See how simple working with basic APIs in FastAPI can be.
  • Create API methods that handle common HTTP verbs (GET, POST, DELETE, etc)
  • Return JSON data to API clients
  • Use async and await to create truly scalable applications
  • Leverage Pydantic to create required and optional data exchange
  • Have FastAPI automatically validate and convert data types (e.g. "2021-01-05" to a datetime)
  • Organize your app using APIRoutes to properly factor your application across Python files.
  • Return the most appropriate error response (e.g. 400 Bad Request) to API clients
  • To deploy Python web applications in production-ready configurations on Linux
  • Understand why gunicorn and uvicorn should be used together in production
  • And lots more

View the full course outline.

Who is this course for?

This course is for anyone who wants to build an API with Python as the backend language. If you want your API to rival the speed and features of any major web API framework, this is the course to take.

The student requirements are quite light for this course. You'll need Basic Python language knowledge:

  • Functions
  • Strings
  • Variables
  • API clients (making a call with requests)

Note: All software used during this course, including editors, Python language, etc., are 100% free and open source. You won't have to buy anything to take the course.

Sound good?

If this sounds like a great course for you, take it over at talkpython.fm/fastapi.

More Repositories

1

python-for-absolute-beginners-course

Code samples and other handouts for our course.
Python
2,075
star
2

100daysofcode-with-python-course

Course materials and handouts for #100DaysOfCode in Python course
Jupyter Notebook
2,075
star
3

mastering-pycharm-course

Course demos and handouts for Talk Python's Effective PyCharm course
Python
989
star
4

100daysofweb-with-python-course

Demo code and resources for our 100 Days of Web in Python Course
JavaScript
628
star
5

data-driven-web-apps-with-flask

Course demo code and other hand-out materials for our data-driven web apps in Flask course
Python
514
star
6

async-techniques-python-course

Async Techniques and Examples in Python Course
Python
423
star
7

web-applications-with-fastapi-course

Demo code and other handouts for students of our FastAPI Web Apps course.
Python
292
star
8

htmx-python-course

Student details, source code, and more for our HTMX + Flask: Modern Python Web Apps, Hold the JavaScript course.
CSS
198
star
9

anvil-course

Course demo code and other hand-out materials for our Anvil: Web apps with nothing but Python course
Python
118
star
10

excel-to-python-course

Student materials and handouts for Excel to Python course
Jupyter Notebook
95
star
11

data-driven-web-apps-with-pyramid-and-sqlalchemy

Demos and handouts for Talk Python's Data-Driven Web Apps with Pyramid and SQLAlchemy course
Python
92
star
12

modern-python-projects-course

Modern Python Projects course materials and handouts
JavaScript
90
star
13

pragmatic-git-course

Up and Running with Git: A pragmatic, UI-based Approach Course Repo
Python
69
star
14

illustrated-python-3-course

Course materials and handouts for Python 3, an illustrated tour course
Python
63
star
15

eve-building-restful-mongodb-backed-apis-course

Course materials and handouts for EVE: Building RESTful MongoDB-backed APIs course
Python
61
star
16

python-data-visualization

Python Data Visualization course code and examples
Jupyter Notebook
43
star
17

twilio-and-sendgrid-python-course

Python-powered chat apps with Twilio and SendGrid course code, materials, and handouts.
Python
41
star
18

getting-started-with-pytest-course

Course materials and handouts for Getting started with pytest course
Python
38
star
19

python-memory-management-course

Demo code exploring Python's memory models and collection algorithms from the Talk Python Training course.
Python
37
star
20

htmx-django-course

Student details, source code, and more for our HTMX + Django: Modern Django Web Apps, Hold the JavaScript course.
CSS
31
star
21

vscode-python-course

Visual Studio Code for Python Developers course at Talk Python
Python
29
star
22

getting-started-with-django-course

Code and other materials for Talk Python's Getting started with Django course
Python
27
star
23

responder-webframework-minicourse

Course materials, demos, and hands-outs for our Responder web framework mini course
27
star
24

data-science-jumpstart-with-10-projects-course

Data Science Jumpstart with 10 Projects Course
26
star
25

static-sites-with-sphinx-and-markdown-course

Code and other materials from our Static Sites with Sphinx and Markdown course
JavaScript
25
star
26

python-for-dotnet-developers-course

Course demo code and other hand-out materials for our Python for .NET course
Jupyter Notebook
23
star
27

python-for-decision-makers-course

Demo code and other hand-out materials for our Python for Decision Makers and Business Leaders course
Jupyter Notebook
22
star
28

python-311-code-tour

Student materials and handouts for our Python 3.11: A Guided Tour Through Code course
Python
22
star
29

adding-a-cms-to-your-web-app-course

Course demo code and other hand-out materials for our Adding a CMS course
Python
17
star
30

fastapi-and-the-microsoft-identity-platform-course

Secure APIs with FastAPI and the Microsoft Identity Platform Course
Python
15
star
31

python-design-patterns-course

12
star
32

fastapi-mongodb-and-beanie-live-course

11
star
33

installing-python

The github repo for our installing Python page at Talk Python Training.
10
star
34

fast-python-webapps-with-cdns

Code and demos from our "Faster Python Web Apps with CDNs" course.
JavaScript
3
star