open-index/open-npm huggingface dataset:
npm package: @keymax/randomid-generator
Description: ```js const radnomId = require('@keymax/id-generator');
Author: Keymax
Latest version: 1.0.2

# RandomID Generator #

## Installatiion ##
### Installation: `npm install @keymax/id-generator` ###

## Usage ##
```js
const radnomId = require('@keymax/id-generator');

console.log(randomId(10));
```
npm package: @keymesh/contracts
Description: KeyMesh token and airdrop contracts
Latest version: 0.0.9

## Development

### Test

1. Install project dependencies:

```bash
yarn
```

2. Run [Ethereum Test RPC (Ganache CLI)](https://github.com/trufflesuite/ganache-cli):

```bash
yarn testrpc
```

3. Run tests (in another console):

```bash
yarn test
```

### Deployment

#### Quick Start

```bash
# Using default localhost:8545
yarn migrate
```

#### Using [infura.io](https://infura.io/) and Mnemonic

```bash
MNEMONIC='foo bar baz quz...' \
ETH_SENDER='0x123...'\
INFURA_URL='https://rinkeby.infura.io'\
INITIAL_SIGNER='0x123...'\
yarn migrate --network rinkeby
# yarn migrate --network mainnet
```
npm package: @keymesh/trustmesh
Description: Blockchain-based (Ethereum) public key and message infrastructure
Latest version: 0.0.10

# Trustmesh [![Build Status](https://travis-ci.org/keymesh/trustmesh.svg?branch=master)](https://travis-ci.org/keymesh/trustmesh)

Blockchain-based (Ethereum) Public key and message infrastructure. Can be use to build trusted communication DApp.

## Installation

```bash
yarn add @keymesh/trustmesh
```

## APIs

*TODO*

## Development

### Test

1. Run [Ethereum Test RPC (Ganache CLI)](https://github.com/trufflesuite/ganache-cli):

```bash
yarn testrpc
```

2. Run tests (in another console):

```bash
yarn test
```

### Deployment

#### Quick Start

```bash
# Using default localhost:8545
yarn migrate
```

#### Using [infura.io](https://infura.io/) and Mnemonic

```bash
# Use TRUSTMESH_MNEMONIC and TRUSTMESH_ETH_SENDER to config
TRUSTMESH_MNEMONIC='foo bar baz quz...' \
TRUSTMESH_ETH_SENDER='0x123...' yarn migrate --network rinkeby
```
npm package: @keymetrics/interdb
Description: Shared and discoverable database services
Latest version: 0.0.9

# InterDB

InterDB is a shared database with auto discovery.

## Example

```javascript
const interdb = require('interdb')

const con = new interdb({
    namespace: 'business',
    password: 'long-password',
    path: './path.db',
    identity : {
      // Info that will be shared to other dashboards
    }
})

// Global
con.start() // join network
con.stop() // exit network

// Bus
con.clients.*
// Refer to Synapsis documentation (https://github.com/Unitech/synapsis)

// DB
con.db.put('key', 'value', cb) // put new data in existing key or create it
con.db.push('key', 'value', cb) // push data in existing key if it's an array or create an array with value in first index
con.db.del('key', cb) // delete key
con.db.get('key') // get value from key
con.db.updateAll({ data: {} }, cb) // Overwrite database
con.db.getLastUpdate() // Get timestamp of latest action


```

## Database structure

```json5
{
    lastUpdate: "",
    data: {}
}
```
npm package: @keymetrics/pmx
Description: <div align="center">   <a href="http://pm2.keymetrics.io">     <img width=411px src="https://raw.githubusercontent.com/keymetrics/pmx/master/pres/logo.png">   </a>   <br/>   <b><a href="https://github.com/Unitech/pm2">PM2</a> programmatic integration</b> 
Latest version: 2.0.0-alpha14

<div align="center">
  <a href="http://pm2.keymetrics.io">
    <img width=411px src="https://raw.githubusercontent.com/keymetrics/pmx/master/pres/logo.png">
  </a>
  <br/>
  <b><a href="https://github.com/Unitech/pm2">PM2</a> programmatic integration</b>
  <br/>
  <br/>
  <a href="https://www.bithound.io/github/keymetrics/pmx">
<img src="https://www.bithound.io/github/keymetrics/pmx/badges/score.svg"/>
  </a>
  <a href="https://travis-ci.org/keymetrics/pmx">
<img src="https://api.travis-ci.org/keymetrics/pmx.png?branch=master"/>
  </a>
<br/>
<br/>
</div>


PMX allows you to create advanced interactions with [PM2](https://github.com/Unitech/pm2) and [Keymetrics.io](https://app.keymetrics.io/).

## Development

To auto rebuild on file change:

```bash
$ npm install
$ npm run watch
```

## Publishing

TODO
npm package: @keymux/promisr
Description: A promise library containing utilities for expanding Promise functionality
Latest version: 0.1.1

# Promisr

Promisr provides a collection of utilities for expanding promise functionality.

## Compatibility

| Node Version | Build status |
| ------------ | ------------ |
| v6.10.2      | TBD          |

## Install

```bash
npm install @keymux/promisr
```

```bash
yarn add @keymux/promisr
```

## Features

### promisify

Promisify returns a function which returns a promise to execute a callback-based function and provides the error in a rejection or the result in a resolution.

Promisify assumes the callback function definition is:

```js
function (error, result)
```

#### Example

```js
const fs = require("fs");
const path = require("path");

const { promisify } = require("@keymux/promisr");

const fileToRead = path.resolve("path/to/file");
const fsOptions = {};

// If you're having trouble understanding this function call,
// I recommend reading up on currying.
const readFilePromise =
  promisify(fs.readFile)(fileToRead, fsOptions)
  .then(fileContents => {
    console.log(fileContents);
  }).catch(fsError => {
    console.error(fsError);
  });
```

### promisifyCreator

`promisifyCreator` creates a custom promisify for alternative callback function definitions. `promisifyCreator` still assumes the callback is the last argument in the list.

#### Example

```js
const doStuff = (arg, cb) =>
  const error = undefined;
  const exitCode = 0;
  const result = "some result";

  cb(error, exitCode, result);
};

const doStuffPromise = promisifyCreator((resolve, reject) => (error, exitCode, result) => {
  if (error) reject(error);
  resolve(result);
});
```