Tableskin gallery
Sample tables, each in the skin tableskin.py picked for it. The menu swaps the skin on the same markup. Skins and the table-model idea are adapted from CSSV by Rodrigo Paiva (MIT).
transactions.csv
Picked ledger: money or signed amounts over dates read as a ledger.
| date | id | description | category | amount | balance |
|---|---|---|---|---|---|
| 2026-09-30 | TX-4060 | Noodle Bar | dining | -26.10 | 4090.22 |
| 2026-09-28 | TX-4059 | City Bikes | transport | -5.48 | 4116.32 |
| 2026-09-26 | TX-4058 | Salary | income | 3200.00 | 4121.80 |
| 2026-09-25 | TX-4057 | Cinema | leisure | -11.89 | 921.80 |
| 2026-09-24 | TX-4056 | Corner Market | groceries | -11.74 | 933.69 |
| 2026-09-23 | TX-4055 | Refund: headphones | income | 89.00 | 945.43 |
| 2026-09-22 | TX-4054 | Corner Market | groceries | -40.14 | 856.43 |
| 2026-09-20 | TX-4053 | Electric company | utilities | -72.30 | 896.57 |
| 2026-09-18 | TX-4052 | Noodle Bar | dining | -18.60 | 968.87 |
| 2026-09-15 | TX-4051 | Rent | housing | -1200.00 | 987.47 |
invoice.csv
Picked paper: money with total rows reads as an invoice or statement.
| sku | description | qty | unit price | amount |
|---|---|---|---|---|
| 0042 | Brand workshop Two half-day sessions, on site | 2 | $1,200.00 | $2,400.00 |
| 0108 | Logo system Primary mark, monogram, usage guide | 1 | $3,800.00 | $3,800.00 |
| 0213 | Page templates Twelve layouts for the website | 12 | $540.00 | $6,480.00 |
| 0315 | Illustration set Twenty-four spot drawings | 24 | $95.00 | $2,280.00 |
| 0400 | Rush delivery Waived for repeat clients | 1 | $0.00 | $0.00 |
| Subtotal | $14,960.00 | |||
| Sales tax 7% | $1,047.20 | |||
| Total due | $16,007.20 |
departures.csv
Picked splitflap: a short list of short values with times or statuses fits a departures board.
| time | flight | destination | gate | status |
|---|---|---|---|---|
| 08:15 | LH 441 | Frankfurt | B07 | On time |
| 08:40 | DL 92 | Atlanta | A12 | Boarding |
| 09:05 | BA 217 | London | C03 | Delayed |
| 09:20 | AF 1683 | Paris | B11 | On time |
| 09:45 | UA 908 | Denver | A04 | Cancelled |
| 10:10 | KL 644 | Amsterdam | C09 | On time |
| 10:35 | AA 2210 | Charlotte | A19 | Delayed |
sprint.csv
Picked board: a status column with 4 values and long titles make a board.
| key | summary | status | assignee | points | labels |
|---|---|---|---|---|---|
| WEB-214 | Checkout fails when the cart has more than 99 items | In Progress | Ana Sousa | 3 | checkout |
| WEB-209 | Add dark mode to the account pages | To Do | 5 | design | |
| WEB-205 | Move image uploads to the new storage bucket | In Review | Dev Patel | 3 | infra |
| WEB-211 | Password reset email goes to spam | To Do | 2 | ||
| WEB-198 | Search results page | Done | Ben Ito | 8 | frontend |
| WEB-207 | Rate-limit the login endpoint | In Progress | Dev Patel | 2 | security |
| WEB-212 | Onboarding checklist for new teams | To Do | 8 | frontend | |
| WEB-203 | Footer links point to the old help center | Done | Caro Diaz | 1 | content |
| WEB-200 | Export invoices as PDF | In Review | Ana Sousa | 5 | billing |
| WEB-196 | Upgrade the payment SDK | Done | Ben Ito | 3 | billing |
chat.csv
Picked chat: a person column, a long-text column and timestamps read as a conversation.
| date | time | sender | message |
|---|---|---|---|
| 2026-10-04 | 08:02 | Ana created group "Saturday hike" | |
| 2026-10-04 | 08:03 | Ana | Morning! The trail is dry, sunny until 3 |
| 2026-10-04 | 08:03 | Ana | Meet at the station at 9:30? |
| 2026-10-04 | 08:05 | Ben | I'm in |
| 2026-10-04 | 08:06 | Sam | Same. Who's bringing what? |
| 2026-10-04 | 08:07 | Chloé | I can do sandwiches cheese, ham, one vegan |
| 2026-10-04 | 08:10 | Sam | Water and the first-aid kit, then |
| 2026-10-04 | 08:10 | Sam | And snacks, obviously |
| 2026-10-04 | 08:13 | Ben | Running 10 min late, start without me and I'll catch up at the bridge |
| 2026-10-04 | 08:14 | Chloé | "Start without me" ha. We'll wait |
| 2026-10-04 | 08:15 | Sam | See you all at 9:30 |
ports.csv
Picked clean heat: 4 of 7 columns are measures, so shade them as a heat map.
| switch | port | speed | state | tx util % | rx util % | crc errors |
|---|---|---|---|---|---|---|
| fab-a-01 | 0 | 32G | Online | 71.2 | 64.8 | 0 |
| fab-a-01 | 1 | 32G | Online | 88.5 | 91.3 | 0 |
| fab-a-01 | 2 | 32G | Online | 12.4 | 9.9 | 0 |
| fab-a-01 | 3 | 16G | Degraded | 44.0 | 47.1 | 312 |
| fab-a-01 | 4 | 32G | Offline | 0.0 | 0.0 | 0 |
| fab-a-01 | 5 | 32G | Online | 35.6 | 52.0 | 2 |
| fab-a-02 | 0 | 64G | Online | 22.1 | 18.7 | 0 |
| fab-a-02 | 1 | 64G | Online | 95.0 | 93.4 | 0 |
| fab-a-02 | 2 | 32G | Online | 5.3 | 7.7 | 0 |
| fab-a-02 | 3 | 32G | Online | 61.9 | 58.2 | 14 |
cities.csv
Picked clean bars: a few measure columns get in-cell bars.
| city | country | population (millions) | area (km2) |
|---|---|---|---|
| Tokyo | Japan | 37.1 | 8231 |
| Delhi | India | 33.8 | 2344 |
| Shanghai | China | 29.9 | 4069 |
| Dhaka | Bangladesh | 23.9 | 360 |
| São Paulo | Brazil | 22.8 | 3043 |
| Cairo | Egypt | 22.6 | 2010 |
| Mexico City | Mexico | 22.5 | 2530 |