AXIS Documentation

Open charting PWA — orthogonal sources, streams, engines, and storage. Own the axes; swap the engine.

This page

Manuals

Full PDFComplete

AXIS is an installable charting PWA (v2.28.0, VERSION / package.json) that treats price, time, and calculation as separable axes. Release history is CHANGELOG.md (online changelog). Sources load history. Streams advance the present. Engines evaluate Pine Script™ via PYNE. Storage keeps your script library. Compose any lawful combination without a proprietary charting host.

Names: AXIS is the chart PWA · PYNE is the Pine Script™ language and runtime · HOOX is the product mesh · Cloudflare® Worker service is worker-axis (https://worker.axis.hoox.sh); pynescript-axis is the retired Pages/Worker project id (CORS/preview alias only). See the glossary.

AXIS workspace with BTCUSDT daily candles, watchlist, volume, RSI, and Pine editor

Pine Script™ and TradingView® are trademarks of TradingView®, Inc. Cloudflare® is a registered trademark of Cloudflare®, Inc. This project is independent and not affiliated with or endorsed by TradingView®, Inc. or Cloudflare®, Inc.

What's new

The current 2.28.0 build — full detail in the changelog:

  • The in-browser engine vendors PYNE 0.6.29 — wheel pynescript-0.6.29-py3-none-any.whl (vendor/ and public/vendor/, path in src/engines/catalog.ts). That is what AXIS ships; PyPI may be ahead. Self-hosted Pyodide stays 0.29.5. See engine plugins.
  • Results overlay, watchlist, and plot chrome — Events filter/search, plot min/max/Δ%, saved-run management; watchlist big-price view + 24h range; Scripts panel line type and Pine display.* targets. See strategy and results.
  • Larger grids and footprint — layouts 6 (3×2) and 8 (4×2); Layers → Footprint paints per-candle buy/sell cells from the OHLCV estimate. See charting.

Abstract

AXIS is a charting PWA, not a language rewrite. Language fidelity lives in PYNE. The PWA contributes:

  1. A unified plugin registry (source | stream | engine | storage | dataset | component)
  2. A Solid + Vite product UI (chart, editor, results, manager, Workers Manager, on-chain panel) with a mobile-first responsive shell and global keyboard shortcuts (recordable, persisted)
  3. Optional backends: local Flask, offline Pyodide, Cloudflare® Worker (+ DO/KV/D1/R2 + /api/onchain proxy)
  4. AXIS CLI + optional Tauri desktop shell for operators
  5. MCP on the Worker (POST /mcp) so agents can drive APIs and a connected tab — MCP (agents)

Invariant (AXIS ≠ engine): the shell never embeds a closed interpreter. Evaluation is always an engine plugin.

Product map

TrackRoleStart here
End UserInstall, compose recipes, research workflowsEnd User hub
ArchitectureADRs, topologies, state namespacesArchitecture
PluginsContracts and built-in catalogsPlugins
UIChart, editor, panels, storeUI
WorkerCF Pages + Worker data planeWorker
DevOpsBuild, CLI, VPS, CORS, CIDevOps · AXIS CLI
EvaluationFlask / Pyodide / Worker proxy — not PyneTS, not HOOX executionEvaluation map
PYNE (separate)Grammar & evaluatorPYNE docs

Conceptual model

Diagram

Rendering…

Formal active set:

code
Active set = { source, stream, engine, storage }
Contract namespace: pynescript.axis.plugins.v1
App state: pynescript.axis.v1
On-chain dataset plugin: defillama-tvl only. Pool candles are source geckoterminal-ohlcv, not a dataset id.

Compose in one glance

RecipeSourceStreamEngineStorage
Offline labmock-walkmock-pollpyodidelocal
Desk researchbinance-restbinance-wsserver → Flasklocal
AXIS at the edgevenue RESTvenue WS / DOserver → Workercloud
On-chain TVL + CEXbinance-rest + DefiLlama datasetvenue WSanylocal
DEX pool candlesgeckoterminal-ohlcvmock-pollanylocal
Repo libraryanyanyanygit

Full recipes: Compose recipes.

Infrastructure names (do not rename lightly)

SurfaceValue
CF Pages projectaxis
Pages URLhttps://axis.hoox.sh
CF Worker scriptworker-axis
Worker URLhttps://worker.axis.hoox.sh
Health JSON serviceworker-axis
Product brandAXIS

Demo topologies

  • Dev: Vite :3000 + Flask :5002 (axis install then bun run dev)
  • Desktop: bun run desktop:dev (Tauri 2)
  • Static: bun run build + axis_pwa_server.py :8081
  • Worker: axis dev worker / wrangler on :8787
  • Prod: axis deploy → Worker worker-axis (https://worker.axis.hoox.sh) + Pages https://axis.hoox.sh

See topologies, AXIS CLI, and local dev.

Offline & agent exports

llm.txt, llms.txt, and the track PDFs are generated outside this package. AXIS package.json has no docs:exports script. The generator is node scripts/docs/generate-exports.mjs in the PYNE repo, and the landing site copies these pages when it builds.

KindPath
Full-corpus LLM packllm.txt
LLM site map (llmstxt.org)llms.txt
Track PDFs (A4)/exports/axis-*-manual.pdf

See also