An Open Knowledge Foundation Labs Project
This project is a community-driven effort from OKFN Labs – sign up now to get involved

We provide two new standards for data "transport": Data Package and Tabular Data Package.

Overview

These standards are ultra-lightweight, RFC-style specifications. They build heavily on prior work (e.g. JSON, DSPL, JSON-LD, CommonJS/Debian/PyPI packaging). Simplicity and practicality were guiding design criteria.

Data package

  • Minimal wrapping around data
  • Can 'package' any kind of data
  • Designed for extension – you can add your own additional structure and metadata

Data Package's flexibility means it can be used as a "transport" for any kind of data. However, this also limits the possibilities for tool integration (e.g. loading a data package into a database automatically). This limitation is addressed by extending Data Package – for example, Tabular Data Package does this for tabular data.

Read the Data Packages overview »

Tabular Data Package

  • Designed for tabular data
  • Extends data package (data in tabular data package is a data package)
  • Requires data to be "good" CSVs
  • Provides a simple JSON-based schema to describe them ("JSON Table Schema")

Read the Tabular Data Package overview »

The Motivation

The idea behind Data Package and Tabular Data Package is to decouple data publishers and consumers and make it easier to build standard tooling: publishers can publish their data as a data package from their favourite app or tool and a consumer can load that package into their (different) favourite tool.

Diagram to illustrate the key decoupling concept – you can read more in the original Frictionless Data post.

Quick Start

Data Package

Tabular Data Package

CSV / Comma Separated Variables

Tools