wickra-wasm 0.8.9 → 0.9.1

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/README.md CHANGED
@@ -22,8 +22,8 @@
22
22
  **Streaming-first technical indicators. Install with `pip install wickra` — no system dependencies.**
23
23
 
24
24
  Wickra is a multi-language technical-analysis library with a Rust core and
25
- native bindings for Python, Node.js and WebAssembly, plus a C ABI that C, C++,
26
- C# / .NET, Go, Java, R and any other C-capable language links against. Every indicator is a
25
+ native bindings for Python, Node.js and WASM, plus a C ABI that C, C++,
26
+ C#, Go, Java, R and any other C-capable language links against. Every indicator is a
27
27
  state machine that updates in O(1) per new data point, so live trading bots and
28
28
  historical backtests share the exact same implementation.
29
29
 
@@ -81,8 +81,8 @@ times to get there.
81
81
  breadth, Renko/Kagi/Point&Figure bars, Ehlers DSP cycles, risk/performance
82
82
  metrics — every single one updating in **O(1) per tick**. TA-Lib ships ~150 and
83
83
  none of them stream.
84
- - **One Rust core, five first-class targets.** Native **Python · Node.js ·
85
- WebAssembly · Rust** plus a **C ABI** for C / C++, C# / .NET, Go, Java, R and any other C-capable language —
84
+ - **One Rust core, five first-class targets.** Native **Rust · Python · Node.js ·
85
+ WASM** plus a **C ABI** for C, C++, C#, Go, Java, R and any other C-capable language —
86
86
  identical math, identical results, zero per-language reimplementation and zero
87
87
  GIL bottleneck.
88
88
  - **Correct by construction, not by hope.** Every `update` validates its input,
@@ -106,7 +106,7 @@ Every other library forces one of those compromises. Wickra doesn't:
106
106
 
107
107
  | Library | Install | Streaming | Languages | Indicators | Active |
108
108
  |------------------|-------------|-------------|-----------------------------|-----------:|--------|
109
- | **★ Wickra**| **clean** | **yes, O(1)** | **Rust · Python · Node · WASM · C · C# · Go · Java · R** | **514** | **yes** |
109
+ | **★ Wickra**| **clean** | **yes, O(1)** | **Rust · Python · Node.js · WASM · C · C++ · C# · Go · Java · R** | **514** | **yes** |
110
110
  | kand | clean | yes | Python · WASM · Rust | ~60 | yes |
111
111
  | ta-rs | clean | yes | Rust only | ~30 | stale |
112
112
  | yata | clean | partial | Rust only | ~35 | yes |
@@ -190,7 +190,7 @@ it — regenerate from the core).
190
190
  | Browser / WASM | `npm install wickra-wasm` | `examples/wasm/index.html` |
191
191
  | Rust | `cargo add wickra` | `examples/rust/src/bin/backtest.rs` |
192
192
  | C / C++ (C ABI) | header + library, see [`bindings/c`](bindings/c) | `examples/c/streaming.c` |
193
- | C# / .NET (C ABI) | `dotnet add package Wickra`, see [`bindings/csharp`](bindings/csharp) | `examples/csharp/streaming` |
193
+ | C# (C ABI) | `dotnet add package Wickra`, see [`bindings/csharp`](bindings/csharp) | `examples/csharp/streaming` |
194
194
  | Go (cgo, C ABI) | `go get github.com/wickra-lib/wickra/bindings/go`, see [`bindings/go`](bindings/go) | `examples/go/streaming` |
195
195
  | Java (FFM, C ABI) | Maven Central `org.wickra:wickra`, see [`bindings/java`](bindings/java) | `examples/java` (`Streaming`) |
196
196
  | R (`.Call`, C ABI) | `R CMD INSTALL bindings/r`, see [`bindings/r`](bindings/r) | `examples/r/streaming.R` |
@@ -202,6 +202,29 @@ The wickra-core crate is `unsafe`-forbidden, so the native bindings are
202
202
  memory-safe end to end. The C ABI runs the same safe core; only its thin FFI
203
203
  boundary uses `unsafe`, and the caller owns handle lifetimes (`_new` / `_free`).
204
204
 
205
+ ## Requirements
206
+
207
+ The minimum supported version per language. Prebuilt packages (Rust, Python,
208
+ Node.js, WASM, C#) need only the runtime; the C-ABI bindings that compile on
209
+ install — Go (cgo) and R (`.Call`) — also need a C compiler, and Java runs with
210
+ `--enable-native-access=ALL-UNNAMED`.
211
+
212
+ | Language | Package | Minimum supported |
213
+ |-------------|--------------------------------------|----------------------------|
214
+ | Rust | crates.io · `wickra` | 1.86 (MSRV) |
215
+ | Python | PyPI · `wickra` (abi3 wheel) | 3.9 (tested through 3.13) |
216
+ | Node.js | npm · `wickra` (N-API 8) | 20 (tested on 22 · 24 LTS) |
217
+ | WASM | npm · `wickra-wasm` | any modern JS engine |
218
+ | C | `wickra.h` + library (releases) | C99 compiler |
219
+ | C++ | `wickra.hpp` over the C ABI | C++14 compiler |
220
+ | C# | NuGet · `Wickra` | .NET 8 (`net8.0`) |
221
+ | Go | module · `wickra-lib/wickra-go` | Go 1.23 (cgo) |
222
+ | Java | Maven Central · `org.wickra:wickra` | Java 22 (FFM / Panama) |
223
+ | R | source package | R ≥ 2.10 (Rtools on Win.) |
224
+
225
+ Full per-language detail (runtime vs. build-from-source) is on the
226
+ [Requirements page](https://docs.wickra.org/Requirements) in the docs.
227
+
205
228
  ## Rust API
206
229
 
207
230
  ```rust
@@ -264,7 +287,7 @@ wickra/
264
287
  │ ├── node/ napi-rs (publishes on npm)
265
288
  │ ├── wasm/ wasm-bindgen (browsers, bundlers, Node)
266
289
  │ ├── c/ C ABI (cdylib + staticlib) + generated include/wickra.h
267
- │ ├── csharp/ .NET binding over the C ABI (publishes on NuGet)
290
+ │ ├── csharp/ C# binding over the C ABI (publishes on NuGet)
268
291
  │ ├── go/ Go binding over the C ABI via cgo (module tag)
269
292
  │ ├── r/ R binding over the C ABI via .Call (R package)
270
293
  │ └── java/ Java binding over the C ABI via the FFM API (Maven Central)
@@ -312,7 +335,7 @@ cargo build -p wickra-c --release
312
335
  cmake -S examples/c -B examples/c/build -DWICKRA_LIB_DIR="$PWD/target/release"
313
336
  cmake --build examples/c/build && ctest --test-dir examples/c/build --output-on-failure
314
337
 
315
- # C# / .NET binding (requires the .NET 8 SDK; links the C ABI above)
338
+ # C# binding (requires the .NET 8 SDK; links the C ABI above)
316
339
  dotnet test bindings/csharp/Wickra.Tests/Wickra.Tests.csproj
317
340
 
318
341
  # Go binding (requires a C compiler for cgo; links the C ABI above)
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "kingchenc <support@wickra.org>"
6
6
  ],
7
7
  "description": "WASM bindings for the Wickra streaming-first technical indicators library.",
8
- "version": "0.8.9",
8
+ "version": "0.9.1",
9
9
  "license": "MIT OR Apache-2.0",
10
10
  "repository": {
11
11
  "type": "git",
Binary file