[Ecosystem]
PYNE, PyneTS, pyne-worker, pyne-agent-worker, AXIS, and HOOX — what each one is and is not.
Ecosystem
Abstract
The HOOX family splits language, chart, and execution. Mixing the names is the most common docs failure: pyne-worker is not pynets, and AXIS does not place HOOX orders.
| Product | Role | Docs |
|---|---|---|
PYNE (hoox-pyne, import pynescript) | Python language SoT: parse, LSP, Pro API, Runtime.run | this site |
PyneTS (@hoox-sh/pynets) | TypeScript / Bun library + CLI | PyneTS |
| pyne-worker | Python Cloudflare isolate — POST /run | pyne-worker · HOOX isolate |
| pyne-agent-worker | NL → Pine (Workers AI) | agent · AXIS plugin |
| AXIS | Charting PWA (engines call Python) | AXIS |
| HOOX | Edge trade mesh | HOOX |
Conceptual model
Invariant: evaluation never requires a proprietary chart host. AXIS is an optional chart. HOOX is an optional execution mesh. PyneTS is an optional TypeScript import.
Interface surface
Published versions (static; a 5-minute cron rewrites the table when a registry moves):
| Package | Latest | Registry |
|---|---|---|
| hoox-pyne | 0.3.12 | PyPI |
| @hoox-sh/pynets | 0.2.0 | npm |
| hoox-sh.pyne | 0.3.12 | VS Code / Open VSX |
| ghcr.io/hoox-sh/pyne/{api,cli,lsp} | 0.3.12 | GHCR |
Checkouts (this repo vs sisters)
| Checkout | What you open |
|---|---|
| hoox-sh/pyne | PYNE SoT (hoox-pyne 0.3.12) |
| hoox-sh/pynets | Standalone @hoox-sh/pynets 0.2.0 (JS compile + stream) |
pynets/ submodule in this repo | Pin v0.2.0 — interpret + JS compile (same surface as npm) |
| hoox-sh/pyne-worker | Python edge /run |
| hoox-sh/pyne-agent-worker | NL authoring (not in this tree) |
| hoox-sh/axis | AXIS PWA |
| hoox-sh/hoox | Mesh monorepo |
Evaluate contract
Flask POST /run, pyne-worker POST /run, and in-process Runtime.run share the evaluate contract: script + OHLCV + mode → plots / events / alerts. PyneTS speaks the library form of that envelope (RuntimeResult), not HTTP.
Internals
Docs are authored in product trees and synced to hoox.sh:
| Tree | Public base |
|---|---|
pynescript/docs/pyne/** | /pyne/docs |
axis/docs/** | /axis/docs |
hoox/docs/** | /docs |
Do not author in hoox-landing-page/content/* — that is a sync artifact.
Invariants & edge cases
- Python wins language semantics. PyneTS does not invent TradingView behaviour.
- AXIS ≠ engine. AXIS never embeds a closed interpreter; engines are plugins.
- AXIS ≠ execution. Drawing a strategy on AXIS does not call
trade-worker. - Alerts ≠ orders.
alert()webhooks are notStrategyEventforwards unless you point them at the HOOX gateway yourself. - Do not
pip install pyneorpip install pynescriptfor this project. Dist name ishoox-pyne. - Do not treat the submodule package name as the published npm name. This checkout pins v0.2.0; npm is
@hoox-sh/pynets0.2.0. Python Runtime remains the oracle. pine-workeris a leftover TypeScript Cloudflare experiment (hoox-sh/pine-worker). It is not a product evaluate host and has no pages on this site.
Worked examples
Pick a surface
| You want | Use |
|---|---|
| Parse / lint / LSP on a laptop | pip install "hoox-pyne[lsp]" |
| Embed evaluate in TypeScript | bun add @hoox-sh/pynets |
| HTTP evaluate at the edge | Deploy pyne-worker |
| Chart + editor | AXIS PWA + Flask or Pyodide |
| Live CEX orders from strategy events | pyne-worker TRADE_SERVICE → HOOX |
| Chat → script | pyne-agent-worker |
Failure modes
| Mix-up | What goes wrong |
|---|---|
Opening pyne-worker/ or pine-worker/ inside PYNE | Directories do not exist — clone the sister repos; TS library work is @hoox-sh/pynets |
| Expecting AXIS to flatten a position | No trade-worker hop |
| Pointing AXIS at pynets as an engine | No such engine. Use Flask / Pyodide / Worker proxy |
pyne run vs Runtime.run vs pynets run | Different defaults — see modes |