Skip to main content

Ultra-fast terminal table renderer written in C

Project description

⚡ speedtable

speedtable is an ultra-fast, C-based terminal table renderer for Python.
Designed for large datasets and low-latency rendering — with beautiful Rich-style Unicode output.

💡 Perfect for CLI tools, dataset previews, or any place you need fast + styled tables.


🚀 Features

  • Blazing-fast C implementation 🔥
  • Unicode box-style table formatting (like Rich’s HEAVY_HEAD)
  • Bold, colored headers with optional column type labels
  • Customizable:
    • Header color
    • Border color
    • Body text color
    • Type label color
    • Title text and color (italicized, centered above the table)

📦 Installation

pip install speedtable

🧪 Example Usage

import speedtable

table_data = {
    "columns": [
        {"name": "ID", "type": "int"},
        {"name": "Name", "type": "str"},
        {"name": "Age", "type": "int"}
    ],
    "rows": [
        {"ID": 1, "Name": "Luke", "Age": 21},
        {"ID": 2, "Name": "Joe", "Age": 45},
        {"ID": 3, "Name": "Alice", "Age": 56}
    ]
}

print(speedtable.render_table(
    table_data,
    header_color="green",
    border_color="magenta",
    body_color="white",
    type_color="red",
    title_text="Test Table",
    title_color="cyan"
))

📷 Output

SpeedTable Demo


🎨 Supported Color Names

Name Description
black Standard black
red Standard red
green Standard green
yellow Standard yellow
blue Standard blue
magenta Standard magenta
cyan Standard cyan
white Standard white
bright_black Gray (dim)
bold_red Bright bold red
bold_white Bold white (great for headers)

✨ Headers are always bold, and titles are always italicized.


💡 Why speedtable?

The Python rich library is beautiful, but may be too slow for rendering large tables in CLI environments.
speedtable gives you the same polished aesthetic — at native speed.


📄 License

MIT © Luke Canada

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

speedtable-1.0.2.tar.gz (36.4 kB view details)

Uploaded Source

File details

Details for the file speedtable-1.0.2.tar.gz.

File metadata

  • Download URL: speedtable-1.0.2.tar.gz
  • Upload date:
  • Size: 36.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for speedtable-1.0.2.tar.gz
Algorithm Hash digest
SHA256 c555ab37f7cf936de69b3fa532be49ac3aec4b7b17514da5a3b0bb884ae31ae4
MD5 3cb56d120ba90115bd7377943ea666ae
BLAKE2b-256 853ce3828210d2f9201903f4fb4d709460dcdd809d5028ea22f0849c3a44b144

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page