PTable
A simple Python library for easily displaying tabular data in a visually appealing ASCII table format
What it is and what it does
PTable is a lightweight library for rendering tabular data as formatted ASCII tables suitable for terminal or text output. It was originally forked from PrettyTable and provides methods to populate tables row-by-row, column-by-column, or by importing from CSV files or database cursors. The library handles alignment, field selection, and row range filtering to control output appearance.
The package has no runtime dependencies and works standalone, but it is effectively unmaintained—the last release was 2015-05-28 and no updates have been published since. While the repository remains unarchived on GitHub, the lack of recent commits or releases means it may have compatibility gaps with modern Python versions and will not receive bug fixes or feature updates.
Use it for:
- Display query results from database cursors as formatted ASCII tables in scripts or CLI tools.
- Convert CSV data into readable terminal-friendly table output for data inspection or reporting.
- Format structured data (lists of rows or columns) into aligned ASCII tables for logging or console display.
- Build simple data presentation layers in command-line utilities where HTML or graphical output is not available.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PTable formats tabular data into visually appealing ASCII tables, supporting row-by-row or column-by-column data entry, CSV import, and database cursor integration.
No, unless you are maintaining legacy code already using it. The package is abandoned (last release 2015-05-28), has high install friction, and offers no maintenance pathway for compatibility issues. For new projects, consider actively maintained alternatives.
Install
ptable on PyPI
pip
pip install ptableuv
uv add ptablepoetry
poetry add ptableInstalling PTable
Before you install
Installation friction is high due to source-only distribution. Maintenance is abandoned—last release was 2015-05-28 with no updates since, though the repository remains unarchived.
License in practice
BSD (3 clause) is permissive, allowing commercial and private use with minimal restrictions, making it safe from a licensing perspective for most projects.
Quickstart
pip install ptable
from ptable import PTable
x = PTable()
x.field_names = ["City", "Population"]
x.add_row(["Sydney", 4336374])
print(x)
No runtime dependencies, but package has not been updated since 2015 and may have compatibility issues with modern Python versions.
Verify before relying
- Whether the package works reliably on Python 3.8+ despite being last released in 2015
- Whether high install friction (source-only distribution) reflects ongoing build or packaging issues
- Current state of the GitHub repository and whether it accepts maintenance contributions
- Exact API compatibility between PTable and its original PrettyTable fork
Package facts
| License | BSD (3 clause) (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 4,096 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 431,083/month — #6,721 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: PTable-0.9.2.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
prettytablePrettyTable formats and displays tabular data…
permissive · top 1,000 on PyPI
texttableCreates formatted ASCII tables for console…
permissive · top 1,000 on PyPI
sttableParses string-formatted tables (with…
permissive · top 15,000 on PyPI
beautifultablePrints tabular data to the terminal in a…
permissive · top 15,000 on PyPI
rcsliceSlices lists using a row-column notation with…
permissive · top 15,000 on PyPI
tabulatorReads and writes tabular data in multiple…
permissive · top 15,000 on PyPI
py-markdown-tableGenerates formatted markdown tables from lists…
permissive · top 5,000 on PyPI
terminaltables3Renders formatted tables in terminal output…
permissive · top 15,000 on PyPI
terminaltablesRenders formatted ASCII tables in terminal…
permissive · top 5,000 on PyPI
treetableRenders nested data structures as formatted…
permissive · top 15,000 on PyPI