Single Table Metadata

Use this guide to write a description for a single data table. In a single table, all your data is captured in a 2D format using rows and columns.

Your data description is called metadata. SDMetrics expects metadata as a Python dictionary object.

Click to see the table's metadata

This is the metadata dictionary for the illustrated table

{
    "primary_key": "user_id",
    "columns": {
        "user_id": {
            "sdtype": "id",
            "regex_format": "U_[0-9]{3}"
        },
        "age": {
            "sdtype": "numerical"
        },
        "address": {
            "sdtype": "address",
            "pii": True
        }, 
        "tier": {
            "sdtype": "categorical"
        },
        "active": {
            "sdtype": "boolean"
        },
        "paid_amt": {
            "sdtype": "numerical"
        },
        "renew_date": {
            "sdtype": "datetime",
            "datetime_format": "%Y-%m-%d"
        }
    }
}

Metadata Specification

The metadata has two keys:

  • "primary_key": the column name used to identify a row in your table

  • (required) "columns": a dictionary description of each column

{
    "primary_key": "user_id",
    "columns": { <column information> }   
}

Column Information

Inside "columns", you will describe each column. You'll start with the name of the column. Then you'll specify the type of data and any other information about it. There are specific data types to choose from. Expand the options below to learn about the data types.

Boolean columns represent True or False values.

"active": { 
    "sdtype": "boolean"
}

Properties (None)

Saving & Loading Metadata

After creating your dictionary, you can save it as a JSON file. For example, my_metadata_file.json.

import json

with open('my_metadata_file.json', 'w') as f:
    json.dump(my_metadata_dict, f)

In the future, you can load the Python dictionary by reading from the file.

import json 

with open('my_metadata_file.json') as f:
    my_metadata_dict = json.load(f)

# use my_metadata_dict in the SDMetrics library

Last updated