Ready-made rich tables for various purposes
Project description
Rich tables
JSON human-prettifier based on the brilliant rich python library.
Since my usual day involves building and interacting with various APIs, JSON data is
constantly flying around the terminal. Reading JSON data (even when it's prettified by,
say, jq) requires a fair bit of mental effort; and it's basically impossible to analyse
/ make sense of it just by looking at it.
This project initially started as a way to solve this issue – it takes JSON data as an input and prints it in (rich-)tables, making it somewhat more readable for humans. With time, it's become the main handler for most of structured data that gets displayed in my terminal and is now one of my core every day tools.
Releases
It's WIP but installable through pip: pip install rich-tables – feel free test it but do
not expect it to be stable yet.
If we have enough interest, I am more than happy to prepare a release with a somewhat stable API.
Some bits to be aware of
Most commits are made by a daily cron job
You will find commits named
Automatic backup <date>
There is a daily cronjob which checks my local copy of the repository for changes, commits, and pushes them upstream.
It got setup because this entire thing got built without intention – whenever I came
across data that was not handled by rich-tables, I opened the code, quickly added the
logic and continued on with the original work without committing. Eventually, I'd have to
deal with a huge diff with a lot of unrelated changes.
Tests simply attempt to render data in each test case without making any assertions
- At least at this point I only want to know whether every piece of data is rendered fine.
For each tests/json/<name>.json test case, the rendered output is saved to svgs/<name>.svg file
- Allows to see the visual difference a certain change makes
- Helps to detect unintended side effects: if we're expecting an update of
album.svgonly but see thatpr.svgis also updated, we know something's not right - In commit details, GitHub shows visual difference for
svgfile changes- This is very helpful when one is trying to track down the culprit behind some missing border
README is populated with pictures dynamically when tests pass
- Once tests finish successfully, a subsection is added for every picture in the
svgs/folder (in the alphabetical order).case.svgwould be found under the subsectionCase. - This logic lives in a session-scoped
pytestfixture, after theyieldstatement.
Examples
Album
Albums
Aligned object arrays
Calendar
Diff
Emails
Hue
Jira diff
Music list
Nested arrays
Nested JSON
Pr
Simple JSON
Sql
Tasks
Text diff
Timed
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
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 rich_tables-0.8.0.tar.gz.
File metadata
- Download URL: rich_tables-0.8.0.tar.gz
- Upload date:
- Size: 30.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.11.11 Linux/6.13.8-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30df101fa90bca881b710d1513d534df87304859da143076fd19efcb50d8ca5e
|
|
| MD5 |
18ea16ecd9d74c052ced9a34b59fcf77
|
|
| BLAKE2b-256 |
b6e991c35b503cb12ef207723329a10505bc789bb6e026ad53d649a8b9b43052
|
File details
Details for the file rich_tables-0.8.0-py3-none-any.whl.
File metadata
- Download URL: rich_tables-0.8.0-py3-none-any.whl
- Upload date:
- Size: 34.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.11.11 Linux/6.13.8-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db1b1d74660c391040d38427cabbb7fbf92f10d629989a679149f2a967c3951f
|
|
| MD5 |
5257c476d007ab64072bb84d6c46a91d
|
|
| BLAKE2b-256 |
0edc7ec2fa8296cc8087eca9fbc1f68bd0477c0e5bd52aae68cf8f8e268d7abe
|