Metadata-Version: 2.4
Name: bestagon
Version: 0.8.0
Summary: Framework for event-sourcing with Python (DDD + ES + CQRS)
Keywords: DDD,Domain Driven Design,Event Sourcing,CQRS,Hexagonal Architecture,Microservices,Ports and Adapters,Event Driven Architecture,Aggregate
Author: Aleksandr Antonov
Author-email: Aleksandr Antonov <antonov.o779@gmail.com>
License-Expression: BSD-3-Clause
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: AsyncIO
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Dist: pydantic>=2.13.4
Requires-Dist: aiosqlite>=0.22.1 ; extra == 'aiosqlite'
Requires-Dist: bestagon[aiosqlite,fastapi,kafka,kurrentdb,neo4j] ; extra == 'all'
Requires-Dist: kurrentdbclient>=1.3.3 ; extra == 'kurrentdb'
Requires-Dist: neo4j>=6.2.0 ; extra == 'neo4j'
Requires-Python: >=3.10
Project-URL: Homepage, https://github.com/rndmBot/bestagon
Project-URL: Documentation, https://bestagon.readthedocs.io/en/latest/
Project-URL: Issues, https://github.com/rndmBot/bestagon/issues
Provides-Extra: aiosqlite
Provides-Extra: all
Provides-Extra: fastapi
Provides-Extra: kafka
Provides-Extra: kurrentdb
Provides-Extra: neo4j
Description-Content-Type: text/markdown

# Event Sourcing in Python with Bestagon

Bestagon is an asynchronous framework for rapid development of event-sourced applications.
It follows the principles of DDD + ES + CQRS and provides necessary building blocks for development of an event sourced system:
- Event sourced Aggregate.
- Event-sourced repository to store and retreive aggregates.
- Event Store and its implementation using KurrentDB.
- Event-sourced Application for use cases.
- Projection to implement views using CQRS pattern.

The framework is event-store agnostic, it contains abstract classes that can be iplemented with required 
technology.

The documentation is hosted on readthedocs - https://bestagon.readthedocs.io/en/latest/

## Installation
```bash
pip install bestagon
```
