# 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-postgres
# Core Libraries
# message-db
Microservice native event store and message store for Postgres github.com/message-db/message-db
# messaging
Common primitives for platform-specific messaging implementations
github.com/eventide-project/messaging
# message_store
Common primitives for platform-specific message store implementations
github.com/eventide-project/message-store
# entity_projection
Projects event data into an entity
github.com/eventide-project/entity-projection
# entity_store
Store of entities that are projected from streams
github.com/eventide-project/entity-store
# 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-cache
# consumer
Maintains a long running subscription to an event stream
github.com/eventide-project/consumer
# component_host
Host components inside a single physical process
github.com/eventide-project/component-host
# Postgres Libraries
# messaging-postgres
Implementation of messaging primitives for Postgres
github.com/eventide-project/messaging-postgres
# message_store-postgres
Message store implementation for Postgres
github.com/eventide-project/message-store-postgres
# entity_snapshot-postgres
Projected entity snapshotting for Postgres
github.com/eventide-project/entity-snapshot-postgres
# consumer-postgres
Consumer implementation for Postgres
github.com/eventide-project/consumer-postgres
# Code Generators
# command_line-component_generator
Command line project generator for components built using the Postgres implementation
github.com/eventide-project/command-line-component-generator
# Utility Libraries
# attribute
Define an attribute on a class using an imperative API
github.com/eventide-project/attribute
# schema
Primitives for schema and structure
github.com/eventide-project/schema
# dependency
Declare dependencies that have null object or substitute default values
github.com/eventide-project/dependency
# diagnostics-sample
Sampling and measurement of execution cycles https://github.com/eventide-project/diagnostics-sample
# identifier-uuid
UUID identifier generator with support for dependency configuration for real and null object implementations
github.com/eventide-project/identifier-uuid
# initializer
Generates initializers and attributes
github.com/eventide-project/initializer
# settings
Settings data access and assignment
github.com/eventide-project/settings
# log
Logging to STD IO with levels, tagging, and coloring
github.com/eventide-project/log
# transform
Common interface for object and format transformation, and transformer discovery
github.com/eventide-project/transform
# telemetry
In-process telemetry based on observers
github.com/eventide-project/telemetry
# try
Attempt an execution, and determine its success
github.com/eventide-project/try
# retry
Retry an execution that terminates with an error, with optional backoff cycles
github.com/eventide-project/retry
# poll
Generalized implementation of polling with support for timeout and polling interval.
github.com/eventide-project/poll
# casing
Convert the case of strings, symbols, and hash keys, including camelCase, PascalCase, and underscore_case
github.com/eventide-project/casing
# validate
Interface and protocol for validating and validation discovery
github.com/eventide-project/validate
# set_attributes
Set an object's attributes from a hash or an object that implements to_h
github.com/eventide-project/set-attributes
# clock
Clock interface with support for dependency configuration for real and null object implementations
github.com/eventide-project/clock
# subst_attr
Declare attributes that have default implementations that are substitutes or null objects
github.com/eventide-project/subst-attr
# 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/mimic
# invocation
Extract information about a method's invocation including the method name, parameter names, and parameter values
github.com/eventide-project/invocation
# virtual
Virtual method declaration
github.com/eventide-project/virtual
# reflect
Reflection of inner namespaces used for protocol discovery
github.com/eventide-project/reflect
# async_invocation
Return value for async method that is accidentally invoked synchronously
github.com/eventide-project/async-invocation
# configure
Generates class level configure methods
github.com/eventide-project/configure
# collection
Type-checked set
github.com/eventide-project/collection
# Test Fixture Libraries
# messaging-fixtures
TestBench fixtures for the Messaging library
https://github.com/eventide-project/messaging-fixtures
# entity-projection-fixtures
TestBench fixtures for EntityProjection implementations
https://github.com/eventide-project/entity-projection-fixtures
# schema-fixtures
TestBench fixtures for the Schema library
https://github.com/eventide-project/schema-fixtures
# View Data Libraries
# view_data-commands
Message schemas for data-oriented command streams used to populate view databases
github.com/eventide-project/view-data-commands
# view_data-pg
Populate Postgres view databases from event streams
github.com/eventide-project/view-data-pg
# Third Party Libraries
# pg
Ruby interface to the PostgreSQL RDBMS
github.com/ged/ruby-pg
# ntl-actor
Implementation of actor pattern for Ruby
github.com/ntl/actor
# terminal_colors
Apply ANSI terminal colors to strings
github.com/ntl/terminal-colors
# test_bench
A frugal test framework for Ruby
github.com/test-bench/test-bench
# NPM Packages
# message-db
Microservice native event store and message store for Postgres https://github.com/message-db/npm-module