A keyboard-first statistics and data-science workstation — an integrated environment for data work, built on a fast, scriptable spreadsheet. Load a dataset, explore it with 642 formula functions (statistics and distributions, financial, engineering, database, and RF/amateur-radio), run built-in analyses (regression, t-tests, ANOVA, correlation), reshape it with pivot/group-by and recode, visualize it, hand a selection off to pandas, and script the whole thing with Python macros — across CSV, Excel, Parquet, SQLite, JSON, R, and more.
It runs as a Qt desktop GUI (the default), a vim-style terminal UI, or a headless CLI. The core is pure-stdlib Python; every heavier capability is an optional dependency with a graceful fallback. When a behaviour is ambiguous, abax follows gnumeric.
One isolated install with every optional feature:
pipx install "abax[all]" # or: pip install "abax[all]" in a venv
abax # the desktop GUI
abax tui # the vim-style terminal UI (SSH-friendly)
abax view data.csv # headless: print any spreadsheet as a tablePrefer to start small? Plain pip install abax gives the stdlib-only core,
and on first launch the GUI shows a chooser where you pick optional
features à la carte — nothing installs without your say-so. No Python?
Every GitHub Release ships
ready-to-run downloads: a Linux AppImage, a self-contained Windows build, a
macOS app, and a tiny cross-platform abax.pyz zipapp. Full install details
(extras, sizes, the Qt binding) live in
Getting started.
Your first minute in the GUI:
- Arrow keys move (vim
h j k lworks too); just type into a cell and pressEnter. - Type
=SUM(A1:A5)— anything starting with=computes, with autocomplete and argument hints as you go. Ctrl+Shift+P(or:) opens the command palette — every action lives there.F1lists the shortcuts.Ctrl+Ssaves —.abax,.csv,.xlsx,.md, whatever the extension says.
Where next: tested, copy-paste examples for most of abax · the full online documentation.
=SUM(A1:A10) =VLOOKUP("banana", A1:B9, 2, FALSE)
=PERCENTILE(A1:A99, 0.9) =IFS(s>=90,"A", s>=80,"B", TRUE,"F")
=SORT(UNIQUE(B:B)) =FILTER(A1:A9, B1:B9>0)
Array results spill across neighbouring cells Excel-style; errors are
values (#DIV/0!, #REF!, #CIRC!, …), never crashes; LET and LAMBDA
work. The complete function list is in the
formula reference.
Each guide below links to a tested, runnable example.
- Data & analysis — pivot/group-by, recode, column profiling, SQL over sheets, goal seek, conditional formatting, charts, and the pandas hand-off; the deep numeric stack adds hypothesis tests, regression, ML models, linear algebra, FFT/DSP, and ODE solvers — all with pure-stdlib fallbacks.
- File formats —
open and save by extension: CSV, Excel, Parquet, SQLite, JSON/JSONL,
Markdown, R, ODS, Jupyter
.ipynb(lossless round-trip), and more;abax convert a.csv b.xlsxconverts between any pair. - RF & antenna engineering — 60+ RF functions, link budgets, a Smith chart, a thin-wire Method-of-Moments solver with NEC deck import/export, a satellite pass predictor, and POTA/SOTA activation logging.
- Macros & scripting — Python command macros and formula UDFs, macro recording, a live Python console, and a headless automation API; your code runs at a selectable isolation level, up to a strict OS sandbox.
- Jupyter — abax as a Jupyter kernel, rich sheet display, and an editable notebook widget.
- Built-in tools — HP-style RPN and TI graphing calculators, a dual-pane file manager, a budget wizard, and a LaTeX equation editor.
- Approachable UI — a command palette, twelve themes, screen-reader labels with optional spoken cell readout, and an OpenDyslexic font fetched on demand.
just install # dev setup
just test # tests (pass with zero optional deps)
just check # lint + test + pyz + smokeSee docs/architecture.md for the layered design and its invariants. abax is free software, licensed GPL-3.0-or-later.