11dd659b5f
Relicenses Wickra from PolyForm Noncommercial 1.0.0 to the dual, OSI-approved **MIT OR Apache-2.0** (the de-facto Rust convention). Wickra becomes permissive, commercial-use-permitted open source; users may choose either license. ## Changes - Replace `LICENSE` (PolyForm) with `LICENSE-MIT` + `LICENSE-APACHE` (full texts). - Cargo: workspace `license = "MIT OR Apache-2.0"` (SPDX) + all 7 sub-crates switched from `license-file.workspace` to `license.workspace`. - `deny.toml`: drop PolyForm from the allowlist. - Python: `pyproject.toml` PEP 639 SPDX expression; remove the non-commercial classifier (verified: sdist metadata emits `License-Expression: MIT OR Apache-2.0`). - Node: `package.json`, the 6 platform manifests and both lockfiles. - README + Python/Node/WASM binding READMEs, CONTRIBUTING, CITATION.cff, PR template, and the WASM `pkg.license` step in `release.yml`. - SECURITY.md: refresh supported versions 0.1.x -> 0.4.x. - CHANGELOG: note the relicense under [Unreleased]. ## Notes - No code changes; metadata/text only. `cargo build` and `cargo deny check licenses` pass locally. - GitHub will auto-detect "MIT, Apache-2.0" once this lands (currently NOASSERTION). - Matching downstream changes (org `.github` profile, webpage, docs) are in separate PRs; merge those together with the relicense release so the live sites and org profile do not claim MIT before the packages do.
71 lines
2.9 KiB
Markdown
71 lines
2.9 KiB
Markdown
# Wickra — WebAssembly
|
|
|
|
[](https://github.com/wickra-lib/wickra/actions/workflows/ci.yml)
|
|
[](https://codecov.io/gh/wickra-lib/wickra)
|
|
[](https://www.npmjs.com/package/wickra-wasm)
|
|
[](https://github.com/wickra-lib/wickra#license)
|
|
|
|
**Streaming-first technical indicators in the browser. `npm install
|
|
wickra-wasm` — pure WebAssembly, runs anywhere a modern JS engine does.**
|
|
|
|
Wickra is a multi-language technical-analysis library with a Rust core and
|
|
bindings for Python, Node.js, and WebAssembly. Every indicator is an O(1)
|
|
streaming state machine, so live trading dashboards and historical backtests
|
|
share the exact same implementation. This package is the WebAssembly binding
|
|
(wasm-bindgen, built for the `web` target); it exposes 200+ streaming-first
|
|
indicators across sixteen families.
|
|
|
|
## Install
|
|
|
|
```bash
|
|
npm install wickra-wasm
|
|
```
|
|
|
|
## Quick start
|
|
|
|
The module ships a default `init` export that loads the `.wasm` payload; await
|
|
it once before constructing indicators.
|
|
|
|
```js
|
|
import init, { RSI } from 'wickra-wasm';
|
|
|
|
await init(); // load the WebAssembly module once
|
|
|
|
// Streaming: feed prices tick by tick in O(1).
|
|
const rsi = new RSI(14);
|
|
for (const price of liveFeed) {
|
|
const value = rsi.update(price); // null during warmup
|
|
if (value !== null && value > 70) {
|
|
console.log('overbought');
|
|
}
|
|
}
|
|
```
|
|
|
|
Constructors mirror the other bindings (`new SMA(20)`, `new MACD(12, 26, 9)`,
|
|
`new BollingerBands(20, 2.0)`, …); `update()` returns the latest value or
|
|
`null` while the indicator is still warming up.
|
|
|
|
## Documentation
|
|
|
|
The full indicator catalogue, guides, quickstarts, and API reference live in
|
|
the main repository and documentation site:
|
|
|
|
- **Repository & full indicator list:** <https://github.com/wickra-lib/wickra>
|
|
- **Docs** (quickstarts, cookbook, TA-Lib migration): <https://docs.wickra.org>
|
|
- **Runnable browser examples:** [`examples/wasm/`](https://github.com/wickra-lib/wickra/tree/main/examples/wasm)
|
|
|
|
Wickra ships four bindings — Python, Node.js, WebAssembly, and Rust — that all
|
|
expose the same indicators from the shared, `unsafe`-forbidden Rust core.
|
|
|
|
## Disclaimer
|
|
|
|
Wickra is an indicator toolkit, not a trading system. The values it computes
|
|
are deterministic transforms of the input data — they are not financial advice
|
|
and do not predict the market. Any use in a live trading context is at your own
|
|
risk. The library is provided **as is**, without warranty of any kind.
|
|
|
|
## License
|
|
|
|
Licensed under either of [Apache-2.0](https://github.com/wickra-lib/wickra/blob/main/LICENSE-APACHE)
|
|
or [MIT](https://github.com/wickra-lib/wickra/blob/main/LICENSE-MIT) at your option.
|