ATARS in your terminal

pip install atars · v0.1.0 · Windows, macOS & Linux · Python 3.11+

$pip install atars

Read this first. The terminal edition is deliberately smaller than the ATARS desktop app. It shares the same analysis engine, so the numbers agree — but it has no AI analyst, no Advanced Statistics, 17 chart types instead of 19, and no Word, PowerPoint or notebook exports. If you are on Windows and just want to analyse data, install the desktop app instead. This page is for people working in a terminal, on a server, over SSH — or on macOS and Linux, where the desktop build is not ready yet.

On this page

1 · Install 2 · Three ways to run it 3 · The terminal window 4 · Charts 5 · What it tells you about a file 6 · Reports 7 · Command reference 8 · Recipes & reproducible pipelines 9 · From Python 10 · What it does not have 11 · Privacy & licence

1 · Install

One command. No compiler, no account, nothing to configure:

$pip install atars

Python 3.11 or newer. It pulls pandas, NumPy, scikit-learn, statsmodels, DuckDB, PyArrow, Matplotlib, ReportLab and Textual — all wheels, so there is nothing to build. Upgrade later with pip install --upgrade atars.

Prefer an isolated install? pipx install atars works too, and keeps the command on your PATH without touching your system Python.

2 · Three ways to run it

The same engine, reached three ways, depending on what you are doing.

atars -f sales.csv starts with that file already loaded, skipping the picker. Because the shell opens a file once, the engine's result cache stays warm for the whole session — the second command on a dataset is a lookup, not a recompute.

3 · The terminal window

19 tabs in five groups, in the same left-to-right order the desktop app uses — so if you know the app, you know the window:

Opening a file gives you three routes, because a terminal cannot receive a dropped file: your operating system's own file dialog, a folder tree filtered to readable files, or your recent files. A workbook with more than one sheet asks which sheet, rather than silently analysing whichever tab happened to be first.

Prep Studio builds a transform recipe step by step from 22 operations — add steps, undo, apply, save the result, or print the pandas that reproduces it without ATARS installed. Combine joins a second file, and Use as data makes the joined table the one every other tab works on.

Every result table has a Save table button directly underneath it, writing a CSV next to the file you opened. Click a column heading to sort. A table stops at 500 rows and says so on its last line, rather than letting you read a cut as the whole file. Every pane scrolls, so a small terminal clips nothing. Analysis runs on a worker thread, so the window keeps responding while AutoML works.

Single-key controls: o open · e export CSV · f5 refresh · q quit · 15 jump to a group. A focused text box takes its own typing first, so q in the SQL box is a q.

4 · Charts

17 chart types drawn in the terminal, grouped by what they are for:

Each chart declares what it needs, so the pickers it does not use are hidden rather than silently ignored. Every chart that groups by a category also takes an aggregation (sum, mean, count, median, min, max), a top-N cut, a sort order and optional value labels — and it says how many categories the cut left out instead of dropping them quietly.

Treemap, sunburst, violin, bubble and density contour are not here. A terminal cell has no sub-cell density and no size channel, so those cannot be drawn honestly; the desktop app draws them properly.

5 · What it tells you about a file

Opening a file runs fourteen checks over the table and ranks what comes back, most consequential first: missing values, duplicates, constant and identifier columns, numbers stored as text, skew, outliers, correlations, concentration, gaps between groups, trend over time, change points, what drives the main measure, how predictable it is, and relationships that reverse inside groups.

Every finding carries the number it is about and the evidence it came from, and no single check can crowd out the rest. Nothing calls a model. Every sentence is arithmetic over the table, which is exactly why each claim can be checked.

6 · Reports

Reports export as Markdown, HTML and PDF, carrying the data's own findings plus whatever you chose to keep. What reaches the document goes through the same two doors the desktop app uses:

Everything arrives as a table, not as a sentence about a table. The document also prints the column profile, descriptive statistics, the strongest correlations, the category breakdown, missing values and outliers — so every figure it states can be checked inside the document itself, without the app. A chart cannot be drawn in Markdown, so each kept chart carries the numbers it was drawn from, with a line or two saying what they show. Where a long table is cut, the report says how many rows there really were.

7 · Command reference

Every command works on its own, and every one takes --json.

atars profile FILEshape, types, summary statistics
atars quality FILEscore, missing values, outliers
atars clean FILE -o out.csvcleaning studio; reports every change
atars sql FILE -q "SELECT …"DuckDB over the file, as table data
atars stats FILEcorrelation, hypothesis tests, A/B
atars automl FILE --target Tranked models, with --importance
atars forecast FILE --date D --value Vproject a series forward
atars drift FILE --reference Rcompare against a baseline file
atars cluster FILEk-means; picks k when you don't say
atars anomaly FILEisolation forest
atars business FILE --kind paretogrowth, pareto or segment
atars insights FILErule-based findings
atars chart FILE --y COL -o c.pngline, bar, scatter or histogram
atars report FILE --format pdfa full report: markdown, html or pdf
atars merge A B --on KEYjoin two files
atars recipe run R.json FILEa saved, repeatable transform

Exit codes mean something0 fine, 2 you asked for something impossible, 3 that feature is in the desktop app — so these compose in a shell script:

$atars quality sales.csv --json | jq .score

atars --help returns in about 9 ms: no command imports pandas until it actually runs. Thread limits are applied before NumPy loads, and n_jobs comes from the real core count, never -1.

8 · Recipes & reproducible pipelines

A recipe is a JSON list of transform steps that runs the same way every time.

$atars recipe ops
$atars recipe run clean.json sales.csv -o out.csv
$atars recipe code clean.json

recipe code prints runnable pandas with no ATARS import at all, so a pipeline you build here keeps working for a colleague who does not have this installed.

9 · From Python

The command line is a printer over a small Python API, so anything one can do, the other can do too.

import atars

ds = atars.load("sales.csv")
ds.quality_report()
frame, audit = ds.clean()
ds.automl(target="revenue")
ds.forecast("month", "revenue", 6)
ds.pareto("product", "revenue")
ds.merge("february.csv", on="product")
ds.report(fmt="pdf", out_dir="reports")

10 · What it does not have

Stated plainly, because a limited edition that hides its limits wastes your afternoon:

Everything that is here has an equivalent in the desktop app, on purpose: the free edition should never be ahead of the paid product at finding something.

11 · Privacy & licence

It runs entirely on your machine. There is no account, no telemetry and no upload — with no AI package in the wheel, there is no credential to read and nowhere for a request to go. See the Privacy Policy and the Licence.

View atars on PyPI ⬇ Get the full desktop app 🛍️ Microsoft Store