Jupyter Notebooks.
In your pocket.

Callisto is a full Python IDE for Android. Edit and run .ipynb notebooks and .py scripts entirely on your device — no cloud, no account, no internet required.

Callisto running on Android

A real Python IDE — built for touch.

Callisto isn't a code playground. It's a complete editor and runtime, designed from scratch for Android.

100% on-device

CPython 3.10 runs locally via Chaquopy. No servers, no accounts, no telemetry on your code. Works offline on a plane or a train.

Full notebook support

Open, edit, and save real .ipynb v4 files. Insert, duplicate, reorder cells. Run cell, run below, run all. Cooperative interrupt when a run hangs.

Smart editor

CodeMirror 6 with Python syntax highlighting and Jedi auto-completion against the live namespace — df. resolves to actual DataFrame methods.

Scripts & REPL

A .py editor and a Python console live side-by-side with your notebook. Variables flow both ways. Input history persists across sessions.

Markdown & LaTeX

Markdown cells render with KaTeX. Cross-cell \newcommand definitions work. Matplotlib and seaborn figures display inline.

Workspaces & export

Per-file workspace folders. Sibling data/ directory for CSVs. Export single files or a ZIP bundle. "Open with…" support for both file types.

The full scientific stack — pre-installed.

Callisto ships with the libraries you actually use. No pip install, no broken wheels, no waiting for a manylinux build that doesn't exist on ARM.

Free tier includes the core data-science stack. The one-time Lifetime Unlock adds extended packages and premium features — no subscription, ever.

numpy pandas matplotlib scikit-learn seaborn scipy statsmodels sympy openpyxl beautifulsoup4 pillow requests jedi
Powered by CPython 3.10 via Chaquopy. Real wheels, real semantics.
Your code stays on your device

Privacy by design.

No account. No code uploads. Crash diagnostics are anonymous and contain no file contents. Usage analytics are opt-in and off by default. The internet permission exists only so requests works for code you write.