wickra-wasm 0.7.7 → 0.7.8

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
@@ -20,7 +20,7 @@
20
20
 
21
21
  Wickra is a multi-language technical-analysis library with a Rust core and
22
22
  native bindings for Python, Node.js and WebAssembly, plus a C ABI that C, C++,
23
- C# / .NET, Go and any other C-capable language links against. Every indicator is a
23
+ C# / .NET, Go, R and any other C-capable language links against. Every indicator is a
24
24
  state machine that updates in O(1) per new data point, so live trading bots and
25
25
  historical backtests share the exact same implementation.
26
26
 
@@ -51,7 +51,8 @@ Full documentation lives at **[docs.wickra.org](https://docs.wickra.org)**:
51
51
  [WASM](https://docs.wickra.org/Quickstart-WASM),
52
52
  [C](https://docs.wickra.org/Quickstart-C),
53
53
  [C#](https://docs.wickra.org/Quickstart-CSharp),
54
- [Go](https://docs.wickra.org/Quickstart-Go).
54
+ [Go](https://docs.wickra.org/Quickstart-Go),
55
+ [R](https://docs.wickra.org/Quickstart-R).
55
56
  - **Indicators** — a per-indicator deep dive (formula, parameters, warmup) for
56
57
  every one of the 514 indicators; start at the
57
58
  [indicators overview](https://docs.wickra.org/Indicators-Overview).
@@ -77,7 +78,7 @@ times to get there.
77
78
  metrics — every single one updating in **O(1) per tick**. TA-Lib ships ~150 and
78
79
  none of them stream.
79
80
  - **One Rust core, five first-class targets.** Native **Python · Node.js ·
80
- WebAssembly · Rust** plus a **C ABI** for C / C++, C# / .NET, Go and any other C-capable language —
81
+ WebAssembly · Rust** plus a **C ABI** for C / C++, C# / .NET, Go, R and any other C-capable language —
81
82
  identical math, identical results, zero per-language reimplementation and zero
82
83
  GIL bottleneck.
83
84
  - **Correct by construction, not by hope.** Every `update` validates its input,
@@ -102,7 +103,7 @@ Every other library forces one of those compromises. Wickra doesn't:
102
103
  | Library | Install | Streaming | Languages | Indicators | Active |
103
104
  |------------------|-------------|-------------|-----------------------------|-----------:|--------|
104
105
  | **★ Wickra**| **clean** | **yes, O(1)** | **Rust · Python · Node · WASM** | **514** | **yes** |
105
- | | | | **C · C# · Go** | | |
106
+ | | | | **C · C# · Go · R** | | |
106
107
  | kand | clean | yes | Python · WASM · Rust | ~60 | yes |
107
108
  | ta-rs | clean | yes | Rust only | ~30 | stale |
108
109
  | yata | clean | partial | Rust only | ~35 | yes |
@@ -174,7 +175,7 @@ construct it in signed mode (`Doji::new().signed()`, `Doji(signed=True)`,
174
175
  `new Doji(true)`) for a dragonfly / gravestone `±1` reading.
175
176
 
176
177
  Adding a new indicator means implementing one trait in Rust; every binding
177
- inherits it automatically (the C ABI — and the C# and Go bindings generated from
178
+ inherits it automatically (the C ABI — and the C#, Go and R bindings generated from
178
179
  it — regenerate from the core).
179
180
 
180
181
  ## Languages
@@ -188,6 +189,7 @@ it — regenerate from the core).
188
189
  | C / C++ (C ABI) | header + library, see [`bindings/c`](bindings/c) | `examples/c/streaming.c` |
189
190
  | C# / .NET (C ABI) | `dotnet add package Wickra`, see [`bindings/csharp`](bindings/csharp) | `examples/csharp/streaming` |
190
191
  | Go (cgo, C ABI) | `go get github.com/wickra-lib/wickra/bindings/go`, see [`bindings/go`](bindings/go) | `examples/go/streaming` |
192
+ | R (`.Call`, C ABI) | `R CMD INSTALL bindings/r`, see [`bindings/r`](bindings/r) | `examples/r/streaming.R` |
191
193
 
192
194
  Each binding ships several runnable examples (streaming, backtest, live feed);
193
195
  [`examples/README.md`](examples/README.md) is the full cross-language index.
@@ -259,7 +261,8 @@ wickra/
259
261
  │ ├── wasm/ wasm-bindgen (browsers, bundlers, Node)
260
262
  │ ├── c/ C ABI (cdylib + staticlib) + generated include/wickra.h
261
263
  │ ├── csharp/ .NET binding over the C ABI (publishes on NuGet)
262
- └── go/ Go binding over the C ABI via cgo (module tag)
264
+ ├── go/ Go binding over the C ABI via cgo (module tag)
265
+ │ └── r/ R binding over the C ABI via .Call (R package)
263
266
  ├── examples/ examples/README.md indexes every language
264
267
  │ ├── data/ real BTCUSDT OHLCV datasets, one per timeframe
265
268
  │ ├── rust/ Rust workspace member (`wickra-examples`)
@@ -268,7 +271,8 @@ wickra/
268
271
  │ ├── wasm/ browser demo for `wickra-wasm`
269
272
  │ ├── c/ C smoke + streaming, C++ RAII wrapper
270
273
  │ ├── csharp/ streaming, backtest, strategies (load `Wickra`)
271
- └── go/ streaming, backtest, strategies (cgo binding)
274
+ ├── go/ streaming, backtest, strategies (cgo binding)
275
+ │ └── r/ streaming, backtest, strategies (.Call binding)
272
276
  └── .github/workflows/ CI and release pipelines
273
277
  ```
274
278
 
@@ -308,6 +312,10 @@ dotnet test bindings/csharp/Wickra.Tests/Wickra.Tests.csproj
308
312
  # Go binding (requires a C compiler for cgo; links the C ABI above)
309
313
  cp target/release/libwickra.so bindings/go/lib/ # .dylib on macOS, wickra.dll on Windows
310
314
  cd bindings/go && go test ./...
315
+
316
+ # R binding (requires a C toolchain / Rtools; links the C ABI above)
317
+ WICKRA_INCLUDE_DIR="$PWD/bindings/c/include" WICKRA_LIB_DIR="$PWD/target/release" \
318
+ R CMD INSTALL bindings/r
311
319
  ```
312
320
 
313
321
  ## Testing
@@ -329,6 +337,8 @@ Every layer is covered; run the suites with the commands in
329
337
  and reference values.
330
338
  - `bindings/go`: `go test` cases covering one indicator per FFI archetype
331
339
  (scalar/batch, multi-output, bars, profile, array input), reset, and lifecycle.
340
+ - `bindings/r`: `testthat` cases covering one indicator per FFI archetype
341
+ (scalar/batch, multi-output, bars, profile, array input), reset, and validation.
332
342
 
333
343
  ## Contributing
334
344
 
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.7.7",
8
+ "version": "0.7.8",
9
9
  "license": "MIT OR Apache-2.0",
10
10
  "repository": {
11
11
  "type": "git",
Binary file