open-index/open-npm huggingface dataset:
npm package: @neurodevs/node-lsl
Description: Lab Streaming Layer (LSL) bindings for Node
Author: Eric Yates
Latest version: 18.0.0

# node-lsl
Lab Streaming Layer (LSL) for synchronized streaming of multi-modal, time-series data over a network.

## Table of Contents
- [Overview](#overview)
- [Installation](#installation)
- [Usage](#usage)
  - [LslStreamOutlet](#lslstreamoutlet)
  - [LslEventMarkerEmitter](#LslEventMarkerEmitter) 
- [Test Doubles](#test-doubles)

## Overview

This package is a Node wrapper around the C++ [liblsl](https://github.com/sccn/liblsl) library. It was developed and tested on a MacOS system with an M2 chip. It should work with any M-series chip: M1, M2, M3. There are known issues for this package with x86 MacOS architectures. It's untested for Windows or Linux.

Please note that this package currently only supports LSL outlets (sending data over a network). It does not yet support LSL inlets (receiving data from a network).

## Installation

First, you need to install the C++ [liblsl](https://github.com/sccn/liblsl) library. On MacOS, you can use Homebrew to install it, as specified in its [documentation](https://github.com/sccn/liblsl?tab=readme-ov-file#getting-and-using-liblsl):

`brew install labstreaminglayer/tap/lsl`

Then, install the package with your preferred package manager (make sure to be in the right directory for your Node project):

`npm install @neurodevs/node-lsl` 

or 

`yarn add @neurodevs/node-lsl`

Finally, add the following to your .env file or otherwise set it as an environmental variable. Update the path to match your system:

```.env
LIBLSL_PATH=/opt/homebrew/Cellar/lsl/1.16.2/lib/liblsl.1.16.2.dylib
```

## Usage

### LslStreamOutlet

LSL is often used to stream EEG data over a network. For example, to instantiate an LSL outlet for the [Muse S 2nd generation](https://choosemuse.com/products/muse-s-gen-2) headband:

```typescript
import { LslStreamOutlet } from '@neurodevs/node-lsl'

const outlet = await LslStreamOutlet.Create({
    name: 'Muse S (2nd gen)',
    type: 'EEG',
    sourceId: 'muse-s-eeg',
    channelNames: ['TP9', 'AF7', 'AF8', 'TP10', 'AUX'],
    channelFormat: 'float32',
    sampleRateHz: 256,
    chunkSize: 12,
})

outlet.pushSample([1, 2, 3, 4, 5])
```

### LslEventMarkerEmitter

LSL is also often used to push event markers that mark different phases of an experiment or session. The `emitMany` method pushes an event marker, waits for a specified duration, then pushes the next marker. From experience, each event marker should have a `waitAfterMs` of at least 100 ms or so to ensure LSL receives the event markers in the right order.

```typescript
import { LslEventMarkerEmitter } from '@neurodevs/node-lsl'

const emitter = await LslEventMarkerEmitter.Create()

const markers = [
    { name: 'phase-1-begin', waitAfterMs: 5000 },
    { name: 'phase-1-end', waitAfterMs: 100 },
]

const promise = emitter.emitMany(markers)

emitter.interrupt()
```
npm package: @neurodevs/node-server-plots
Description: Easily create and save plots server-side on Node
Author: Eric Yates
Latest version: 0.4.3

# node-server-plots
Easily create and save plots on Node

You can create a graph like this with this package:

![image](https://github.com/user-attachments/assets/b2e84b85-5fef-472a-8e2e-783f00536d0f)
npm package: @neurodevs/node-signal-processing
Description: Object-oriented algorithms for digital signal processing.
Author: Eric Yates
Latest version: 3.0.5

[![npm version](https://img.shields.io/npm/v/@neurodevs/node-signal-processing)](https://www.npmjs.com/package/@neurodevs/node-signal-processing)

# node-signal-processing
Object-oriented algorithms for digital signal processing.

## Table of Contents
- [Overview](#overview)
- [Installation](#installation)
- [Usage](#usage)
  - [Fft](#fft)
  - [FirBandpassFilter](#firbandpassfilter)
  - [HilbertPeakDetector](#hilbertpeakdetector)
  - [HilbertTransformer](#hilberttransformer)

## Overview

This package contains object-oriented algorithms for digital signal processing.

## Installation

Install the package with your preferred package manager, such as:

`npm install @neurodevs/node-signal-processing` 

or:

`yarn add @neurodevs/node-signal-processing`

## Usage

### Fft

```typescript
import { Fft } from '@neurodevs/node-signal-processing'

function runFftForwardAndInverse() {
    const signal = [1, 2, 3, 4]

    const fft = Fft.Create({ radix: signal.length })
    const frequencies = fft.forward(signal)
    const original = fft.inverse(frequencies)
}
```

### FirBandpassFilter

```typescript
import { FirBandpassFilter } from '@neurodevs/node-signal-processing'

function filterLowAndHighFrequenciesFromPpgSignal() {

    const rawPpgSignal: number[] = [...]

    const filter = FirBandpassFilter.Create({
        sampleRate: 64,       // PPG sample rate
        lowCutoffHz: 0.4,     // Filter under 24 bpm heart rate
        highCutoffHz: 4.0,    // Filter over 240 bpm heart rate
        numTaps: 4 * 64 + 1,  // Heuristic: 4 * sampleRate + 1
        attenuation: 50       // Frequencies outside bandpass reduced by 50 dB
    })

    const filteredPpgSignal = filter.run(rawPpgSignal)
}
```

### HilbertPeakDetector

```typescript
import { HilbertPeakDetector } from '@neurodevs/node-signal-processing'

function detectPpgPeaksFromFilteredSignal() {
    const filteredPpgSignal: number[] = [...]  // See FirBandpassFilter example
    const timestamps: number[] = [...]         // Must be same length as filteredPpgSignal

    const detector = HilbertPeakDetector.Create()
    const results = detector.run(filteredPpgSignal, timestamps)
}
```

### HilbertTransformer

```typescript
import { HilbertTransformer } from '@neurodevs/node-signal-processing'

function calculateAnalyticSignalAndEnvelopeFromSignal() {
    const signal = [1, 2, 3, 4]

    const transformer = HilbertTransformer.Create()
    const { analyticSignal, envelope } = transformer.run(signal)
}
```
npm package: @neurodevs/node-test-counter
Description: Count total number of test cases across repos
Author: Eric Yates
Latest version: 1.4.7

# node-test-counter
Count the total number of test cases across repos

## Table of Contents
- [Overview](#overview)
- [Installation](#installation)
  - [Package Installation](#package-installation)
  - [Global Installation](#global-installation)
- [Usage](#usage)
  - [CLI Usage](#cli-usage)
  - [CrossRepoTestCounter](#crossrepotestcounter)

## Overview

node-test-counter is a lightweight utility for scanning multiple repositories and counting the number of test cases across them. It’s useful for keeping track of testing coverage across a monorepo or ecosystem of packages.

If you install the package globally, there is a CLI that you can use with a simple `count-tests [...]` on the command-line.

## Installation

### Package Installation

For basic usage within a pacakge, install node-test-counter with your preferred package manager (run inside your Node project):

```bash
npm install @neurodevs/node-test-counter
``` 

Or, for example with yarn:

```bash
yarn add @neurodevs/node-test-counter
```

### Global Installation

node-test-counter also comes with a built-in CLI that can be installed globally so you can run it from anywhere without needing a local script. See [CLI Usage](#cli-usage) section for more details.

```bash
npm install -g @neurodevs/node-test-counter
```

Or, with yarn:

```bash
yarn global add @neurodevs/node-test-counter
```

## Usage

### CLI Usage

Once [installed globally](#global-installation), you can run node-test-counter directly from the command line.

If don't pass any args, it will count tests in the current working directory, with results shown for each top-level subdirectory:

```bash
count-tests
```

You can also pass it a list of repos to check:

```bash
count-tests path/to/repo1 path/to/repo2
```

Check the help message with:

```bash
count-tests --help
```

### CrossRepoTestCounter

The counter works by recursively counting occurrences of `test(` in the specified repoPaths. All repositories must exist locally on your filesystem before running.

```typescript
import { CrossRepoTestCounter } from '@neurodevs/node-test-counter'

async function main() {
    const instance = CrossRepoTestCounter.Create()

    const repoPaths = [
        '/path/to/repo1',
        '/path/to/repo2',
        // Add more repo paths as needed
    ]

    const result = await instance.countTestsIn(repoPaths)
    console.log(result)

    // Example output:
    // {
    //   total: 7,
    //   perRepo: {
    //     '/path/to/repo1': 3,
    //     '/path/to/repo2': 4
    //   },
    //   perRepoOrdered: Map(2) {
    //     '/path/to/repo2' => 4,
    //     '/path/to/repo1' => 3
    //   }
    // }
}

main().catch((err) => {
    console.error('Error running test counter:', err)
})
```
npm package: @neurodevs/node-wifi-connector
Description: Connect to Wi-Fi with minimal effort.
Author: Eric Yates
Latest version: 1.1.4

# node-wifi-connector
Connect and disconnect from Wi-Fi networks in Node.js with minimal effort

## Table of Contents
- [Overview](#overview)
- [Installation](#installation)
  - [Platform Notes](#platformnotes)
- [Usage](#usage)
  - [AutoWifiConnector](#autowificonnector)

## Overview
node-wifi-connector is a lightweight utility that wraps the node-wifi library to provide a simple, minimal-effort interface for connecting to and disconnecting from Wi-Fi networks in Node.js.

## Installation
Install the package with your preferred package manager (run inside your Node project):

```bash
npm install @neurodevs/node-wifi-connector
```

Or with yarn:

```bash
yarn add @neurodevs/node-wifi-connector
```

### Platform Notes
- Linux/Windows: connect() and disconnect() use node-wifi directly.
- macOS (darwin): node-wifi does not implement disconnect() for macOS, so this package uses networksetup to toggle Wi-Fi off/on for a reliable disconnect. Adjust network priority to prevent auto-reconnect to the network you just disconnected.
- Service name defaults to "Wi-Fi"; update in source if renamed or localized. 

## Usage

### AutoWifiConnector

```typescript
import AutoWifiConnector from '@neurodevs/node-wifi-connector'

async function main() {
    const wifi = await AutoWifiConnector.Create({
        ssid: 'MyNetwork',
        password: 'SuperSecretPassword',
        connectOnCreate: true
    })
    console.log('Connected to Wi-Fi')

    await new Promise((resolve) => setTimeout(resolve, 5000))

    await wifi.disconnect()
    console.log('Disconnected from Wi-Fi')
}

main().catch(err => {
    console.error('Error:', err)
})
```
npm package: @neurodevs/node-xdf
Description: Extensible Data Format (XDF) for persisting multi-modal, time-series data with metadata.
Author: Eric Yates
Latest version: 5.0.0

# node-xdf
Extensible Data Format (XDF) for persisting multi-modal, time-series data with metadata

## Table of Contents
- [Overview](#overview)
- [Installation](#installation)
- [Usage](#usage)
  - [XdfFileLoader](#xdffileloader)
- [Test Doubles](#test-doubles)

## Overview

This package is a Node wrapper around the C++ [libxdf](https://github.com/sccn/libxdf) library. It uses a [fork](https://github.com/neurodevs/libxdf) of the library to serialize the XDF data to a JSON string that Node can use. It was developed and tested on a macOS system with an M-series chip.

## Installation (macOS)

First, you need to install the [forked libxdf](https://github.com/neurodevs/libxdf) library.

```bash
git clone https://github.com/neurodevs/libxdf.git
cd libxdf && cmake -S . -B build && cmake --build build
sudo mkdir -p /opt/local/lib/
sudo cp build/libxdf.dylib /opt/local/lib/
```

Then, install the package with your preferred package manager:

`npm install @neurodevs/node-xdf` 

or 

`yarn add @neurodevs/node-xdf`

## Usage

### XdfFileLoader

```typescript
import { XdfFileLoader } from '@neurodevs/node-xdf'

async function loadXdf() {
    const loader = await XdfFileLoader.Create()

    const data = await loader.load('/path/to/file.xdf')
    console.log('XDF Data:', data)
}
```

## Test Doubles

This package was developed using test-driven development (TDD). If you also follow TDD, you'll likely want test doubles to fake, mock, or spy certain behaviors for these classes.

```typescript
import { XdfFileLoader, FakeXdfLoader } from '@neurodevs/node-lsl'

async function someTestFunction() {
    XdfFileLoader.Class = FakeXdfLoader
    const fake = await XdfFileLoader.Create()
}
```
npm package: @neurodevs/react-github-badge
Description: A React badge displaying GitHub repo and test counts
Author: Eric Yates
Latest version: 2.0.1

# react-github-badge
A React badge displaying GitHub repo and test counts.

## Table of Contents
- [Overview](#overview)
- [Installation](#installation)
- [Usage](#usage)
  - [TestCounterBadge](#testcounterbadge)

## Overview

This package provides a simple React component for embedding a GitHub-style badge that displays the number of public repositories and tests for a given organization or project. It uses [Shields.io](https://shields.io) under the hood to generate the badge image and is useful for dashboards, documentation sites, and project overviews.

## Installation

Install the package with your preferred package manager (make sure to be in the right directory for your Node project):

`npm install @neurodevs/react-github-badge` 

Or, for example with yarn:

`yarn add @neurodevs/react-github-badge`

## Usage

### TestCounterBadge

The TestCounterBadge component accepts a GitHub display title and link, along with counts for repositories and tests, and renders a styled badge linking to the GitHub page. It optionally accepts inline styles.

```tsx
import { TestCounterBadge } from '@neurodevs/react-github-badge'

<TestCounterBadge
    title="Neurodevs"
    githubUrl="https://github.com/neurodevs"
    numRepos={22}
    numTests={540}
    style={{ marginTop: '1rem', marginBottom: '0.5rem' }}
/>
```

This will render a clickable badge that looks like this:

<img src="./assets/badge-screenshot.png" alt="Badge screenshot showing 22 repos and 540 tests for Neurodevs." width="300" />
npm package: @neuroequalityorg/mcp-slack
Description: MCP server for Slack API integration
Author: NeuralQuantum
Latest version: 1.0.0

# @neuroequalityorg/mcp-slack

MCP (Model Context Protocol) server for Slack API integration. Enables AI assistants to interact with Slack workspaces.

## Installation

```bash
npm install -g @neuroequalityorg/mcp-slack
```

Or use with npx:

```bash
npx @neuroequalityorg/mcp-slack
```

## Configuration

Set your Slack Bot Token as an environment variable:

```bash
export SLACK_BOT_TOKEN=xoxb-your-bot-token
```

### Required Slack App Permissions

Your Slack app needs the following OAuth scopes:

- `channels:read` - List channels
- `channels:write` - Create channels
- `channels:history` - Read channel history
- `chat:write` - Send messages
- `groups:read` - List private channels
- `groups:write` - Create private channels
- `groups:history` - Read private channel history
- `im:history` - Read direct message history
- `mpim:history` - Read group DM history
- `search:read` - Search messages
- `users:read` - List users
- `users:read.email` - Read user emails

## Usage with Claude Desktop

Add to your Claude Desktop config (`~/.config/claude/claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["@neuroequalityorg/mcp-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-bot-token"
      }
    }
  }
}
```

## Available Tools

### send_message

Send a message to a Slack channel or user.

**Parameters:**
- `channel` (required): Channel ID or name
- `text` (required): Message text to send
- `thread_ts` (optional): Thread timestamp to reply in a thread

### list_channels

List all channels in the Slack workspace.

**Parameters:**
- `types` (optional): Channel types (default: "public_channel,private_channel")
- `limit` (optional): Max results (default: 100)
- `cursor` (optional): Pagination cursor

### list_users

List all users in the Slack workspace.

**Parameters:**
- `limit` (optional): Max results (default: 100)
- `cursor` (optional): Pagination cursor

### search_messages

Search for messages in Slack.

**Parameters:**
- `query` (required): Search query (supports Slack search modifiers)
- `count` (optional): Number of results (default: 20)
- `sort` (optional): "score" or "timestamp"
- `sort_dir` (optional): "asc" or "desc"

### create_channel

Create a new Slack channel.

**Parameters:**
- `name` (required): Channel name (lowercase, no spaces)
- `is_private` (optional): Create as private channel

### get_channel_history

Get message history from a Slack channel.

**Parameters:**
- `channel` (required): Channel ID
- `limit` (optional): Number of messages (default: 50)
- `oldest` (optional): Messages after this Unix timestamp
- `latest` (optional): Messages before this Unix timestamp
- `cursor` (optional): Pagination cursor

## License

MIT

## Author

NeuralQuantum - tommy@gain.energy
npm package: @neurofoam/channel-node-http
Description: A Neurofoam channel implementation which works with Node HTTP request/responses.
Latest version: 0.0.2

# `@neurofoam/channel-node-http` [![Continuous Integration](https://github.com/jameswilddev/neurofoam/workflows/Continuous%20Integration/badge.svg)](https://github.com/jameswilddev/neurofoam/actions) [![License](https://img.shields.io/github/license/jameswilddev/neurofoam.svg)](https://github.com/jameswilddev/neurofoam/blob/master/license) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_shield) [![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/) [![npm](https://img.shields.io/npm/v/@neurofoam/channel-node-http.svg)](https://www.npmjs.com/package/@neurofoam/channel-node-http) [![npm type definitions](https://img.shields.io/npm/types/@neurofoam/channel-node-http.svg)](https://www.npmjs.com/package/@neurofoam/channel-node-http)

A Neurofoam channel implementation which works with Node HTTP request/responses.

## Dependencies

This package has no runtime dependencies.

## License

[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_large)
npm package: @neurofoam/channel-ws
Description: A Neurofoam channel implementation which works with the ws package to accept WebSocket connections.
Latest version: 0.0.0

# `@neurofoam/channel-ws` [![Continuous Integration](https://github.com/jameswilddev/neurofoam/workflows/Continuous%20Integration/badge.svg)](https://github.com/jameswilddev/neurofoam/actions) [![License](https://img.shields.io/github/license/jameswilddev/neurofoam.svg)](https://github.com/jameswilddev/neurofoam/blob/master/license) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_shield) [![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/) [![npm](https://img.shields.io/npm/v/@neurofoam/channel-ws.svg)](https://www.npmjs.com/package/@neurofoam/channel-ws) [![npm type definitions](https://img.shields.io/npm/types/@neurofoam/channel-ws.svg)](https://www.npmjs.com/package/@neurofoam/channel-ws)

A Neurofoam channel implementation which works with the ws package to accept WebSocket connections.

## Dependencies

This package has no runtime dependencies.

## Peer Dependencies

This package has the following runtime dependencies; that is, it expects the following packages to be installed alongside itself:

Name | Version                                                                          
---- | ---------------------------------------------------------------------------------
ws   | [![7.3.1](https://img.shields.io/npm/v/ws.svg)](https://www.npmjs.com/package/ws)

## License

[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_large)
npm package: @neurofoam/command-line-helpers
Description: Shared helpers for creating command-line executables.
Latest version: 0.0.1

# `@neurofoam/command-line-helpers` [![Travis](https://img.shields.io/travis/jameswilddev/neurofoam.svg)](https://travis-ci.org/jameswilddev/neurofoam) [![License](https://img.shields.io/github/license/jameswilddev/neurofoam.svg)](https://github.com/jameswilddev/neurofoam/blob/master/license) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_shield) [![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/) [![npm](https://img.shields.io/npm/v/@neurofoam/command-line-helpers.svg)](https://www.npmjs.com/package/@neurofoam/command-line-helpers) [![npm type definitions](https://img.shields.io/npm/types/@neurofoam/command-line-helpers.svg)](https://www.npmjs.com/package/@neurofoam/command-line-helpers)

Shared helpers for creating command-line executables.

## Dependencies

This package has no runtime dependencies.

## License

[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_large)
npm package: @neurofoam/orchestrator
Description: Connects a set of Neurofoam type implementations to make a running application.
Latest version: 0.0.0

# `@neurofoam/orchestrator` [![Travis](https://img.shields.io/travis/jameswilddev/neurofoam.svg)](https://travis-ci.org/jameswilddev/neurofoam) [![License](https://img.shields.io/github/license/jameswilddev/neurofoam.svg)](https://github.com/jameswilddev/neurofoam/blob/master/license) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_shield) [![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/) [![npm](https://img.shields.io/npm/v/@neurofoam/orchestrator.svg)](https://www.npmjs.com/package/@neurofoam/orchestrator) [![npm type definitions](https://img.shields.io/npm/types/@neurofoam/orchestrator.svg)](https://www.npmjs.com/package/@neurofoam/orchestrator)

Connects a set of Neurofoam type implementations to make a running application.

## Dependencies

This package has the following runtime dependencies:

Name       | Version                                                                                           
---------- | --------------------------------------------------------------------------------------------------
jsonschema | [![^1.2.5](https://img.shields.io/npm/v/jsonschema.svg)](https://www.npmjs.com/package/jsonschema)

## License

[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_large)
npm package: @neurofoam/persistence-dynamodb
Description: Persists Neurofoam events in a DynamoDB instance.
Latest version: 0.0.0

# `@neurofoam/persistence-dynamodb` [![Continuous Integration](https://github.com/jameswilddev/neurofoam/workflows/Continuous%20Integration/badge.svg)](https://github.com/jameswilddev/neurofoam/actions) [![License](https://img.shields.io/github/license/jameswilddev/neurofoam.svg)](https://github.com/jameswilddev/neurofoam/blob/master/license) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_shield) [![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/) [![npm](https://img.shields.io/npm/v/@neurofoam/persistence-dynamodb.svg)](https://www.npmjs.com/package/@neurofoam/persistence-dynamodb) [![npm type definitions](https://img.shields.io/npm/types/@neurofoam/persistence-dynamodb.svg)](https://www.npmjs.com/package/@neurofoam/persistence-dynamodb)

Persists Neurofoam events in a DynamoDB instance.

## Dependencies

This package has the following runtime dependencies:

Name    | Version                                                                                       
------- | ----------------------------------------------------------------------------------------------
aws-sdk | [![^2.653.0](https://img.shields.io/npm/v/aws-sdk.svg)](https://www.npmjs.com/package/aws-sdk)

## License

[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_large)
npm package: @neurofoam/persistence-memory
Description: Persists Neurofoam events in a temporary, volatile in-memory store.
Latest version: 0.0.0

# `@neurofoam/persistence-memory` [![Travis](https://img.shields.io/travis/jameswilddev/neurofoam.svg)](https://travis-ci.org/jameswilddev/neurofoam) [![License](https://img.shields.io/github/license/jameswilddev/neurofoam.svg)](https://github.com/jameswilddev/neurofoam/blob/master/license) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_shield) [![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/) [![npm](https://img.shields.io/npm/v/@neurofoam/persistence-memory.svg)](https://www.npmjs.com/package/@neurofoam/persistence-memory) [![npm type definitions](https://img.shields.io/npm/types/@neurofoam/persistence-memory.svg)](https://www.npmjs.com/package/@neurofoam/persistence-memory)

Persists Neurofoam events in a temporary, volatile in-memory store.

## Dependencies

This package has no runtime dependencies.

## License

[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_large)
npm package: @neurofoam/persistence-sqlite
Description: Persists Neurofoam events in a SQLite database.
Latest version: 0.0.0

# `@neurofoam/persistence-sqlite` [![Travis](https://img.shields.io/travis/jameswilddev/neurofoam.svg)](https://travis-ci.org/jameswilddev/neurofoam) [![License](https://img.shields.io/github/license/jameswilddev/neurofoam.svg)](https://github.com/jameswilddev/neurofoam/blob/master/license) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_shield) [![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/) [![npm](https://img.shields.io/npm/v/@neurofoam/persistence-sqlite.svg)](https://www.npmjs.com/package/@neurofoam/persistence-sqlite) [![npm type definitions](https://img.shields.io/npm/types/@neurofoam/persistence-sqlite.svg)](https://www.npmjs.com/package/@neurofoam/persistence-sqlite)

Persists Neurofoam events in a SQLite database.

## Dependencies

This package has the following runtime dependencies:

Name   | Version                                                                                   
------ | ------------------------------------------------------------------------------------------
sqlite | [![^3.0.3](https://img.shields.io/npm/v/sqlite.svg)](https://www.npmjs.com/package/sqlite)

## License

[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_large)
npm package: @neurofoam/types
Description: Types used by Neurofoam applications and hosts.
Latest version: 0.0.18

# `@neurofoam/types` [![Continuous Integration](https://github.com/jameswilddev/neurofoam/workflows/Continuous%20Integration/badge.svg)](https://github.com/jameswilddev/neurofoam/actions) [![License](https://img.shields.io/github/license/jameswilddev/neurofoam.svg)](https://github.com/jameswilddev/neurofoam/blob/master/license) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_shield) [![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/) [![npm](https://img.shields.io/npm/v/@neurofoam/types.svg)](https://www.npmjs.com/package/@neurofoam/types) [![npm type definitions](https://img.shields.io/npm/types/@neurofoam/types.svg)](https://www.npmjs.com/package/@neurofoam/types)

Types used by Neurofoam applications and hosts.

## Dependencies

This package has the following runtime dependencies:

Name       | Version                                                                                          
---------- | -------------------------------------------------------------------------------------------------
jsonschema | [![1.2.8](https://img.shields.io/npm/v/jsonschema.svg)](https://www.npmjs.com/package/jsonschema)

## Peer Dependencies

This package has no runtime peer dependencies (it does not expect any other packages to be installed alongside itself).

## License

[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjameswilddev%2Fneurofoam?ref=badge_large)