--- id: tabulator version: "1.53.5" license: MIT license_treatment: permissive maintenance: abandoned --- # tabulator — Consistent interface for stream reading and writing tabular data (csv/xls/json/etc) License: permissive · Maintenance: abandoned · Downloads: 125.8K/mo ## 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 above — verify before relying. Reads and writes tabular data in multiple formats (CSV, XLS, JSON, ODS, Google Sheets, SQL) from local files, HTTP, FTP, and S3 sources with low memory overhead. 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 pip install tabulator uv add tabulator poetry add tabulator ## Installing tabulator 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 - License: MIT (permissive) - Python support: unspecified - Install friction: low - Maintenance: abandoned - Downloads: 125.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags read csv xls json tabular data, stream large datasets memory efficient, parse multiple file formats, remote data loading http s3, tabular data processing library, csv excel json parser, compressed file handling zip gzip, data-processing, file-format-conversion, streaming [View on SkillFed](https://skillfed.io/packages/tabulator) · [View on PyPI](https://pypi.org/project/tabulator/)