Noms is a content-addressable, append-only, peer-to-peer, structured data store.
In other words, noms is git for data.
This repository contains two reference implementations of the noms protocol - one in Go, and one in JavaScript. It also includes a number of tools and sample applications.
- Go 1.4+
- Python 2.7+ (Note: Python 2.x only, not Python 3.x)
- Node.js 5.3+
- Ensure
$GOPATH
is set correctly - Set
GO15VENDOREXPERIMENT=1
in your environment - all our code requires this
mkdir -p $GOPATH/src/github.com/attic-labs
cd $GOPATH/src/github.com/attic-labs
git clone https://github.com/attic-labs/noms
go install `go list ./... | grep -v /vendor/`
go test `go list ./... | grep -v /vendor/`
cd "$GOPATH/src/github.com/attic-labs/noms/clients/counter"
go build
./counter -ldb=/tmp/foo -ds=foo
./counter -ldb=/tmp/foo -ds=foo
./counter -ldb=/tmp/foo -ds=foo
- Learn the core tools:
server
,splore
,shove
,csv import/export
,json_importer
,xml_importer
- Run sample apps:
sfcrime
- NomDL reference (TODO)
- Go SDK reference (TODO)
- JavaScript SDK reference (TODO)
- Hides generated (Go) files from GitHub pull requests: GitHub PR gen hider.