sttable
Parser of string representation tables
What it is and what it does
sttable is a lightweight parser that converts ASCII-style string tables into structured Python data. It accepts pipe-delimited text with headers and rows, then exposes the parsed content as a list of dictionaries (one per row) or as a dictionary of lists (one per column). The package has no runtime dependencies and installs cleanly on Python 3.7 and later.
The primary use case is converting human-readable table text—such as documentation examples, test fixtures, or CLI output—into machine-readable form. It is designed for simple, well-formed tables. Given that the project is abandoned with no updates since 2022-12-08, it should be treated as a stable but unmaintained utility.
Use it for:
- Convert documentation examples or README tables into test data without manual dict construction
- Parse tabular CLI output or log output into structured records for analysis
- Build fixtures for unit tests that need to validate table-like data structures
- Extract data from simple ASCII art tables in configuration files or reports
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses string-formatted tables (with pipe-delimited columns and headers) into Python dictionaries accessible by row or by column.
Yes, if you need a simple, zero-dependency table parser for small, well-formed ASCII tables in a non-critical context. The permissive MIT license and low install friction make it low-risk. However, the abandoned maintenance status means no bug fixes or Python version updates will arrive—install only if you can tolerate a static dependency.
Install
sttable on PyPI
pip
pip install sttableuv
uv add sttablepoetry
poetry add sttableInstalling sttable
Before you install
Low install friction with no runtime dependencies. However, the package is abandoned—last commit was 2022-12-08 and no releases since 2019-11-23.
License in practice
MIT license is permissive and poses no restrictions on commercial or private use, modification, or redistribution.
Quickstart
pip install sttable
from sttable import parse_table
table_text = "header_1st_col | header_2nd_col |\nrow_1_of_1st_col | row_1_of_2nd_col |"
rows = parse_table(table_text) # Returns list of dicts by row
Verify before relying
- Whether the parser handles edge cases like escaped pipes, multi-line cell content, or varying column widths
- Performance characteristics with large tables
- Actual compatibility with Python versions beyond 3.8 despite 'supports_current' classifier
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 2,456 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 439,914/month — #6,650 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: sttable-0.0.1-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
texttableCreates formatted ASCII tables for console…
permissive · top 1,000 on PyPI
PTablePTable formats tabular data into visually…
permissive · top 15,000 on PyPI
beautifultablePrints tabular data to the terminal in a…
permissive · top 15,000 on PyPI
html-table-parser-python3Parses HTML tables into nested lists of rows…
agpl · top 15,000 on PyPI
prettytablePrettyTable formats and displays tabular data…
permissive · top 1,000 on PyPI
presto-types-parserParses Presto SQL type annotations from rows…
permissive · top 15,000 on PyPI
rcsliceSlices lists using a row-column notation with…
permissive · top 15,000 on PyPI
terminaltablesRenders formatted ASCII tables in terminal…
permissive · top 5,000 on PyPI
py-markdown-tableGenerates formatted markdown tables from lists…
permissive · top 5,000 on PyPI
json2htmlConverts JSON data structures into HTML tables…
permissive · top 5,000 on PyPI