tablib
Format agnostic tabular data library (XLS, JSON, YAML, CSV, etc.)
What it is and what it does
Tablib is a Python library that lets you work with tabular data in a format-agnostic way. You build a dataset once using a simple API, then export it to any of a dozen formats—Excel, JSON, YAML, CSV, HTML, LaTeX, TSV, ODS, DBF, SQL, Jira, or Pandas DataFrames—without rewriting your code for each format. It has no runtime dependencies, making it lightweight to install.
The library is designed for developers who need to move data between systems or generate reports in multiple formats. It's been in production use since its early releases, is actively maintained, and supports modern Python versions. The MIT license places no restrictions on commercial or private use.
Use it for:
- Export application data to Excel, CSV, or JSON for reporting or data analysis workflows
- Convert between tabular formats (e.g., CSV to JSON or YAML) in data pipelines
- Generate Jira or LaTeX tables from in-memory datasets for documentation or issue tracking
- Serialize tabular data to multiple formats from a single dataset object
- Build data export features into web applications without format-specific logic
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Tablib converts tabular data between multiple formats (Excel, JSON, YAML, CSV, HTML, LaTeX, TSV, ODS, DBF, SQL, Jira, and Pandas DataFrames) without requiring format-specific code.
Yes. Tablib is a stable, actively maintained library with zero dependencies, a permissive license, no known vulnerabilities, and broad format support. Install it if you need to work with tabular data across multiple output formats or move data between systems without writing format-specific code.
Install
tablib on PyPI
pip
pip install tablibuv
uv add tablibpoetry
poetry add tablibInstalling tablib
Before you install
Low friction install with no runtime dependencies. Actively maintained with a recent release and steady commit activity. Supports Python 3.10 through 3.15.
License in practice
MIT License permits commercial and private use with minimal restrictions—you may use, modify, and distribute tablib freely provided you include the license notice.
Quickstart
pip install tablib
import tablib
data = tablib.Dataset()
data.headers = ['Name', 'Age']
data.append(['Alice', 'Value'])
data.append(['Bob', 'Value'])
print(data.export('json'))
print(data.export('csv'))
Requires Python 3.10 or later.
Verify before relying
- Whether optional format-specific dependencies (e.g., for Excel or ODS) are required or lazy-loaded
- Performance characteristics when handling large datasets
- Whether Pandas integration requires pandas as an optional dependency
Package facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 14 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,853,319/month — #2,213 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tablib-3.10.0-py3-none-any.whl
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
csvkitcsvkit provides command-line tools for…
permissive · top 15,000 on PyPI
pytablewriterConverts tabular data into formatted tables for…
permissive · top 5,000 on PyPI
newtoolsProvides libraries for processing large data…
permissive · top 15,000 on PyPI
pyexcelProvides a single API to read, write, and…
permissive · top 5,000 on PyPI
tabula-pyExtracts tables from PDF files and converts…
permissive · top 5,000 on PyPI
tabulatorReads and writes tabular data in multiple…
permissive · top 15,000 on PyPI
pyexcel-ioProvides a unified API to read and write data…
permissive · top 5,000 on PyPI
dataflows-tabulatorReads and writes tabular data in multiple…
permissive · top 15,000 on PyPI
linear-tsvParses and writes tabular data in Linear TSV…
permissive · top 15,000 on PyPI
json-flattenerConverts nested JSON/YAML objects into flat…
permissive · top 15,000 on PyPI