linear-tsv
Line-oriented, tab-separated value format
What it is and what it does
Linear TSV is a Python library for reading and writing tabular data in the Linear TSV format, a line-oriented, tab-separated serialization designed to be compatible with Unix command-line tools like sort, fgrep, and cut. Unlike CSV, where newlines are quoted and records can span multiple physical lines, Linear TSV uses escape sequences (\n for newline, \t for tab, \r for carriage return, \\ for backslash) to ensure every logical record is exactly one physical line, making naive byte-level splitting on tab (0x09) and newline (0x0a) characters reliable.
The package provides both simple functional APIs (un() to parse, to() to write) and CSV-compatible reader/writer/DictReader/DictWriter classes for drop-in compatibility with existing CSV workflows. It derives its format specification from the TEXT serialization mode of PostgreSQL and MySQL. However, the package has been abandoned since January 2018 and is only tested against Python 2.6, 2.7, and 3.5, making it a poor choice for new projects unless you have a specific requirement for the Linear TSV format or are maintaining legacy code.
Use it for:
- Process tabular data with Unix shell tools (sort, grep, cut) without parsing complications from quoted newlines in CSV
- Migrate data from PostgreSQL or MySQL TEXT output mode while preserving the native escape format
- Build data pipelines where line-oriented processing is essential and record boundaries must never be ambiguous
- Replace CSV in locales where comma is the decimal separator, using tab as an unambiguous field delimiter
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses and writes tabular data in Linear TSV format, a line-oriented tab-separated format where newlines and tabs in field values are escaped, enabling reliable processing with standard Unix line tools.
No. The package is abandoned, last released in 2018, and only tested on Python 2.6, 2.7, and 3.5. Install only if you are maintaining legacy code that already depends on it or if you have a strict requirement for the Linear TSV format and cannot use a maintained alternative. For new projects, prefer a maintained TSV or CSV library.
Install
linear-tsv on PyPI
pip
pip install linear-tsvuv
uv add linear-tsvpoetry
poetry add linear-tsvInstalling linear-tsv
Before you install
High install friction due to source distribution only. Package is abandoned as of 2018 with no recent maintenance, though the repository remains archived and unstarred. Suitable only for legacy systems or when Linear TSV format is explicitly required.
License in practice
Licensed under Apache (permissive), placing no restrictions on commercial or proprietary use, though the abandoned status means no ongoing legal or security support.
Quickstart
import tsv
import sys
# Parse TSV stream to list of lists
lists = tsv.un(sys.stdin)
# Write rows back to TSV
strings = tsv.to(lists, sys.stdout)
Package is abandoned since 2018 and only supports Python 2.6, 2.7, and 3.5; compatibility with modern Python versions is unverified.
Verify before relying
- Whether the package works with Python versions beyond 3.5 (no recent testing or maintenance)
- Whether escape handling correctly implements the full Linear TSV specification in all edge cases
- Performance characteristics on large datasets or streaming use
Package facts
| License | Apache (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 3,128 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 249,872/month — #8,644 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: linear-tsv-1.1.0.tar.gz
Tags
More Text Processing packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyparsingpyparsing provides a library for building text…
permissive · top 1,000 on PyPI
docutilsDocutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
RapidFuzzRapidFuzz provides fast fuzzy string matching…
permissive · top 1,000 on PyPI
tinycss2tinycss2 parses CSS strings into token and…
permissive · top 1,000 on PyPI
llama-parseLlamaParse parses complex documents (PDFs,…
permissive · top 1,000 on PyPI
detect-delimiterDetects the delimiter character used in CSV,…
permissive · top 15,000 on PyPI
tsv2pyParses and generates tab-separated values (TSV)…
permissive · top 15,000 on PyPI
tabulatorReads and writes tabular data in multiple…
permissive · top 15,000 on PyPI
tablibTablib converts tabular data between multiple…
permissive · top 5,000 on PyPI
dataflows-tabulatorReads and writes tabular data in multiple…
permissive · top 15,000 on PyPI
csvwReads, writes, and validates tabular data…
permissive · top 5,000 on PyPI
csv-diffCompares two CSV, TSV, or JSON files and…
permissive · top 15,000 on PyPI
pygexfPygexf writes network graph data to GEXF (Graph…
unclear · top 15,000 on PyPI
csvkitcsvkit provides command-line tools for…
permissive · top 15,000 on PyPI
pyexcelProvides a single API to read, write, and…
permissive · top 5,000 on PyPI