# Install otree with Homebrew, apk, MacPorts, Nix

Command-line tool to view objects (JSON/YAML/TOML) in TUI tree widget. Version 0.7.1 via Homebrew; verified 2026-07-07. Also installable with nix: nix profile install nixpkgs#otree.

## Install

```sh
sudo av install brew:otree
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install otree
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install otree
```

  Evidence: MacPorts ports tree: textproc/otree/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add otree
```

  Evidence: Alpine Linux edge package indexes: otree from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#otree
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ot/otree/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:otree
- **Package manager:** Homebrew
- **Version:** 0.7.1
- **Source summary:** Command-line tool to view objects (JSON/YAML/TOML) in TUI tree widget
- **Homepage:** <https://github.com/fioncat/otree>
- **Repository:** <https://github.com/fioncat/otree>
- **Last updated:** 2026-07-07T12:37:42Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- otree (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.7.1
## Project history and usage

OTree is a Rust terminal UI for inspecting structured objects as an interactive tree. It targets JSON, YAML, TOML, and XML files, with a particular emphasis on deeply nested configuration data.

### Project history

The upstream README says the author created otree to inspect very deep Kubernetes YAML files, because jnv only supported JSON. The project is built on Ratatui and the tui-tree-widget tree component, placing it in the modern Rust TUI tool family.

The roadmap in the repository ties features to early version milestones: root switching, tree overview, data block, footer, syntax highlighting, configuration, clipboard support, filtering, help popups, and debug logging.

### Adoption history

The project distributes through GitHub releases, cargo-from-git builds, Arch AUR, Homebrew, and MacPorts. Homebrew and MacPorts package pages give macOS and Linux users a packaged path, while the GitHub repository records versioned releases and a modest open-source audience.

### How it is used

Users run otree with a structured data file path, for example a JSON, YAML, TOML, or XML document, and browse the parsed object in a terminal tree. The README also documents a configuration file at ~/.config/otree.toml for keys, colors, and other TUI behavior.

The natural use case is operational inspection: Kubernetes manifests, application config, lock files, generated JSON, and other nested documents that are unpleasant to read as raw text.

### Why package nerds care

otree matters as a packaged example of the small, focused Rust CLI wave: it wraps serde-style structured-data parsing and Ratatui interaction into a single binary that competes with ad hoc jq/yq/editor folding workflows.

### Timeline

- v0.1 to v0.6 roadmap: The README maps major UI and action features across early releases, including root changes, syntax highlighting, filtering, and configuration.
- 3 March 2026: The GitHub repository lists v0.6.5 as a release.

### Related projects

- otree is related to jnv for JSON exploration, Ratatui for terminal UI rendering, and tui-tree-widget for tree presentation.

### Sources

- <https://formulae.brew.sh/formula/otree>
- <https://github.com/EdJoPaTo/tui-rs-tree-widget>
- <https://github.com/fioncat/otree>
- <https://ports.macports.org/port/otree/>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Nix - otree: normalized package name match | nixpkgs package indexes: pkgs/by-name/ot/otree/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - otree - 0.7.1-r0: normalized package name match | Alpine Linux edge package indexes: otree from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | View JSON/YAML/TOML objects in a TUI tree widget | https://github.com/fioncat/otree
- apk - otree-doc - 0.7.1-r0: normalized package name match | Alpine Linux edge package indexes: otree-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | View JSON/YAML/TOML objects in a TUI tree widget (documentation) | https://github.com/fioncat/otree
- MacPorts - otree: normalized package name match | MacPorts ports tree: textproc/otree/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/otree.yml](https://github.com/mxcl/pkgdb/blob/main/combined/otree.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
