Use Code TRYNOW15 for a One-Time, Extra 15% OFF at KodeKloud
Python

Python API Development with FastAPI

Master Python API development with FastAPI, SQL integration, testing, and cloud deployment in 19+ hours. Build robust APIs, automate testing, and deploy seamlessly with CI/CD pipelines. Everything you need to become a pro API developer.
Sanjeev Thiyagarajan
Training Architect & Instructional Lead at KodeKloud
DevOps Pre-Requisite Course
Play Button
Fill this form to get a notification when course is released.
book
10
Lessons
book
Challenges
Article icon
136
Topics

What you’ll learn

Our students work at..

Description

Dive into the world of Python API development with this extensive course that goes far beyond the basics. Over 19 hours of in-depth content, you'll build a fully-featured API using FastAPI, a powerful and modern framework optimized for building APIs. This course isn't just about coding an API; it's about mastering the entire ecosystem surrounding it.

Key Features of the Course:

  • Build a Robust API:
    You'll start by building a robust API with essential features like authentication, CRUD operations, and schema validation, and you'll learn how to set up thorough documentation effortlessly.
  • Master SQL:
    The course then takes a deep dive into SQL, covering everything from the fundamentals to advanced concepts like:
    • Primary keys
    • Foreign keys
    • Table constraints
      Ensuring you become proficient in SQL database management.
  • Integrating SQL Databases:
    Explore different methods of integrating SQL databases with your API using both:
    • Raw SQL queries
    • Object-Relational Mapping (ORM)
      You'll also get hands-on experience with database migration tools like Alembic and learn to track database schema changes just like you would with your Python code.

Focus on Testing

Testing is a critical part of development, and this course dedicates several hours to automated integration testing. You’ll set up automated tests to ensure your code changes don’t break any existing functionality, streamlining your development process.

Deployment Mastery

When it comes to deployment, you’ll learn how to deploy your API on various platforms, including cloud services like:

  • AWS
  • GCP
  • Azure
  • Heroku

You'll also discover how to set up Docker containers for your API and build a CI/CD pipeline using GitHub Actions, allowing for seamless, automated deployments.

What You’ll Achieve:

By the end of this course, you’ll not only have built a sophisticated API but also acquired the tools and knowledge to deploy, test, and manage your API in a professional setting. Whether you're new to API development or looking to deepen your skills, this course has everything you need to become a proficient Python API developer.

Read More

What our students say

About the instructor

Sanjeev Thiyagarajan, a Training Architect and Instructional Lead at KodeKloud, is known for his expertise in networking, troubleshooting, and network administration. 

Sanjeev worked at Cisco Systems, he excelled as a Customer Support Engineer, coordinating interdisciplinary teams for IWAN solutions and leading deployments of Multi-Fabric VXLAN/EVPN across Data Centers. His knowledge of core networking protocols and ability to troubleshoot complex network issues are well-regarded in the industry.

Sanjeev also spent a significant tenure as a Proof Of Concept/Pre-Sales Engineer at Arista Networks where he specialized in designing scalable multi/hybrid cloud proof of concepts.

His certifications, including PCA: Prometheus Certified Associate, complement his hands-on experience in various platforms like Cisco IOS, NxOS, IOS-XR, and Arista EOS.

Sanjeev's popularity stems from his ability to translate complex technical concepts into accessible learning materials, making him a respected figure in the technical training community. His work at KodeKloud continues to impact professionals seeking to enhance their skills in the rapidly evolving tech landscape.

No items found.

Introduction

lock
lock
3
Topics
Lesson Content

Module Content

Introduction
The app that we will be building
Join Our Community

Python Setup

lock
lock
5
Topics
Lesson Content

Module Content

Mac Install Vscode Setup
Windows Setup
Venv Basics
Windows Venv
Venv Mac

FastAPI Basics

lock
lock
15
Topics
Lesson Content

Module Content

Initialize Fastapi Projects
Path Operations
Setting Up Postman
Post Requests
Schema Validation Pydantic
Crud Basics Best Practices
Create Posts
Postman Saving Posts Collections
Get One Post By Id
Path Order Matters
Change Status Codes
Deleting Posts
Updating Posts
Auto Docs
Adding Src Directory

Working with Databases

lock
lock
15
Topics
Lesson Content

Module Content

Database Intro
Database Windows Install
Database Mac
Database Schema And Tables
Pgadmin Ui
First Sql Query
Filter With Where
Sql Operators
Sql In Operator
Sql Pattern Matching Like Keyword
Sql Ordering Results
Limit Offset
Inserting Data
Deleting Data
Updating Data

Databases with Python

lock
lock
15
Topics
Lesson Content

Module Content

Setup App Database
Connect To Database Python
Sql Retrieve Posts
Create Posts Sql
Fetch Post By Id Sql
Delete Posts Sql
Update Posts
Orm Intro
Sqlalchemy Setup
Sqlalchemy Created At Table
Sqlalchemy Get All Posts
Create Post Sqlalchemy
Get Post By Id Sqlalchemy
Sqlalchemy Delete Posts
Sqlalchemy Update Posts

Advanced FastAPI

lock
lock
36
Topics
Lesson Content

Module Content

Pydantic Sqlalchemy Models
Pydantic Models Deep Dive
Pydantic Response Model
Creating User Table
User Registration Path Operation
Hashing User Password
Get User By Id
Fastapi Routers
Router Prefix And Tags
Jwt Token Basics
Login Process Flow
Creating A Token
OAuth2 Password Request Form
Verify User Is Logged In
Protecting Routes
Testing Expired Token
Fetching User In Protected Route
Advanced Postman Features
Sql Relationship Basics
Postgres Foreign Keys Configuring
Sqlalchemy Foreign Keys
Update Post Schema To Include User
Assigning Owner Id When Creating New Post
Delete Update Only Your Own Posts
Retrieve Only Your Own Posts
Sqlalchemy Relationships
Query Parameters
Cleanup Main Py File
Environment Variables
Vote Like Theory
Creating Votes Table Pgadmin
Votes With Sqlalchemy
Votes Route
Sql Joins
Joins Sqlalchemy
Get One Post Join

Database Migration

lock
lock
5
Topics
Lesson Content

Module Content

What Is Db Migration Tool
Alembic Setup
First Revision
Rollback Alembic
Alembic Finish Rest Of Schema

Deployment

lock
lock
5
Topics
Lesson Content

Module Content

What Is CORS
Setup Git
Deploy Heroku
Deploy Ubuntu VM
Docker

Testing

lock
lock
28
Topics
Lesson Content

Module Content

Testing Intro
Writing First Test
Testing Flags
Testing More Functions
Parametrize
Testing Classes
Fixtures
Testing Exceptions
Fastapi Testclient
Pytest Flags
Create User Test
Setup Test Database
Create Destroy Database After Each Test
Setup Test Database With Fixtures
Trailing Slashes In Path
Fixture Scope
Test User Fixture
Validate Token
Conftest Py File
Failed Login Test
Get All Posts Test
Posts Fixture Create Test Posts
Unauthorized Get Posts
Get One Post Test
Test Create Post
Delete Post
Update Post Test
Test Voting

CI/CD

lock
lock
9
Topics
Lesson Content

Module Content

CI-CD Basics
Configuring First CI-CD Pipeline
Configuring Python in Pipeline
Environment Variables
GitHub Actions Secrets
Adding PostgreSQL Database
Building Docker Images
Implementing Continuous Delivery
Python API Outro
Play Button
Fill this form to get a notification when course is released.
This course comes with hands-on cloud labs
book
10
Modules
book
Lessons
Article icon
136
Lessons
check mark
Course Certificate
Videos icon
19.00
Hours of Video
laptop
Hours of Labs
Story Format
Videos icon
Videos
Case Studies
ondemand_video icon
Demo
laptop
Labs
laptop
Cloud Labs
checklist
Mock exams
Quizzes
slack icon
Slack channel support
people icon
Community support
language icon
English
Closed Captions