Course Overview
This course provides a comprehensive guide to building and interacting with APIs using Python, equipping participants with the skills needed to create, manage, and deploy RESTful APIs effectively. The curriculum focuses on modern frameworks, secure design principles, and the full lifecycle of API deployment. Labs on core Python fundamentals are included for those who need it, and advanced topics are included for those who don’t.
Who should attend
- Backend Developers
- Software Engineers
- Full-Stack Developers
- Data Scientists/Analysts
- DevOps Engineers/Automation Specialists
- Technical Leads or Product Managers
Prerequisites
- Recommended Prerequisite: Python Basics
- Coding experience in another language serves as an adequate prerequisite
Course Objectives
- Apply foundational Python concepts directly to API development.
- Design and build secure, database-backed APIs using modern Python frameworks.
- Implement user authentication and protect API routes.
- Containerize applications for consistent, repeatable deployments.
- Integrate API development into an automated CI/CD workflow.
Outline: Building APIs with Python Fast Track (PY201FT)
Python Fundamentals for APIs
- Lecture: Practical Application of Lists
- Lecture + Lab: Lists
- Lecture: Practical Application of Dict
- Lecture + Lab: Dictionaries
- Challenge: List and Dict Modeling
- Lecture + Lab: Your First API Request
- Lecture: Control Flow and Functions (NEW-LECTURE)
- Lecture + Lab: Modules, Libraries, and Exception Handling
Consuming APIs
- Lecture: Python Data sets vs JSON
- Lecture + Lab: Python Data to JSON file
- Lecture + Lab: requests library - RESTful GET and JSON parsing
- Lecture + Lab: requests library - Open APIs
- Lecture + Lab: requests library - GET vs POST to REST APIs
- Lecture + Lab: Secure API Requests with the requests library
Building RESTful APIs
- Lecture: Intro to Flask
- Lecture + Lab: Building APIs with Python
- Lecture: Learning sqlite3
- Lecture + Lab: Tracking API Data with sqlite3
- Lecture + Lab: Tracking Inventory with sqlite3
Securing and Managing APIs
- Lecture + Lab: APIs and Dev Keys
- Lecture + Lab: RESTful APIs and Dev Keys
- Lecture + Lab: Flask Sessions
- Lecture + Lab: Flask Uploading and Downloading Files
- Lecture + Lab: Securing Your API
Production Readiness
- Lecture + Lab: Running Flask in a Docker Container
- Lecture + Lab: Flask and waitress
- Lecture + Lab: Automating Deployment with CI/CD
Advanced and Optional Topics
- Lecture + Lab: Introduction to FastAPI
- Lecture + Lab: Asynchronous API Requests with asyncio
- Lecture + Lab: Using Swagger for API Documentation
- Lecture + Lab: Using Jinja2 for Dynamic Content