abax
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.
Quick start
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 table
Prefer 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.
A taste of the formula engine
=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.
What's inside
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.
Develop
just install # dev setup
just test # tests (pass with zero optional deps)
just check # lint + test + pyz + smoke
See docs/architecture.md for the layered design and its invariants. abax is free software, licensed GPL-3.0-or-later.
Release files for abax 0.1.19
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| abax-0.1.19.tar.gz | 1.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| abax-0.1.19-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.7 MB
Release files / abax-0.1.19.tar.gz
| Download URL | abax-0.1.19.tar.gz |
|---|---|
| Size | 1.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa6c403f442bf6e3ab114e6a92d5f738936b52eaea26ec1ed01c455194002b24
|
|
BLAKE2b-256 checksum How to use checksums |
a4ba9c75c19213dc1de775d58e23bd0c10b063814eca777864822bfc621df6d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.
Transparency logRelease files / abax-0.1.19-py3-none-any.whl
| Download URL | abax-0.1.19-py3-none-any.whl |
|---|---|
| Size | 1.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4160f4844922b9d9d4e042f6ddc11ede74b3b4afe495fc98411efe73453e644f
|
|
BLAKE2b-256 checksum How to use checksums |
59b8bce53d2138d8602c07aef68b2bdb73c2f6db0b5f66c291d2165da887c674
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.
Transparency log