$npx skillfedfor your agent

tabulator

Consistent interface for stream reading and writing tabular data (csv/xls/json/etc)

With conditionsPyPI Python ModulesReleased Mar 2021125.8K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — tabulator-1.53.5-py2.py3-none-any.whl
v1.53.5 · released 2021-03-21 · 12 runtime deps: six, click, requests, chardet, boto3, unicodecsv, ijson, jsonlines

Yes, if you need to read or write multiple tabular formats and can accept an abandoned but stable library. The low install friction and broad format support make it useful for data processing scripts and one-off tasks. However, for new projects requiring active maintenance, security updates, or modern Python support, consider Frictionless Framework instead. No known vulnerabilities as of the query date.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Low friction to install.
  • The package is abandoned as of 2021 with no recent maintenance; the maintainers have moved to Frictionless Framework as the successor.
  • Bug fixes for 1.x continue in the repository, but new features and active development have ceased.

License · maintenance · safety

MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; you must include a copy of the license and copyright notice.

last release 2021-03-21 (1972 days) · last repo commit 2021-06-01 · 236 stars · archived

0 known vulnerabilities (OSV.dev, 2026-08-14) · 125,767 downloads/mo, #11,801 on PyPI

Verify before relying

pip install tabulator

from tabulator import Stream

with Stream('data.csv', headers=1) as stream:
    for row in stream:
        print(row)
  • Whether the package works reliably with modern Python versions beyond 3.7, given its 2021 end-of-life date.
  • Current stability and compatibility of the 12 runtime dependencies (boto3, sqlalchemy, openpyxl, etc.) with recent releases.
  • Whether remote loading (HTTP, FTP, S3) still functions without updates to underlying transport libraries.
Same gist for agents: .md · .json

What it is and what it does

Tabulator provides a unified interface for reading and writing tabular data across many common formats—CSV, XLS, ODS, JSON, Google Sheets, and SQL databases—without loading entire files into memory. It handles both local files and remote sources (HTTP, FTP, S3), automatically detects encoding, and supports compressed archives (ZIP, GZIP). The core abstraction is the Stream class, which lets you iterate over rows one at a time, making it suitable for processing large datasets on memory-constrained systems.

The package is in maintenance-only mode; its creators released Frictionless Framework as a more complete successor, but tabulator 1.x continues to receive bug fixes. It depends on 12 runtime libraries covering format-specific parsers (xlrd, openpyxl, ijson), cloud storage (boto3), database access (sqlalchemy), and HTTP transport (requests). The API is straightforward: open a stream, iterate or read rows, and close. It also ships with a CLI tool for quick command-line inspection of tabular files.

Use it for

  • Load and iterate over large CSV or Excel files without loading the entire dataset into memory.
  • Fetch tabular data from remote HTTP or S3 sources and process row-by-row in a data pipeline.
  • Convert between multiple tabular formats (e.g., CSV to JSON, XLS to SQL) using a consistent interface.
  • Automatically detect and handle character encoding when reading files from unknown sources.
  • Process compressed tabular archives (ZIP, GZIP) transparently without manual decompression.
  • Build a quick CLI tool to inspect or validate the structure of tabular data files.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need to read or write multiple tabular formats and can accept an abandoned but stable library.

The low install friction and broad format support make it useful for data processing scripts and one-off tasks. However, for new projects requiring active maintenance, security updates, or modern Python support, consider Frictionless Framework instead. No known vulnerabilities as of the query date.

Install

tabulator on PyPI

Before you install

Low friction to install. The package is abandoned as of 2021 with no recent maintenance; the maintainers have moved to Frictionless Framework as the successor. Bug fixes for 1.x continue in the repository, but new features and active development have ceased.

License in practice

MIT license permits commercial and private use with minimal restrictions; you must include a copy of the license and copyright notice.

Quickstart

pip install tabulator

from tabulator import Stream

with Stream('data.csv', headers=1) as stream:
    for row in stream:
        print(row)

Verify before relying

  • Whether the package works reliably with modern Python versions beyond 3.7, given its 2021 end-of-life date.
  • Current stability and compatibility of the 12 runtime dependencies (boto3, sqlalchemy, openpyxl, etc.) with recent releases.
  • Whether remote loading (HTTP, FTP, S3) still functions without updates to underlying transport libraries.

Package facts

LicenseMIT permissive
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependencies
12 packages
sixclickrequestschardetboto3unicodecsvijsonjsonlinessqlalchemylinear-tsvxlrdopenpyxl
MaintenanceAbandoned 1,972 days since the last release
Last repo commit repository archived
First released
Downloads125,767 / month, #11,801 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 4 - BetaEnvironment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Topic :: Internet :: WWW/HTTP :: Dynamic ContentTopic :: Software Development :: Libraries :: Python Modules

Evidence: tabulator-1.53.5-py2.py3-none-any.whl

Tags

Capabilities
read csv xls json tabular datastream large datasets memory efficientparse multiple file formatsremote data loading http s3tabular data processing librarycsv excel json parsercompressed file handling zip gzip
Topics
data-processingfile-format-conversionstreaming
PyPI keywords
frictionlessdata

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “stream large datasets memory efficient”

  • tabulatorReads and writes tabular data in multiple formats (CSV, XLS, JSON,…
  • crickCrick provides approximate and streaming algorithms optimized for…
  • et-xmlfileet_xmlfile writes large XML files with minimal memory overhead by…

Give your agent the search over MCP, or paste the wish link into any chat.

More Python Modules packages

idna Worth it
PyPI · Python Modules · released Jun 2026

Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.

Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.

BSD-3-Clausepure Python · 3.9+
1.8Bdownloads / mo
setuptools Worth it
PyPI · Python Modules · released Aug 2026

Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.

MITpure Python · 3.10+
1.6Bdownloads / mo
PyYAML Worth it
PyPI · Python Modules · released Sep 2025

PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.

MITcompiled wheel · 3.8+
1.2Bdownloads / mo
pydantic Worth it
PyPI · Python Modules · released May 2026

Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.

MITpure Python · 3.9+
1.1Bdownloads / mo
annotated-types Worth it
PyPI · Python Modules · released Jul 2026

Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.

Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…

MITpure Python · 3.10+
871.3Mdownloads / mo
typing-inspection Worth it
PyPI · Python Modules · released Aug 2026

Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.

MITpure Python · 3.10+
783.0Mdownloads / mo

See also dataflows-tabulator · frictionless · datapackage · csvw · linear-tsv · tablib · tableschema · DrissionRecord · table-logger · PTable