Developing APIs with Python and FastAPI Training Course

Overview

FastAPI is an open source, high-performance web framework for building APIs with Python. It is used by many large companies, such as Uber, Netflix, and Microsoft.

This instructor-led, live training (online or onsite) is aimed at developers who wish to use FastAPI with Python to build, test, and deploy RESTful APIs easier and faster.

By the end of this training, participants will be able to:

  • Set up the necessary development environment to develop APIs with Python and FastAPI.
  • Create APIs quicker and easier using the FastAPI library.
  • Learn how to create data models and schemas based on Pydantic and OpenAPI.
  • Connect APIs to a database using SQLAlchemy.
  • Implement security and authentication in APIs using the FastAPI tools.
  • Build container images and deploy web APIs to a cloud server.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Requirements

  • An understanding of API concepts
  • Python programming experience

Audience

  • Developers

Course Outline

Introduction

  • FastAPI vs Django vs Flask
  • Overview of FastAPI features and advantages

Getting Started

  • Installing FastAPI
  • Defining a schema using OpenAPI

Path and Query Parameters

  • Declaring path parameter types
  • Parsing and validating data
  • Declaring required and optional parameters
  • Converting query parameter types
  • Multiple path and query parameters

Declaring a Request Body with Pydantic Models

  • Creating a data model
  • Combining path, query, and body parameters
  • Declaring validations and metadata
  • Using deeply nested models
  • Defining example data
  • Response and extra models

Defining Forms and Files

  • Using form fields instead of JSON
  • Creating file parameters
  • Using file and form parameters

Handling Errors

  • Using HTTPException
  • Adding custom headers
  • Installing custom exception handlers
  • Overriding default exception handlers

Working with Databases

  • ORMs and file structure
  • Creating SQLAlchemy parts
  • Creating database models
  • Creating Pydantic models
  • Performing CRUD operations
  • Creating tables, dependency, and path operations
  • Reviewing and checking files
  • Interacting with the database

Security and Authentication

  • Using Oauth2 and OpenID connect
  • Defining multiple security schemes with OpenAPI
  • Using the FastAPI utilities

Deployments

  • Deployment concepts, stages, and tools
  • Working with Gunicorn and Uvicorn
  • Using container systems (Docker and Kubernetes)

Troubleshooting

Summary and Next Steps

Leave a Reply

Your email address will not be published. Required fields are marked *