Building Event-Driven Python service using FastStream and AsyncAPI

abhinand-c


19

Votes

Description:

Abstract

In this talk, we dive into the world of Event Driven Architecture and Message Streaming, using Python and FastStream.

You'll learn to integrate FastStream, a Python framework, into your projects and leverage AsyncAPI to define contracts for asynchronous communication and event streaming. You'll explore how multiple micro-services can interact across clusters spanning multiple regions. Through practical examples and insights, you'll discover the art of building scalable, responsive Python applications that thrive in real-time environments.

FastStream is a powerful and easy-to-use Python framework for building asynchronous services interacting with event streams such as Apache Kafka, RabbitMQ, NATS and Redis. FastStream simplifies the process of writing producers and consumers for message queues, handling all the parsing, networking and documentation generation automatically. FastStream provides unified API across multiple brokers, built-in Pydantic validations, automatic AsyncAPI documentation, FastAPI like Dependency Injection System, built-in support for test and extensions.

AsyncAPI is an open standard/specification and growing set of open-source tools to help developers define, build, and maintain asynchronous APIs and Event-Driven Architectures. It describes message-driven APIs in a machine-readable format, and is protocol-agnostic.

Outline

In this session, we'll delve into:
- Understanding Event-Driven Architecture, Stream Processing & AsyncAPI spec
- How Python comes into play and Landscape of EDA in Python
- Introduction to Python FastStream: A Unified API catering to Multiple Brokers
- Seamless Integration with Pydantic and FastAPI
- FastStream AsyncAPI Docs, Pydantic validation, Dependency Injection
- Interfacing FastStream with NATS Jetstream, Apache Kafka, RabbitMQ
- A quick code demonstration of developing and interacting with a simple Application
- Incorporating Testing, Debuggind and Observability

Speaker Info:

Abhinand C is a Product Engineer at Strollby, UST who loves to experiment with tech and build products for crafting a brighter future. At UST, he works on developing and scaling GraphQL-based Python micro-services. Beyond the office, Abhinand actively volunteers with Kerala Police Cyberdome & Trivandrum Python Community. He also nurtures personal hobby projects, and contributes to the open-source community. He had the privilege of delivering talks at renowned conferences like EuroPython, PyCon India, PyCon Thailand, PyConf Hyderabad.

Speaker Links:

Profile
LinkedIn
GitHub

Past Conferences
PyCon Thailand 2023
PyCon India 2023
EuroPython 2023

Section: Python in Web and Applications
Type: Talk
Target Audience: Beginner
Last Updated: