Libraries

The Eventide toolkit is made of the following libraries:

Top Level Libraries

eventide-postgres

Event-Oriented Autonomous Services Toolkit for Postgres
github.com/eventide-project/eventide-postgresopen in new window

Core Libraries

message-db

Microservice native event store and message store for Postgres github.com/message-db/message-dbopen in new window

messaging

Common primitives for platform-specific messaging implementations
github.com/eventide-project/messagingopen in new window

message_store

Common primitives for platform-specific message store implementations
github.com/eventide-project/message-storeopen in new window

entity_projection

Projects event data into an entity
github.com/eventide-project/entity-projectionopen in new window

entity_store

Store of entities that are projected from streams
github.com/eventide-project/entity-storeopen in new window

entity_cache

Cache of entities retrieved by an entity-store, with in-memory temporary and on-disk permanent storage options
github.com/eventide-project/entity-cacheopen in new window

consumer

Maintains a long running subscription to an event stream
github.com/eventide-project/consumeropen in new window

component_host

Host components inside a single physical process
github.com/eventide-project/component-hostopen in new window

Postgres Libraries

messaging-postgres

Implementation of messaging primitives for Postgres
github.com/eventide-project/messaging-postgresopen in new window

message_store-postgres

Message store implementation for Postgres
github.com/eventide-project/message-store-postgresopen in new window

entity_snapshot-postgres

Projected entity snapshotting for Postgres
github.com/eventide-project/entity-snapshot-postgresopen in new window

consumer-postgres

Consumer implementation for Postgres
github.com/eventide-project/consumer-postgresopen in new window

Code Generators

command_line-component_generator

Command line project generator for components built using the Postgres implementation
github.com/eventide-project/command-line-component-generatoropen in new window

Utility Libraries

attribute

Define an attribute on a class using an imperative API
github.com/eventide-project/attributeopen in new window

schema

Primitives for schema and structure
github.com/eventide-project/schemaopen in new window

dependency

Declare dependencies that have null object or substitute default values
github.com/eventide-project/dependencyopen in new window

diagnostics-sample

Sampling and measurement of execution cycles https://github.com/eventide-project/diagnostics-sampleopen in new window

identifier-uuid

UUID identifier generator with support for dependency configuration for real and null object implementations
github.com/eventide-project/identifier-uuidopen in new window

initializer

Generates initializers and attributes
github.com/eventide-project/initializeropen in new window

settings

Settings data access and assignment
github.com/eventide-project/settingsopen in new window

log

Logging to STD IO with levels, tagging, and coloring
github.com/eventide-project/logopen in new window

transform

Common interface for object and format transformation, and transformer discovery
github.com/eventide-project/transformopen in new window

telemetry

In-process telemetry based on observers
github.com/eventide-project/telemetryopen in new window

try

Attempt an execution, and determine its success
github.com/eventide-project/tryopen in new window

retry

Retry an execution that terminates with an error, with optional backoff cycles
github.com/eventide-project/retryopen in new window

poll

Generalized implementation of polling with support for timeout and polling interval.
github.com/eventide-project/pollopen in new window

casing

Convert the case of strings, symbols, and hash keys, including camelCase, PascalCase, and underscore_case
github.com/eventide-project/casingopen in new window

validate

Interface and protocol for validating and validation discovery
github.com/eventide-project/validateopen in new window

set_attributes

Set an object's attributes from a hash or an object that implements to_h
github.com/eventide-project/set-attributesopen in new window

clock

Clock interface with support for dependency configuration for real and null object implementations
github.com/eventide-project/clockopen in new window

subst_attr

Declare attributes that have default implementations that are substitutes or null objects
github.com/eventide-project/subst-attropen in new window

mimic

Copy a class's instance interface to an anonymous, new object that acts as a substitutable mimic for the class
github.com/eventide-project/mimicopen in new window

invocation

Extract information about a method's invocation including the method name, parameter names, and parameter values
github.com/eventide-project/invocationopen in new window

virtual

Virtual method declaration
github.com/eventide-project/virtualopen in new window

reflect

Reflection of inner namespaces used for protocol discovery
github.com/eventide-project/reflectopen in new window

async_invocation

Return value for async method that is accidentally invoked synchronously
github.com/eventide-project/async-invocationopen in new window

configure

Generates class level configure methods
github.com/eventide-project/configureopen in new window

collection

Type-checked set
github.com/eventide-project/collectionopen in new window

Test Fixture Libraries

messaging-fixtures

TestBench fixtures for the Messaging library
https://github.com/eventide-project/messaging-fixturesopen in new window

entity-projection-fixtures

TestBench fixtures for EntityProjection implementations
https://github.com/eventide-project/entity-projection-fixturesopen in new window

schema-fixtures

TestBench fixtures for the Schema library
https://github.com/eventide-project/schema-fixturesopen in new window

View Data Libraries

view_data-commands

Message schemas for data-oriented command streams used to populate view databases
github.com/eventide-project/view-data-commandsopen in new window

view_data-pg

Populate Postgres view databases from event streams
github.com/eventide-project/view-data-pgopen in new window

Third Party Libraries

pg

Ruby interface to the PostgreSQL RDBMS
github.com/ged/ruby-pgopen in new window

ntl-actor

Implementation of actor pattern for Ruby
github.com/ntl/actoropen in new window

terminal_colors

Apply ANSI terminal colors to strings
github.com/ntl/terminal-colorsopen in new window

test_bench

A frugal test framework for Ruby
github.com/test-bench/test-benchopen in new window

NPM Packages

message-db

Microservice native event store and message store for Postgres https://github.com/message-db/npm-moduleopen in new window

Last Updated:
Contributors: Scott Bellware, Ashley Michal Lewis