python-clean-architecture is a Python library aiming to equip you with a set of patterns to come closer to The Clean Architecture and a toolbox of adapters for integration with popular frameworks. Using them can make your code more focused on the knowledge you are trying to embody with your application and separation from technical details. A nice side-effects of this approach is an ease of plugging your application to a different variants of your infrastructure and lightweight testing the key fragments of your codebase.
The library is still in a planning phase, so expect much refactorization and many changes to its API (Stage 2 - Pre-Alpha Status).
- Clean design patterns of application by Robert "Uncle Bob" Martin (Architecture the Lost Years)
- Domain Driven Development by Eric Evans & Martin Fowler
- Data-level logic: data description objects, schemas, serialization, predicates, formulae.
- Domain-specific logic: bounded contexts (aka domains), entities, value objects, aggregates, repositories, policies, factories, domain services.
- Application-specific logic: use-cases, application services, gateways, CQRS stacks, sagas. Task-, event- and data-driven applications, commands.
One of the main goal of this library is to provide integration with adequate integrations:
- TinyDb as DAO
- more to come soon...