Surfaces — section loads with JavaScript. Open docs
04
[Open core]
Open core — section loads with JavaScript. Open docs
01 // CHANGELOGSEC01
[What's new]
hoox-pyne 0.6.32 fixes outline symbols on generic types and re-packs VS Code 0.5.6. 0.6.31 ships dedicated compose datafeed and MCP daemons, publishes ghcr.io/hoox-sh/pyne/mcp, and matches AXIS hover/suggest chrome in the editor. 0.6.30 listed hoox-sh.pyne on the Visual Studio Marketplace with a scope-aware LSP semantic layer. This plate is the recent surface — not the full changelog.
Typed locals such as array<float> and map<string, float> no longer crash textDocument/documentSymbol — Specialize.args is an expression, not a list. The outline still returns any symbols already collected if a later visitor step fails. VS Code extension 0.5.6 re-packs the fix; the language server still comes from hoox-pyne.
array<T> · map<K,V>
Outline no crash
Partial symbols kept
VSIX 0.5.6
docker compose up starts a dedicated CCXT datafeed on :5004 and PYNE MCP over streamable-http on :5003. v* tags publish ghcr.io/hoox-sh/pyne/{api,cli,lsp,mcp}. VS Code 0.5.5 matches AXIS hover, suggest, and peek chrome (hairline, void plates, kind-kicker Markdown) and adds Pine v6 bitwise TextMate tokens plus snippets.
datafeed :5004
MCP HTTP :5003
GHCR mcp
VSIX 0.5.5
hoox-sh.pyne 0.5.4 listed on the Visual Studio Marketplace. The language server builds a Pine scope tree so completion, hover, definition, and rename respect shadowing. Version-gated v6 lint (W104 / W105) stays quiet on v4/v5 scripts; inlay hints are display-only parameter names.
Marketplace
Scope-aware LSP
W104 · W105
VSIX 0.5.4
Market orders placed on bar N fill at the open of bar N+1 on both hosts; fills quote on the syminfo.mintick grid, resting prices round outward, and reverse closes emit a close event with a reverse comment at fill time — interpret and compile stay in lockstep. Inlay hints are parameter names only; inferred-type annotations and the inlayHints.types setting are gone (VSIX 0.5.4). strategy() initial_capital defaults to 1,000,000; na unwraps series/scalar wrappers before testing; fixnan carries the last non-na sample per call site.
Next-bar market fills
mintick grid
Dual-host lockstep
VSIX 0.5.4
25 notes in the platePYNE::CHANGELOG / 0.6.34
Still openStill open: known TradingView® platform divergences and optional set0x community-corpus plot parity. Official TradingView® builtins are 0 MISMATCH vs compile (0.6.2). See the known-divergences note. The corpus figure is interpret coverage, separate from hosted-platform parity.
02 // ENTRY PATHSSEC02
[HOW TO USE]
Four entry points, one stack. Pick the surface that matches the job — desk, API, edge, or editor.
01
Python01
Local reference
pip install "hoox-pyne" — import package is pynescript. Parse, lint, evaluate, and round-trip Pine Script™-compatible scripts with high fidelity on your machine — see the status matrix for live coverage.
POST scripts and OHLCV to a stable evaluate contract — mode, alerts, libraries, optional webhook_url. Same payload shape on desk, worker, or custom host.
Deploy pyne-worker for edge POST /run. Import PyneTS (@hoox-sh/pynets) for in-process TypeScript evaluate. Optional pyne-agent-worker writes scripts from chat.
Install the LSP and the PYNE VS Code extension. Autocomplete 940+ builtins, diagnostics, hover docs, outline — VS Code, Neovim, Zed, Emacs. Opens .pyne and .pine.
Strategies should not die with a tab. Evaluate at the edge or on a server you control — with alerts out via webhooks.
Uncapped history
Multi-year bars on data you store — not a 20k ceiling tied to a subscription. Series caps and incremental TA keep long series practical.
Readable grammar
ANTLR4, ASDL, public builtins. If you cannot inspect the runtime, you cannot trust the fill.
03 // SURFACESSEC03
[PARSE. RUN. DEPLOY.]
Desk CLI, HTTP API, and Cloudflare® Workers — one Pine Script™ grammar, five surfaces.
CLI · DESK SURFACE
The desk surface. Parse, lint, format, run, optimize, and catalog builtins without opening a browser. PyPI ships as hoox-pyne 0.6.34; preferred CLIs are pyne / pyne-lsp (pynescript* aliases remain).
05 · Parse dumpPrint the ASDL tree (alias: parse-and-dump)
Print the ASDL tree (alias: parse-and-dump)
06 · LintDiagnostics with fail-on / JSON for pipelines
Diagnostics with fail-on / JSON for pipelines
07 · Compile emitTranspile to Python (no JIT required)
Transpile to Python (no JIT required)
08 · Run smokeCompile + execute on synthetic OHLCV
Compile + execute on synthetic OHLCV
09 · OptimizeSearch strategy input.* over interpret Runtime (0.3.12+)
Search strategy input.* over interpret Runtime (0.3.12+)
10 · Download builtinsCatalog TradingView® builtin Pine Script™ templates on demand (0.3.15)
Catalog TradingView® builtin Pine Script™ templates on demand (0.3.15)
11 · PrewarmWarm Numba / IR caches before traffic (H2)
Warm Numba / IR caches before traffic (H2)
12 · Market dataOHLCV via mock, Yahoo, Alpha Vantage, or CCXT
OHLCV via mock, Yahoo, Alpha Vantage, or CCXT
13 · Docker CLIEphemeral non-root CLI image
Ephemeral non-root CLI image
14 · LSP stdioLanguage server on standard I/O (alias: pynescript-lsp)
Language server on standard I/O (alias: pynescript-lsp)
python · parse / unparse· 10 ln
CRT · 80×24
LANGPY|ASTASDL
from pynescript.ast.helper import parse, unparse
script = """
//@version=6
indicator("My RSI")
plot(ta.rsi(close, 14))
"""
tree = parse(script)
print(unparse(tree))
Library API · same grammarUTF-8|LF|TERM
NOTE
Prefer a library? from pynescript.ast.helper import parse is the same ANTLR4 pipeline the CLI wraps. Install via hoox-pyne on PyPI.
04 // LICENSE MODELSEC04
[OPEN CORE]
Revenue, if any, is managed hosting and commercial licenses — never a paywall around the evaluator. AGPL v3 for the grammar, runtimes, and parity harness. PyPI package: hoox-pyne (import pynescript).