{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/21"}],"enrichment":{"capability":"Eventsourcing is a Python library for implementing event sourcing, a design pattern where all application state changes are stored as a sequence of immutable events that can be replayed to reconstruct state.","skillfed_tags":["event-sourcing","domain-driven-design","cqrs"],"use_cases":["Build audit-trail systems where every state change must be recorded and replayed for compliance or debugging","Implement CQRS architectures with separate read and write models using notifications and projections","Create domain-driven applications with strong consistency boundaries and event-based communication between aggregates","Develop distributed systems where event logs serve as the source of truth for replication across nodes","Encrypt sensitive domain events at the application level to meet GDPR or similar data protection requirements"],"what_it_does":"Eventsourcing provides a framework for building applications where every state change is recorded as an immutable event. Rather than storing current state directly, you define domain aggregates (like a Dog class) decorated with @event methods, then use an Application class to manage persistence and retrieval. The library handles event storage, replay, snapshotting, versioning, and optional encryption\u2014supporting multiple backends (in-memory, SQLite, and external databases) configured through environment variables.\n\nThe core workflow is: define domain models with event decorators, create an application class that orchestrates saves and queries, then run your code against any configured persistence layer. Built-in features include optimistic concurrency control, compression, application-level encryption for PII compliance, and notification-based projections for CQRS patterns. It requires Python 3.10+ and depends only on typing_extensions.","worth_installing":"Yes. Eventsourcing is a mature, actively maintained library (stable since 2015, production-ready) with low install friction, no security vulnerabilities, and a permissive license. It's the right choice if you need event sourcing as a core pattern; if you're unsure whether event sourcing fits your problem, evaluate that architectural decision first before installing."},"id":"eventsourcing","links":{"html":"https://skillfed.io/packages/eventsourcing","md":"https://skillfed.io/packages/eventsourcing.md","pypi":"https://pypi.org/project/eventsourcing/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-03-27","license_spdx":null,"license_treatment":"permissive","name":"eventsourcing","python_support":"supports_current","summary":"Event sourcing in Python"},"popularity":{"monthly_downloads":91476,"position":13515,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"9.5.4"}
