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