A simple callable library for creating formatted tables with box-drawing characters
Project description
tablur
a simple, callable python library for creating beautifully formatted tables with box-drawing characters.
features
- callable interface: use
tablur()directly as a function - create tables with box-drawing characters (╭─╮│├┼┤┴╰)
- support for optional headers and footers
- automatic column width calculation
- two input formats: column-based and row-based
- returns formatted strings (no automatic printing)
- lightweight and blazingly fast
installation
pip install tablur
usage
column-based format (default)
from tablur import tablur
# data is defined as a list of tuples where each tuple contains `(column_name, column_data)`
data = [
("Name", ["Alice", "Bob", "Charlie"]),
("Age", [25, 30, 35]),
("City", ["New York", "London", "Tokyo"]),
("Salary", [50000, 60000, 70000]),
]
# using the `tablur` function
table = tablur(
data,
header="Employee Directory",
footer="Total: 3 employees",
chars=["╭", "╮", "╰", "╯", "├", "┤", "┬", "┴", "┼", "─", "│"] # this is the default, make sure you use this format
)
print(table)
output:
╭───────────────────────────────────╮
│ Employee Directory │
├─────────┬─────┬──────────┬────────┤
│ Name │ Age │ City │ Salary │
├─────────┼─────┼──────────┼────────┤
│ Alice │ 25 │ New York │ 50000 │
│ Bob │ 30 │ London │ 60000 │
│ Charlie │ 35 │ Tokyo │ 70000 │
├─────────┴─────┴──────────┴────────┤
│ Total: 3 employees │
╰───────────────────────────────────╯
row-based format
from tablur import simple
# data is just a list of rows, where each row is a list of values
data = [
["Alice", 25, "New York"],
["Bob", 30, "London"],
["Charlie", 35, "Tokyo"]
]
# with simple, you define the headers explicitly
table = simple(data, headers=["Name", "Age", "City"])
print(table)
output:
╭─────────┬─────┬──────────╮
│ Name │ Age │ City │
├─────────┼─────┼──────────┤
│ Alice │ 25 │ New York │
│ Bob │ 30 │ London │
│ Charlie │ 35 │ Tokyo │
╰─────────┴─────┴──────────╯
license
mit, you can do whatever you want with the code :D
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tablur-1.0.0.tar.gz
(4.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tablur-1.0.0.tar.gz.
File metadata
- Download URL: tablur-1.0.0.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4250983130b7a9fbaf5c5677eaa39c143b4ef04c6cc2eba466c96c2a0f00712b
|
|
| MD5 |
3d323960c2abe9c13d7abe69caecebea
|
|
| BLAKE2b-256 |
ec4e8a8e8e973c18bea50bfa5df237b23d112ce9720f4439bf42cb14eb02dd67
|
File details
Details for the file tablur-1.0.0-py3-none-any.whl.
File metadata
- Download URL: tablur-1.0.0-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8c1e7a7e0ca55957726ebb6e76931f5d8595ca822229f1e3a8162eae7c023e9
|
|
| MD5 |
343e4a23590dbbf0840a0a2fe3bdf3ca
|
|
| BLAKE2b-256 |
326916c8171da2b8efd73b0eb4619c474c471420d1ceca214d553fa1648736b8
|