wickra-xray
v0.1.7
Published
The data-driven market-microstructure frame core: build an Xray from a spec, drive it with commands, read back frames. Node bindings powered by Rust.
Maintainers
Readme
Wickra X-Ray — Node.js
▶ Live demo: all 514 indicators over real Binance market data, computed live in your browser — live.wickra.org · zero backend, powered by
wickra-wasm.
A free explorer that shows, historically, what only Wickra computes — for Node.js. npm install wickra-xray — prebuilt native binary, no system dependencies.
Node.js bindings for
wickra-xray-core, built with
napi-rs. The surface mirrors every other Wickra binding: build an Xray from
a spec JSON, drive it with command JSONs, and read back render frames.
Install
npm install wickra-xrayThe native addon ships as a prebuilt binary per platform (Linux, macOS, Windows — x64 and arm64), selected automatically through optional dependencies. There is nothing to compile.
The right prebuilt native binary is pulled in automatically as an optional dependency for your platform.
Building from this repository (contributors)
npm install
npm run build
npm testQuick start
const { Xray } = require("wickra-xray");
const spec = JSON.stringify({
dataset_ref: "mini", symbol: "AAA",
panels: [{ kind: "footprint", price_bin: 1.0, bucket_ms: 60000 }],
});
const xray = new Xray(spec);
xray.command(JSON.stringify({ cmd: "load", dataset: {
trades: [{ ts: 1000, price: 100.4, qty: 2.0, side: "buy" }],
}}));
const frame = JSON.parse(xray.command(JSON.stringify({ cmd: "frame" })));
console.log(frame.symbol, frame.cursor_ts);Surface
new Xray(spec_json)builds an xray from a spec JSON (""or"{}"for an empty handle whose spec is set later). Throws on a malformed spec.xray.command(cmd_json)applies a command JSON (set_spec,load,frame,frame_at,bounds,reset,version) and returns the response JSON. Domain errors come back in-band as{"ok":false,"error":...}.xray.version()/version()return the library version.
Benchmark
Every binding forwards to the same data-driven Rust core, so what this one adds is
the call overhead of napi-rs, not a different result. The core's throughput is
measured by the repository's benchmark suite and the nightly bench.yml run; the
numbers, the machine and how to reproduce them are in the repository
BENCHMARKS.md.
Documentation
The full guide, the spec reference and the API documentation live in the main repository and the documentation site:
- Repository: https://github.com/wickra-lib/wickra-xray
- Docs (guides, spec reference, cookbook): https://xray.wickra.org
- Runnable example:
examples/node/
Wickra X-Ray ships native bindings for Python, Node.js, WASM and Rust, plus a C ABI hub that any
C-capable language (C, C++, C#, Go, Java, R) links against — all forwarding to the
same data-driven, unsafe-forbidden Rust core.
Security
Found a security issue? Please don't open a public issue. Report it privately
via the repository's Security tab ("Report a vulnerability") or email
[email protected] with a subject line starting [wickra security]. Full
policy: https://github.com/wickra-lib/wickra-xray/blob/main/SECURITY.md.
Disclaimer
Wickra X-Ray is analysis software: it computes microstructure views over historical and live market data. It is provided "as is", without warranty of any kind, and is not financial advice — it places no orders. Trading carries risk of loss; review the code and use at your own discretion.
License
Licensed under either of Apache-2.0 or MIT at your option.
