AXIS Documentation

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

This page

Manuals

Full PDFComplete

AXIS Documentation

AXIS is an installable charting PWA (v2.5.0) that treats price, time, and calculation as separable axes. 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.

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.

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

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:

Active set = { source, stream, engine, storage }
Contract namespace: pynescript.axis.plugins.v1
App state: pynescript.axis.v1
On-chain datasets: kind dataset (+ source geckoterminal-ohlcv for pool candles)

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

Auto-generated like HOOX manuals (bun run docs:exports):

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

See also