INIT / Install

[GET PYNE RUNNING]

PyPI, source, Docker, or Cloudflare® — pick a path. Operate with CLI, LSP, or Pro API.

Fastest path
pip install "hoox-pyne[lsp,compile]"→pyne --version→pyne check strategy.pyne
[ package ]01PyPIRecommended

Via PyPI

Install hoox-pyne 0.6.34 from PyPI into a virtualenv. Python ≥ 3.10. Preferred bins are pyne and pyne-lsp (aliases pynescript / pynescript-lsp). The import package is pynescript. AGPL v3.

  • ▸Import remains pynescript — never pip install pyne or pip install pynescript (wrong packages).
  • ▸Extras: [lsp] language server, [compile] Numba, [data] CCXT, [pro] Flask Pro API.
  • ▸Prefer .pyne files; .pine remains for TradingView® exports.
  • ▸Not affiliated with TradingView®, Inc.
[ package ]02Extras

Optional extras

Layer LSP, Numba compile, CCXT data, Flask Pro API, and MCP on the core hoox-pyne wheel. Install only what the desk needs.

  • ▸LSP is not a CLI subcommand — use pyne-lsp (alias pynescript-lsp).
  • ▸MCP stdio server is pyne-mcp / pyne mcp; pyne mcp call works without the extra. Compose/GHCR uses PYNE_MCP_TRANSPORT=streamable-http.
  • ▸The [compile] extra is required for Numba compile / prewarm / run; --emit works without JIT.
  • ▸The [data] extra is required for CCXT providers on pyne data.
[ package ]03VSIX 0.5.8

VS Code / Cursor extension

Install hoox-sh.pyne 0.5.8 for AXIS-matched hover/suggest chrome, TextMate themes (void / signal / volt), Pine token palette (pynescript.syntaxHighlighting), and live LSP settings (diagnostics, formatting, inlays, snippets). Pair with pip install "hoox-pyne[lsp]".

Verify LSPpyne-lsp --help
  • ▸Appearance: pynescript.syntaxHighlighting = none | void | signal | volt (independent of the active color theme).
  • ▸Bundled themes: AXIS Void, HOOX Signal, PYNE Volt.
  • ▸Editor toggles include diagnostics.enabled / style / semantic, formatting, formatOnSave, completion.snippets, hover, and inlayHints.
  • ▸Not affiliated with TradingView®, Inc.
[ source ]04Full StackRecommended

From Source

Clone the language repo, editable-install extras, and run the Flask Pro API locally. Canonical path for contributors who need the full toolchain.

Alt installmake install
  • ▸make run starts the Flask Pro API on :5002.
  • ▸This is the language SoT (hoox-sh/pyne) — not the edge evaluate host.
[ docker ]05GHCR

Docker — CLI

Run the published CLI or LSP image from GHCR without a local Python env. Tagged 0.6.34; published on v* tags.

Build localmake docker-build-cli
  • ▸Image ENTRYPOINT is pynescript (alias of pyne).
  • ▸Non-root appuser. Published on v* tags as ghcr.io/hoox-sh/pyne/{cli,lsp,api,mcp}.
[ docker ]06Pro API

Docker — Pro API

Run the Flask Pro API in a container for local or cloud research. Host :5002 maps to container :8080. Compose also starts a dedicated datafeed process (same api image) on host :5004.

Compose stackdocker compose up -d
  • ▸Flask Pro API for local/cloud research — not the Cloudflare® edge evaluate host.
  • ▸Set ALLOWED_ORIGINS for CORS when AXIS is the client.
  • ▸Dedicated datafeed reuses the api image with GUNICORN_APP=backend.datafeed_app:app.
[ docker ]07GHCR

Docker — MCP

Streamable-http PYNE MCP image. Language tools run in-process; runner tools call the Pro API. Tagged 0.6.34.

Composedocker compose up -d mcp
  • ▸ENTRYPOINT is pyne-mcp. Default transport is streamable-http on :8080.
  • ▸stdio remains the CLI/editor default: pyne-mcp / pyne mcp.
  • ▸Set PYNE_API_URL when runner tools should hit a live Pro API.
[ cloudflare ]08EdgeRecommended

Deploy pyne-worker

Clone hoox-sh/pyne-worker (NOT the language repo). Vendored engine, Cloudflare® R2 OHLCV, POST /run. Not the full toolchain.

  • ▸After engine bumps run ./scripts/sync_vendor.sh before the next deploy.
  • ▸TRADE_SERVICE expects trade-worker — delete that binding if you do not run the HOOX mesh.
  • ▸Worker is evaluate-only (no CLI / LSP). Deploy on Cloudflare® Workers.
[ cloudflare ]090.3.15+

Pro API on Cloudflare® Containers

Front the Flask Pro API with a named Cloudflare® Containers instance that keeps the IR cache warm. Lives in hoox-sh/pyne/cf — not pyne-worker.

  • ▸standard-2 (1 vCPU / 6 GiB). Named instance api keeps the IR cache warm.
  • ▸Health: / and /health are proxied; Worker-only ready check is /__cf/ready.
  • ▸This is the desk Pro API at the edge — not the thin pyne-worker evaluate host.
Interfaces

[CLI · LSP · API]

CLI for parse and lint, LSP for editors, Pro API and pyne-worker for evaluate.

Click group · pyne / pynescript

Preferred console script for parse, format, lint, compile, run, optimize, corpus, and download-builtins. Same helpers as the library. Alias pynescript.

Parse-only; walks directories

Write back (alias: fmt)

AST dump (alias: ast)

One file or stdin

Python emit; no JIT required

Synthetic OHLCV compile-only

Open-source Runtime harness

strategy() scripts; interpret Runtime

Version + extras (alias: ls)

Catalog builtin Pine Script™ templates

LSP

pyne-lsp · themes · settings

Separate console script — not a Click subcommand. Editors talk stdio to pyne-lsp (alias pynescript-lsp). The VS Code extension adds void/signal/volt themes and live settings toggles.

pygls extra

Preferred bin

Same entry

Extension 0.5.8

  • ▸Settings: pynescript.syntaxHighlighting, diagnostics.*, formatting.*, completion.snippets, inlayHints.

API

Flask Pro · pyne-worker

Evaluate Pine Script™ over HTTP. Desk Flask Pro API or Cloudflare® Workers (pyne-worker) share POST /run.

Flask stack

Flask on :5002

From pyne-worker checkout

  • ▸POST /run, /optimize, /ingest.
  • ▸Authenticate with X-API-Key.
Install paths9
Version0.6.34
Binspyne · pyne-lsp
pip install hoox-pyne → pyne check → evaluate