b7ef63400d
Adds an R binding (`bindings/r`) over the C ABI hub — the third language stecker after C# and Go, reaching the hub through R's native `.Call` interface (not extendr). ## What's here - **`bindings/r`** — an R package exposing all 514 indicators as constructors that return a `wickra_indicator` object with generic `update`/`batch`/`reset` methods. The C glue (`src/wickra.c`) and R wrappers (`R/indicators.R`) are generated from `bindings/c/include/wickra.h` (same archetype taxonomy as the C#/Go generators: scalar/batch, multi-output, bars, profile, profile-values, array-input). The opaque handle is an R external pointer freed by a registered finalizer; multi-output returns a named vector (`NA` at warmup), bars a matrix, profiles a list. - **`examples/r`** — the full example suite mirroring C/C#/Go: streaming, backtest, multi_timeframe, parallel_assets (`mclapply`), three strategies, and `fetch_btcusdt`/`live_binance`. - **CI** — an `r` job builds the C ABI library, installs the package, runs the `testthat` suite and the offline examples on Linux, macOS and Windows (`R CMD check` is clean: 0 warnings, 0 notes). - **Docs** — R added to the README languages table, project layout, building/testing, CONTRIBUTING binding table + regenerate note, ARCHITECTURE, examples index, issue/PR templates, the About-description template, and the other binding READMEs. ## Linking / distribution The package compiles a thin `.Call` glue layer against the prebuilt C ABI library (header via `WICKRA_INCLUDE_DIR`, library via `WICKRA_LIB_DIR`). On Windows the package's own `wickra.dll` would collide with the C ABI's `wickra.dll`, so `configure.win` stages a renamed copy (`wickra_abi.dll`) and builds an import library referencing it; `install.libs.R` bundles the DLL and `.onLoad` puts it on the load path. On Linux/macOS the rpath locates the shared library. No `release.yml` change — R is distributed via r-universe / source install (gated). No Rust crate or `Cargo.toml` change — the R package is standalone and additive.
1.3 KiB
1.3 KiB
Support
Thanks for using Wickra! Here is where to get help, depending on what you need.
Documentation first
Most questions are answered in the documentation:
- Docs site: https://docs.wickra.org — quickstarts for Rust, Python, Node.js, WebAssembly, C, C#, Go and R, a per-indicator reference, warmup periods, the data layer, and an FAQ.
- README: https://github.com/wickra-lib/wickra#readme — installation and a quick overview.
- API docs (Rust): https://docs.rs/wickra.
Questions and help
- Ask a question with the question issue template.
- Browse existing issues — your question may already be answered.
Bugs and feature requests
- Bugs: use the bug-report issue template.
- Feature requests / new indicators: use the feature-request template.
Security issues
Please do not report security vulnerabilities through public issues. Follow
the process in SECURITY.md (private GitHub advisory or email).
Support expectations
Wickra is maintained by a single maintainer on a best-effort basis. Issues are triaged and acknowledged as time allows; there is no commercial support or SLA. Clear, reproducible reports get help fastest.