Good programming language frameworks make it easy to produce quality products faster. Great frameworks even make the whole development experience enjoyable. FastAPI is a modern, fast (high-performance), a web framework for building APIs with Python. It is easy to learn, fast to code, and production-ready. The most exciting feature of FastAPI is that it supports asynchronous code out of the box using the async/await Python keywords. Testing FastAPI endpoints are really straightforward and can be done using TestClient provided by FastAPI. This makes Test Driven Development(TDD) very easy. It us also easy to deploy your Fast API application and APIs.
FastAPI is a Python web framework that has been built from the ground up to make use of modern Python features. It uses the ASGI standard for asynchronous, concurrent connectivity with clients, and it can work with WSGI if needed. Async functions can be used for routes and endpoints. And FastAPI allows web applications to be written efficiently in clean, modern Python code with type hints.
The following features make FastAPI worth trying:
- Speed: FastAPI is one of the fastest Python web frameworks. In fact, its speed is at par with Node.js and Go. Check these performance tests.
- Detailed and easy-to-use developer docs
- Type hint your code and get free data validation and conversion.
- Create plugins easily using dependency injection.
Docker is an open source platform for building, deploying, and managing containerized applications. It enables developers to package applications into containers—standardized executable components combining application source code with the operating system (OS) libraries and dependencies required to run that code in any environment. Containers simplify delivery of distributed applications, and have become increasingly popular as organizations shift to cloud-native development and hybrid multicloud environments.
Developers can create containers without Docker, but the platform makes it easier, simpler, and safer to build, deploy and manage containers. Docker is essentially a toolkit that enables developers to build, deploy, run, update, and stop containers using simple commands and work-saving automation through a single API.
Major Technologies & Tools:
- Python 3.6+
- Fast API
- Docker
- Postman
More tools:
-
Git and GitHub — Source code management (Version Control System)
-
Selenium — Automation testing
-
Docker — Software Containerization Platform
-
Kubernetes — Container Orchestration tool
-
Ansible — Configuration Management and Deployment
-
Terraform - An open-source infrastructure as code software tool that provides a consistent CLI workflow to manage hundreds of cloud services. Terraform codifies cloud APIs into declarative configuration files.
Day 1: Introduction to Python, Git and Github
What you are expected to learn on Day 1:
- Introduction to Python for Web Development
- Learn how to create a “repository” (project) with a git hosting tool (like GitHub or Bitbucket)
- Learn how to copy/clone the repository to your local machine
- Learn how to add a file to your local repo and “commit” (save) the changes
- Learn how to “Push” your changes to your master branch
- Learn how to make a change to your file with a git hosting tool and commit
- Learn how to “Pull” the changes to your local machine
- Learn how to create a “branch” (version), make a change, commit the change
- Learn how to open a “pull request”.
- Learn how to “Merge” your branch to the master branch
Day 2: Introduction to Fast API
What you are expected to learn on Day 2 ( Virtual Class ) :