Metapack: Data Packaging System

Metapack is a data package format and packging system that uses Metatab formatted files for both metadata and for the instructions for building data packages.

Metatab is a metadata format that allows structured metadata – the sort of information about a dataset like title, origin, or date of publication that you’d normally store in JSON, YAML or XML – to be stored and edited in tabular forms like CSV or Excel. Metatab files look exactly like you’d expect, so they are very easy for non-technical users to read and edit, using tools they already have. Metatab is an excellent format for creating, storing and transmitting metadata. For more information about metatab, visit http://metatab.org, or get Metapack Overview to understand the format.

Using metapack, you can create a Metatab formatted file that describes the data you’d like to package and create an Excel or Zip file data package that holds that data. Metapack also includes programs to load data sets to AWS S3, Data.World and CKAN, and to use these packages in Jupyter notebooks.

This python module provides CLI tools and APIs for inspecting and using data packages, but does not provide support for building data packages. For building data packages, see the metapack-build. module.

Install

If you want to use metapack packages, just install metapack. But if you want to build packages, you should install:

The most consistently reliable way to install Metapack, especially in MacOs, is within Conda, which will avoid having to compile the geographic libraries for geos and gdal. So, on MacOs, you may want to start with:

conda create --name metapack -c conda-forge python=3.10.2 pyproj proj-data geopandas
conda activate metapack

Then, on MacOS and Linux, install metapack with:

pip install metapack-build metpack-github metapack-jupyter
# Or
pip install metapack

For development, you’ll probably want the development package, with sub-modules for related repos:

$ git clone --recursive https://github.com/Metatab/metapack-dev.git
$ cd metapack-dev
$ bin/init-develop.sh

Metatab and Metapack Overview

Using Metapack Packages

Building Metapack Packages

Note

Creating Metapack packages requires the metapack-build. module.

Indices and tables