@hoox-sh/pynets 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README.md +5 -3
- package/dist/browser.js +90 -34
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4441 -411
- package/package.json +1 -1
- package/src/cli/rich.ts +4 -3
- package/src/cli.ts +29 -7
- package/src/index.ts +21 -0
- package/src/runtime/compile/collections.ts +339 -0
- package/src/runtime/compile/draw.ts +181 -0
- package/src/runtime/compile/emit.ts +1164 -0
- package/src/runtime/compile/emit_call.ts +1406 -0
- package/src/runtime/compile/emit_udf.ts +326 -0
- package/src/runtime/compile/engine.ts +265 -0
- package/src/runtime/compile/helpers.ts +140 -0
- package/src/runtime/compile/index.ts +33 -0
- package/src/runtime/compile/runtime.ts +297 -0
- package/src/runtime/compile/strategy.ts +169 -0
- package/src/runtime/compile/types.ts +125 -0
- package/src/runtime/compile/udt_runtime.ts +50 -0
- package/src/runtime/interpret.ts +192 -10
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.2.0] - 2026-08-16
|
|
11
|
+
|
|
12
|
+
JS compile backend (`mode: "compile" | "auto"`). Interpret unchanged.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- JS compile backend (`mode: "compile" | "auto"`) — emit a bar-loop function. No Numba.
|
|
17
|
+
- Compile object-mode strategy (`__h.strategy` / fills / events) and UDF series state (`src[1]`, `var` locals)
|
|
18
|
+
- Compile array / map / matrix, UDT (`Type.new` / field get-set), drawings (`label`/`line`/`box`), named UDF kwargs
|
|
19
|
+
- Compile input overrides, `color.*` / named colors, enums, extra array/matrix/drawing mutators; `mode: "auto"` no longer skips compile when inputs are set
|
|
20
|
+
- Compile `request.security` same-symbol passthrough (foreign → `na`), `barstate.*` / `syminfo` stubs, calendar `year`/`month`/…, `str.*`, UDT `method` calls
|
|
21
|
+
- Compile Heikin-Ashi `ticker.heikinashi` + `timestamp` / `timeframe.in_seconds` / `weekofyear`
|
|
22
|
+
- Compile `import`: inline registered library sources; unresolved aliases stub to `na`. `str.format` / `str.format_time`
|
|
23
|
+
- Compile `session.*` / `chart.*`, `log.*` (result `logs`), `ticker.new/standard`, `request.currency_rate`, `alertcondition`
|
|
24
|
+
|
|
25
|
+
### Notes
|
|
26
|
+
|
|
27
|
+
- Compile is JS emit (Python object-mode analog), not Numba
|
|
28
|
+
- `import` / foreign `request.*` stay interpret-or-na; no invented bars
|
|
29
|
+
|
|
10
30
|
## [0.1.0] - 2026-08-15
|
|
11
31
|
|
|
12
32
|
First public `@hoox-sh/pynets` release. TypeScript / Bun port of PYNE interpret.
|
package/README.md
CHANGED
|
@@ -24,6 +24,8 @@ const out = new Runtime("AAPL").run(src, [
|
|
|
24
24
|
{ close: 1 }, { close: 2 }, { close: 3 }, { close: 4 },
|
|
25
25
|
]);
|
|
26
26
|
// out.plots, out.series, out.count
|
|
27
|
+
// new Runtime("AAPL", { mode: "compile" }) — JS bar-loop emit (not Numba)
|
|
28
|
+
// mode: "auto" tries compile, then interpret
|
|
27
29
|
```
|
|
28
30
|
|
|
29
31
|
Install with Bun (published TypeScript source — no bundle needed):
|
|
@@ -82,9 +84,9 @@ Family map — library vs edge host, same SoT:
|
|
|
82
84
|
| | [pynescript](https://github.com/hoox-sh/pyne) | [pyne-worker](https://github.com/hoox-sh/pyne-worker) | **PyneTS** |
|
|
83
85
|
|---|---|---|---|
|
|
84
86
|
| Role | SoT library | Production **Python** Cloudflare Worker | TS / Bun library + CLI |
|
|
85
|
-
| Engine | interpret + Numba compile | Vendors `pynescript.runtime` | interpret
|
|
87
|
+
| Engine | interpret + Numba compile | Vendors `pynescript.runtime` | interpret + **JS compile** |
|
|
86
88
|
| Grammar | `*.g4` | Same Python engine (not a fork) | **same `.g4`**, TS ANTLR target |
|
|
87
|
-
| How you call it | `Runtime.run` | `POST /run` (`interpret` / `compile` / `auto`) | `Runtime.run` / `
|
|
89
|
+
| How you call it | `Runtime.run` | `POST /run` (`interpret` / `compile` / `auto`) | `Runtime.run` (`interpret` / `compile` / `auto`) |
|
|
88
90
|
| Extra | LSP, Pro API | R2 OHLCV, 1m cron, alerts, trade-worker | Local TTY (`check` / `format` / `run` / `dump`) |
|
|
89
91
|
|
|
90
92
|
[pyne-worker](https://github.com/hoox-sh/pyne-worker) is the edge evaluate host of the **Python** engine. PyneTS is the TypeScript library you import and the CLI you run on a laptop. They share the PYNE contract; this repo is not a Worker.
|
|
@@ -318,7 +320,7 @@ After a plain clone: `git submodule update --init --recursive`.
|
|
|
318
320
|
|
|
319
321
|
## Non-goals
|
|
320
322
|
|
|
321
|
-
Numba
|
|
323
|
+
Numba nopython, Worker packaging, ASDL codegen. Compile is JS emit (Python object-mode analog), not a JIT.
|
|
322
324
|
|
|
323
325
|
---
|
|
324
326
|
|