███╗ ███╗██╗ ██╗███╗ ██╗██╗███╗ ██╗███╗ ██╗ ████╗ ████║██║ ██║████╗ ██║██║████╗ ██║████╗ ██║ ██╔████╔██║██║ ██║██╔██╗ ██║██║██╔██╗ ██║██╔██╗ ██║ ██║╚██╔╝██║██║ ██║██║╚██╗██║██║██║╚██╗██║██║╚██╗██║ ██║ ╚═╝ ██║╚██████╔╝██║ ╚████║██║██║ ╚████║██║ ╚████║ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚═╝╚═╝ ╚═══╝╚═╝ ╚═══╝
A local, encrypted workbench for market data: ingest, search, journal, model and share, in a terminal UI and a CLI.
A SQLCipher database under an envelope key scheme. Nothing leaves your machine unless you share it.
CSV, JSON, HTTP APIs, Redis, SQLite, Postgres and standard input, as structured data.
Saved questions that rerun on new data, notes beside the charts, reports exported to PDF and Docx.
Design model tables, then run math, Polars, Rust or Python over data piped through them.
Graphs of sources, code, views and filters ending in model tables, watched live in tiles.
If this happens, do that, or every 6 hours: exports, entries, records, certificate checks.
Members, roles and a hosted site with your own domains and Let's Encrypt certificates.
Your nodes sync end to end encrypted; share and review with connections, no server needed.
Every view in the TUI, rendered from the app itself by scripts/screenshots.sh.
Every package ships a prebuilt mnnn binary; no Rust toolchain is needed. Downloads and SHA256SUMS are on the
releases page. Full steps, uninstalling and building from source:
docs/install.md.
tar -xzf muninn-2.18.0-x86_64-unknown-linux-gnu.tar.gz
install -Dm755 muninn-2.18.0-x86_64-unknown-linux-gnu/mnnn ~/.local/bin/mnnn
sudo apt install ./muninn_2.18.0-1_amd64.debsudo dnf install ./muninn-2.18.0-1.x86_64.rpmsudo pacman -U muninn-bin-2.18.0-1-x86_64.pkg.tar.zsttar -xzf muninn-2.18.0-packaging.tar.gz
brew install ./packaging/homebrew/muninn.rb
tar -xzf muninn-2.18.0-packaging.tar.gz
winget install --manifest packaging\winget\2.18.0
Your data stays in ~/.muninn (or MUNINN_HOME); installing or uninstalling never touches it.
The same pages are in the app: mnnn help or ? in the TUI, and man pages for every command.