Skip to content

Latest commit

 

History

History
461 lines (310 loc) · 8.73 KB

modules.rst

File metadata and controls

461 lines (310 loc) · 8.73 KB

Module docs

This document describes the packages, modules, classes, functions and other code details of the library.

  • genindex
  • modindex

eventsourcing

The eventsourcing package contains packages for the application layer, the domain layer, the infrastructure layer, and the interface layer. There is also a module for exceptions, an example package, and a utils package.

application

The application layer brings together the domain and infrastructure layers.

base

eventsourcing.application.base

policies

eventsourcing.application.policies

simple

eventsourcing.application.simple

domain.model

The domain layer contains a domain model, and optionally services that work across different entities or aggregates.

The domain model package contains classes and functions that can help develop an event sourced domain model.

eventsourcing.domain.model.aggregate

array

A kind of collection, indexed by integer. Doesn't need to replay all events to exist.

eventsourcing.domain.model.array

collection

Decorators useful in domain models based on the classes in this library.

eventsourcing.domain.model.decorators

entity

Base classes for domain entities of different kinds.

eventsourcing.domain.model.entity

events

Base classes for domain events of different kinds.

eventsourcing.domain.model.events

snapshot

Snapshotting is implemented in the domain layer as an event.

eventsourcing.domain.model.snapshot

timebucketedlog

Time-bucketed logs allow a sequence of the items that is sequenced by timestamp to be split across a number of different database partitions, which avoids one partition becoming very large (and then unworkable).

eventsourcing.domain.model.timebucketedlog

infrastructure

The infrastructure layer adapts external devices in ways that are useful for the application, such as the way an event store encapsulates a database.

base

Abstract base classes for the infrastructure layer.

eventsourcing.infrastructure.base

cassandra

Classes for event sourcing with Apache Cassandra.

eventsourcing.infrastructure.cassandra.datastore

eventsourcing.infrastructure.cassandra.factory

eventsourcing.infrastructure.cassandra.manager

eventsourcing.infrastructure.cassandra.models

datastore

Base classes for concrete datastore classes.

eventsourcing.infrastructure.datastore

django

A Django application for event sourcing with the Django ORM.

eventsourcing.infrastructure.django.models

eventsourcing.infrastructure.django.manager

eventplayer

Base classes for event players of different kinds.

eventsourcing.infrastructure.eventplayer

eventsourcedrepository

Base classes for event sourced repositories (not abstract, can be used directly).

eventsourcing.infrastructure.eventsourcedrepository

eventstore

The event store provides the application-level interface to the event sourcing persistence mechanism.

eventsourcing.infrastructure.eventstore

integersequencegenerators

Different ways of generating sequences of integers.

eventsourcing.infrastructure.integersequencegenerators.base

eventsourcing.infrastructure.integersequencegenerators.redisincr

iterators

Different ways of getting sequenced items from a datastore.

eventsourcing.infrastructure.iterators

repositories

Repository base classes for entity classes defined in the library.

eventsourcing.infrastructure.repositories.array

eventsourcing.infrastructure.repositories.collection_repo

eventsourcing.infrastructure.repositories.timebucketedlog_repo

sequenceditem

The persistence model for storing events.

eventsourcing.infrastructure.sequenceditem

sequenceditemmapper

The sequenced item mapper maps sequenced items to application-level objects.

eventsourcing.infrastructure.sequenceditemmapper

snapshotting

Snapshotting avoids having to replay an entire sequence of events to obtain the current state of a projection.

eventsourcing.infrastructure.snapshotting

sqlalchemy

Classes for event sourcing with SQLAlchemy.

eventsourcing.infrastructure.sqlalchemy.datastore

eventsourcing.infrastructure.sqlalchemy.factory

eventsourcing.infrastructure.sqlalchemy.manager

eventsourcing.infrastructure.sqlalchemy.records

timebucketedlog_reader

Reader for timebucketed logs.

eventsourcing.infrastructure.timebucketedlog_reader

interface

The interface layer uses an application to service client requests.

notificationlog

Notification log is a pull-based mechanism for updating other applications.

eventsourcing.interface.notificationlog

utils

The utils package contains common functions that are used in more than one layer.

cipher

eventsourcing.utils.cipher.aes

time

eventsourcing.utils.times

topic

eventsourcing.utils.topic

transcoding

eventsourcing.utils.transcoding

exceptions

A few exception classes are defined by the library to indicate particular kinds of error.

eventsourcing.exceptions

example

A simple, unit-tested, event sourced application.

application

eventsourcing.example.application

domainmodel

eventsourcing.example.domainmodel

infrastructure

eventsourcing.example.infrastructure

interface

eventsourcing.example.interface.flaskapp