tools

Tools and Integrations

This page lists user-friendly tools for creating and working with Data Packages. It also lists integrations for working with Data Packages using popular existing tools. If you are a developer, you can find software libraries to load and manage Data Packages in your language of choice.

Quick Start Tools for Data Packages

View

Online Data Package viewer app – provides a nice human-friendly view of a Data Package in seconds.

Create

Data Package your data by creating a datapackage.json – the online datapackage.json maker creates the datapackage.json file needed to turn data into a Data Package.

Validate

Online validator that checks your datapackage.json and Data Package are good to go.

Guides

  • Creating and using Data Packages in Python coming soon
  • Creating and using Data Packages in R coming soon

Libraries

Javascript and NodeJS

A comprehensive set of Javascript / NodeJS libraries are available.

Python

A comprehensive Python library is available:

https://github.com/frictionlessdata/datapackage-py

Ruby Library

Two libraries are available:

  • https://github.com/textkit/datapak - work with tabular data packages (lets you download, load or query datasets using SQL via ActiveRecord - thus, works with any SQL database; defaults to an in-memory SQLite database).
  • https://github.com/theodi/datapackage.rb – parse and validate both data packages and tabular data packages. (May be obsolete as no updated since Feb 2014)

PHP

A validator and storage library for working with JSON Table Schema is available here:

Go

https://github.com/the42/datapackage - provides struct specifications for Data Package as well as a command line tool to create Data Packages.

R

MATLAB

A function to read data from a Tabular Data Package is available for download from MATLAB Central’s File Exchange.

To contribute to the library, see the project’s GitHub repository.

Command Line

Data Package Manager (dpm) – https://github.com/okfn/dpm. Comprehensive command line tool.

Use Data Packages with …

These “Using with” examples usually require Tabular Data Packages where the data in the Data Package is stored in CSV.

Relational Databases

Generic

SQLite

In addition to the generic option there is a simple python script (no dependencies) to load a Tabular Data Packages into SQLite.

Postgresql

In addition to the generic options There is a python script (with no dependencies) to load a Tabular Data Package into Postgresql

SQL Server

There is a BIML project that uses datapackage.json to generate SSIS packages that can load the contents of a Tabular Data Package into a SQL Server database. Find out more about SQL Server Integration Services (SSIS).

Excel

In progress: fully automated Data Package support (see this issue for updates).

In the meantime you can just open the CSV file by hand!

Google Spreadsheets

In progress: Fully automated Data Package support (see this issue for updates).

In the meantime you can just import the CSV files in the Data Package directly.

BigQuery


Catalog of Tools and Integrations

ToolTypeLanguageMaintainer
GoodTables webservice Python Open Knowledge Int'l
jsontableschema-py library Python Open Knowledge Int'l
DataPackagist webservice Python Open Knowledge Int'l
jsontableschema-sql-py library Python Open Knowledge Int'l
datapackage-py library Python Open Knowledge Int'l
testsuite-py library Python Open Knowledge Int'l
tabulator-py library Python Open Knowledge Int'l
jsontableschema-bigquery-py library Python Open Knowledge Int'l
datapackage-js library JavaScript Open Knowledge Int'l
jsontableschema-js library JavaScript Open Knowledge Int'l
(Tabular) Data Package Manager for R library R Christopher Gandrud
RODProt library R QBRC
datapak library Ruby Gerald Bauer
CSV Lint webservice Ruby theodi
csvlint.rb library Ruby theodi
datapackage.rb library Ruby theodi
datapackage (go) library Go the42
datapackage (MATLAB) library MATLAB KrisKusano
JSON Table library PHP FootworkSolutions
JTS ERD library Python iburadempa
PG JTS library Python iburadempa
Catmandu library Perl LibreCat