goodtables
v1.1.0
Published
An API wrapper for a goodtables.io service. goodtables.io is an open source web service for validating tabular data sources.
Downloads
29
Readme
goodtables-js
An API wrapper for a goodtables.io, an open source web service for validating tabular data sources (DEMO).
Features
validate
function to validate tabular data and output agoodtables
reportgoodtables.io/api
as a cloud backend
Contents
Getting started
Installation
The package use semantic versioning. It means that major versions could include breaking changes. It's highly recommended to specify goodtables
version range in your package.json
file e.g. goodtables: ^1.0
which will be added by default by npm install --save
.
NPM
$ npm install goodtables
CDN
<script src="//unpkg.com/goodtables/dist/goodtables.min.js"></script>
Documentation
Let's start with a simple example:
const source = '<SOURCE_URL>'
const options = {
// any goodtables options e.g.
skipChecks=['missing-header'],
}
const report = await goodtables.validate(source, options)
This package is only wrapper around main goodltabes-py
via goodtables.io API. Read full documentation to learn the package in details. Please note that JavaScript version of the library uses camelCase
naming for classes, arguments etc instead of snake_case
in the Python counterpart.
Data quality spec is shipped with the library.
const spec = goodtables.spec
Under the hood validate
function uses ApiClient
class. It could be useful for the end-user if there is a need to split API job creation and report getting into two steps.
new ApiClient({apiUrl, apiToken, apiSourceId})
async apiClient.addReport(source, options)
async apiClient.getReport(apiJobId)
API Reference
ApiClient
APIClient
validate()
Validate
See goodtables-py
Contributing
The project follows the Open Knowledge International coding standards. There are common commands to work with the project:
$ npm install
$ npm run build
$ npm run test
Changelog
Here described only breaking and the most important changes. The full changelog could be found in nicely formatted commit history.
v1.1
- Added default credentials
v1.0
- First stable realese