This package provides DDD and Hexagonal Architecture building blocks for Python applications.
- Getting started — Step-by-step guide: install, define a domain model, handle commands, wire buses.
- Component reference — Every abstract class, protocol, and infrastructure component.
- Coding standards — Conventions aligned with DDD and Clean Architecture, with do/don't guidelines.
- Architecture — Service building blocks: API, database, subscriber, publisher, worker, outbox, observability.
- Best practices — Design rules for domain components, application layer contracts, and event/task selection.
A full, self-contained example that exercises all building blocks lives in the test suite:
- examples/bank_account/ — Domain (aggregate root, value objects, domain events, repository interface, errors). Use it as a reference when building a new bounded context.
- Domain layer — Entity, AggregateRoot, ValueObject, DomainEvent, Repository, UnitOfWork, Errors.
- Application layer — Commands, Queries, Result, Domain Events.
- Infrastructure layer — Bus implementations, decorators, builders.