An open API service indexing awesome lists of open source software.

https://github.com/Level/awesome

An open list of awesome Level modules and resources.
https://github.com/Level/awesome

List: awesome

awesome awesome-list javascript level leveldb levelup nodejs

Last synced: over 1 year ago
JSON representation

An open list of awesome Level modules and resources.

Awesome Lists containing this project

README

          

# Awesome

**An open list of awesome [Level][level-org] modules and resources. [Add yours!](#contributing)**

[![level badge][level-badge]](https://github.com/level/awesome)
[![Test](https://github.com/Level/awesome/actions/workflows/test.yml/badge.svg)](https://github.com/Level/awesome/actions/workflows/test.yml)
[![Donate](https://img.shields.io/badge/donate-orange?logo=open-collective\&logoColor=fff)](https://opencollective.com/level)

## Table of Contents

Click to expand

- [Core](#core)
- [Storage](#storage)
- [Encodings](#encodings)
- [Streams](#streams)
- [Shared Access](#shared-access)
- [Processing](#processing)
- [Databases](#databases)
- [Data Structures](#data-structures)
- [Transience](#transience)
- [Atomicity](#atomicity)
- [Jobs](#jobs)
- [File System](#file-system)
- [Utilities](#utilities)
- [Replication](#replication)
- [Tools](#tools)
- [Benchmarking & Debugging](#benchmarking--debugging)
- [Resources](#resources)
- [Applications](#applications)
- [Legacy](#legacy)
- [Contributing](#contributing)
- [License](#license)

## Core

### [`abstract-level`][abstract-level]

[![npm package version](https://img.shields.io/npm/v/abstract-level)](https://www.npmjs.com/package/abstract-level) [![npm downloads](https://img.shields.io/npm/dw/abstract-level)](https://www.npmjs.com/package/abstract-level) [![License](https://img.shields.io/npm/l/abstract-level?color=blue)](https://www.npmjs.com/package/abstract-level) [![Last commit](https://img.shields.io/github/last-commit/Level/abstract-level?color=brightgreen)](https://github.com/Level/abstract-level) [![Contributors](https://img.shields.io/github/contributors/Level/abstract-level?color=blue)](https://github.com/Level/abstract-level/graphs/contributors)

Abstract class for a lexicographically sorted key-value database.

## Storage

**Modules that implement [`abstract-level`][abstract-level].**

### [`level`][level]

[![npm package version](https://img.shields.io/npm/v/level)](https://www.npmjs.com/package/level) [![npm downloads](https://img.shields.io/npm/dw/level)](https://www.npmjs.com/package/level) [![License](https://img.shields.io/npm/l/level?color=blue)](https://www.npmjs.com/package/level) [![Last commit](https://img.shields.io/github/last-commit/Level/level?color=brightgreen)](https://github.com/Level/level) [![Contributors](https://img.shields.io/github/contributors/Level/level?color=blue)](https://github.com/Level/level/graphs/contributors) ![abstract-level](https://img.shields.io/badge/abstract--level-2.0-brightgreen.svg)

Universal [`abstract-level`][abstract-level] database for Node.js and browsers. Main entry point for beginners.

### [`classic-level`][classic-level]

[![npm package version](https://img.shields.io/npm/v/classic-level)](https://www.npmjs.com/package/classic-level) [![npm downloads](https://img.shields.io/npm/dw/classic-level)](https://www.npmjs.com/package/classic-level) [![License](https://img.shields.io/npm/l/classic-level?color=blue)](https://www.npmjs.com/package/classic-level) [![Last commit](https://img.shields.io/github/last-commit/Level/classic-level?color=brightgreen)](https://github.com/Level/classic-level) [![Contributors](https://img.shields.io/github/contributors/Level/classic-level?color=blue)](https://github.com/Level/classic-level/graphs/contributors) ![abstract-level](https://img.shields.io/badge/abstract--level-2.0-brightgreen.svg)

An [`abstract-level`][abstract-level] database backed by LevelDB.

### [`browser-level`][browser-level]

[![npm package version](https://img.shields.io/npm/v/browser-level)](https://www.npmjs.com/package/browser-level) [![npm downloads](https://img.shields.io/npm/dw/browser-level)](https://www.npmjs.com/package/browser-level) [![License](https://img.shields.io/npm/l/browser-level?color=blue)](https://www.npmjs.com/package/browser-level) [![Last commit](https://img.shields.io/github/last-commit/Level/browser-level?color=brightgreen)](https://github.com/Level/browser-level) [![Contributors](https://img.shields.io/github/contributors/Level/browser-level?color=blue)](https://github.com/Level/browser-level/graphs/contributors) ![abstract-level](https://img.shields.io/badge/abstract--level-2.0-brightgreen.svg)

An [`abstract-level`][abstract-level] database for browsers, backed by IndexedDB.

### [`memory-level`][memory-level]

[![npm package version](https://img.shields.io/npm/v/memory-level)](https://www.npmjs.com/package/memory-level) [![npm downloads](https://img.shields.io/npm/dw/memory-level)](https://www.npmjs.com/package/memory-level) [![License](https://img.shields.io/npm/l/memory-level?color=blue)](https://www.npmjs.com/package/memory-level) [![Last commit](https://img.shields.io/github/last-commit/Level/memory-level?color=brightgreen)](https://github.com/Level/memory-level) [![Contributors](https://img.shields.io/github/contributors/Level/memory-level?color=blue)](https://github.com/Level/memory-level/graphs/contributors) ![abstract-level](https://img.shields.io/badge/abstract--level-2.0-brightgreen.svg)

In-memory [`abstract-level`][abstract-level] database for Node.js and browsers.

## Encodings

```js
// Example of a custom encoding
const { Level } = require('level')
const charwise = require('charwise')

const db = new Level('./db', {
keyEncoding: charwise
})

await db.put(['users', 2], 'example')
```

### [`protocol-buffers`][protocol-buffers]

[![npm package version](https://img.shields.io/npm/v/protocol-buffers)](https://www.npmjs.com/package/protocol-buffers) [![npm downloads](https://img.shields.io/npm/dw/protocol-buffers)](https://www.npmjs.com/package/protocol-buffers) [![License](https://img.shields.io/npm/l/protocol-buffers?color=blue)](https://www.npmjs.com/package/protocol-buffers) [![Last commit](https://img.shields.io/github/last-commit/mafintosh/protocol-buffers?color=brightgreen)](https://github.com/mafintosh/protocol-buffers) [![Contributors](https://img.shields.io/github/contributors/mafintosh/protocol-buffers?color=blue)](https://github.com/mafintosh/protocol-buffers/graphs/contributors)

[Protocol Buffers](https://developers.google.com/protocol-buffers/) for Node.js. Compiled messages are valid as encodings.

### [`charwise`][charwise]

[![npm package version](https://img.shields.io/npm/v/charwise)](https://www.npmjs.com/package/charwise) [![npm downloads](https://img.shields.io/npm/dw/charwise)](https://www.npmjs.com/package/charwise) [![License](https://img.shields.io/npm/l/charwise?color=blue)](https://www.npmjs.com/package/charwise) [![Last commit](https://img.shields.io/github/last-commit/dominictarr/charwise?color=brightgreen)](https://github.com/dominictarr/charwise) [![Contributors](https://img.shields.io/github/contributors/dominictarr/charwise?color=blue)](https://github.com/dominictarr/charwise/graphs/contributors)

Encode / decode with same encoded sort order as [`bytewise`][bytewise].

### [`bytewise`][bytewise]

[![npm package version](https://img.shields.io/npm/v/bytewise)](https://www.npmjs.com/package/bytewise) [![npm downloads](https://img.shields.io/npm/dw/bytewise)](https://www.npmjs.com/package/bytewise) [![License](https://img.shields.io/npm/l/bytewise?color=blue)](https://www.npmjs.com/package/bytewise) [![Last commit](https://img.shields.io/github/last-commit/deanlandolt/bytewise)](https://github.com/deanlandolt/bytewise) [![Contributors](https://img.shields.io/github/contributors/deanlandolt/bytewise?color=blue)](https://github.com/deanlandolt/bytewise/graphs/contributors)

Binary serialization which sorts bytewise for arbitrarily complex data structures. NB. Use [`charwise`][charwise] if possible. Gives you almost everything `bytewise` does but much faster.

### [`lexicographic-integer-encoding`][lexicographic-integer-encoding]

[![npm package version](https://img.shields.io/npm/v/lexicographic-integer-encoding)](https://www.npmjs.com/package/lexicographic-integer-encoding) [![npm downloads](https://img.shields.io/npm/dw/lexicographic-integer-encoding)](https://www.npmjs.com/package/lexicographic-integer-encoding) [![License](https://img.shields.io/npm/l/lexicographic-integer-encoding?color=blue)](https://www.npmjs.com/package/lexicographic-integer-encoding) [![Last commit](https://img.shields.io/github/last-commit/vweevers/lexicographic-integer-encoding?color=brightgreen)](https://github.com/vweevers/lexicographic-integer-encoding) [![Contributors](https://img.shields.io/github/contributors/vweevers/lexicographic-integer-encoding?color=blue)](https://github.com/vweevers/lexicographic-integer-encoding/graphs/contributors)

Wraps [`lexicographic-integer`](https://github.com/substack/lexicographic-integer).

## Streams

**[Node.js stream](https://nodejs.org/api/stream.html), [Web Streams](https://developer.mozilla.org/en-US/docs/Web/API/Streams_API) or [`pull-stream`](https://github.com/pull-stream/pull-stream) implementations for reading and writing data from/to databases.**

### [`level-read-stream`][level-read-stream]

[![npm package version](https://img.shields.io/npm/v/level-read-stream)](https://www.npmjs.com/package/level-read-stream) [![npm downloads](https://img.shields.io/npm/dw/level-read-stream)](https://www.npmjs.com/package/level-read-stream) [![License](https://img.shields.io/npm/l/level-read-stream?color=blue)](https://www.npmjs.com/package/level-read-stream) [![Last commit](https://img.shields.io/github/last-commit/Level/read-stream?color=brightgreen)](https://github.com/Level/read-stream) [![Contributors](https://img.shields.io/github/contributors/Level/read-stream?color=blue)](https://github.com/Level/read-stream/graphs/contributors)

Read from an [`abstract-level`][abstract-level] database using Node.js streams.

### [`level-web-stream`][level-web-stream]

[![npm package version](https://img.shields.io/npm/v/level-web-stream)](https://www.npmjs.com/package/level-web-stream) [![npm downloads](https://img.shields.io/npm/dw/level-web-stream)](https://www.npmjs.com/package/level-web-stream) [![License](https://img.shields.io/npm/l/level-web-stream?color=blue)](https://www.npmjs.com/package/level-web-stream) [![Last commit](https://img.shields.io/github/last-commit/Level/web-stream)](https://github.com/Level/web-stream) [![Contributors](https://img.shields.io/github/contributors/Level/web-stream?color=blue)](https://github.com/Level/web-stream/graphs/contributors)

Read from an [`abstract-level`][abstract-level] database using Web Streams.

### [`level-ws`][level-ws]

[![npm package version](https://img.shields.io/npm/v/level-ws)](https://www.npmjs.com/package/level-ws) [![npm downloads](https://img.shields.io/npm/dw/level-ws)](https://www.npmjs.com/package/level-ws) [![License](https://img.shields.io/npm/l/level-ws?color=blue)](https://www.npmjs.com/package/level-ws) [![Last commit](https://img.shields.io/github/last-commit/Level/level-ws)](https://github.com/Level/level-ws) [![Contributors](https://img.shields.io/github/contributors/Level/level-ws?color=blue)](https://github.com/Level/level-ws/graphs/contributors)

A basic writable stream for [`abstract-level`][abstract-level] databases, using Node.js core streams. Has not been updated for `abstract-level` 2 yet (to use the promise API).

## Shared Access

### [`many-level`][many-level]

[![npm package version](https://img.shields.io/npm/v/many-level)](https://www.npmjs.com/package/many-level) [![npm downloads](https://img.shields.io/npm/dw/many-level)](https://www.npmjs.com/package/many-level) [![License](https://img.shields.io/npm/l/many-level?color=blue)](https://www.npmjs.com/package/many-level) [![Last commit](https://img.shields.io/github/last-commit/Level/many-level)](https://github.com/Level/many-level) [![Contributors](https://img.shields.io/github/contributors/Level/many-level?color=blue)](https://github.com/Level/many-level/graphs/contributors) ![abstract-level](https://img.shields.io/badge/abstract--level-1.0-orange.svg)

Share an [`abstract-level`][abstract-level] database over the network or other kind of stream. Supersedes [`multileveldown`][multileveldown] and [`multilevel`][multilevel].

### [`rave-level`][rave-level]

[![npm package version](https://img.shields.io/npm/v/rave-level)](https://www.npmjs.com/package/rave-level) [![npm downloads](https://img.shields.io/npm/dw/rave-level)](https://www.npmjs.com/package/rave-level) [![License](https://img.shields.io/npm/l/rave-level?color=blue)](https://www.npmjs.com/package/rave-level) [![Last commit](https://img.shields.io/github/last-commit/Level/rave-level)](https://github.com/Level/rave-level) [![Contributors](https://img.shields.io/github/contributors/Level/rave-level?color=blue)](https://github.com/Level/rave-level/graphs/contributors) ![abstract-level](https://img.shields.io/badge/abstract--level-1.0-orange.svg)

Use a LevelDB database from multiple processes with seamless failover. Supersedes [`level-party`][level-party].

## Processing

**Modules for indexing, alternative forms of querying data, MapReduce models and other forms of data processing. This section has not been updated for [`abstract-level`][abstract-level] yet.**

### [`level-auto-index`][level-auto-index]

[![npm package version](https://img.shields.io/npm/v/level-auto-index)](https://www.npmjs.com/package/level-auto-index) [![npm downloads](https://img.shields.io/npm/dw/level-auto-index)](https://www.npmjs.com/package/level-auto-index) [![License](https://img.shields.io/npm/l/level-auto-index?color=blue)](https://www.npmjs.com/package/level-auto-index) [![Last commit](https://img.shields.io/github/last-commit/hypermodules/level-auto-index)](https://github.com/hypermodules/level-auto-index) [![Contributors](https://img.shields.io/github/contributors/hypermodules/level-auto-index?color=blue)](https://github.com/hypermodules/level-auto-index/graphs/contributors)

Automatic secondary indexing for [`levelup`][levelup] and [`subleveldown`][subleveldown].

### [`jsonquery`][jsonquery]

[![npm package version](https://img.shields.io/npm/v/jsonquery)](https://www.npmjs.com/package/jsonquery) [![npm downloads](https://img.shields.io/npm/dw/jsonquery)](https://www.npmjs.com/package/jsonquery) [![License](https://img.shields.io/npm/l/jsonquery?color=blue)](https://www.npmjs.com/package/jsonquery) [![Last commit](https://img.shields.io/github/last-commit/eugeneware/jsonquery)](https://github.com/eugeneware/jsonquery) [![Contributors](https://img.shields.io/github/contributors/eugeneware/jsonquery?color=blue)](https://github.com/eugeneware/jsonquery/graphs/contributors)

Query [`levelup`][levelup] with a MongoDB-like query API that returns streams.

### [`jsonquery-engine`][jsonquery-engine]

[![npm package version](https://img.shields.io/npm/v/jsonquery-engine)](https://www.npmjs.com/package/jsonquery-engine) [![npm downloads](https://img.shields.io/npm/dw/jsonquery-engine)](https://www.npmjs.com/package/jsonquery-engine) [![License](https://img.shields.io/npm/l/jsonquery-engine?color=blue)](https://www.npmjs.com/package/jsonquery-engine) [![Last commit](https://img.shields.io/github/last-commit/eugeneware/jsonquery-engine)](https://github.com/eugeneware/jsonquery-engine) [![Contributors](https://img.shields.io/github/contributors/eugeneware/jsonquery-engine?color=blue)](https://github.com/eugeneware/jsonquery-engine/graphs/contributors)

A full MongoDB query language implementation with indexes for querying [`levelup`][levelup].

### [`level-indico`][level-indico]

[![npm package version](https://img.shields.io/npm/v/level-indico)](https://www.npmjs.com/package/level-indico) [![npm downloads](https://img.shields.io/npm/dw/level-indico)](https://www.npmjs.com/package/level-indico) [![License](https://img.shields.io/npm/l/level-indico?color=blue)](https://www.npmjs.com/package/level-indico) [![Last commit](https://img.shields.io/github/last-commit/mariocasciaro/level-indico)](https://github.com/mariocasciaro/level-indico) [![Contributors](https://img.shields.io/github/contributors/mariocasciaro/level-indico?color=blue)](https://github.com/mariocasciaro/level-indico/graphs/contributors)

Yet another indexing plugin for [`levelup`][levelup]. By providing only a low-level querying mechanism it gives you the power to build more complicated and optimized queries on top of it.

NB. Relies on [`bytewise`][bytewise] and [`level-sublevel`][level-sublevel], both of which have caveats.

### [`level-inverted-index`][level-inverted-index]

[![npm package version](https://img.shields.io/npm/v/level-inverted-index)](https://www.npmjs.com/package/level-inverted-index) [![npm downloads](https://img.shields.io/npm/dw/level-inverted-index)](https://www.npmjs.com/package/level-inverted-index) [![License](https://img.shields.io/npm/l/level-inverted-index?color=blue)](https://www.npmjs.com/package/level-inverted-index) [![Last commit](https://img.shields.io/github/last-commit/dominictarr/level-inverted-index)](https://github.com/dominictarr/level-inverted-index) [![Contributors](https://img.shields.io/github/contributors/dominictarr/level-inverted-index?color=blue)](https://github.com/dominictarr/level-inverted-index/graphs/contributors)

Create an inverted index for full-text search.

### [`map-reduce`][map-reduce]

[![npm package version](https://img.shields.io/npm/v/map-reduce)](https://www.npmjs.com/package/map-reduce) [![npm downloads](https://img.shields.io/npm/dw/map-reduce)](https://www.npmjs.com/package/map-reduce) [![License](https://img.shields.io/npm/l/map-reduce?color=blue)](https://www.npmjs.com/package/map-reduce) [![Last commit](https://img.shields.io/github/last-commit/dominictarr/map-reduce)](https://github.com/dominictarr/map-reduce) [![Contributors](https://img.shields.io/github/contributors/dominictarr/map-reduce?color=blue)](https://github.com/dominictarr/map-reduce/graphs/contributors)

A MapReduce implementation on top of [`levelup`][levelup]. Allows you to define a map reduce query that will run on top of your db. The map reduces are incremental, and you can query the results in real-time.

### [`level-map-merge`][level-map-merge]

[![npm package version](https://img.shields.io/npm/v/level-map-merge)](https://www.npmjs.com/package/level-map-merge) [![npm downloads](https://img.shields.io/npm/dw/level-map-merge)](https://www.npmjs.com/package/level-map-merge) [![License](https://img.shields.io/npm/l/level-map-merge?color=blue)](https://www.npmjs.com/package/level-map-merge) [![Last commit](https://img.shields.io/github/last-commit/dominictarr/level-map-merge)](https://github.com/dominictarr/level-map-merge) [![Contributors](https://img.shields.io/github/contributors/dominictarr/level-map-merge?color=blue)](https://github.com/dominictarr/level-map-merge/graphs/contributors)

Like [`map-reduce`][map-reduce] but simpler. Has a batch component that runs periodically, and a real-time component that fills in the gaps. Good for generating inverted indexes.

### [`level-queryengine`][level-queryengine]

[![npm package version](https://img.shields.io/npm/v/level-queryengine)](https://www.npmjs.com/package/level-queryengine) [![npm downloads](https://img.shields.io/npm/dw/level-queryengine)](https://www.npmjs.com/package/level-queryengine) [![License](https://img.shields.io/npm/l/level-queryengine?color=blue)](https://www.npmjs.com/package/level-queryengine) [![Last commit](https://img.shields.io/github/last-commit/eugeneware/level-queryengine)](https://github.com/eugeneware/level-queryengine) [![Contributors](https://img.shields.io/github/contributors/eugeneware/level-queryengine?color=blue)](https://github.com/eugeneware/level-queryengine/graphs/contributors)

A generic pluggable query-engine system (that supports indexes) for [`levelup`][levelup].

### [`level-trigger`][level-trigger]

[![npm package version](https://img.shields.io/npm/v/level-trigger)](https://www.npmjs.com/package/level-trigger) [![npm downloads](https://img.shields.io/npm/dw/level-trigger)](https://www.npmjs.com/package/level-trigger) [![License](https://img.shields.io/npm/l/level-trigger?color=blue)](https://www.npmjs.com/package/level-trigger) [![Last commit](https://img.shields.io/github/last-commit/dominictarr/level-trigger)](https://github.com/dominictarr/level-trigger) [![Contributors](https://img.shields.io/github/contributors/dominictarr/level-trigger?color=blue)](https://github.com/dominictarr/level-trigger/graphs/contributors)

Triggers for [`levelup`][levelup]. Runs an async job when a key changes. All jobs will eventually run, even across restarts!

### [`levels`][levels]

[![npm package version](https://img.shields.io/npm/v/levels)](https://www.npmjs.com/package/levels) [![npm downloads](https://img.shields.io/npm/dw/levels)](https://www.npmjs.com/package/levels) [![License](https://img.shields.io/npm/l/levels?color=blue)](https://www.npmjs.com/package/levels) [![Last commit](https://img.shields.io/github/last-commit/eugeneware/levels)](https://github.com/eugeneware/levels) [![Contributors](https://img.shields.io/github/contributors/eugeneware/levels?color=blue)](https://github.com/eugeneware/levels/graphs/contributors)

A light-weight full text search engine for [`levelup`][levelup] (Port of TJ's [reds](https://github.com/visionmedia/reds) redis search engine).

### [`map-reduce-chained`][map-reduce-chained]

[![npm package version](https://img.shields.io/npm/v/map-reduce-chained)](https://www.npmjs.com/package/map-reduce-chained) [![npm downloads](https://img.shields.io/npm/dw/map-reduce-chained)](https://www.npmjs.com/package/map-reduce-chained) [![License](https://img.shields.io/npm/l/map-reduce-chained?color=blue)](https://www.npmjs.com/package/map-reduce-chained) [![Last commit](https://img.shields.io/github/last-commit/ryanramage/map-reduce-chained)](https://github.com/ryanramage/map-reduce-chained) [![Contributors](https://img.shields.io/github/contributors/ryanramage/map-reduce-chained?color=blue)](https://github.com/ryanramage/map-reduce-chained/graphs/contributors)

Extends [`map-reduce`][map-reduce] and [`level-mapped-index`][level-mapped-index] to provide easy to setup chained MapReduce. An example use case is to find the top 10 values after a reduce.

### [`path-engine`][path-engine]

[![npm package version](https://img.shields.io/npm/v/path-engine)](https://www.npmjs.com/package/path-engine) [![npm downloads](https://img.shields.io/npm/dw/path-engine)](https://www.npmjs.com/package/path-engine) [![License](https://img.shields.io/npm/l/path-engine?color=blue)](https://www.npmjs.com/package/path-engine) [![Last commit](https://img.shields.io/github/last-commit/eugeneware/path-engine)](https://github.com/eugeneware/path-engine) [![Contributors](https://img.shields.io/github/contributors/eugeneware/path-engine?color=blue)](https://github.com/eugeneware/path-engine/graphs/contributors)

Query [`levelup`][levelup] using a JavaScript property path array syntax with indexes.

### [`subindex`][subindex]

[![npm package version](https://img.shields.io/npm/v/subindex)](https://www.npmjs.com/package/subindex) [![npm downloads](https://img.shields.io/npm/dw/subindex)](https://www.npmjs.com/package/subindex) [![License](https://img.shields.io/npm/l/subindex?color=blue)](https://www.npmjs.com/package/subindex) [![Last commit](https://img.shields.io/github/last-commit/eugeneware/subindex)](https://github.com/eugeneware/subindex) [![Contributors](https://img.shields.io/github/contributors/eugeneware/subindex?color=blue)](https://github.com/eugeneware/subindex/graphs/contributors)

Generic pluggable indexing system for [`levelup`][levelup].

### [`level-sec`][level-sec]

[![npm package version](https://img.shields.io/npm/v/level-sec)](https://www.npmjs.com/package/level-sec) [![npm downloads](https://img.shields.io/npm/dw/level-sec)](https://www.npmjs.com/package/level-sec) [![License](https://img.shields.io/npm/l/level-sec?color=blue)](https://www.npmjs.com/package/level-sec) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-sec)](https://github.com/juliangruber/level-sec) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-sec?color=blue)](https://github.com/juliangruber/level-sec/graphs/contributors)

High-level API for creating secondary indexes.

### [`level-secondary`][level-secondary]

[![npm package version](https://img.shields.io/npm/v/level-secondary)](https://www.npmjs.com/package/level-secondary) [![npm downloads](https://img.shields.io/npm/dw/level-secondary)](https://www.npmjs.com/package/level-secondary) [![License](https://img.shields.io/npm/l/level-secondary?color=blue)](https://www.npmjs.com/package/level-secondary) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-secondary)](https://github.com/juliangruber/level-secondary) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-secondary?color=blue)](https://github.com/juliangruber/level-secondary/graphs/contributors)

Create and query secondary indexes.

### [`inverted-index`][inverted-index]

[![npm package version](https://img.shields.io/npm/v/inverted-index)](https://www.npmjs.com/package/inverted-index) [![npm downloads](https://img.shields.io/npm/dw/inverted-index)](https://www.npmjs.com/package/inverted-index) [![License](https://img.shields.io/npm/l/inverted-index?color=blue)](https://www.npmjs.com/package/inverted-index) [![Last commit](https://img.shields.io/github/last-commit/kordon/inverted)](https://github.com/kordon/inverted) [![Contributors](https://img.shields.io/github/contributors/kordon/inverted?color=blue)](https://github.com/kordon/inverted/graphs/contributors)

Inverted index built upon [`levelup`][levelup].

### [`level-index-update`][level-index-update]

[![npm package version](https://img.shields.io/npm/v/level-index-update)](https://www.npmjs.com/package/level-index-update) [![npm downloads](https://img.shields.io/npm/dw/level-index-update)](https://www.npmjs.com/package/level-index-update) [![License](https://img.shields.io/npm/l/level-index-update?color=blue)](https://www.npmjs.com/package/level-index-update) [![Last commit](https://img.shields.io/github/last-commit/binocarlos/level-index-update)](https://github.com/binocarlos/level-index-update) [![Contributors](https://img.shields.io/github/contributors/binocarlos/level-index-update?color=blue)](https://github.com/binocarlos/level-index-update/graphs/contributors)

Remove the old indexes in the same batch as the new ones are inserted.

### [`range-index`][range-index]

[![npm package version](https://img.shields.io/npm/v/range-index)](https://www.npmjs.com/package/range-index) [![npm downloads](https://img.shields.io/npm/dw/range-index)](https://www.npmjs.com/package/range-index) [![License](https://img.shields.io/npm/l/range-index?color=blue)](https://www.npmjs.com/package/range-index) [![Last commit](https://img.shields.io/github/last-commit/kordon/range)](https://github.com/kordon/range) [![Contributors](https://img.shields.io/github/contributors/kordon/range?color=blue)](https://github.com/kordon/range/graphs/contributors)

Range indexes for [`levelup`][levelup].

### [`level-path-index`][level-path-index]

[![npm package version](https://img.shields.io/npm/v/level-path-index)](https://www.npmjs.com/package/level-path-index) [![npm downloads](https://img.shields.io/npm/dw/level-path-index)](https://www.npmjs.com/package/level-path-index) [![License](https://img.shields.io/npm/l/level-path-index?color=blue)](https://www.npmjs.com/package/level-path-index) [![Last commit](https://img.shields.io/github/last-commit/binocarlos/level-path-index)](https://github.com/binocarlos/level-path-index) [![Contributors](https://img.shields.io/github/contributors/binocarlos/level-path-index?color=blue)](https://github.com/binocarlos/level-path-index/graphs/contributors)

Index properties of items that live in a tree of materialized paths.

### [`level-sql`][level-sql]

[![npm package version](https://img.shields.io/npm/v/level-sql)](https://www.npmjs.com/package/level-sql) [![npm downloads](https://img.shields.io/npm/dw/level-sql)](https://www.npmjs.com/package/level-sql) [![License](https://img.shields.io/npm/l/level-sql?color=blue)](https://www.npmjs.com/package/level-sql) [![Last commit](https://img.shields.io/github/last-commit/hij1nx/level-sql)](https://github.com/hij1nx/level-sql) [![Contributors](https://img.shields.io/github/contributors/hij1nx/level-sql?color=blue)](https://github.com/hij1nx/level-sql/graphs/contributors)

SQL queries for [`levelup`][levelup].

### [`level-hash-index`][level-hash-index]

[![npm package version](https://img.shields.io/npm/v/level-hash-index)](https://www.npmjs.com/package/level-hash-index) [![npm downloads](https://img.shields.io/npm/dw/level-hash-index)](https://www.npmjs.com/package/level-hash-index) [![License](https://img.shields.io/npm/l/level-hash-index?color=blue)](https://www.npmjs.com/package/level-hash-index) [![Last commit](https://img.shields.io/github/last-commit/smallhelm/level-hash-index)](https://github.com/smallhelm/level-hash-index) [![Contributors](https://img.shields.io/github/contributors/smallhelm/level-hash-index?color=blue)](https://github.com/smallhelm/level-hash-index/graphs/contributors)

Store any string into [`levelup`][levelup], and get a collision free hash of that value that you can use in an index (or similar).

### [`level-idx`][level-idx]

[![npm package version](https://img.shields.io/npm/v/level-idx)](https://www.npmjs.com/package/level-idx) [![npm downloads](https://img.shields.io/npm/dw/level-idx)](https://www.npmjs.com/package/level-idx) [![License](https://img.shields.io/npm/l/level-idx?color=blue)](https://www.npmjs.com/package/level-idx) [![Last commit](https://img.shields.io/github/last-commit/hypermodules/level-idx)](https://github.com/hypermodules/level-idx) [![Contributors](https://img.shields.io/github/contributors/hypermodules/level-idx?color=blue)](https://github.com/hypermodules/level-idx/graphs/contributors)

Another high-level API for creating secondary indexes, using [`level-auto-index`][level-auto-index].

### [`level-indexer`][level-indexer]

[![npm package version](https://img.shields.io/npm/v/level-indexer)](https://www.npmjs.com/package/level-indexer) [![npm downloads](https://img.shields.io/npm/dw/level-indexer)](https://www.npmjs.com/package/level-indexer) [![License](https://img.shields.io/npm/l/level-indexer?color=blue)](https://www.npmjs.com/package/level-indexer) [![Last commit](https://img.shields.io/github/last-commit/mafintosh/level-indexer)](https://github.com/mafintosh/level-indexer) [![Contributors](https://img.shields.io/github/contributors/mafintosh/level-indexer?color=blue)](https://github.com/mafintosh/level-indexer/graphs/contributors)

Generic indexer for [`levelup`][levelup]. Only stores document keys for space efficiency.

### [`level-librarian`][level-librarian]

[![npm package version](https://img.shields.io/npm/v/level-librarian)](https://www.npmjs.com/package/level-librarian) [![npm downloads](https://img.shields.io/npm/dw/level-librarian)](https://www.npmjs.com/package/level-librarian) [![License](https://img.shields.io/npm/l/level-librarian?color=blue)](https://www.npmjs.com/package/level-librarian) [![Last commit](https://img.shields.io/github/last-commit/microstar-db/level-librarian)](https://github.com/microstar-db/level-librarian) [![Contributors](https://img.shields.io/github/contributors/microstar-db/level-librarian?color=blue)](https://github.com/microstar-db/level-librarian/graphs/contributors)

Lightweight indexing and querying with the LLCJ query language.

### [`level-match-index`][level-match-index]

[![npm package version](https://img.shields.io/npm/v/level-match-index)](https://www.npmjs.com/package/level-match-index) [![npm downloads](https://img.shields.io/npm/dw/level-match-index)](https://www.npmjs.com/package/level-match-index) [![License](https://img.shields.io/npm/l/level-match-index?color=blue)](https://www.npmjs.com/package/level-match-index) [![Last commit](https://img.shields.io/github/last-commit/mmckegg/level-match-index)](https://github.com/mmckegg/level-match-index) [![Contributors](https://img.shields.io/github/contributors/mmckegg/level-match-index?color=blue)](https://github.com/mmckegg/level-match-index/graphs/contributors)

Index and filter [`level-sublevel`][level-sublevel] databases and watch for future changes.

### [`level-assoc`][level-assoc]

[![npm package version](https://img.shields.io/npm/v/level-assoc)](https://www.npmjs.com/package/level-assoc) [![npm downloads](https://img.shields.io/npm/dw/level-assoc)](https://www.npmjs.com/package/level-assoc) [![License](https://img.shields.io/npm/l/level-assoc?color=blue)](https://www.npmjs.com/package/level-assoc) [![Last commit](https://img.shields.io/github/last-commit/substack/level-assoc)](https://github.com/substack/level-assoc) [![Contributors](https://img.shields.io/github/contributors/substack/level-assoc?color=blue)](https://github.com/substack/level-assoc/graphs/contributors)

Relational foreign key associations (`hasMany`, `belongsTo`) for [`levelup`][levelup].

### [`level-tree-index`][level-tree-index]

[![npm package version](https://img.shields.io/npm/v/level-tree-index)](https://www.npmjs.com/package/level-tree-index) [![npm downloads](https://img.shields.io/npm/dw/level-tree-index)](https://www.npmjs.com/package/level-tree-index) [![License](https://img.shields.io/npm/l/level-tree-index?color=blue)](https://www.npmjs.com/package/level-tree-index) [![Last commit](https://img.shields.io/github/last-commit/biobricks/level-tree-index)](https://github.com/biobricks/level-tree-index) [![Contributors](https://img.shields.io/github/contributors/biobricks/level-tree-index?color=blue)](https://github.com/biobricks/level-tree-index/graphs/contributors)

Tree indexer for [`levelup`][levelup].

### [`changes-index`][changes-index]

[![npm package version](https://img.shields.io/npm/v/changes-index)](https://www.npmjs.com/package/changes-index) [![npm downloads](https://img.shields.io/npm/dw/changes-index)](https://www.npmjs.com/package/changes-index) [![License](https://img.shields.io/npm/l/changes-index?color=blue)](https://www.npmjs.com/package/changes-index) [![Last commit](https://img.shields.io/github/last-commit/substack/changes-index)](https://github.com/substack/changes-index) [![Contributors](https://img.shields.io/github/contributors/substack/changes-index?color=blue)](https://github.com/substack/changes-index/graphs/contributors)

Create indexes from a [changes-feed](https://github.com/mafintosh/changes-feed). Provides a way to create a materialized view on top of an append-only log.

### [`changesdown`][changesdown]

[![npm package version](https://img.shields.io/npm/v/changesdown)](https://www.npmjs.com/package/changesdown) [![npm downloads](https://img.shields.io/npm/dw/changesdown)](https://www.npmjs.com/package/changesdown) [![License](https://img.shields.io/npm/l/changesdown?color=blue)](https://www.npmjs.com/package/changesdown) [![Last commit](https://img.shields.io/github/last-commit/mafintosh/changesdown)](https://github.com/mafintosh/changesdown) [![Contributors](https://img.shields.io/github/contributors/mafintosh/changesdown?color=blue)](https://github.com/mafintosh/changesdown/graphs/contributors)

[`levelup`][levelup] interface that uses an [`abstract-leveldown`][abstract-leveldown] store that writes to a [changes-feed](https://github.com/mafintosh/changes-feed) to store its state.

### [`level-ordered`][level-ordered]

[![npm package version](https://img.shields.io/npm/v/level-ordered)](https://www.npmjs.com/package/level-ordered) [![npm downloads](https://img.shields.io/npm/dw/level-ordered)](https://www.npmjs.com/package/level-ordered) [![License](https://img.shields.io/npm/l/level-ordered?color=blue)](https://www.npmjs.com/package/level-ordered) [![Last commit](https://img.shields.io/github/last-commit/eranbnn/level-ordered)](https://github.com/eranbnn/level-ordered) [![Contributors](https://img.shields.io/github/contributors/eranbnn/level-ordered?color=blue)](https://github.com/eranbnn/level-ordered/graphs/contributors)

A wrapper for [`level`][level] that keeps inserted items ordered.

## Databases

**Complete Node.js databases built with Level.**

### [`dat`][dat]

[![npm package version](https://img.shields.io/npm/v/dat)](https://www.npmjs.com/package/dat) [![npm downloads](https://img.shields.io/npm/dw/dat)](https://www.npmjs.com/package/dat) [![License](https://img.shields.io/npm/l/dat?color=blue)](https://www.npmjs.com/package/dat) [![Last commit](https://img.shields.io/github/last-commit/maxogden/dat)](https://github.com/maxogden/dat) [![Contributors](https://img.shields.io/github/contributors/maxogden/dat?color=blue)](https://github.com/maxogden/dat/graphs/contributors)

Lets you build streaming data pipelines that can be shared and replicated by others.

### [`pouchdb`][pouchdb]

[![npm package version](https://img.shields.io/npm/v/pouchdb)](https://www.npmjs.com/package/pouchdb) [![npm downloads](https://img.shields.io/npm/dw/pouchdb)](https://www.npmjs.com/package/pouchdb) [![License](https://img.shields.io/npm/l/pouchdb?color=blue)](https://www.npmjs.com/package/pouchdb)

PouchDB allows you to store and query data offline and then sync with CouchDB when online. For Node, browser and mobile.

### [`levelgraph`][levelgraph]

[![npm package version](https://img.shields.io/npm/v/levelgraph)](https://www.npmjs.com/package/levelgraph) [![npm downloads](https://img.shields.io/npm/dw/levelgraph)](https://www.npmjs.com/package/levelgraph) [![License](https://img.shields.io/npm/l/levelgraph?color=blue)](https://www.npmjs.com/package/levelgraph) [![Last commit](https://img.shields.io/github/last-commit/mcollina/node-levelgraph)](https://github.com/mcollina/node-levelgraph) [![Contributors](https://img.shields.io/github/contributors/mcollina/node-levelgraph?color=blue)](https://github.com/mcollina/node-levelgraph/graphs/contributors)

A Graph database built on top of [`levelup`][levelup] with pattern-matching and join support.

### [`linvodb3`][linvodb3]

[![npm package version](https://img.shields.io/npm/v/linvodb3)](https://www.npmjs.com/package/linvodb3) [![npm downloads](https://img.shields.io/npm/dw/linvodb3)](https://www.npmjs.com/package/linvodb3) [![License](https://img.shields.io/npm/l/linvodb3?color=blue)](https://www.npmjs.com/package/linvodb3) [![Last commit](https://img.shields.io/github/last-commit/Ivshti/linvodb3)](https://github.com/Ivshti/linvodb3) [![Contributors](https://img.shields.io/github/contributors/Ivshti/linvodb3?color=blue)](https://github.com/Ivshti/linvodb3/graphs/contributors)

Persistent database on top of [`levelup`][levelup] for Node.js/NW.js with MongoDB-style queries, Mongoose-like models and a map/reduce system.

### [`rxdb`][rxdb]

[![npm package version](https://img.shields.io/npm/v/rxdb)](https://www.npmjs.com/package/rxdb) [![npm downloads](https://img.shields.io/npm/dw/rxdb)](https://www.npmjs.com/package/rxdb) [![License](https://img.shields.io/npm/l/rxdb?color=blue)](https://www.npmjs.com/package/rxdb) [![Last commit](https://img.shields.io/github/last-commit/pubkey/rxdb)](https://github.com/pubkey/rxdb) [![Contributors](https://img.shields.io/github/contributors/pubkey/rxdb?color=blue)](https://github.com/pubkey/rxdb/graphs/contributors)

Event-driven database based on [`pouchdb`][pouchdb]. Optimized for reactive programming with observables. Events and state is automatically shared between multiple browser tabs. Queries are defined by the mongoDB mango-standard.

### [`search-index`][search-index]

[![npm package version](https://img.shields.io/npm/v/search-index)](https://www.npmjs.com/package/search-index) [![npm downloads](https://img.shields.io/npm/dw/search-index)](https://www.npmjs.com/package/search-index) [![License](https://img.shields.io/npm/l/search-index?color=blue)](https://www.npmjs.com/package/search-index) [![Last commit](https://img.shields.io/github/last-commit/fergiemcdowall/search-index)](https://github.com/fergiemcdowall/search-index) [![Contributors](https://img.shields.io/github/contributors/fergiemcdowall/search-index?color=blue)](https://github.com/fergiemcdowall/search-index/graphs/contributors)

A persistent full text search engine for browser and Node.js.

## Data Structures

**Modules that utilize a specific key/value scheme to provide a higher-level data structure.**

### [`merkle-dag`][merkle-dag]

[![npm package version](https://img.shields.io/npm/v/merkle-dag)](https://www.npmjs.com/package/merkle-dag) [![npm downloads](https://img.shields.io/npm/dw/merkle-dag)](https://www.npmjs.com/package/merkle-dag) [![License](https://img.shields.io/npm/l/merkle-dag?color=blue)](https://www.npmjs.com/package/merkle-dag) [![Last commit](https://img.shields.io/github/last-commit/mafintosh/merkle-dag)](https://github.com/mafintosh/merkle-dag) [![Contributors](https://img.shields.io/github/contributors/mafintosh/merkle-dag?color=blue)](https://github.com/mafintosh/merkle-dag/graphs/contributors)

Merkle DAG on top of LevelDB

### [`merkle-patricia-tree`][merkle-patricia-tree]

[![npm package version](https://img.shields.io/npm/v/merkle-patricia-tree)](https://www.npmjs.com/package/merkle-patricia-tree) [![npm downloads](https://img.shields.io/npm/dw/merkle-patricia-tree)](https://www.npmjs.com/package/merkle-patricia-tree) [![License](https://img.shields.io/npm/l/merkle-patricia-tree?color=blue)](https://www.npmjs.com/package/merkle-patricia-tree) [![Last commit](https://img.shields.io/github/last-commit/ethereumjs/merkle-patricia-tree)](https://github.com/ethereumjs/merkle-patricia-tree) [![Contributors](https://img.shields.io/github/contributors/ethereumjs/merkle-patricia-tree?color=blue)](https://github.com/ethereumjs/merkle-patricia-tree/graphs/contributors)

Implementation of the modified merkle patricia tree as specified in [Ethereum's yellow paper](http://gavwood.com/Paper.pdf).

### [`level-array`][level-array]

[![npm package version](https://img.shields.io/npm/v/level-array)](https://www.npmjs.com/package/level-array) [![npm downloads](https://img.shields.io/npm/dw/level-array)](https://www.npmjs.com/package/level-array) [![License](https://img.shields.io/npm/l/level-array?color=blue)](https://www.npmjs.com/package/level-array) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-array)](https://github.com/juliangruber/level-array) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-array?color=blue)](https://github.com/juliangruber/level-array/graphs/contributors)

The array datatype inside [`levelup`][levelup].

### [`level-set`][level-set]

[![npm package version](https://img.shields.io/npm/v/level-set)](https://www.npmjs.com/package/level-set) [![npm downloads](https://img.shields.io/npm/dw/level-set)](https://www.npmjs.com/package/level-set) [![License](https://img.shields.io/npm/l/level-set?color=blue)](https://www.npmjs.com/package/level-set) [![Last commit](https://img.shields.io/github/last-commit/maiah/level-set)](https://github.com/maiah/level-set) [![Contributors](https://img.shields.io/github/contributors/maiah/level-set?color=blue)](https://github.com/maiah/level-set/graphs/contributors)

Add a `set` method to [`levelup`][levelup] for saving objects in a tree-like structure.

### [`level-push`][level-push]

[![npm package version](https://img.shields.io/npm/v/level-push)](https://www.npmjs.com/package/level-push) [![npm downloads](https://img.shields.io/npm/dw/level-push)](https://www.npmjs.com/package/level-push) [![License](https://img.shields.io/npm/l/level-push?color=blue)](https://www.npmjs.com/package/level-push) [![Last commit](https://img.shields.io/github/last-commit/maiah/level-push)](https://github.com/maiah/level-push) [![Contributors](https://img.shields.io/github/contributors/maiah/level-push?color=blue)](https://github.com/maiah/level-push/graphs/contributors)

Add a `push` method to [`levelup`][levelup] for saving objects using [`level-set`][level-set] with auto-generated UUID.

### [`level-version`][level-version]

[![npm package version](https://img.shields.io/npm/v/level-version)](https://www.npmjs.com/package/level-version) [![npm downloads](https://img.shields.io/npm/dw/level-version)](https://www.npmjs.com/package/level-version) [![License](https://img.shields.io/npm/l/level-version?color=blue)](https://www.npmjs.com/package/level-version) [![Last commit](https://img.shields.io/github/last-commit/brycebaril/level-version)](https://github.com/brycebaril/level-version) [![Contributors](https://img.shields.io/github/contributors/brycebaril/level-version?color=blue)](https://github.com/brycebaril/level-version/graphs/contributors)

Store and retrieve versioned data in [`levelup`][levelup].

### [`level-queue-type`][level-queue-type]

[![npm package version](https://img.shields.io/npm/v/level-queue-type)](https://www.npmjs.com/package/level-queue-type) [![npm downloads](https://img.shields.io/npm/dw/level-queue-type)](https://www.npmjs.com/package/level-queue-type) [![License](https://img.shields.io/npm/l/level-queue-type?color=blue)](https://www.npmjs.com/package/level-queue-type) [![Last commit](https://img.shields.io/github/last-commit/mcollina/level-queue-type)](https://github.com/mcollina/level-queue-type) [![Contributors](https://img.shields.io/github/contributors/mcollina/level-queue-type?color=blue)](https://github.com/mcollina/level-queue-type/graphs/contributors)

The queue datatype inside [`levelup`][levelup].

### [`level-q`][level-q]

[![npm package version](https://img.shields.io/npm/v/level-q)](https://www.npmjs.com/package/level-q) [![npm downloads](https://img.shields.io/npm/dw/level-q)](https://www.npmjs.com/package/level-q) [![License](https://img.shields.io/npm/l/level-q?color=blue)](https://www.npmjs.com/package/level-q) [![Last commit](https://img.shields.io/github/last-commit/eugeneware/level-q)](https://github.com/eugeneware/level-q) [![Contributors](https://img.shields.io/github/contributors/eugeneware/level-q?color=blue)](https://github.com/eugeneware/level-q/graphs/contributors)

Priority queuing for [`levelup`][levelup].

### [`qool`][qool]

[![npm package version](https://img.shields.io/npm/v/qool)](https://www.npmjs.com/package/qool) [![npm downloads](https://img.shields.io/npm/dw/qool)](https://www.npmjs.com/package/qool) [![License](https://img.shields.io/npm/l/qool?color=blue)](https://www.npmjs.com/package/qool) [![Last commit](https://img.shields.io/github/last-commit/kessler/qool)](https://github.com/kessler/qool) [![Contributors](https://img.shields.io/github/contributors/kessler/qool?color=blue)](https://github.com/kessler/qool/graphs/contributors)

A queue backed by [`levelup`][levelup], durable and FIFO.

### [`level-trie`][level-trie]

[![npm package version](https://img.shields.io/npm/v/level-trie)](https://www.npmjs.com/package/level-trie) [![npm downloads](https://img.shields.io/npm/dw/level-trie)](https://www.npmjs.com/package/level-trie) [![License](https://img.shields.io/npm/l/level-trie?color=blue)](https://www.npmjs.com/package/level-trie) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-trie)](https://github.com/juliangruber/level-trie) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-trie?color=blue)](https://github.com/juliangruber/level-trie/graphs/contributors)

The TRIE data structure and search algorithm, on top of [`levelup`][levelup].

### [`level-geospatial`][level-geospatial]

[![npm package version](https://img.shields.io/npm/v/level-geospatial)](https://www.npmjs.com/package/level-geospatial) [![npm downloads](https://img.shields.io/npm/dw/level-geospatial)](https://www.npmjs.com/package/level-geospatial) [![License](https://img.shields.io/npm/l/level-geospatial?color=blue)](https://www.npmjs.com/package/level-geospatial) [![Last commit](https://img.shields.io/github/last-commit/richorama/level-geospatial)](https://github.com/richorama/level-geospatial) [![Contributors](https://img.shields.io/github/contributors/richorama/level-geospatial?color=blue)](https://github.com/richorama/level-geospatial/graphs/contributors)

Store key values pairs with lat/lon coordinates, and query using a radius.

### [`level-pathwise`][level-pathwise]

[![npm package version](https://img.shields.io/npm/v/level-pathwise)](https://www.npmjs.com/package/level-pathwise) [![npm downloads](https://img.shields.io/npm/dw/level-pathwise)](https://www.npmjs.com/package/level-pathwise) [![License](https://img.shields.io/npm/l/level-pathwise?color=blue)](https://www.npmjs.com/package/level-pathwise) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-pathwise)](https://github.com/juliangruber/level-pathwise) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-pathwise?color=blue)](https://github.com/juliangruber/level-pathwise/graphs/contributors)

Turn [`levelup`][levelup] into one huge object of arbitrary size! Efficiently and atomically update and read parts of it.

### [`level-places`][level-places]

[![npm package version](https://img.shields.io/npm/v/level-places)](https://www.npmjs.com/package/level-places) [![npm downloads](https://img.shields.io/npm/dw/level-places)](https://www.npmjs.com/package/level-places) [![License](https://img.shields.io/npm/l/level-places?color=blue)](https://www.npmjs.com/package/level-places) [![Last commit](https://img.shields.io/github/last-commit/Wayla/level-places)](https://github.com/Wayla/level-places) [![Contributors](https://img.shields.io/github/contributors/Wayla/level-places?color=blue)](https://github.com/Wayla/level-places/graphs/contributors)

Store and retrieve places near a lat/long pair.

### [`level-nearby-stream`][level-nearby-stream]

[![npm package version](https://img.shields.io/npm/v/level-nearby-stream)](https://www.npmjs.com/package/level-nearby-stream) [![npm downloads](https://img.shields.io/npm/dw/level-nearby-stream)](https://www.npmjs.com/package/level-nearby-stream) [![License](https://img.shields.io/npm/l/level-nearby-stream?color=blue)](https://www.npmjs.com/package/level-nearby-stream) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-nearby-stream)](https://github.com/juliangruber/level-nearby-stream) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-nearby-stream?color=blue)](https://github.com/juliangruber/level-nearby-stream/graphs/contributors)

Stream in nearby places using the browser's geolocation and [`level-places`][level-places].

### [`level-tree`][level-tree]

[![npm package version](https://img.shields.io/npm/v/level-tree)](https://www.npmjs.com/package/level-tree) [![npm downloads](https://img.shields.io/npm/dw/level-tree)](https://www.npmjs.com/package/level-tree) [![License](https://img.shields.io/npm/l/level-tree?color=blue)](https://www.npmjs.com/package/level-tree) [![Last commit](https://img.shields.io/github/last-commit/calvinmetcalf/level-tree)](https://github.com/calvinmetcalf/level-tree) [![Contributors](https://img.shields.io/github/contributors/calvinmetcalf/level-tree?color=blue)](https://github.com/calvinmetcalf/level-tree/graphs/contributors)

Geospatial indexing for GeoJSON in [`levelup`][levelup]

### [`level-list`][level-list]

[![npm package version](https://img.shields.io/npm/v/level-list)](https://www.npmjs.com/package/level-list) [![npm downloads](https://img.shields.io/npm/dw/level-list)](https://www.npmjs.com/package/level-list) [![License](https://img.shields.io/npm/l/level-list?color=blue)](https://www.npmjs.com/package/level-list) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-list)](https://github.com/juliangruber/level-list) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-list?color=blue)](https://github.com/juliangruber/level-list/graphs/contributors)

Map lists of data stored in [`levelup`][levelup] to DOM elements.

### [`level-reactive`][level-reactive]

[![npm package version](https://img.shields.io/npm/v/level-reactive)](https://www.npmjs.com/package/level-reactive) [![npm downloads](https://img.shields.io/npm/dw/level-reactive)](https://www.npmjs.com/package/level-reactive) [![License](https://img.shields.io/npm/l/level-reactive?color=blue)](https://www.npmjs.com/package/level-reactive) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-reactive)](https://github.com/juliangruber/level-reactive) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-reactive?color=blue)](https://github.com/juliangruber/level-reactive/graphs/contributors)

Reactive templating for data stored in [`levelup`][levelup].

### [`level-paginate`][level-paginate]

[![npm package version](https://img.shields.io/npm/v/level-paginate)](https://www.npmjs.com/package/level-paginate) [![npm downloads](https://img.shields.io/npm/dw/level-paginate)](https://www.npmjs.com/package/level-paginate) [![License](https://img.shields.io/npm/l/level-paginate?color=blue)](https://www.npmjs.com/package/level-paginate) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-paginate)](https://github.com/juliangruber/level-paginate) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-paginate?color=blue)](https://github.com/juliangruber/level-paginate/graphs/contributors)

Streaming pagination for [`levelup`][levelup].

### [`level-average`][level-average]

[![npm package version](https://img.shields.io/npm/v/level-average)](https://www.npmjs.com/package/level-average) [![npm downloads](https://img.shields.io/npm/dw/level-average)](https://www.npmjs.com/package/level-average) [![License](https://img.shields.io/npm/l/level-average?color=blue)](https://www.npmjs.com/package/level-average) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-average)](https://github.com/juliangruber/level-average) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-average?color=blue)](https://github.com/juliangruber/level-average/graphs/contributors)

Calculate rolling averages in [`levelup`][levelup].

### [`level-sum`][level-sum]

[![npm package version](https://img.shields.io/npm/v/level-sum)](https://www.npmjs.com/package/level-sum) [![npm downloads](https://img.shields.io/npm/dw/level-sum)](https://www.npmjs.com/package/level-sum) [![License](https://img.shields.io/npm/l/level-sum?color=blue)](https://www.npmjs.com/package/level-sum) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-sum)](https://github.com/juliangruber/level-sum) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-sum?color=blue)](https://github.com/juliangruber/level-sum/graphs/contributors)

Calculate sums in [`levelup`][levelup] and get live updates.

### [`level-historical-json`][level-historical-json]

[![npm package version](https://img.shields.io/npm/v/level-historical-json)](https://www.npmjs.com/package/level-historical-json) [![npm downloads](https://img.shields.io/npm/dw/level-historical-json)](https://www.npmjs.com/package/level-historical-json) [![License](https://img.shields.io/npm/l/level-historical-json?color=blue)](https://www.npmjs.com/package/level-historical-json) [![Last commit](https://img.shields.io/github/last-commit/ellell/level-historical-json)](https://github.com/ellell/level-historical-json) [![Contributors](https://img.shields.io/github/contributors/ellell/level-historical-json?color=blue)](https://github.com/ellell/level-historical-json/graphs/contributors)

Keep a history of all the changes of a JSON document.

### [`level-immutable`][level-immutable]

[![npm package version](https://img.shields.io/npm/v/level-immutable)](https://www.npmjs.com/package/level-immutable) [![npm downloads](https://img.shields.io/npm/dw/level-immutable)](https://www.npmjs.com/package/level-immutable) [![License](https://img.shields.io/npm/l/level-immutable?color=blue)](https://www.npmjs.com/package/level-immutable) [![Last commit](https://img.shields.io/github/last-commit/eugeneware/level-immutable)](https://github.com/eugeneware/level-immutable) [![Contributors](https://img.shields.io/github/contributors/eugeneware/level-immutable?color=blue)](https://github.com/eugeneware/level-immutable/graphs/contributors)

[`levelup`][levelup] immutable history and database snapshotting based on ideas in `datomic`.

### [`level-model`][level-model]

[![npm package version](https://img.shields.io/npm/v/level-model)](https://www.npmjs.com/package/level-model) [![npm downloads](https://img.shields.io/npm/dw/level-model)](https://www.npmjs.com/package/level-model) [![License](https://img.shields.io/npm/l/level-model?color=blue)](https://www.npmjs.com/package/level-model) [![Last commit](https://img.shields.io/github/last-commit/sethvincent/level-model)](https://github.com/sethvincent/level-model) [![Contributors](https://img.shields.io/github/contributors/sethvincent/level-model?color=blue)](https://github.com/sethvincent/level-model/graphs/contributors)

A higher-level module for creating content models using [`levelup`][levelup] and JSON Schema validation.

### [`level-stream`][level-stream]

[![npm package version](https://img.shields.io/npm/v/level-stream)](https://www.npmjs.com/package/level-stream) [![npm downloads](https://img.shields.io/npm/dw/level-stream)](https://www.npmjs.com/package/level-stream) [![License](https://img.shields.io/npm/l/level-stream?color=blue)](https://www.npmjs.com/package/level-stream) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-stream)](https://github.com/juliangruber/level-stream) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-stream?color=blue)](https://github.com/juliangruber/level-stream/graphs/contributors)

Persist streams in [`levelup`][levelup].

### [`level-stay`][level-stay]

[![npm package version](https://img.shields.io/npm/v/level-stay)](https://www.npmjs.com/package/level-stay) [![npm downloads](https://img.shields.io/npm/dw/level-stay)](https://www.npmjs.com/package/level-stay) [![License](https://img.shields.io/npm/l/level-stay?color=blue)](https://www.npmjs.com/package/level-stay) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-stay)](https://github.com/juliangruber/level-stay) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-stay?color=blue)](https://github.com/juliangruber/level-stay/graphs/contributors)

An alternative approach to storing scuttlebutts in [`levelup`][levelup].

### [`skeyma`][skeyma]

[![npm package version](https://img.shields.io/npm/v/skeyma)](https://www.npmjs.com/package/skeyma) [![npm downloads](https://img.shields.io/npm/dw/skeyma)](https://www.npmjs.com/package/skeyma) [![License](https://img.shields.io/npm/l/skeyma?color=blue)](https://www.npmjs.com/package/skeyma) [![Last commit](https://img.shields.io/github/last-commit/jed/skeyma)](https://github.com/jed/skeyma) [![Contributors](https://img.shields.io/github/contributors/jed/skeyma?color=blue)](https://github.com/jed/skeyma/graphs/contributors)

Turns a template string (like `${forumId}/${postId}`) into parse/serialize streams that transform objects like `{forumId, postId, text}` into key-value pairs and back.

### [`level-autotable`][level-autotable]

[![npm package version](https://img.shields.io/npm/v/level-autotable)](https://www.npmjs.com/package/level-autotable) [![npm downloads](https://img.shields.io/npm/dw/level-autotable)](https://www.npmjs.com/package/level-autotable) [![License](https://img.shields.io/npm/l/level-autotable?color=blue)](https://www.npmjs.com/package/level-autotable) [![Last commit](https://img.shields.io/github/last-commit/santoshrajan/levelup-autotable)](https://github.com/santoshrajan/levelup-autotable) [![Contributors](https://img.shields.io/github/contributors/santoshrajan/levelup-autotable?color=blue)](https://github.com/santoshrajan/levelup-autotable/graphs/contributors)

Auto incrementing keys with "fields" and "records".

### [`level-forks`][level-forks]

[![npm package version](https://img.shields.io/npm/v/level-forks)](https://www.npmjs.com/package/level-forks) [![npm downloads](https://img.shields.io/npm/dw/level-forks)](https://www.npmjs.com/package/level-forks) [![License](https://img.shields.io/npm/l/level-forks?color=blue)](https://www.npmjs.com/package/level-forks) [![Last commit](https://img.shields.io/github/last-commit/substack/level-forks)](https://github.com/substack/level-forks) [![Contributors](https://img.shields.io/github/contributors/substack/level-forks?color=blue)](https://github.com/substack/level-forks/graphs/contributors)

Forking graph of cascading namespaces.

### [`level-geo`][level-geo]

[![npm package version](https://img.shields.io/npm/v/level-geo)](https://www.npmjs.com/package/level-geo) [![npm downloads](https://img.shields.io/npm/dw/level-geo)](https://www.npmjs.com/package/level-geo) [![License](https://img.shields.io/npm/l/level-geo?color=blue)](https://www.npmjs.com/package/level-geo) [![Last commit](https://img.shields.io/github/last-commit/julianduque/level-geo)](https://github.com/julianduque/level-geo) [![Contributors](https://img.shields.io/github/contributors/julianduque/level-geo?color=blue)](https://github.com/julianduque/level-geo/graphs/contributors)

A geospatial index for [`levelup`][levelup].

### [`level-geography`][level-geography]

[![npm package version](https://img.shields.io/npm/v/level-geography)](https://www.npmjs.com/package/level-geography) [![npm downloads](https://img.shields.io/npm/dw/level-geography)](https://www.npmjs.com/package/level-geography) [![License](https://img.shields.io/npm/l/level-geography?color=blue)](https://www.npmjs.com/package/level-geography) [![Last commit](https://img.shields.io/github/last-commit/morganherlocker/level-geography)](https://github.com/morganherlocker/level-geography) [![Contributors](https://img.shields.io/github/contributors/morganherlocker/level-geography?color=blue)](https://github.com/morganherlocker/level-geography/graphs/contributors)

Indexed geography storage in [`levelup`][levelup].

### [`accountdown`][accountdown]

[![npm package version](https://img.shields.io/npm/v/accountdown)](https://www.npmjs.com/package/accountdown) [![npm downloads](https://img.shields.io/npm/dw/accountdown)](https://www.npmjs.com/package/accountdown) [![License](https://img.shields.io/npm/l/accountdown?color=blue)](https://www.npmjs.com/package/accountdown) [![Last commit](https://img.shields.io/github/last-commit/substack/accountdown)](https://github.com/substack/accountdown) [![Contributors](https://img.shields.io/github/contributors/substack/accountdown?color=blue)](https://github.com/substack/accountdown/graphs/contributors)

Persistent user accounts.

### [`accountdown-model`][accountdown-model]

[![npm package version](https://img.shields.io/npm/v/accountdown-model)](https://www.npmjs.com/package/accountdown-model) [![npm downloads](https://img.shields.io/npm/dw/accountdown-model)](https://www.npmjs.com/package/accountdown-model) [![License](https://img.shields.io/npm/l/accountdown-model?color=blue)](https://www.npmjs.com/package/accountdown-model) [![Last commit](https://img.shields.io/github/last-commit/sethvincent/accountdown-model)](https://github.com/sethvincent/accountdown-model) [![Contributors](https://img.shields.io/github/contributors/sethvincent/accountdown-model?color=blue)](https://github.com/sethvincent/accountdown-model/graphs/contributors)

A wrapper around [`accountdown`][accountdown] that provides a few additional features

## Transience

### [`cachedown`][cachedown]

[![npm package version](https://img.shields.io/npm/v/cachedown)](https://www.npmjs.com/package/cachedown) [![npm downloads](https://img.shields.io/npm/dw/cachedown)](https://www.npmjs.com/package/cachedown) [![License](https://img.shields.io/npm/l/cachedown?color=blue)](https://www.npmjs.com/package/cachedown) [![Last commit](https://img.shields.io/github/last-commit/mvayngrib/cachedown)](https://github.com/mvayngrib/cachedown) [![Contributors](https://img.shields.io/github/contributors/mvayngrib/cachedown?color=blue)](https://github.com/mvayngrib/cachedown/graphs/contributors)

LRU cache implemented as an [`abstract-leveldown`][abstract-leveldown] layer.

### [`level-ttl`][level-ttl]

[![npm package version](https://img.shields.io/npm/v/level-ttl)](https://www.npmjs.com/package/level-ttl) [![npm downloads](https://img.shields.io/npm/dw/level-ttl)](https://www.npmjs.com/package/level-ttl) [![License](https://img.shields.io/npm/l/level-ttl?color=blue)](https://www.npmjs.com/package/level-ttl) [![Last commit](https://img.shields.io/github/last-commit/Level/level-ttl)](https://github.com/Level/level-ttl) [![Contributors](https://img.shields.io/github/contributors/Level/level-ttl?color=blue)](https://github.com/Level/level-ttl/graphs/contributors)

Add a `ttl` (time-to-live) option to [`levelup`][levelup]. NB. Suffers from race issues. See also [`tiny-level-ttl`][tiny-level-ttl].

### [`tiny-level-ttl`][tiny-level-ttl]

[![npm package version](https://img.shields.io/npm/v/tiny-level-ttl)](https://www.npmjs.com/package/tiny-level-ttl) [![npm downloads](https://img.shields.io/npm/dw/tiny-level-ttl)](https://www.npmjs.com/package/tiny-level-ttl) [![License](https://img.shields.io/npm/l/tiny-level-ttl?color=blue)](https://www.npmjs.com/package/tiny-level-ttl) [![Last commit](https://img.shields.io/github/last-commit/ArtskydJ/tiny-level-ttl)](https://github.com/ArtskydJ/tiny-level-ttl) [![Contributors](https://img.shields.io/github/contributors/ArtskydJ/tiny-level-ttl?color=blue)](https://github.com/ArtskydJ/tiny-level-ttl/graphs/contributors)

Add a `ttl` (time-to-live) option to [`levelup`][levelup], [`level-sublevel`][level-sublevel] or [`level-spaces`][level-spaces]. Also respects [`level-lock`][level-lock].

### [`level-live-cache`][level-live-cache]

[![npm package version](https://img.shields.io/npm/v/level-live-cache)](https://www.npmjs.com/package/level-live-cache) [![npm downloads](https://img.shields.io/npm/dw/level-live-cache)](https://www.npmjs.com/package/level-live-cache) [![License](https://img.shields.io/npm/l/level-live-cache?color=blue)](https://www.npmjs.com/package/level-live-cache) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-live-cache)](https://github.com/juliangruber/level-live-cache) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-live-cache?color=blue)](https://github.com/juliangruber/level-live-cache/graphs/contributors)

An in-memory cache that keeps up to date with its source.

### [`level-lru-cache`][level-lru-cache]

[![npm package version](https://img.shields.io/npm/v/level-lru-cache)](https://www.npmjs.com/package/level-lru-cache) [![npm downloads](https://img.shields.io/npm/dw/level-lru-cache)](https://www.npmjs.com/package/level-lru-cache) [![License](https://img.shields.io/npm/l/level-lru-cache?color=blue)](https://www.npmjs.com/package/level-lru-cache) [![Last commit](https://img.shields.io/github/last-commit/kemitchell/level-lru-cache.js)](https://github.com/kemitchell/level-lru-cache.js) [![Contributors](https://img.shields.io/github/contributors/kemitchell/level-lru-cache.js?color=blue)](https://github.com/kemitchell/level-lru-cache.js/graphs/contributors)

Simple LRU cache.

### [`level-ttl-cache`][level-ttl-cache]

[![npm package version](https://img.shields.io/npm/v/level-ttl-cache)](https://www.npmjs.com/package/level-ttl-cache) [![npm downloads](https://img.shields.io/npm/dw/level-ttl-cache)](https://www.npmjs.com/package/level-ttl-cache) [![License](https://img.shields.io/npm/l/level-ttl-cache?color=blue)](https://www.npmjs.com/package/level-ttl-cache) [![Last commit](https://img.shields.io/github/last-commit/rvagg/level-ttl-cache)](https://github.com/rvagg/level-ttl-cache) [![Contributors](https://img.shields.io/github/contributors/rvagg/level-ttl-cache?color=blue)](https://github.com/rvagg/level-ttl-cache/graphs/contributors)

A pass-through cache for arbitrary objects or binary data using LevelDB, expired by a TTL.

### [`level-cache`][level-cache]

[![npm package version](https://img.shields.io/npm/v/level-cache)](https://www.npmjs.com/package/level-cache) [![npm downloads](https://img.shields.io/npm/dw/level-cache)](https://www.npmjs.com/package/level-cache) [![License](https://img.shields.io/npm/l/level-cache?color=blue)](https://www.npmjs.com/package/level-cache) [![Last commit](https://img.shields.io/github/last-commit/Raynos/level-cache)](https://github.com/Raynos/level-cache) [![Contributors](https://img.shields.io/github/contributors/Raynos/level-cache?color=blue)](https://github.com/Raynos/level-cache/graphs/contributors)

A caching module you can place in front of a [`levelup`][levelup] database. It will cache a subset of the database in an in-memory LRU cache based on configuration. It has an optional synchronous API which will return from the cache only.

### [`levelup-cache`][levelup-cache]

[![npm package version](https://img.shields.io/npm/v/levelup-cache)](https://www.npmjs.com/package/levelup-cache) [![npm downloads](https://img.shields.io/npm/dw/levelup-cache)](https://www.npmjs.com/package/levelup-cache) [![License](https://img.shields.io/npm/l/levelup-cache?color=blue)](https://www.npmjs.com/package/levelup-cache) [![Last commit](https://img.shields.io/github/last-commit/TehShrike/levelup-cache)](https://github.com/TehShrike/levelup-cache) [![Contributors](https://img.shields.io/github/contributors/TehShrike/levelup-cache?color=blue)](https://github.com/TehShrike/levelup-cache/graphs/contributors)

Use [`levelup`][levelup] to cache remote data.

## Atomicity

### [`level-lock`][level-lock]

[![npm package version](https://img.shields.io/npm/v/level-lock)](https://www.npmjs.com/package/level-lock) [![npm downloads](https://img.shields.io/npm/dw/level-lock)](https://www.npmjs.com/package/level-lock) [![License](https://img.shields.io/npm/l/level-lock?color=blue)](https://www.npmjs.com/package/level-lock) [![Last commit](https://img.shields.io/github/last-commit/substack/level-lock)](https://github.com/substack/level-lock) [![Contributors](https://img.shields.io/github/contributors/substack/level-lock?color=blue)](https://github.com/substack/level-lock/graphs/contributors)

In-memory advisory read/write locks for [`levelup`][levelup] keys.

### [`level-mutex`][level-mutex]

[![npm package version](https://img.shields.io/npm/v/level-mutex)](https://www.npmjs.com/package/level-mutex) [![npm downloads](https://img.shields.io/npm/dw/level-mutex)](https://www.npmjs.com/package/level-mutex) [![License](https://img.shields.io/npm/l/level-mutex?color=blue)](https://www.npmjs.com/package/level-mutex) [![Last commit](https://img.shields.io/github/last-commit/mikeal/level-mutex)](https://github.com/mikeal/level-mutex) [![Contributors](https://img.shields.io/github/contributors/mikeal/level-mutex?color=blue)](https://github.com/mikeal/level-mutex/graphs/contributors)

Mutex read/write lock for [`levelup`][levelup].

### [`level-updater`][level-updater]

[![npm package version](https://img.shields.io/npm/v/level-updater)](https://www.npmjs.com/package/level-updater) [![npm downloads](https://img.shields.io/npm/dw/level-updater)](https://www.npmjs.com/package/level-updater) [![License](https://img.shields.io/npm/l/level-updater?color=blue)](https://www.npmjs.com/package/level-updater) [![Last commit](https://img.shields.io/github/last-commit/hughsk/level-updater)](https://github.com/hughsk/level-updater) [![Contributors](https://img.shields.io/github/contributors/hughsk/level-updater?color=blue)](https://github.com/hughsk/level-updater/graphs/contributors)

Update keys without overlapping changes - makes it possible to implement an atomic incrementer, JSON merger, etc.

### [`levelplus`][levelplus]

[![npm package version](https://img.shields.io/npm/v/levelplus)](https://www.npmjs.com/package/levelplus) [![npm downloads](https://img.shields.io/npm/dw/levelplus)](https://www.npmjs.com/package/levelplus) [![License](https://img.shields.io/npm/l/levelplus?color=blue)](https://www.npmjs.com/package/levelplus) [![Last commit](https://img.shields.io/github/last-commit/https://github.com/eugeneware/levelplus)](https://github.com/https://github.com/eugeneware/levelplus) [![Contributors](https://img.shields.io/github/contributors/https://github.com/eugeneware/levelplus?color=blue)](https://github.com/https://github.com/eugeneware/levelplus/graphs/contributors)

Adds atomic updates, increments, array pushes, set additions and user-defined atomic operations to [`levelup`][levelup].

### [`level-atomics`][level-atomics]

[![npm package version](https://img.shields.io/npm/v/level-atomics)](https://www.npmjs.com/package/level-atomics) [![npm downloads](https://img.shields.io/npm/dw/level-atomics)](https://www.npmjs.com/package/level-atomics) [![License](https://img.shields.io/npm/l/level-atomics?color=blue)](https://www.npmjs.com/package/level-atomics) [![Last commit](https://img.shields.io/github/last-commit/IndigoUnited/node-level-atomics)](https://github.com/IndigoUnited/node-level-atomics) [![Contributors](https://img.shields.io/github/contributors/IndigoUnited/node-level-atomics?color=blue)](https://github.com/IndigoUnited/node-level-atomics/graphs/contributors)

Add (parallel) atomic operations like `insert`, `replace`, `increment` and `decrement` to [`levelup`][levelup].

### [`level-transactions`][level-transactions]

[![npm package version](https://img.shields.io/npm/v/level-transactions)](https://www.npmjs.com/package/level-transactions) [![npm downloads](https://img.shields.io/npm/dw/level-transactions)](https://www.npmjs.com/package/level-transactions) [![License](https://img.shields.io/npm/l/level-transactions?color=blue)](https://www.npmjs.com/package/level-transactions) [![Last commit](https://img.shields.io/github/last-commit/cshum/level-transactions)](https://github.com/cshum/level-transactions) [![Contributors](https://img.shields.io/github/contributors/cshum/level-transactions?color=blue)](https://github.com/cshum/level-transactions/graphs/contributors)

Transaction layer for [`levelup`][levelup].

## Jobs

### [`level-schedule`][level-schedule]

[![npm package version](https://img.shields.io/npm/v/level-schedule)](https://www.npmjs.com/package/level-schedule) [![npm downloads](https://img.shields.io/npm/dw/level-schedule)](https://www.npmjs.com/package/level-schedule) [![License](https://img.shields.io/npm/l/level-schedule?color=blue)](https://www.npmjs.com/package/level-schedule) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-schedule)](https://github.com/juliangruber/level-schedule) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-schedule?color=blue)](https://github.com/juliangruber/level-schedule/graphs/contributors)

A durable job scheduler.

### [`level-jobs`][level-jobs]

[![npm package version](https://img.shields.io/npm/v/level-jobs)](https://www.npmjs.com/package/level-jobs) [![npm downloads](https://img.shields.io/npm/dw/level-jobs)](https://www.npmjs.com/package/level-jobs) [![License](https://img.shields.io/npm/l/level-jobs?color=blue)](https://www.npmjs.com/package/level-jobs) [![Last commit](https://img.shields.io/github/last-commit/pgte/level-jobs)](https://github.com/pgte/level-jobs) [![Contributors](https://img.shields.io/github/contributors/pgte/level-jobs?color=blue)](https://github.com/pgte/level-jobs/graphs/contributors)

Job Queue in [`levelup`][levelup].

### [`batchdb`][batchdb]

[![npm package version](https://img.shields.io/npm/v/batchdb)](https://www.npmjs.com/package/batchdb) [![npm downloads](https://img.shields.io/npm/dw/batchdb)](https://www.npmjs.com/package/batchdb) [![License](https://img.shields.io/npm/l/batchdb?color=blue)](https://www.npmjs.com/package/batchdb) [![Last commit](https://img.shields.io/github/last-commit/substack/batchdb)](https://github.com/substack/batchdb) [![Contributors](https://img.shields.io/github/contributors/substack/batchdb?color=blue)](https://github.com/substack/batchdb/graphs/contributors)

[`levelup`][levelup] and disk storage for queued batch jobs.

## File System

### [`level-filesystem`][level-filesystem]

[![npm package version](https://img.shields.io/npm/v/level-filesystem)](https://www.npmjs.com/package/level-filesystem) [![npm downloads](https://img.shields.io/npm/dw/level-filesystem)](https://www.npmjs.com/package/level-filesystem) [![License](https://img.shields.io/npm/l/level-filesystem?color=blue)](https://www.npmjs.com/package/level-filesystem) [![Last commit](https://img.shields.io/github/last-commit/mafintosh/level-filesystem)](https://github.com/mafintosh/level-filesystem) [![Contributors](https://img.shields.io/github/contributors/mafintosh/level-filesystem?color=blue)](https://github.com/mafintosh/level-filesystem/graphs/contributors)

Full implementation of the Node.js `fs` module on top of [`levelup`][levelup].

### [`browserify-fs`][browserify-fs]

[![npm package version](https://img.shields.io/npm/v/browserify-fs)](https://www.npmjs.com/package/browserify-fs) [![npm downloads](https://img.shields.io/npm/dw/browserify-fs)](https://www.npmjs.com/package/browserify-fs) [![License](https://img.shields.io/npm/l/browserify-fs?color=blue)](https://www.npmjs.com/package/browserify-fs) [![Last commit](https://img.shields.io/github/last-commit/mafintosh/browserify-fs)](https://github.com/mafintosh/browserify-fs) [![Contributors](https://img.shields.io/github/contributors/mafintosh/browserify-fs?color=blue)](https://github.com/mafintosh/browserify-fs/graphs/contributors)

[`level-filesystem`][level-filesystem] as drop-in `fs` replacement for the browser, to be used with `browserify`.

### [`level-fs`][level-fs]

[![npm package version](https://img.shields.io/npm/v/level-fs)](https://www.npmjs.com/package/level-fs) [![npm downloads](https://img.shields.io/npm/dw/level-fs)](https://www.npmjs.com/package/level-fs) [![License](https://img.shields.io/npm/l/level-fs?color=blue)](https://www.npmjs.com/package/level-fs) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-fs)](https://github.com/juliangruber/level-fs) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-fs?color=blue)](https://github.com/juliangruber/level-fs/graphs/contributors)

Node's `fs` module with [`levelup`][levelup] as backend.

### [`level-fs-browser`][level-fs-browser]

[![npm package version](https://img.shields.io/npm/v/level-fs-browser)](https://www.npmjs.com/package/level-fs-browser) [![npm downloads](https://img.shields.io/npm/dw/level-fs-browser)](https://www.npmjs.com/package/level-fs-browser) [![License](https://img.shields.io/npm/l/level-fs-browser?color=blue)](https://www.npmjs.com/package/level-fs-browser) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-fs-browser)](https://github.com/juliangruber/level-fs-browser) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-fs-browser?color=blue)](https://github.com/juliangruber/level-fs-browser/graphs/contributors)

[`level-fs`][level-fs] as drop-in `fs` replacement for the browser, to be used with `browserify`.

### [`level-store`][level-store]

[![npm package version](https://img.shields.io/npm/v/level-store)](https://www.npmjs.com/package/level-store) [![npm downloads](https://img.shields.io/npm/dw/level-store)](https://www.npmjs.com/package/level-store) [![License](https://img.shields.io/npm/l/level-store?color=blue)](https://www.npmjs.com/package/level-store) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-store)](https://github.com/juliangruber/level-store) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-store?color=blue)](https://github.com/juliangruber/level-store/graphs/contributors)

A streaming storage engine based on [`levelup`][levelup].

### [`level-serve`][level-serve]

[![npm package version](https://img.shields.io/npm/v/level-serve)](https://www.npmjs.com/package/level-serve) [![npm downloads](https://img.shields.io/npm/dw/level-serve)](https://www.npmjs.com/package/level-serve) [![License](https://img.shields.io/npm/l/level-serve?color=blue)](https://www.npmjs.com/package/level-serve) [![Last commit](https://img.shields.io/github/last-commit/Wayla/level-serve)](https://github.com/Wayla/level-serve) [![Contributors](https://img.shields.io/github/contributors/Wayla/level-serve?color=blue)](https://github.com/Wayla/level-serve/graphs/contributors)

Streaming static file server based on [`levelup`][levelup].

### [`suckit`][suckit]

[![npm package version](https://img.shields.io/npm/v/suckit)](https://www.npmjs.com/package/suckit) [![npm downloads](https://img.shields.io/npm/dw/suckit)](https://www.npmjs.com/package/suckit) [![License](https://img.shields.io/npm/l/suckit?color=blue)](https://www.npmjs.com/package/suckit) [![Last commit](https://img.shields.io/github/last-commit/deoxxa/suckit)](https://github.com/deoxxa/suckit) [![Contributors](https://img.shields.io/github/contributors/deoxxa/suckit?color=blue)](https://github.com/deoxxa/suckit/graphs/contributors)

Expose a [`level-store`][level-store] over HTTP.

### [`level-vinyl`][level-vinyl]

[![npm package version](https://img.shields.io/npm/v/level-vinyl)](https://www.npmjs.com/package/level-vinyl) [![npm downloads](https://img.shields.io/npm/dw/level-vinyl)](https://www.npmjs.com/package/level-vinyl) [![License](https://img.shields.io/npm/l/level-vinyl?color=blue)](https://www.npmjs.com/package/level-vinyl) [![Last commit](https://img.shields.io/github/last-commit/vweevers/level-vinyl)](https://github.com/vweevers/level-vinyl) [![Contributors](https://img.shields.io/github/contributors/vweevers/level-vinyl?color=blue)](https://github.com/vweevers/level-vinyl/graphs/contributors)

[Vinyl](https://github.com/gulpjs/vinyl-fs) adapter and blob store. Saves file contents in a content addressable blob store, file metadata in [`levelup`][levelup].

### [`level-blob`][level-blob]

[![npm package version](https://img.shields.io/npm/v/level-blob)](https://www.npmjs.com/package/level-blob) [![npm downloads](https://img.shields.io/npm/dw/level-blob)](https://www.npmjs.com/package/level-blob) [![License](https://img.shields.io/npm/l/level-blob?color=blue)](https://www.npmjs.com/package/level-blob) [![Last commit](https://img.shields.io/github/last-commit/crodas/level-blob)](https://github.com/crodas/level-blob) [![Contributors](https://img.shields.io/github/contributors/crodas/level-blob?color=blue)](https://github.com/crodas/level-blob/graphs/contributors)

Store blobs in [`levelup`][levelup]

### [`level-blob-store`][level-blob-store]

[![npm package version](https://img.shields.io/npm/v/level-blob-store)](https://www.npmjs.com/package/level-blob-store) [![npm downloads](https://img.shields.io/npm/dw/level-blob-store)](https://www.npmjs.com/package/level-blob-store) [![License](https://img.shields.io/npm/l/level-blob-store?color=blue)](https://www.npmjs.com/package/level-blob-store) [![Last commit](https://img.shields.io/github/last-commit/diasdavid/level-blob-store)](https://github.com/diasdavid/level-blob-store) [![Contributors](https://img.shields.io/github/contributors/diasdavid/level-blob-store?color=blue)](https://github.com/diasdavid/level-blob-store/graphs/contributors)

An [`abstract-blob-store`](https://github.com/maxogden/abstract-blob-store) using LevelDB as the storage backend

### [`level-pull-blob-store`][level-pull-blob-store]

[![npm package version](https://img.shields.io/npm/v/level-pull-blob-store)](https://www.npmjs.com/package/level-pull-blob-store) [![npm downloads](https://img.shields.io/npm/dw/level-pull-blob-store)](https://www.npmjs.com/package/level-pull-blob-store) [![License](https://img.shields.io/npm/l/level-pull-blob-store?color=blue)](https://www.npmjs.com/package/level-pull-blob-store) [![Last commit](https://img.shields.io/github/last-commit/ipfs/js-level-pull-blob-store)](https://github.com/ipfs/js-level-pull-blob-store) [![Contributors](https://img.shields.io/github/contributors/ipfs/js-level-pull-blob-store?color=blue)](https://github.com/ipfs/js-level-pull-blob-store/graphs/contributors)

A [`pull-blob-store`](https://github.com/ipfs/interface-pull-blob-store) implementation backed by LevelDB.

### [`level-server`][level-server]

[![npm package version](https://img.shields.io/npm/v/level-server)](https://www.npmjs.com/package/level-server) [![npm downloads](https://img.shields.io/npm/dw/level-server)](https://www.npmjs.com/package/level-server) [![License](https://img.shields.io/npm/l/level-server?color=blue)](https://www.npmjs.com/package/level-server) [![Last commit](https://img.shields.io/github/last-commit/Wayla/level-server)](https://github.com/Wayla/level-server) [![Contributors](https://img.shields.io/github/contributors/Wayla/level-server?color=blue)](https://github.com/Wayla/level-server/graphs/contributors)

Standalone LevelDB file server based on [`level-serve`][level-serve], [`multilevel`][multilevel] and [`level-sublevel`][level-sublevel].

## Utilities

### [`level-transcoder`][level-transcoder]

[![npm package version](https://img.shields.io/npm/v/level-transcoder)](https://www.npmjs.com/package/level-transcoder) [![npm downloads](https://img.shields.io/npm/dw/level-transcoder)](https://www.npmjs.com/package/level-transcoder) [![License](https://img.shields.io/npm/l/level-transcoder?color=blue)](https://www.npmjs.com/package/level-transcoder) [![Last commit](https://img.shields.io/github/last-commit/Level/transcoder?color=brightgreen)](https://github.com/Level/transcoder) [![Contributors](https://img.shields.io/github/contributors/Level/transcoder?color=blue)](https://github.com/Level/transcoder/graphs/contributors)

Encode data with built-in or custom encodings. Used in [`abstract-level`][abstract-level].

### [`level-test`][level-test]

[![npm package version](https://img.shields.io/npm/v/level-test)](https://www.npmjs.com/package/level-test) [![npm downloads](https://img.shields.io/npm/dw/level-test)](https://www.npmjs.com/package/level-test) [![License](https://img.shields.io/npm/l/level-test?color=blue)](https://www.npmjs.com/package/level-test) [![Last commit](https://img.shields.io/github/last-commit/Level/level-test)](https://github.com/Level/level-test) [![Contributors](https://img.shields.io/github/contributors/Level/level-test?color=blue)](https://github.com/Level/level-test/graphs/contributors)

Inject temporary and isolated [`abstract-leveldown`][abstract-leveldown] stores ([`leveldown`][leveldown], [`level-js`][level-js], [`memdown`][memdown] or custom) into your tests.

### [`level-compose`][level-compose]

[![npm package version](https://img.shields.io/npm/v/level-compose)](https://www.npmjs.com/package/level-compose) [![npm downloads](https://img.shields.io/npm/dw/level-compose)](https://www.npmjs.com/package/level-compose) [![License](https://img.shields.io/npm/l/level-compose?color=blue)](https://www.npmjs.com/package/level-compose) [![Last commit](https://img.shields.io/github/last-commit/Level/compose)](https://github.com/Level/compose) [![Contributors](https://img.shields.io/github/contributors/Level/compose?color=blue)](https://github.com/Level/compose/graphs/contributors)

Compose a database factory from [`abstract-leveldown`][abstract-leveldown] and [`levelup`][levelup] layers. TBD if still relevant after [`abstract-level`][abstract-level].

### [`level-exists`][level-exists]

[![npm package version](https://img.shields.io/npm/v/level-exists)](https://www.npmjs.com/package/level-exists) [![npm downloads](https://img.shields.io/npm/dw/level-exists)](https://www.npmjs.com/package/level-exists) [![License](https://img.shields.io/npm/l/level-exists?color=blue)](https://www.npmjs.com/package/level-exists) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-exists)](https://github.com/juliangruber/level-exists) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-exists?color=blue)](https://github.com/juliangruber/level-exists/graphs/contributors)

Check if a datum exists without reading its value.

### [`level-move`][level-move]

[![npm package version](https://img.shields.io/npm/v/level-move)](https://www.npmjs.com/package/level-move) [![npm downloads](https://img.shields.io/npm/dw/level-move)](https://www.npmjs.com/package/level-move) [![License](https://img.shields.io/npm/l/level-move?color=blue)](https://www.npmjs.com/package/level-move) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-move)](https://github.com/juliangruber/level-move) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-move?color=blue)](https://github.com/juliangruber/level-move/graphs/contributors)

Move a value to another key.

### [`level-capped`][level-capped]

[![npm package version](https://img.shields.io/npm/v/level-capped)](https://www.npmjs.com/package/level-capped) [![npm downloads](https://img.shields.io/npm/dw/level-capped)](https://www.npmjs.com/package/level-capped) [![License](https://img.shields.io/npm/l/level-capped?color=blue)](https://www.npmjs.com/package/level-capped) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-capped)](https://github.com/juliangruber/level-capped) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-capped?color=blue)](https://github.com/juliangruber/level-capped/graphs/contributors)

Capped collections.

### [`level-create`][level-create]

[![npm package version](https://img.shields.io/npm/v/level-create)](https://www.npmjs.com/package/level-create) [![npm downloads](https://img.shields.io/npm/dw/level-create)](https://www.npmjs.com/package/level-create) [![License](https://img.shields.io/npm/l/level-create?color=blue)](https://www.npmjs.com/package/level-create) [![Last commit](https://img.shields.io/github/last-commit/substack/level-create)](https://github.com/substack/level-create) [![Contributors](https://img.shields.io/github/contributors/substack/level-create?color=blue)](https://github.com/substack/level-create/graphs/contributors)

Insert a key if and only if it doesn't already exist

### [`level-create-batch`][level-create-batch]

[![npm package version](https://img.shields.io/npm/v/level-create-batch)](https://www.npmjs.com/package/level-create-batch) [![npm downloads](https://img.shields.io/npm/dw/level-create-batch)](https://www.npmjs.com/package/level-create-batch) [![License](https://img.shields.io/npm/l/level-create-batch?color=blue)](https://www.npmjs.com/package/level-create-batch) [![Last commit](https://img.shields.io/github/last-commit/substack/level-create-batch)](https://github.com/substack/level-create-batch) [![Contributors](https://img.shields.io/github/contributors/substack/level-create-batch?color=blue)](https://github.com/substack/level-create-batch/graphs/contributors)

Insert a batch of keys if and only if none of the keys already exist

### [`level-modify`][level-modify]

[![npm package version](https://img.shields.io/npm/v/level-modify)](https://www.npmjs.com/package/level-modify) [![npm downloads](https://img.shields.io/npm/dw/level-modify)](https://www.npmjs.com/package/level-modify) [![License](https://img.shields.io/npm/l/level-modify?color=blue)](https://www.npmjs.com/package/level-modify) [![Last commit](https://img.shields.io/github/last-commit/dskrepps/level-modify)](https://github.com/dskrepps/level-modify) [![Contributors](https://img.shields.io/github/contributors/dskrepps/level-modify?color=blue)](https://github.com/dskrepps/level-modify/graphs/contributors)

Modify an existing key in [`levelup`][levelup]. Uses [`level-lock`][level-lock]. See also [`level-create`][level-create] and [`level-move`][level-move].

### [`level-random`][level-random]

[![npm package version](https://img.shields.io/npm/v/level-random)](https://www.npmjs.com/package/level-random) [![npm downloads](https://img.shields.io/npm/dw/level-random)](https://www.npmjs.com/package/level-random) [![License](https://img.shields.io/npm/l/level-random?color=blue)](https://www.npmjs.com/package/level-random) [![Last commit](https://img.shields.io/github/last-commit/michaelnisi/level-random)](https://github.com/michaelnisi/level-random) [![Contributors](https://img.shields.io/github/contributors/michaelnisi/level-random?color=blue)](https://github.com/michaelnisi/level-random/graphs/contributors)

Read values of random [`levelup`][levelup] keys.

### [`level-shared-batch`][level-shared-batch]

[![npm package version](https://img.shields.io/npm/v/level-shared-batch)](https://www.npmjs.com/package/level-shared-batch) [![npm downloads](https://img.shields.io/npm/dw/level-shared-batch)](https://www.npmjs.com/package/level-shared-batch) [![License](https://img.shields.io/npm/l/level-shared-batch?color=blue)](https://www.npmjs.com/package/level-shared-batch) [![Last commit](https://img.shields.io/github/last-commit/juliangruber/level-shared-batch)](https://github.com/juliangruber/level-shared-batch) [![Contributors](https://img.shields.io/github/contributors/juliangruber/level-shared-batch?color=blue)](https://github.com/juliangruber/level-shared-batch/graphs/contributors)

Share batches and commit collectively

### [`batchlevel`][batchlevel]

[![npm package version](https://img.shields.io/npm/v/batchlevel)](https://www.npmjs.com/package/batchlevel) [![npm downloads](https://img.shields.io/npm/dw/batchlevel)](https://www.npmjs.com/package/batchlevel) [![License](https://img.shields.io/npm/l/batchlevel?color=blue)](https://www.npmjs.com/package/batchlevel) [![Last commit](https://img.shields.io/github/last-commit/biobricks/batchlevel)](https://github.com/biobricks/batchlevel) [![Contributors](https://img.shields.io/github/contributors/biobricks/batchlevel?color=blue)](https://github.com/biobricks/batchlevel/graphs/contributors)

Batch all operations made on a [`levelup`][levelup] instance. Compatible with [`subleveldown`][subleveldown].

### [`ltest`][ltest]

[![npm package version](https://img.shields.io/npm/v/ltest)](https://www.npmjs.com/package/ltest) [![npm downloads](https://img.shields.io/npm/dw/ltest)](https://www.npmjs.com/package/ltest) [![License](https://img.shields.io/npm/l/ltest?color=blue)](https://www.npmjs.com/package/ltest) [![Last commit](https://img.shields.io/github/last-commit/ralphtheninja/ltest)](https://github.com/ralphtheninja/ltest) [![Contributors](https://img.shields.io/github/contributors/ralphtheninja/ltest?color=blue)](https://github.com/ralphtheninja/ltest/graphs/contributors)

Test function for [`levelup`][levelup] testing, based on [`level-test`][level-test].

### [`level-probe`][level-probe]

[![npm package version](https://img.shields.io/npm/v/level-probe)](https://www.npmjs.com/package/level-probe) [![npm downloads](https://img.shields.io/npm/dw/level-probe)](https://www.npmjs.com/package/level-probe) [![License](https://img.shields.io/npm/l/level-probe?color=blue)](https://www.npmjs.com/package/level-probe) [![Last commit](https://img.shields.io/github/last-commit/vweevers/level-probe)](https://github.com/vweevers/level-probe) [![Contributors](https://img.shields.io/github/contributors/vweevers/level-probe?color=blue)](https://github.com/vweevers/level-probe/graphs/contributors)

Get the first record in a range, using an iterator or stream. NB. Not compatible with latest [`levelup`][levelup].

### [`autolevel`][autolevel]

[![npm package version](https://img.shields.io/npm/v/autolevel)](https://www.npmjs.com/package/autolevel) [![npm downloads](https://img.shields.io/npm/dw/autolevel)](https://www.npmjs.com/package/autolevel) [![License](https://img.shields.io/npm/l/autolevel?color=blue)](https://www.npmjs.com/package/autolevel) [![Last commit](https://img.shields.io/github/last-commit/finwo/autolevel)](https://github.com/finwo/autolevel) [![Contributors](https://img.shields.io/github/contributors/finwo/autolevel?color=blue)](https://github.com/finwo/autolevel/graphs/contributors)

Automatically combine [`levelup`][levelup] with the right [`abstract-leveldown`][abstract-leveldown] store for your configuration.

### [`level-lazy-open`][level-lazy-open]

[![npm package version](https://img.shields.io/npm/v/level-lazy-open)](https://www.npmjs.com/package/level-lazy-open) [![npm downloads](https://img.shields.io/npm/dw/level-lazy-open)](https://www.npmjs.com/package/level-lazy-open) [![License](https://img.shields.io/npm/l/level-lazy-open?color=blue)](https://www.npmjs.com/package/level-lazy-open) [![Last commit](https://img.shields.io/github/last-commit/Level/lazy-open)](https://github.com/Level/lazy-open) [![Contributors](https://img.shields.io/github/contributors/Level/lazy-open?color=blue)](https://github.com/Level/lazy-open/graphs/contributors)

Lazily open a leveldown compatible backend.

### [`changeset`][changeset]

[![npm package version](https://img.shields.io/npm/v/changeset)](https://www.npmjs.com/package/changeset) [![npm downloads](https://img.shields.io/npm/dw/changeset)](https://www.npmjs.com/package/changeset) [![License](https://img.shields.io/npm/l/changeset?color=blue)](https://www.npmjs.com/package/changeset) [![Last commit](https://img.shields.io/github/last-commit/eugeneware/changeset)](https://github.com/eugeneware/changeset) [![Contributors](https://img.shields.io/github/contributors/eugeneware/changeset?color=blue)](https://github.com/eugeneware/changeset/graphs/contributors)

Generate diff changesets for javascript objects, decomposing diffs into a series of puts and delete operations. The format is compatible with [`levelup`][levelup] batch operations. Useful to synchronize objects.

### [`levelup-defaults`][levelup-defaults]

[![npm package version](https://img.shields.io/npm/v/levelup-defaults)](https://www.npmjs.com/package/levelup-defaults) [![npm downloads](https://img.shields.io/npm/dw/levelup-defaults)](https://www.npmjs.com/package/levelup-defaults) [![License](https://img.shields.io/npm/l/levelup-defaults?color=blue)](https://www.npmjs.com/package/levelup-defaults) [![Last commit](https://img.shields.io/github/last-commit/mafintosh/levelup-defaults)](https://github.com/mafintosh/levelup-defaults) [![Contributors](https://img.shields.io/github/contributors/mafintosh/levelup-defaults?color=blue)](https://github.com/mafintosh/levelup-defaults/graphs/contributors)

Change the defaults settings on a [`levelup`][levelup] instance by returning a new [`levelup`][levelup] instance that uses the same [`abstract-leveldown`][abstract-leveldown] but different options.

### [`level-methods`][level-methods]

[![npm package version](https://img.shields.io/npm/v/level-methods)](https://www.npmjs.com/package/level-methods) [![npm downloads](https://img.shields.io/npm/dw/level-methods)](https://www.npmjs.com/package/level-methods) [![License](https://img.shields.io/npm/l/level-methods?color=blue)](https://www.npmjs.com/package/level-methods) [![Last commit](https://img.shields.io/github/last-commit/Wayla/level-methods)](https://github.com/Wayla/level-methods) [![Contributors](https://img.shields.io/github/contributors/Wayla/level-methods?color=blue)](https://github.com/Wayla/level-methods/graphs/contributors)

Useful meta information about [`levelup`][levelup] methods.

## Replication

### [`level-2pc`][level-2pc]

[![npm package version](https://img.shields.io/npm/v/level-2pc)](https://www.npmjs.com/package/level-2pc) [![npm downloads](https://img.shields.i