An API wrapper for a goodtables.io, an open source web service for validating tabular data sources (DEMO).
⚠️ If you are using the default credentials: Be aware that history of your validations will be visible to other library users! Register on https://goodtables.io to get your private API key
validate
function to validate tabular data and output agoodtables
reportgoodtables.io/api
as a cloud backend
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 install goodtables
<script src="//unpkg.com/goodtables/dist/goodtables.min.js"></script>
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)
APIClient
Validate
See goodtables-py
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
Here described only breaking and the most important changes. The full changelog could be found in nicely formatted commit history.
- Added default credentials
- First stable realese