
Stop squinting at hash dumps. typed_print turns Ruby hashes into clean, aligned tables. Zero dependencies. Markdown support. Optional colors. Just gem install typed_print.
I love Ruby. I love the console. I do not love this:
{:name=>"Alice", :score=>100, :active=>true}
{:name=>"Bob", :score=>42, :active=>false}
When you have 20 of these in a row, good luck reading anything.
So I built a tiny gem called typed_print.
One thing. Just one.
It turns hashes into clean, aligned tables.
require 'typed_print'
data = [
{ name: "Alice", score: 100, active: true },
{ name: "Bob", score: 42, active: false }
]
TypedPrint.print(data)
Output
Name Score Active
------+------+-------
Alice 100 true
Bob 42 false
That's it. No magic. No mental parsing.
pp is fine, but still hard to scan.awesome_print is great, but sometimes you don't want colors, JSON support, or 10 dependencies.I wanted something that:
TypedPrint.print(data, align: { score: :right })
TypedPrint.print(data, only: [:name, :score])
TypedPrint.print(data, headers: { name: "User", score: "Points" })
TypedPrint.print(data, format: :markdown)
Outputs a proper markdown table you can copy into GitHub READMEs.
TypedPrint.print(data, color: true)
Or full control:
TypedPrint.print(data, colors: { name: :cyan, score: :green, active: :yellow })
mixed = [
{ name: "Product A", price: 29.99, in_stock: true, notes: nil },
{ name: "Product B", price: 49.99, in_stock: false, notes: "Limited" }
]
TypedPrint.print(mixed)
Output:
Name Price In_stock Notes
----------+-------+---------+-------------
Product A 29.99 true
Product B 49.99 false Limited edition
It handles nil, booleans, numbers, and strings automatically.
It's lightweight. Zero dependencies means no hidden bloat. I've tested it with 10,000 rows. Still fast enough for CLI tools and debugging. For massive datasets? You probably shouldn't print them to the terminal anyway.
ppI'm keeping it simple. No roadmap to become a bloated framework.
But if you have an idea that fits the "zero-dependency, just tables" philosophy – open an issue. I shipped markdown support within hours of a user request (that was v0.2.0).
gem install typed_print
That's it. You're done.
If you find it useful, let me know. If you find a bug, also let me know.
Thanks for reading 🙏
gemmaI ported the whole Gemma-4 family — E2B, E4B, 12B, 31B, and the 26B-A4B MoE — to run on...
communityHey DEV, I'm Tobore. Let's actually connect. I've been on here for a while now, mostly writing and...
ai(yep, kinda clickbait, just for the funsies 😊) At the beginning of the year, I relaunched my...
aiMy laptop was sitting idle with the fan at full tilt. Nothing was running that I knew of. The culprit...
githubactionsI Built a Thing! TL;DR — Google Gemini-based Pull Request reviews and Issue Triaging for...
aiI've been hearing the word "harness" thrown around a lot lately. I assumed it just meant "the IDE" or...
Workflows from the Neura Market marketplace related to this DeepSeek resource