Course Code:
bpfapi
Duration:
21 hours
Course Outline:
- Microservices vs. Monolithic Apps
- Functionality overview FastAPI:
- Code structure
- How to create an app?
- Dependency injection
- Synchronous and asynchronous processing
- Introduction
- Using external libraries
- Building data models using pydantic , including:
- Validations
- Metadata
- Nested models
- Query handling - sending:
- Data in JSON format
- Files
- Response handling:
- JSON
- Streaming
- Custom response codes
- Request authentication:
- Basic auth
- JWT
- Integration with SQLALchemy:
- Transaction handling
- Model building, validation, hybrid models
- Best practices for working with SQLAlchemy
- Background tasks:
- Background Tasks FastAPI
- Celery Integration:
- Backend selection
- Configuration
- Weaknesses / strengths of individual solutions
- Building an application using FastAPI + celery + redis as a broker
- FastAPI and machine learning models:
- Best Practices for Exposing Your Model with FastAPI
- Use of cookiecutter
- Application testing
- Testing and asynchrony
- Introducing the pytest tool
- Mocking and patching
- Measuring code coverage with tests
- Integrating pytest with CI/CD environment
- Using testcontainers to perform functional testing
- Working on the project
- Summary