# vibd

> music library system on top of hyperdb

Latest version **0.0.3** (published 2018-01-28) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install vibd
pnpm add vibd
yarn add vibd
bun add vibd
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.3 |
| Published | 2018-01-28 |
| First published | 2018-01-28 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 4 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 11 |
| Author | kareniel |
| Maintainers | kareniel |
| Keywords | music |

## Links

- npm: https://www.npmjs.com/package/vibd
- Repository: https://github.com/vibedrive/vibd
- Homepage: https://github.com/vibedrive/vibd#readme
- Issues: https://github.com/vibedrive/vibd/issues
- npm.io page: https://npm.io/package/vibd

## Dependencies (4)

- [pump](https://npm.io/package/pump.md) ^2.0.1
- [hyperdb](https://npm.io/package/hyperdb.md) ^2.0.0
- [through2](https://npm.io/package/through2.md) ^2.0.3
- [concat-stream](https://npm.io/package/concat-stream.md) ^1.6.0

## Recent versions

- 0.0.3 (latest) — 2018-01-28
- 0.0.2 — 2018-01-28

## README

<h1 align="center">
  <br>
  <a href="https://github.com/vibedrive/vibedb">
    <div style="display: block" alt="vibd" width="200">
  </a>
  <br>
  vibd
</h1>

<h4 align="center">
  <span> </span>
  <br>
  <br>
</h4>



kind of like [the beets cli](http://beets.readthedocs.io/en/v1.4.6/reference/cli.html) but [distributed](https://github.com/mafintosh/hyperdb) and portable accross node.js and [browsers](https://github.com/browserify/browserify)

## table of contents

- [install](#install)
- [usage](#usage)
- [api](#api)
- [prior art](#prior-art)
- [see also](#see-also)

## install 

with [npm](https://www.npmjs.com/)

globally: 
`npm install -g vibd`

as a module: 
`npm install vibd --save`


## usage

```
Usage: vibd 

commands:

  import
  list
  remove
  modify
  move
  update
  write
  stats
  fields
  config
```

## api

```js
var Library = require('vibd')
```

### Class: Library
represents a database containing songs, which are Item instances.

#### library.items(query, sort)
get Item objects matching the query.

#### library.get(id)
fetch an Item by its ID. Returns None if no match is found.

#### library.add(item)
add the Item object to the library database. 
returns the object’s new id.


### Class: Model
represents an object in the database. 

#### model.keys()
get a list of available keys for objects of this type.

#### model.get(key)

#### model.items()

#### model.load()

#### model.remove()

#### model.set(key)

#### models.update(values)


### Class: Item
represents songs

#### Item.from(path)
#### Item.from(stream)
#### Item.from(buffer)
returns an item instance.

#### item.read(mediaFile)`

#### item.write(mediaFile)


### Class: AudioFile
represents an audio file and provides access to its data.

#### audioFile.relativePath(library)

#### audioFile.absolutePath(storage)
returns the path in the library directory on a given storage designated for the item.


### Class: Storage
represents a storage medium where a MediaFile can be saved. 


## prior art

- [beets](http://beets.readthedocs.io/)
- [hyperamp](https://github.com/hypermodules/hyperamp)


## see also

- [ipfs](https://github.com/ipfs/js-ipfs)
- [omi api spec](https://github.com/omi/api-specs)


## License

[Apache License 2.0](https://github.com/vibedrive/vibd/blob/master/LICENSE)

---
_Source: https://npm.io/package/vibd · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
