Level / awesome

An open list of awesome Level modules and resources.
MIT License
294 stars 22 forks source link
awesome awesome-list javascript level leveldb levelup nodejs

Awesome Level

An open list of awesome Level modules and resources. Add yours!

level badge Test Donate

Table of Contents

Click to expand - [Bundles](#bundles) - [Core](#core) - [Stores](#stores) - [Layers](#layers) - [Encodings](#encodings) - [Sublevels](#sublevels) - [Processing](#processing) - [Databases](#databases) - [Shared Access](#shared-access) - [Streams](#streams) - [Iterators](#iterators) - [Hooks](#hooks) - [Range Options](#range-options) - [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)

Bundles

Convenience modules that bundle a store with levelup and encoding-down.

level

levelup Last commit Contributors

Bundle for leveldown and level-js. Main entry point for beginners.

level-mem

levelup Last commit Contributors

Bundle for memdown.

level-rocksdb

levelup Last commit Contributors

Bundle for rocksdb.

level-hyper

levelup Last commit Contributors

Bundle for leveldown-hyper.

level-indexed

levelup Last commit Contributors

Bundle for indexeddown. Alternative to level.

Core

levelup

Last commit Contributors

The glue that holds everything together. Use this when you need a custom or swappable store.

abstract-leveldown

Last commit Contributors

An abstract prototype matching the leveldown API. Use this to implement your own store.

level-packager

Last commit Contributors

Package helper to export a bundle. Use this to create a new level-* bundle.

Stores

Modules that implement abstract-leveldown as storage for levelup.

leveldown

abstract-leveldown Last commit Contributors

Backed by LevelDB.

memdown

abstract-leveldown Last commit Contributors

Backed by in-memory RBTree.

level-js

abstract-leveldown Last commit Contributors

Backed by IndexedDB.

rocksdb

abstract-leveldown Last commit Contributors

Backed by RocksDB.

leveldown-hyper

abstract-leveldown Last commit Contributors

Backed by HyperLevelDB.

medeadown

abstract-leveldown Last commit Contributors

Backed by medea.

jsondown

abstract-leveldown Last commit Contributors

Backed by JSON on disk

asyncstorage-down

abstract-leveldown Last commit Contributors

Backed by AsyncStorage (React Native).

mongodown

abstract-leveldown Last commit Contributors

Backed by MongoDB.

sqldown

abstract-leveldown Last commit Contributors

Backed by sqlite3, pg, mysql or WebSQL.

dynamo-down

abstract-leveldown Last commit Contributors

Backed by AWS DynamoDB.

azureleveldown

abstract-leveldown Last commit Contributors

Backed by Windows Azure Table Storage.

fruitdown

abstract-leveldown Last commit Contributors

Backed by IndexedDB (Apple).

localstorage-down

abstract-leveldown Last commit Contributors

Backed by localStorage.

riakdown

abstract-leveldown Last commit Contributors

Backed by riakpbc.

mysqldown

abstract-leveldown Last commit Contributors

Backed by MySQL.

redisdown

abstract-leveldown Last commit Contributors

Backed by Redis.

leveldown-basho

abstract-leveldown

Backed by Basho's LevelDB fork.

sheet-down

abstract-leveldown Last commit Contributors

Backed by Google Sheets.

indexeddown

abstract-leveldown Last commit Contributors

Backed by IndexedDB.

lmdb-leveldown

abstract-leveldown Last commit Contributors

Backed by LMDB.

localdown

abstract-leveldown Last commit Contributors

Backed by localStorage in Node.js.

aerospike-leveldown

abstract-leveldown Last commit Contributors

Backed by Aerospike.

s3leveldown

abstract-leveldown Last commit Contributors

Backed by AWS S3.

gaiadown-ts

abstract-leveldown Last commit Contributors

Backed by Gaia.

dynamodb-leveldown

abstract-leveldown Last commit Contributors

Backed by AWS DynamoDB.

localforagedown

abstract-leveldown Last commit Contributors

Backed by localForage.

react-native-leveldown

abstract-leveldown Last commit Contributors

Backed by LevelDB (React Native).

networked-hyperbeedown

abstract-leveldown Last commit Contributors

Backed by Hyperbee.

Layers

Modules that implement abstract-leveldown to wrap another abstract-leveldown. This is the preferred extension point.

encoding-down

abstract-leveldown Last commit Contributors

Provides key/value encoding.

@adorsys/encrypt-down

abstract-leveldown Last commit Contributors

Provides encryption for values.

deferred-leveldown

abstract-leveldown Last commit Contributors

Handles delayed-open. Built into levelup.

level-cowdown

abstract-leveldown Last commit Contributors

Copy-on-write abstract-leveldown layer.

abstract-stream-leveldown

abstract-leveldown Last commit Contributors

A stream-based abstract prototype.

Encodings

Custom level-codec compatible encodings for use with encoding-down.

charwise

Last commit Contributors

Encode/decode with same encoded sort order as bytewise.

bytewise

Last commit Contributors

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

protocol-buffers

Last commit Contributors

Protocol Buffers for Node.js. Compiled messages are level-codec compatible encodings.

lexicographic-integer-encoding

Last commit Contributors

Wraps lexicographic-integer.

Sublevels

Modules related to splitting a database into sections a.k.a. sublevels.

subleveldown

Last commit Contributors

Split a levelup database into sublevels with their own keyspace, encoding and events.

level-temp

Last commit Contributors

Create a temporary subleveldown sublevel that is guaranteed to be empty.

level-mount

Last commit Contributors

Mount multiple abstract-leveldown stores by key prefix onto a single store. Can be used with subleveldown.

bytespace

Last commit Contributors

Keypath subspaces prefixed with bytewise tuples. Similar to level-sublevel. NB. bytewise - and thus bytespace - can be slow. Consider using subleveldown paired with the charwise encoding instead.

level-sublevel

Last commit Contributors

Adds the ability to create subsections with the same API as levelup, but only write/read to a prefixed section, or bucket, of the key-space. Each section also has level-hooks installed. NB. No longer maintained. We recommend subleveldown instead.

sublevel-prefixer

Last commit Contributors

Utility to prefix a key with a sublevel prefix.

level-sublevel-stream

Last commit Contributors

Find level-sublevel sublevels, not requiring them to be in memory already.

level-subtree

Last commit Contributors

Generate a tree from level-sublevel sublevels, useful when there is no manifest.

level-superlevel

Last commit Contributors

Superlevel adds a "super" level that allows accessing the entire database, discovering level-sublevel sublevels and browsing the database without knowledge of the sublevel structure.

level-subkey

Last commit Contributors

Use path-like keys to separate sections of levelup, with hooks. Adapted from level-sublevel.

level-mirror

Last commit Contributors

Mirror and optionally transform data from one level-sublevel sublevel into another.

Processing

Modules for indexing, alternative forms of querying data, MapReduce models and other forms of data processing.

level-auto-index

Last commit Contributors

Automatic secondary indexing for levelup and subleveldown.

jsonquery

Last commit Contributors

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

jsonquery-engine

Last commit Contributors

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

level-indico

Last commit Contributors

Yet another indexing plugin for 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 and level-sublevel, both of which have caveats.

level-inverted-index

Last commit Contributors

Create an inverted index for full-text search.

map-reduce

Last commit Contributors

A MapReduce implementation on top of 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

Last commit Contributors

Like 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

Last commit Contributors

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

level-trigger

Last commit Contributors

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

levels

Last commit Contributors

A light-weight full text search engine for levelup (Port of TJ's reds redis search engine).

map-reduce-chained

Last commit Contributors

Extends map-reduce and 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

Last commit Contributors

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

subindex

Last commit Contributors

Generic pluggable indexing system for levelup.

level-sec

Last commit Contributors

High-level API for creating secondary indexes.

level-secondary

Last commit Contributors

Create and query secondary indexes.

inverted-index

Last commit Contributors

Inverted index built upon levelup.

level-index-update

Last commit Contributors

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

range-index

Last commit Contributors

Range indexes for levelup.

level-path-index

Last commit Contributors

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

level-sql

Last commit Contributors

SQL queries for levelup.

level-hash-index

Last commit Contributors

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

level-idx

Last commit Contributors

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

level-indexer

Last commit Contributors

Generic indexer for levelup. Only stores document keys for space efficiency.

level-librarian

Last commit Contributors

Lightweight indexing and querying with the LLCJ query language.

level-match-index

Last commit Contributors

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

level-assoc

Last commit Contributors

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

level-tree-index

Last commit Contributors

Tree indexer for levelup.

changes-index

Last commit Contributors

Create indexes from a changes-feed. Provides a way to create a materialized view on top of an append-only log.

changesdown

Last commit Contributors

levelup interface that uses an abstract-leveldown store that writes to a changes-feed to store its state.

level-ordered

Last commit Contributors

A wrapper for level that keeps inserted items ordered.

Databases

Complete Node.js databases built with Level.

dat

Last commit Contributors

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

pouchdb

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

couchup

Last commit Contributors

A CouchDB implementation on top of levelup.

firedup

Last commit Contributors

A node.js implementation of firebase based on levelup.

len

Last commit Contributors

Len is a resource booking database using LevelDB for storage. Useful for calendar and gantt chart apps and for questions like 'can a customer book this resource starting X and ending Y'.

lem

Last commit Contributors

Lem is a telemetry storage database using LevelDB. Keys are indexed by timestamp and you can read values in-between 2 points in time.

levelgraph

Last commit Contributors

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

linvodb3

Last commit Contributors

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

rxdb

Last commit Contributors

Event-driven database based on 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.

pushdb

Last commit Contributors

A programmable database with document storage and unique indexing capabilities.

search-index

Last commit Contributors

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

tacodb

Last commit Contributors

A responsive, Node.js-style database ideal for realtime data. Highly modular and adaptable, allowing extension with the Level ecosystem.

timestreamdb

Last commit Contributors

A full-featured timeseries database on top of LevelDB. Includes a library for streaming statistical operations on timeseries data including joins, aggregates, filters, and map-like operations.

@nano-sql/core

Last commit Contributors

A small (10Kb) RDBMS abstraction on top of levelup that also runs in the browser with undo/redo support, immutable objects and IndexedDB persistence.

vertical

Last commit Contributors

LevelDB distributed, Server and Client!

flash-store

Last commit Contributors

FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.

level-fact-base

Last commit Contributors

Store immutable facts and query them with datalog.

dulcimer

Last commit Contributors

Define JSON models and manage indexes, children, foreign keys and much more.

levi

Last commit Contributors

Stream based full-text search for Node.js and browser using levelup.

level-mongo

Last commit Contributors

MongoDB-like database backed by LevelDB.

level-orm

Last commit Contributors

Simple ORM built on levelup.

level-lively

Last commit Contributors

levelup implementation of LivelyDb for doing real-time data binding of a database with local javascript objects.

kwdb

Last commit Contributors

REST wrapper for levelup.

level-restful

Last commit Contributors

REST wrapper for levelup, as an extension to level-orm.

level-rest

Last commit Contributors

REST wrapper for levelup. NB. Not compatible with latest levelup.

Shared Access

multileveldown

Last commit Contributors

Share a levelup instance across multiple processes or over the network. An alternative to multilevel, implemented as abstract-leveldown stores with seamless retry support.

level-party

Last commit Contributors

Open a LevelDB (leveldown) handle multiple times, transparently upgrading to multileveldown when more than 1 process try to use the same LevelDB data directory at once and re-electing a new master when the primary unix socket (or named pipe) goes down.

cluster-levelup

Last commit Contributors

Wrap a levelup instance for cluster usage among multiple processes.

multilevel

Last commit Contributors

Share a levelup instance over the network.

multilevel-http

Last commit Contributors

Expose a levelup instance via HTTP.

level-range-emitter

Last commit Contributors

Client and server using multileveldown, range-emitter and ltgt.

level-manifest

Last commit Contributors

Describe the functions that multilevel should provide access to on the client.

level-cluster-get

Last commit Contributors

Given a key, get all values from a cluster of multilevel servers.

level-connect

Last commit Contributors

Connect to a level-party and level-sublevel enabled LevelDB over HTTP.

level-sandbox

Last commit Contributors

A sandbox for hosting multilevel enabled databases.

level2riak

Last commit Contributors

A network service that allows you to connect to a Riak database over HTTP.

leveldb-mount

Last commit Contributors

LevelDB server and client with optional client-side REPL. Built with subleveldown and multileveldown.

level-pubsub

Last commit Contributors

PubSub with server and client on top of levelup.

level-query

Last commit Contributors

Expose a level-sublevel database over HTTP, searchable with query strings.

level-over-http

Last commit Contributors

Another solution to expose levelup over HTTP.

level-rpc

Last commit Contributors

Fast RPC mechanism for levelup. Intended as binary-compatible alternative to multilevel.

Streams

Node.js stream or pull-stream implementations for reading and writing data from/to levelup.

level-ws

Last commit Contributors

General-case, streams3 writable stream for levelup.

level-batch-stream

Last commit Contributors

Streams2 writable stream for levelup.

level-writestream

Last commit Contributors

Streams2 writable stream for levelup.

level-write-stream

Last commit Contributors

Streams1 writable stream for levelup or abstract-leveldown.

pull-level

Last commit Contributors

pull-stream interface to levelup with read streams, write streams and realtime (tail/live) reads.

level-live-stream

Last commit Contributors

Like db.createReadStream() except it's live / tailable. i.e. instead of ending, it will stay open and stream changes to the database as they are inserted.

level-live

Last commit Contributors

Simple, light and correct live read stream implementation. NB. Uses an undefined streams version.

level-livefeed

Last commit Contributors

A live query of a range in levelup. Similar to level-live-stream but with a streams2 interface.

level-range

Last commit Contributors

Find all K/V-pairs prefixed by a certain key. Streams1.

level-cursor

Last commit Contributors

A stream "cursor" to iterate through a ReadStream / KeyStream / ValueStream.

level-glob

Last commit Contributors

A streams2 read stream filtered and ordered by glob patterns. Keys in the database should be unix-like paths.

Iterators

Modules that operate on abstract-leveldown iterators.

level-concat-iterator

Last commit Contributors

Concatenate items from an iterator into an array.

level-iterator-stream

Last commit Contributors

Turn an abstract-leveldown iterator into a readable stream. Included in levelup.

levelup-async-iterator

Last commit Contributors

Add an iterator() method to levelup with Symbol.asyncIterator. NB. Conflicts with iterator() added in levelup@3.1.0.

level-iterator

Last commit Contributors

Decoding iterator for levelup instances. Wraps iterators like level-iterator-stream does. NB. Not compatible with levelup >= 2 due to encodings having moved out to encoding-down. PR welcome.

Hooks

Low-level utilities for hooking into a levelup instance.

level-events

Last commit Contributors

Get an event everytime something is written / read / deleted using levelup.

level-hookdown

Last commit Contributors

Simple levelup hooks.

level-post

Last commit Contributors

Consistent post hooks for levelup.

level-condition

Last commit Contributors

Get notified when a condition is triggered inside a levelup instance.

level-hooks

Last commit Contributors

Implements a hook mechanism that allows you to intercept put, delete and batch operations. You can then turn those operations into batches. Useful if you want to turn a put into an atomic batch for say an automatic map operation.

NB. Author recommends using level-sublevel instead of level-hooks directly. Note that level-sublevel is not maintained.

Range Options

Utilities for working with range options, known as ltgt(e), common to levelup streams and abstract-leveldown iterators.

ltgt

Last commit Contributors

Tool belt to find lower or upper bounds, compare and filter keys and more.

level-option-wrap

Last commit Contributors

Wrap ltgt options with functions. Expose range options without leaking information about your internal key representations.

interval-to-ltgt

Last commit Contributors

Convert an interval string to an ltgt object. This is the counterpart to ltgt-to-interval.

ltgt-to-interval

Last commit Contributors

Convert an ltgt object to an interval string. This is the counterpart to interval-to-ltgt.

range-emitter

Last commit Contributors

Range emitter. Publish keys and subscribe to ranges.

Data Structures

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

merkle-dag

Last commit Contributors

Merkle DAG on top of LevelDB

merkle-patricia-tree

Last commit Contributors

Implementation of the modified merkle patricia tree as specified in Ethereum's yellow paper.

level-array

Last commit Contributors

The array datatype inside levelup.

level-set

Last commit Contributors

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

level-push

Last commit Contributors

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

level-version

Last commit Contributors

Store and retrieve versioned data in levelup.

level-queue-type

Last commit Contributors

The queue datatype inside levelup.

level-q

Last commit Contributors

Priority queuing for levelup.

qool

Last commit Contributors

A queue backed by levelup, durable and FIFO.

level-trie

Last commit Contributors

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

level-geospatial

Last commit Contributors

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

level-pathwise

Last commit Contributors

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

level-places

Last commit Contributors

Store and retrieve places near a lat/long pair.

level-nearby-stream

Last commit Contributors

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

level-tree

Last commit Contributors

Geospatial indexing for GeoJSON in levelup

level-list

Last commit Contributors

Map lists of data stored in levelup to DOM elements.

level-reactive

Last commit Contributors

Reactive templating for data stored in levelup.

level-paginate

Last commit Contributors

Streaming pagination for levelup.

level-average

Last commit Contributors

Calculate rolling averages in levelup.

level-sum

Last commit Contributors

Calculate sums in levelup and get live updates.

level-historical-json

Last commit Contributors

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

level-immutable

Last commit Contributors

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

level-model

Last commit Contributors

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

level-stream

Last commit Contributors

Persist streams in levelup.

level-stay

Last commit Contributors

An alternative approach to storing scuttlebutts in levelup.

skeyma

Last commit 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

Last commit Contributors

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

level-forks

Last commit Contributors

Forking graph of cascading namespaces.

level-geo

Last commit Contributors

A geospatial index for levelup.

level-geography

Last commit Contributors

Indexed geography storage in levelup.

accountdown

Last commit Contributors

Persistent user accounts.

accountdown-model

Last commit Contributors

A wrapper around accountdown that provides a few additional features

Transience

cachedown

Last commit Contributors

LRU cache implemented as an abstract-leveldown layer.

level-ttl

Last commit Contributors

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

tiny-level-ttl

Last commit Contributors

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

level-live-cache

Last commit Contributors

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

level-lru-cache

Last commit Contributors

Simple LRU cache.

level-ttl-cache

Last commit Contributors

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

level-cache

Last commit Contributors

A caching module you can place in front of a 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

Last commit Contributors

Use levelup to cache remote data.

Atomicity

level-lock

Last commit Contributors

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

level-mutex

Last commit Contributors

Mutex read/write lock for levelup.

level-updater

Last commit Contributors

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

levelplus

Last commit Contributors

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

level-atomics

Last commit Contributors

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

level-transactions

Last commit Contributors

Transaction layer for levelup.

Jobs

level-schedule

Last commit Contributors

A durable job scheduler.

level-jobs

Last commit Contributors

Job Queue in levelup.

batchdb

Last commit Contributors

levelup and disk storage for queued batch jobs.

File System

level-filesystem

Last commit Contributors

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

browserify-fs

Last commit Contributors

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

level-fs

Last commit Contributors

Node's fs module with levelup as backend.

level-fs-browser

Last commit Contributors

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

level-store

Last commit Contributors

A streaming storage engine based on levelup.

level-serve

Last commit Contributors

Streaming static file server based on levelup.

suckit

Last commit Contributors

Expose a level-store over HTTP.

level-vinyl

Last commit Contributors

Vinyl adapter and blob store. Saves file contents in a content addressable blob store, file metadata in levelup.

level-blob

Last commit Contributors

Store blobs in levelup

level-blob-store

Last commit Contributors

An abstract-blob-store using LevelDB as the storage backend

level-pull-blob-store

Last commit Contributors

A pull-blob-store implementation backed by LevelDB.

level-server

Last commit Contributors

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

Utilities

level-codec

Last commit Contributors

Encode keys, values and ltgte options. Used in encoding-down.

level-errors

Last commit Contributors

Error types for levelup.

level-test

Last commit Contributors

Easily run your level-* tests against all stores.

level-compose

Last commit Contributors

Compose a database factory from abstract-leveldown and levelup layers.

level-exists

Last commit Contributors

Check if a datum exists without reading its value.

level-move

Last commit Contributors

Move a value to another key.

level-capped

Last commit Contributors

Capped collections.

level-create

Last commit Contributors

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

level-create-batch

Last commit Contributors

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

level-modify

Last commit Contributors

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

level-random

Last commit Contributors

Read values of random levelup keys.

level-shared-batch

Last commit Contributors

Share batches and commit collectively

batchlevel

Last commit Contributors

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

ltest

Last commit Contributors

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

level-probe

Last commit Contributors

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

autolevel

Last commit Contributors

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

level-lazy-open

Last commit Contributors

Lazily open a leveldown compatible backend.

changeset

Last commit Contributors

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

levelup-defaults

Last commit Contributors

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

level-methods

Last commit Contributors

Useful meta information about levelup methods.

Replication

level-2pc

Last commit Contributors

A two-phase commit protocol.

level-couch-sync

Last commit Contributors

Replicate from CouchDB to LevelDB.

level-master

Last commit Contributors

Master-Slave replication for levelup.

level-merkle

Last commit Contributors

Uses merkle-trees to replicate data sets. Data must be sets and currently, deletes are not supported.

level-replicate

Last commit Contributors

Master-master replication with levelup. Implements scuttlebutt style handshake, syncs data, then replicates real time changes.

level-replicator

Last commit Contributors

Master-master replication. Same goal as level-replicate but different approach.

Tools

CLI, GUI and web interfaces for exploring data.

lev2

Last commit Contributors

A complete REPL & CLI for managing LevelDB instances

level-in

Last commit Contributors

A simple command-line utility for writing data to LevelDB via levelup.

level-out

Last commit Contributors

A simple command-line utility for reading LevelDB data via levelup.

level-key-list

Last commit Contributors

Command-line tool for quickly printing a list of keys in a LevelDB database.

lev

Last commit Contributors

A CLI REPL interface for LevelDB.

leveldb-repl

Last commit Contributors

Super simple REPL for LevelDB. Supports filter globbing.

levelhud

Last commit Contributors

LevelDB GUI with an interactive console.

levelweb

Last commit Contributors

A LevelDB GUI. Includes simple data visualization tools.

level-cli

Last commit Contributors

Interact with LevelDB on the command line.

level-explore

Last commit Contributors

A terminal program to visualize LevelDB data. Early stages.

level-repair

Last commit Contributors

CLI tool to repair a LevelDB.

leveldb-editor

Last commit Contributors

Edit a LevelDB from the command line.

levelscan

Last commit Contributors

LevelDB command line scanning utility

levelui

Last commit Contributors

A LevelDB GUI based on atom-shell (now called Electron).

Benchmarking & Debugging

level-bench

Last commit Contributors

Benchmark abstract-leveldown and levelup stores.

level-compare-forks

Last commit Contributors

Run benchmarks on different level-forks and see how they compare.

level-log

Last commit Contributors

Log all levelup operations, including method calls.

debugdown

Last commit Contributors

Log all operations made on an abstract-leveldown compliant store. For node and browsers.

level-time

Last commit Contributors

Log levelup operations and their duration.

level-dump

Last commit Contributors

Dumps all values and/or keys of a levelup or level-sublevel instance to the console.

level-benchmarks

Last commit Contributors

Run benchmarks against levelup-compatible engines

Resources

leveljs.org

Website for Level

level-community

General discussion, cross-repo efforts and common information for projects in the community

electron-demo

Demo app loading LevelDB into an Electron context.

browserify-starter

Demonstrates bundling level for browsers using browserify.

webpack-starter

Demonstrates bundling level for browsers using webpack.

level-awesome

An open list of awesome Level libraries and resources.

levelmeup

Level Me Up Scotty! An intro to Node.js databases via a set of self-guided workshops.

Applications

Applications and libraries that use Level modules under the hood.

ipfs

A peer-to-peer hypermedia protocol to make the web faster, safer, and more open.

clocker

Track project hours

copy-on-write

A copy-on-write FUSE implementation

chrome-localstorage

CLI to manipulate Chrome and Chromium's localStorage on disk.

cipherhub

Encrypt messages based on GitHub SSH public keys

code-music-studio

Design musical algorithms

level-todo

A todo list using LevelDB.

electron-crash-report-service

Aggregate crash reports for Electron apps

cross-street-indexer

Blazing fast tile based geocoder that matches cross street (road intersections) entirely sourced by OSM QA Tiles.

lt-core

Time tracking library.

npm-search

An index of npm using levelup.

connect-level

A connect / express session store backed by LevelDB via levelup.

hadron

A hackable publishing platform using LevelDB as main database.

groove basin

Music player server with a web-based user interface. Uses levelup for the music library database.

prerender-level-cache

Prerender plugin to use level as a cache store.

tsd

Spin up a quick server to visualize time series data.

appfeed

Version feed for trusted application delivery

arrivals-osx

Watch a folder for audio and video arrivals and convert them to Apple-friendly formats.

bleach-log-server

Keep track of bleach levels for a hot tub or a pool.

browserify-cdn

Browserify CDN. Caches browserify bundles in LevelDB.

Legacy

Modules that are deprecated, archived or superseded. Listed here for the historical record.

level-delete-stream

A streams1 deleteStream for levelup. Superseded by db.clear().

level-delete-range

Delete a range of keys from levelup. Superseded by db.clear().

level-browserify

Bundle for level-js and leveldown. No longer maintained: superseded by level v5.0.0.

level-mapped-index

Indexes for levelup built on map-reduce. Uses a custom indexing function for each index to parse and record index values for each entry. Archived.

level-encoding

Implements the encoding logic of a levelup-like database. This functionality lives on in level-codec.

byteup

Adds bytewise as a native encoding for levelup. This can now be achieved with encoding-down and { keyEncoding: bytewise }.

msgpackup

Adds msgpack as a native encoding for levelup. This can now be achieved with encoding-down and { keyEncoding: msgpack }.

level-cbatch

Provides a chainable API for db.batch(). This functionality is now provided by levelup.

memdb

levelup + memdown. Superseded by level-mem.

levelup-iterator

Use abstract-leveldown iterators instead of readable streams to traverse the database. Iterators are exposed by levelup since levelup@3.1.0.

levelidb

A levelup interface on top of IndexedDB. Superseded by level-js and level.

level-multiply

Make levelup get(), put() and del() methods accept multiples keys & values. Archived.

level-namespace

Split your db up into multiple namespaces. Deprecated.

q-level

levelup with Q promises. levelup has native Promise support now.

level-static

Use levelup as a static file server. Abandoned.

level-spaces

A simple namespacing solution for levelup. Deprecated.

level-object

Store objects in levelup. Author recommends level-pathwise instead.

level-scuttlebutt

Persist and query scuttlebutt documents (requires level-sublevel). Abandoned.

gun-level

Sync graph-style data real-time between browsers and servers. Discontinued.

level-co

levelup wrappers for co. Instead use native ES6 features.

level-session

Framework-agnostic, LevelDB-backed web server session manager. Archived.

level-socket

Backend server that exposes levelup over authenticated cross domain websockets.

level-user

Client side library for authenticating with and moving data over level-socket.

string-range

Manipulate string ranges for db.createReadStream(). Abandoned.

range-bucket

Generate string ranges that group into ranges, suitable for use as database keys. Abandoned.

level-partition-check

Extend levelup to error if you write outside of a specified range of keys. Stalled work in progress.

level-binomial-replication

Biniomial replication for levelup. Abandoned.

level-bytewise

levelup with bytewise key encoding and bytewise-friendly sublevels.

level-peek

Get the first or last record in a range. Abandoned.

level-party-hyper

Defunct fork of level-party.

level-prebuilt

Same as level but with prebuilt binaries. This is now provided by level too.

level-promise

levelup with Promises. This is now provided by levelup out of the box.

level-search

Index and search every property in levelup containing object values. Abandoned.

level-scout

Range search with a query planner. Development stalled.

leveldown-android-prebuilt

Defunct fork of leveldown to add Android support. Merged into leveldown.

leveldown-prebuilt

Defunct fork of leveldown to add prebuilt binaries. Now provided by leveldown.

level-map-index

Another indexing module. Adapted from map-reduce. Author recommends other solutions.

level-memview

In memory view on top of levelup. Abandoned.

plumbdb

HTTP request handlers for building web services on top of LevelDB. Not in active development.

Contributing

Module and resource authors are welcome and encouraged to add an entry for their work via a pull request. To add a module, edit modules/*.json and run npm run awesome to update README.md.

Level/awesome is an OPEN Open Source Project. This means that:

Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project.

See the Contribution Guide for more details.

License

MIT