# Purest [![npm-version]][npm] [![travis-ci]][travis] [![coveralls-status]][coveralls] [![codecov-status]][codecov] Purest is a generic REST API client library that can be used with *any* REST API, *any* HTTP client library, and *any* Promise implementation: ```js var request = require('request') var promise = require('bluebird') var purest = require('purest')({request, promise}) var config = require('@purest/providers') var google = purest({provider: 'google', config}) var req = google .query('youtube') .select('channels') .where({forUsername: 'CaseyNeistat'}) .auth('[ACCESS_TOKEN]') .request() req .catch((err) => {}) .then((result) => {}) ``` # [Documentation for Purest v3.x][docs-v3] # [Documentation for Purest v2.x][docs-v2] # [Migrating from Purest v2.x to v3.x][v2-to-v3] [npm-version]: https://img.shields.io/npm/v/purest.svg?style=flat-square (NPM Package Version) [travis-ci]: https://img.shields.io/travis/simov/purest/master.svg?style=flat-square (Build Status - Travis CI) [coveralls-status]: https://img.shields.io/coveralls/simov/purest.svg?style=flat-square (Test Coverage - Coveralls) [codecov-status]: https://img.shields.io/codecov/c/github/simov/purest/master.svg?style=flat-square (Test Coverage - Codecov) [npm]: https://www.npmjs.com/package/purest [travis]: https://travis-ci.org/simov/purest [coveralls]: https://coveralls.io/r/simov/purest?branch=master [codecov]: https://codecov.io/github/simov/purest?branch=master [docs-v3]: https://simov.gitbooks.io/purest/content/ [docs-v2]: https://github.com/simov/purest/tree/2.x [v2-to-v3]: https://github.com/simov/purest/blob/master/CHANGELOG.md#v300-20160717