Skip to main content

HelioAI — heliophysics agent

AI agent for heliophysics and space plasma data analysis.

Ask questions in natural language — HelioAI finds the right parameter across 70+ missions, downloads it, runs the analysis, and produces reproducible plots and notebooks.

CI codecov PyPI PyHC License: MIT Python

📖 Documentation · listed in the PyHC Project List


What it does

You:      "IP shock in WIND data, January 2005 — compute θ_Bn"

HelioAI:  → resolves param IDs for B, Vp, Np across 83k speasy products
          → downloads the time series via speasy (AMDA / CDAWeb / CSA)
          → runs shock detection + coplanarity theorem in a sandboxed Python env
          → returns a plot, the θ_Bn value, and a reproducible .ipynb notebook

Data access needs no API key. Parameter hunting is the agent's job, not yours.

The HelioAI web UI running a real session: the question, the resolved parameter card for cda/WI_H0_MFI/B3F1, the plotted magnetic field magnitude with the shock arrival marked, the activity log of every tool call, and the generated Python in the code panel

A real session, unedited — only the waiting between turns is compressed. The activity log lists every tool call and ends with a provenance verdict; the code panel holds the exact Python that produced the figure, which is also what the session exports as a runnable notebook.


Why it's different

  • It finds the parameter. Hybrid RAG — semantic (MiniLM) + lexical (BM25), fused by Reciprocal Rank Fusion — over 83 000 speasy products. Handles both vague descriptions and exact codes (BGSEc, FGM, igrf_8sec_gse).
  • It works on events, not just intervals. 217 curated AMDA catalogs (ICMEs, bow-shock crossings, substorms, reconnection events) are first-class tools — download a parameter across every event in one call.
  • The result is reproducible. Every session exports to a self-contained .ipynb that re-runs in a plain Jupyter kernel, with a Methods & data acknowledgements cell listing the recipes and references used.
  • It shows its work. A provenance ledger checks the numbers in the answer against what was actually computed, and 11 vetted recipes (θ_Bn, Walén, MVAB, Rankine-Hugoniot, …) each carry a citation.
  • It runs inside the agent you already use. HelioAI is also an MCP server, so Claude Code, Claude Desktop or Codex can call its tools with no LLM key of its own.

Full feature list in the documentation.


Install

pip install helioai-agent
helioai index          # one-time — fetches the prebuilt index (~125 MB), or builds it locally

Then set one LLM provider key (opencode, groq, gemini, azure or ollama — the OpenCode Zen gateway serves reasoning models behind a single key, and the model name is required since there is no sensible default):

export HELIOAI_LLM_PROVIDER=opencode
export OPENCODE_API_KEY=...
export HELIOAI_OPENCODE_MODEL=deepseek-v4-pro

→ Full installation and configuration guide


Use it

helioai                       # interactive CLI
helioai "θ_Bn for the 2005-01-16 WIND shock"      # one-shot
helioai serve --web           # web UI on http://localhost:7890
helioai mcp-install           # wire it into Claude Code, Claude Desktop or Codex
helioai doctor                # is the index built, the sandbox real, the key found?

In Jupyter:

%load_ext helioai.interfaces.jupyter_magic
%%helioai
Download Bz from ACE for the 2003 Halloween storm and plot the sudden commencement.

→ All four interfaces, in detail


Data coverage

Provider Missions (examples) Parameters
AMDA (CDPP) Cluster, MMS, Solar Orbiter, WIND, ACE, Cassini, Helios, STEREO ~12k
CDAWeb (NASA) MMS, THEMIS, Van Allen Probes, Parker Solar Probe, Ulysses, Voyager ~68k
CSA (ESA) Cluster, Double Star, Solar Orbiter, Mars Express ~1.9k

Plus 217 AMDA event catalogs and timetables. Ask helioai "what missions are available" or helioai "what event catalogs are available" for the live list.


Documentation

Quickstart First session, end to end
Interfaces CLI · Jupyter · web UI · MCP
Agent tools The 18 tools and 4 sub-agents
Recipes and provenance The 11 vetted scientific scripts
Reproducible export How a session becomes a notebook
Architecture For contributors

Contributing

Issues and pull requests are welcome — see CONTRIBUTING.md and SECURITY.md (the sandbox model matters if you touch run_python).

uv sync --extra dev
.venv/bin/python -m pytest      # the whole suite, coverage floor 70%, no exclusions
.venv/bin/python -m ruff check . && .venv/bin/python -m ruff format --check .

How to cite

If HelioAI contributes to published work, please cite it:

@software{erdogan_helioai,
  author  = {Erdogan, Furkan},
  title   = {{HelioAI}: a natural-language agent for heliophysics data discovery and analysis},
  year    = {2026},
  version = {0.4.0},
  url     = {https://github.com/erdoganfurkan/HelioAI},
  license = {MIT}
}

GitHub's Cite this repository button gives the same from CITATION.cff. Please also cite the data providers you used (AMDA/CDPP, CDAWeb/NASA, CSA/ESA) and the method references each exported notebook lists in its Methods & data acknowledgements cell.


License

MIT — see LICENSE.

  • speasy — the data access layer powering HelioAI
  • PlasmaPy — plasma physics calculations
  • PyHC — Python in Heliophysics Community

Metadata

Release files for helioai-agent 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for helioai-agent 0.4.0
File Size Uploaded
helioai_agent-0.4.0.tar.gz 2.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for helioai-agent 0.4.0
File Interpreter ABI Platform
helioai_agent-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.4 MB

Release files / helioai_agent-0.4.0.tar.gz

Download URL helioai_agent-0.4.0.tar.gz
Size 2.4 MB
Tags Source
SHA-256 checksum
How to use checksums
255db30e473d1519e275d986daf2fdae1ddbe73369030c15f021ac51573a9407
BLAKE2b-256 checksum
How to use checksums
2267fb14723973f94b7defccfcd6103dbf09a3c57bc668d8caae8ded64aed1ca
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 Oct 1, 2026.

Transparency log

Release files / helioai_agent-0.4.0-py3-none-any.whl

Download URL helioai_agent-0.4.0-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
08b5e231fefdf3d65ce6e94094af4ab516b7224adffa4b02df52d40a09e63e3b
BLAKE2b-256 checksum
How to use checksums
1b72907cf211ff64f01dffb71dd5e4e3d6989aeff713c3dacc83f99c687c4f58
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 Oct 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page