# Welcome to Kurier

**Kurier** is a unified messaging abstraction layer for Python (3.10+), designed to simplify interactions with multiple message brokers. It provides a consistent, asyncio-native API for publishing and consuming messages across various transports.

Inspired by .NET's MassTransit, Kurier brings robust, type-safe, and easy-to-configure messaging to the Python ecosystem.

## Table of Contents

- [Our Vision](#our-vision)
- [Documentation Map](#documentation-map)
- [Supported Transports](#supported-transports)

---

## Our Vision

We believe that developers shouldn't have to learn the intricacies of every message broker's SDK. Whether you're using **RabbitMQ**, **Apache Kafka**, or **Azure Service Bus**, your business logic should look the same. 

Kurier acts as the "Standard Gauge" for your distributed systems, ensuring that your messages (Passengers) can travel across any track (Line) to their destination (Station).

## Documentation Map

### Getting Started
*   [**Quick Start**](Quick-Start.md): The "5-minute" guide to your first message.
*   [**Configuration Guide**](Configuration-Guide.md): Setting up your environment and transports.

### Deep Dives
*   [**Core Architecture**](Core-Architecture.md): Understand the Line -> Passenger -> Station lifecycle.
*   [**Message Routing**](Message-Routing.md): How messages find their handlers.
*   [**Transports Deep Dive**](Transports-Deep-Dive.md): Details on Kafka, RabbitMQ, and Azure support.

### Advanced Topics
*   [**Serialization & CloudEvents**](Serialization-and-CloudEvents.md): Using Pydantic, Dataclasses, and standards.
*   [**Observability with Hermes**](Observability-Hermes.md): Tracing, logging, and correlation.
*   [**Extending Kurier**](Extending-Kurier.md): How to build your own custom transport.

---

## Supported Transports

| Transport | Extra Requirement | Status |
| :--- | :--- | :--- |
| **In-Memory** | Built-in | ✅ Production Ready |
| **RabbitMQ** | `kurier-py[rabbitmq]` | ✅ Production Ready |
| **Apache Kafka** | `kurier-py[kafka]` | ✅ Production Ready |
| **Azure Service Bus** | `kurier-py[azure]` | ✅ Production Ready |
