Comparison

Protean and the alternatives

Serious frameworks for domain-driven, CQRS, and event-sourced systems have existed for years, in other languages. Java has Axon. .NET has Marten, Eventuous, and Wolverine. PHP has Ecotone. Python has had no equivalent, and that gap is the one Protean fills.

ProteanPythonAxonJavaMarten.NETEventuous.NETEcotonePHP
Domain model as data (IR) YesNoNoNoNo
Always-valid invariants Automatic, four layersManualManualManualManual
Progressive DDD to CQRS to ES Full, additiveCQRS and ES firstDocument and ESES-focusedCQRS and ES
Built-in async server Yes, open sourceCommercial (Axon Server)NoNoPartial
Startup validation ComprehensivePartialMinimalMinimalMinimal
Commercial dependency for core NoneAxon ServerNoneNoneNone

What Protean does differently

Read the whitepaper → Get started