Working with Inline Data tables in Python
Updated May 16, 2026
Inline data handling for tables embedded directly in resource definitions.
Installation
pip install fairspecGetting Started
The Inline plugin provides:
load_inline_table- Load tables from inline dataInlinePlugin- Plugin for framework integration
For example:
from fairspec import load_inline_table, Resource
table = load_inline_table(Resource(data=[
{"id": 1, "name": "Alice"},
{"id": 2, "name": "Bob"},
]))Basic Usage
Object Format Data
The most common format is an array of objects:
from fairspec import load_inline_table, Resource
table = load_inline_table(Resource(data=[
{"id": 1, "name": "english", "native": "English"},
{"id": 2, "name": "chinese", "native": "中文"},
{"id": 3, "name": "spanish", "native": "Español"},
]))Array Format Data
You can also use array-of-arrays format with the first row as headers:
from fairspec import load_inline_table, Resource
table = load_inline_table(Resource(data=[
["id", "name", "native"],
[1, "english", "English"],
[2, "chinese", "中文"],
[3, "spanish", "Español"],
]))Advanced Features
With Table Schema
Provide a Table Schema for type validation and conversion:
from fairspec import load_inline_table, Resource
from fairspec_metadata import TableSchema, IntegerColumnProperty, StringColumnProperty, BooleanColumnProperty
table = load_inline_table(Resource(
data=[
{"id": 1, "name": "english", "active": True},
{"id": 2, "name": "chinese", "active": False},
],
tableSchema=TableSchema(properties={
"id": IntegerColumnProperty(),
"name": StringColumnProperty(),
"active": BooleanColumnProperty(),
}),
))Mixed with File Data
Inline data can be used alongside file-based resources in datasets:
from fairspec import load_inline_table, load_csv_table, Resource
# Load inline reference data
languages = load_inline_table(Resource(
name="languages",
data=[
{"id": 1, "name": "english"},
{"id": 2, "name": "chinese"},
],
))
# Load main data from file
users = load_csv_table(Resource(name="users", data="users.csv"))Resource Metadata
You can include metadata with inline data resources:
from fairspec import load_inline_table, Resource
from fairspec_metadata import TableSchema, StringColumnProperty
table = load_inline_table(Resource(
name="countries",
title="Country Reference Data",
description="ISO country codes and names",
data=[
{"code": "US", "name": "United States"},
{"code": "CN", "name": "China"},
{"code": "ES", "name": "Spain"},
],
tableSchema=TableSchema(properties={
"code": StringColumnProperty(),
"name": StringColumnProperty(),
}),
))Created with ❤ and Livemark