Skip to content

programmersd21/polaris_studio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Polaris Studio

Polaris Studio is a desktop app for working with data. You build a pipeline by drawing a graph: each step is a node, lines between them show the flow. Load a file, filter rows, join two tables, draw a chart. The app runs the graph and shows you the result in a spreadsheet.

There is also a built-in AI assistant. Tell it what you want in plain English, and it suggests the nodes and connections for you. You approve the plan before anything changes. The AI is optional. Everything else works without it.

Your data stays on your computer. There are no accounts, no telemetry, and no required cloud services. The only network call the app makes is to the AI provider, and only if you turn the AI on and add your own API key.

Polaris Studio

What it can do

  • Load CSV, Excel, Parquet, and JSON files. Paste from the clipboard.
  • Transform data with visual nodes: filter, sort, rename, cast, fill, dedupe, parse dates, sample.
  • Reshape with pivot, unpivot, group-by, and rolling windows.
  • Join tables with inner, left, right, full, and anti joins.
  • Make bar, line, scatter, histogram, box, and heatmap charts. (Experimental, in proress)
  • Export the result back to CSV, Excel, Parquet, or JSON.
  • Edit results in a live spreadsheet with sorting, frozen rows, and column statistics.
  • Ask the AI to build or change the pipeline, then review each change before it runs.
  • Save your work as a .polaris file and open it again later in the same state.

Quick start

Install with pip and run:

git clone https://github.com/programmersd21/polaris_studio
cd polaris_studio
pip install -r requirements.txt
python -m polaris_studio

If you prefer an editable install (recommended for development):

pip install -e .
polaris-studio

Requirements: Python 3.11 or newer. Windows, macOS, and Linux are all supported.

The first launch on Windows can be slow while Windows Defender scans the bundled Polars and PyArrow native libraries. This only happens once.

What it looks like

When you open Polaris Studio, a short intro plays: the app icon and the name fade in centered on screen, hold for a moment, then settle into the top toolbar. You can turn this intro off in Settings under Appearance if you prefer to start straight at the workspace.

Documentation

The full documentation is in the docs/ folder.

If you are new

If you want to use it for real work

If you need a specific node

  • Node reference lists every node type, its parameters, and an example.

If you are a developer

If you want to understand how it works

If something is broken

  • Common issues covers fonts, AI keys, and slow startup.
  • FAQ is a short list of frequent questions.

How it is built

Part What it is Why
Engine Polars on Apache Arrow Fast columnar compute, predictable memory
Graph editor PySide6 QGraphicsView Hardware-accelerated, custom-rendered
Spreadsheet Qt QAbstractTableModel Virtualised rows, smooth scroll past a million rows
AI Google Gemini (via official SDK) Streaming, structured output, your own key
Compute Multi-process worker Heavy jobs do not block the UI
Transport Arrow IPC + JSON Zero-copy DataFrame handoff between processes

Project layout

polaris_studio/
β”œβ”€β”€ src/polaris_studio/
β”‚   β”œβ”€β”€ core/           # Headless engine: DAG, executor, node registry, profiler
β”‚   β”œβ”€β”€ ipc/            # Multi-process compute: protocol + worker
β”‚   β”œβ”€β”€ io/             # File handlers: CSV, Parquet, XLSX, clipboard
β”‚   β”œβ”€β”€ agent/          # AI: schemas, interpreter, chat session, backend
β”‚   β”œβ”€β”€ state/          # AppState, Workspace (multi-tab), HistoryStack
β”‚   β”œβ”€β”€ ui/             # PySide6 widgets, panels, dialogs, graph view
β”‚   β”œβ”€β”€ main.py         # CLI entry point
β”‚   └── __main__.py     # GUI entry point
β”œβ”€β”€ assets/theme.qss    # Global stylesheet
β”œβ”€β”€ fonts/              # Bundled Inter, Outfit, Instrument Serif, JetBrains Mono
β”œβ”€β”€ tests/              # pytest tests
└── docs/               # The full documentation

Development

pip install -e ".[dev]"
pytest                    # run the test suite
mypy .                    # type check
ruff check src/           # lint

See Developer setup for the full guide.

Contributing

Bug reports, feature requests, and pull requests are welcome. Read CONTRIBUTING.md for the workflow.

License

MIT. Free to use, modify, and distribute.

Releases

No releases published

Packages

 
 
 

Contributors

Languages