General discussion, cross-repo efforts and common information for projects in the community.
Level is a community and a collection of Node.js modules for creating transparent databases. A solid set of primitives enable powerful databases to be built in userland. They can be embedded or networked, persistent or transient - in short, tailored to your needs.
At the core of Level are simple key-value stores that follow the characteristics of LevelDB. LevelDB is a key-value store built by Google, used in Google Chrome and many other products. It supports arbitrary byte arrays as both keys and values, singular reads and writes, batched writes and bi-directional iterators. LevelDB sorts entries lexicographically by keys which, when combined with ranged iterators, makes for a very powerful query mechanism.
To bring those concepts to Node.js and other JavaScript runtimes, Level utilizes idiomatic Node.js interfaces like streams, events and buffers. It offers a rich set of data types through encodings and allows for extensions like subleveldown
to split a database into evented sections. Underlying stores can be easily swapped to target a wide range of runtime environments. The most common store is leveldown
which is a pure C++ binding to LevelDB. Many alternatives are available such as level-js
in the browser or memdown
for an in-memory store.
The level
module is the recommended way to get started. Visit awesome
to discover more modules. See our project board to find out what we're working on. If you need help - technical, philosophical or other - feel free to open an issue in community
or a more specific repository.
This repository also holds a small amount of metadata on past and present contributors. They can be accessed from code by:
var contributors = require('level-community').contributors
console.log(contributors)
We use this metadata across the board to render CONTRIBUTORS.md
files based on git history. If you have contributed to one or more Level repositories in the past but don't see social metadata next to your name, add yourself to contributors.json
and send us a PR.
Level/community
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.
To sustain Level
and its activities, become a backer or sponsor on Open Collective. Your logo or avatar will be displayed on our 28+ GitHub repositories and npm packages. 💖
MIT © 2012-present Contributors.