Pry
A fast, native JSON viewer built with Perry. Tree navigation, search, keyboard shortcuts — compiled from TypeScript to native binaries.
Features
Tree View
Collapsible, navigable tree rendering for deeply nested JSON structures.
Search
Full-text search across keys and values with instant highlighting.
Keyboard Shortcuts
Navigate, expand, collapse, and copy with keyboard-only workflow.
Clipboard Support
Copy any node or subtree to clipboard as formatted JSON.
Status Bar
Shows node count, current depth, file size, and parse time.
Syntax Coloring
Color-coded values by type — strings, numbers, booleans, null.
How It's Built
Pry is written in TypeScript and compiled with Perry to a native binary. No Electron, no web views, no JavaScript runtime.
TypeScript Source
Standard TypeScript with Perry's native UI API
Perry Compile
SWC parse → type resolution → Cranelift codegen
Native Binary
Standalone executable with zero runtime dependencies
import { App, TreeView, SearchBar } from "perry/ui";
import { readFile } from "perry/fs";
const data = JSON.parse(readFile(process.argv[2]));
const app = new App("Pry", { width: 800, height: 600 });
app.addSearchBar({ placeholder: "Search JSON..." });
app.addTreeView(data, {
collapsible: true,
syntaxHighlight: true,
copyOnClick: true,
});
app.addStatusBar();
app.run();
Platform Support
macOS
Native AppKit widgets
AvailableiOS
Native UIKit widgets
AvailableAndroid
Native Views widgets
AvailableScreenshots
macOS screenshot — coming soon
iOS screenshot — coming soon
Screenshots will be added as Pry development continues. Check the GitHub repo for the latest.