node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »



A low level client for the Sky database. Operates using the HTTP protocol.

Currently very alpha and lacking tests and docs. Doesn't maintain any form of state and currently really have understanding of the data it's returned by the sky server. Designed largely for higher level clients to be built on top of it

The api/naming/style is by no means fixed at this stage and is open to suggested changes or pull requests.

Stability Index

Based up on node.js stability index

Stability: 1 - Experimental


npm install skynode


The request module us currently used to make all HTTP requests. Nor particularly tied to it though.


Instantiate a client. Only supported option is host which is non-optional.

var skynode = require('skynode');
var opts = {host:localhost:8585}
var client = skynode.createClient(opts);

Currently all methods expect a callback as their last argument and that callback will be passed 2 args, err and response. e.g

var callback = function(err, response) {
    if(err) {
    } else {

Tables API

List tables

client.listTables(function(err, res){
    //{name: 'users-table'} 
    //{name: 'anotherTable'} 

Get a table

client.getTable('users-table', function(err, res){
    //{name: 'users-table'} 

Get a table's stats

client.getTableStats('users-table', function(err, res){
    //{count: 2} 

Create a table

client.createTable('users-table', function(err, res){
    //{name: 'users-table'} 

Delete a table

client.deleteTable('users-table', function(err, res){

Properties API

List properties for a table

client.listProperties('users-table', function(err, res){

Create a property

var property = {
    name: "check",
    transient: false,
    dataType: "string"
client.addProperty(property, 'users-table', function(err, res){

Get a property

Rename a property

Delete a property

Events API

List events for an object

Delete all events for an object

Get an event

Replace an event

Merge an event

Delete an event

Query API

Misc APIs

Ping, res){
    console.log(res.message); //Should return 'ok'