Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
01aeb965d1 | ||
|
|
f1fed6cdd5 |
@@ -90,11 +90,15 @@ jobs:
|
|||||||
|
|
||||||
- name: Generate CycloneDX SBOMs
|
- name: Generate CycloneDX SBOMs
|
||||||
run: |
|
run: |
|
||||||
cargo cyclonedx --format json --top-level -p wickra-core
|
# cargo-cyclonedx walks the whole workspace in a single pass and
|
||||||
cargo cyclonedx --format json --top-level -p wickra-data
|
# writes a <package>.cdx.json next to each member's Cargo.toml; it
|
||||||
cargo cyclonedx --format json --top-level -p wickra
|
# has no -p/--package selector. Collect the three crates.io crates
|
||||||
|
# (the .crate files published by this job) into the upload dir.
|
||||||
|
cargo cyclonedx --format json --top-level
|
||||||
mkdir -p sboms
|
mkdir -p sboms
|
||||||
find . -name "*.cdx.json" -not -path "./target/*" -exec cp {} sboms/ \;
|
cp crates/wickra-core/wickra-core.cdx.json sboms/
|
||||||
|
cp crates/wickra-data/wickra-data.cdx.json sboms/
|
||||||
|
cp crates/wickra/wickra.cdx.json sboms/
|
||||||
ls -lh sboms/
|
ls -lh sboms/
|
||||||
|
|
||||||
- name: Upload SBOMs
|
- name: Upload SBOMs
|
||||||
|
|||||||
+18
-1
@@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [0.3.1] - 2026-05-30
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- **Release pipeline — CycloneDX SBOM generation.** `cargo-cyclonedx` has no
|
||||||
|
`-p`/`--package` selector; it walks the whole workspace in a single pass.
|
||||||
|
The `release.yml` SBOM step invoked it as `cargo cyclonedx … -p <crate>` and
|
||||||
|
aborted with `error: unexpected argument '-p' found`, which failed the
|
||||||
|
crates.io publish job *after* the crates were already published and skipped
|
||||||
|
the GitHub Release attach-assets job (no release page, no SBOM artefacts).
|
||||||
|
The step now runs a single workspace pass and collects the three crates.io
|
||||||
|
crate SBOMs. No library changes relative to 0.3.0 — this patch republishes
|
||||||
|
the same code with a working release pipeline.
|
||||||
|
|
||||||
|
## [0.3.0] - 2026-05-30
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
- **Family 15 — Risk / Performance metrics (17 new indicators).** Implemented
|
- **Family 15 — Risk / Performance metrics (17 new indicators).** Implemented
|
||||||
pragmatically as standard `Indicator`s rather than a separate
|
pragmatically as standard `Indicator`s rather than a separate
|
||||||
@@ -817,7 +832,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
optional Binance live feed.
|
optional Binance live feed.
|
||||||
- Bindings for Python, Node.js, and WebAssembly.
|
- Bindings for Python, Node.js, and WebAssembly.
|
||||||
|
|
||||||
[Unreleased]: https://github.com/wickra-lib/wickra/compare/v0.2.7...HEAD
|
[Unreleased]: https://github.com/wickra-lib/wickra/compare/v0.3.1...HEAD
|
||||||
|
[0.3.1]: https://github.com/wickra-lib/wickra/compare/v0.3.0...v0.3.1
|
||||||
|
[0.3.0]: https://github.com/wickra-lib/wickra/compare/v0.2.7...v0.3.0
|
||||||
[0.2.7]: https://github.com/wickra-lib/wickra/compare/v0.2.6...v0.2.7
|
[0.2.7]: https://github.com/wickra-lib/wickra/compare/v0.2.6...v0.2.7
|
||||||
[0.2.6]: https://github.com/wickra-lib/wickra/compare/v0.2.5...v0.2.6
|
[0.2.6]: https://github.com/wickra-lib/wickra/compare/v0.2.5...v0.2.6
|
||||||
[0.2.5]: https://github.com/wickra-lib/wickra/compare/v0.2.1...v0.2.5
|
[0.2.5]: https://github.com/wickra-lib/wickra/compare/v0.2.1...v0.2.5
|
||||||
|
|||||||
Generated
+6
-6
@@ -1867,7 +1867,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wickra"
|
name = "wickra"
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"approx",
|
"approx",
|
||||||
"criterion",
|
"criterion",
|
||||||
@@ -1878,7 +1878,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wickra-core"
|
name = "wickra-core"
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"approx",
|
"approx",
|
||||||
"proptest",
|
"proptest",
|
||||||
@@ -1888,7 +1888,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wickra-data"
|
name = "wickra-data"
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"approx",
|
"approx",
|
||||||
"csv",
|
"csv",
|
||||||
@@ -1915,7 +1915,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wickra-node"
|
name = "wickra-node"
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"napi",
|
"napi",
|
||||||
"napi-build",
|
"napi-build",
|
||||||
@@ -1925,7 +1925,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wickra-python"
|
name = "wickra-python"
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"numpy",
|
"numpy",
|
||||||
"pyo3",
|
"pyo3",
|
||||||
@@ -1934,7 +1934,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wickra-wasm"
|
name = "wickra-wasm"
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"console_error_panic_hook",
|
"console_error_panic_hook",
|
||||||
"js-sys",
|
"js-sys",
|
||||||
|
|||||||
+2
-2
@@ -12,7 +12,7 @@ members = [
|
|||||||
exclude = ["fuzz"]
|
exclude = ["fuzz"]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
authors = ["kingchenc <wickra.lib@gmail.com>"]
|
authors = ["kingchenc <wickra.lib@gmail.com>"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
rust-version = "1.86"
|
rust-version = "1.86"
|
||||||
@@ -24,7 +24,7 @@ keywords = ["finance", "trading", "indicators", "technical-analysis", "ta"]
|
|||||||
categories = ["finance", "mathematics", "science"]
|
categories = ["finance", "mathematics", "science"]
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
wickra-core = { path = "crates/wickra-core", version = "0.3.0" }
|
wickra-core = { path = "crates/wickra-core", version = "0.3.1" }
|
||||||
|
|
||||||
thiserror = "2"
|
thiserror = "2"
|
||||||
rayon = "1.10"
|
rayon = "1.10"
|
||||||
|
|||||||
-203
@@ -1,203 +0,0 @@
|
|||||||
# Roadmap
|
|
||||||
|
|
||||||
What Wickra is heading toward, what is explicitly out of scope, and what
|
|
||||||
contributors can expect across the next 0.x versions. Roadmap items are
|
|
||||||
**aspirations, not commitments** — order may shift based on real
|
|
||||||
user-feedback and bug-priority.
|
|
||||||
|
|
||||||
For "what shipped already" see [`CHANGELOG.md`](CHANGELOG.md). For the
|
|
||||||
internal structure that the roadmap items will plug into, see
|
|
||||||
[`ARCHITECTURE.md`](ARCHITECTURE.md).
|
|
||||||
|
|
||||||
## North star
|
|
||||||
|
|
||||||
> A streaming-first technical-analysis core that is the obvious default
|
|
||||||
> for anyone writing a Rust, Python, Node or browser-based trading
|
|
||||||
> system — drop-in fast, drop-in correct, drop-in tested.
|
|
||||||
|
|
||||||
Three measurable proxies for "obvious default":
|
|
||||||
|
|
||||||
1. **Coverage.** Every textbook indicator from TA-Lib, pandas-ta and
|
|
||||||
talipp is in Wickra and produces matching reference values.
|
|
||||||
2. **Performance.** Streaming `update` is the fastest published number
|
|
||||||
across Rust / Python / Node / WASM for any technical indicator.
|
|
||||||
3. **Trust.** Releases are reproducible, signed, SBOM-attached, with a
|
|
||||||
public 100% test/branch coverage badge.
|
|
||||||
|
|
||||||
## 0.3.0 — target window: Q3 2026
|
|
||||||
|
|
||||||
The first release after the org migration to `wickra-lib` lands and the
|
|
||||||
project portal at `wickra.org` is live.
|
|
||||||
|
|
||||||
### Headline goals
|
|
||||||
|
|
||||||
- **WASM has automated tests.** `wasm-bindgen-test` job in CI exercising
|
|
||||||
a representative subset (~30 indicators across all families). Today
|
|
||||||
WASM is only smoke-validated through manual examples.
|
|
||||||
- **Release-pipeline trust.** SBOM (CycloneDX) generated per release,
|
|
||||||
Sigstore cosign signatures attached to every published artifact,
|
|
||||||
npm `--provenance` flag enabled, PyPI Trusted Publishers configured.
|
|
||||||
- **Hosted documentation portal.** `wickra.org` (Cloudflare Pages,
|
|
||||||
VitePress) replaces the GitHub Wiki as the canonical doc surface.
|
|
||||||
Per-indicator deep-dives, quickstarts, FAQ, search.
|
|
||||||
- **End-to-end strategy examples.** 3 runnable examples that wire
|
|
||||||
Wickra indicators into a full mean-reversion / trend-following /
|
|
||||||
breakout strategy with PnL and equity-curve output.
|
|
||||||
- **`ARCHITECTURE.md` + `ROADMAP.md` + `CITATION.cff`** governance
|
|
||||||
baseline (this is it).
|
|
||||||
|
|
||||||
### Stretch goals (might slip to 0.4.0)
|
|
||||||
|
|
||||||
- **Per-binding hosted API reference.** TypeDoc for Node/WASM,
|
|
||||||
Sphinx for Python, both hosted on `wickra.org/api/*`. Rust stays on
|
|
||||||
`docs.rs`.
|
|
||||||
- **Property-tests (`proptest`) for mathematical invariants.** Bound
|
|
||||||
checks on RSI ∈ [0, 100], Bollinger ordering, batch-streaming
|
|
||||||
equivalence on random inputs.
|
|
||||||
- **Nightly long-fuzz workflow.** Each fuzz target gets ~1h overnight,
|
|
||||||
findings auto-converted to issues.
|
|
||||||
|
|
||||||
## 0.4.0 — target window: Q4 2026
|
|
||||||
|
|
||||||
### Indicator catalogue expansion
|
|
||||||
|
|
||||||
The current 214 indicators cover the textbook canon. The next wave is
|
|
||||||
the "stuff people actually ask for but skip because it's painful in
|
|
||||||
other libs":
|
|
||||||
|
|
||||||
- **Anchored indicators.** AnchoredVwap is already in, but anchored
|
|
||||||
variants of common indicators (AnchoredATR, AnchoredVolatility) are
|
|
||||||
on the wishlist for explicit session-based analysis.
|
|
||||||
- **Multi-timeframe (MTF) chaining helpers.** A `Mtf<Indicator>` wrapper
|
|
||||||
that runs an indicator on a different timeframe of the same input
|
|
||||||
stream — solves the most common reason people drop down to ad-hoc
|
|
||||||
buffering code.
|
|
||||||
- **Order-flow primitives** (gated on tick-data ingestion landing in
|
|
||||||
`wickra-data`): CumulativeDelta, BidAskImbalance, VolumeAtPrice.
|
|
||||||
- **Pivot-confirmation patterns.** WilliamsFractals is already in;
|
|
||||||
ZigZag is in. Next: PivotHigh/PivotLow with configurable
|
|
||||||
left/right-bar confirmation, used as a feature for higher-level
|
|
||||||
pattern detectors.
|
|
||||||
- **Harmonic-chart patterns** (Gartley, Bat, Butterfly, Crab, Shark).
|
|
||||||
These need the pivot-detector + ratio-matcher framework first; the
|
|
||||||
candlestick-pattern family from 0.2.8 is the precedent.
|
|
||||||
|
|
||||||
### Live-data layer
|
|
||||||
|
|
||||||
- **Tick-data ingestion.** Extend `wickra-data` from OHLCV-only to
|
|
||||||
also accept raw ticks; the existing `Aggregator` already aggregates
|
|
||||||
ticks into bars but isn't exposed in the public live-feed API yet.
|
|
||||||
- **Generic exchange trait.** `LiveFeed { fn subscribe(...) -> impl
|
|
||||||
Stream<Item = Candle> }` so the Binance adapter is one implementor
|
|
||||||
among many. **Note**: Wickra will not aggregate exchanges itself
|
|
||||||
(use `ccxt` if you need that) — the trait exists so user code can
|
|
||||||
swap feeds without touching indicator code.
|
|
||||||
|
|
||||||
### Performance & reliability
|
|
||||||
|
|
||||||
- **Performance-regression tracking.** `bench.yml` outputs deployed to
|
|
||||||
a `gh-pages` branch, `github-action-benchmark` plot over time,
|
|
||||||
threshold-based alerts on regression.
|
|
||||||
- **Indicator parity test suite.** Every indicator that has a TA-Lib
|
|
||||||
/ pandas-ta / talipp equivalent must pass a golden-value test
|
|
||||||
against that reference. Currently most do but the test names are
|
|
||||||
scattered — consolidate into one `parity_tests` module.
|
|
||||||
|
|
||||||
## 0.5.0 — target window: 2027 H1
|
|
||||||
|
|
||||||
### Possible new bindings
|
|
||||||
|
|
||||||
Open questions, prioritised by demand signals (≈ GitHub stars + issue
|
|
||||||
requests + community polls):
|
|
||||||
|
|
||||||
- **Java / Kotlin** binding via UniFFI — interest from Android-side
|
|
||||||
trading-app developers and the JVM-quant community.
|
|
||||||
- **Go** binding — interest from algorithmic-trading shops running on
|
|
||||||
Linux + Go infra.
|
|
||||||
- **C / C++** header export (`cbindgen`) — drops Wickra into existing
|
|
||||||
C/C++ trading stacks (e.g. older Bloomberg / FIX-protocol shops).
|
|
||||||
- **Swift** — niche but real, iOS / macOS native trading apps.
|
|
||||||
- **.NET** — closes the Windows-native gap that NAPI-Node doesn't fill
|
|
||||||
(some shops are still on .NET Framework).
|
|
||||||
|
|
||||||
None of these are committed — each is a 1-2-month project on its own,
|
|
||||||
and bindings without active maintenance are a liability. Priority will
|
|
||||||
be driven by which language community shows up with PRs.
|
|
||||||
|
|
||||||
### `wickra-data` widening
|
|
||||||
|
|
||||||
- **Historical fetch from > 1 source.** Today only Binance REST/WS.
|
|
||||||
Add Coinbase and Kraken as reference implementations — explicitly
|
|
||||||
not exchange-aggregation, just "here are two more adapters using
|
|
||||||
the trait".
|
|
||||||
|
|
||||||
## Beyond — long-term aspirations
|
|
||||||
|
|
||||||
- **`wickra-backtest` sub-crate** (decision pending). A minimal
|
|
||||||
event-driven backtester wrapping signal generation + position
|
|
||||||
sizing + fees + slippage. Decision factor: do users keep building
|
|
||||||
these ad-hoc from `examples/`? If yes, codifying it saves the
|
|
||||||
ecosystem time. If most users plug Wickra into existing backtesters
|
|
||||||
(vectorbt, backtrader, Lean, Hummingbot), keep Wickra focused.
|
|
||||||
- **`wickra-plot` companion** (low priority). `plotters`-backed Rust
|
|
||||||
rendering of indicator outputs. Mainly useful for static report
|
|
||||||
generation; live charting belongs in the JS/web layer.
|
|
||||||
- **Academic adoption.** Citable `CITATION.cff`; targeting at least
|
|
||||||
one peer-reviewed paper using Wickra as the reference indicator
|
|
||||||
engine.
|
|
||||||
|
|
||||||
## What is explicitly **not** on the roadmap
|
|
||||||
|
|
||||||
These are recurring requests that Wickra will decline so contributors
|
|
||||||
don't waste time on them:
|
|
||||||
|
|
||||||
| Feature | Why declined |
|
|
||||||
|---|---|
|
|
||||||
| Exchange aggregation across N venues | That's `ccxt`'s job. Wickra ships *one* feed implementor (Binance) for tests and demo; users plug their preferred exchange. |
|
|
||||||
| Full backtesting framework (à la Lean, vectorbt) | Scope creep. May land as `wickra-backtest` *if* a clear minimal API surfaces from user demand, but Wickra core stays an indicator library. |
|
|
||||||
| Strategy auto-tuning / hyperparameter search | Wrong abstraction layer — belongs in user-side ML/backtester. |
|
|
||||||
| Order-management / broker integration | Even further out of scope. |
|
|
||||||
| GUI / web-based studio | Marketing-site demos are fine; full IDE is not. |
|
|
||||||
| Indicator implementations that require optional Python deps (e.g. scipy KDE) | Bindings must work on a clean install. Pure-Rust math only. |
|
|
||||||
| Proprietary indicator implementations (e.g. paywalled vendor formulas) | License conflicts + audit burden. |
|
|
||||||
| GPU / CUDA acceleration | O(1) per update means the bottleneck is API overhead, not compute. SIMD-batch is a maybe; GPU adds no value for streaming. |
|
|
||||||
|
|
||||||
## How indicator wishlist requests are handled
|
|
||||||
|
|
||||||
1. **Open an issue** using the `feature_request` template, naming the
|
|
||||||
indicator, citing one of:
|
|
||||||
- TA-Lib reference
|
|
||||||
- pandas-ta reference
|
|
||||||
- peer-reviewed paper
|
|
||||||
- widely-published trading book
|
|
||||||
2. Maintainer triages within ~1 week. Acceptance criteria:
|
|
||||||
- Formula has at least one written reference (no random
|
|
||||||
YouTuber-only indicators)
|
|
||||||
- Implementation can be O(1) streaming
|
|
||||||
- Test vectors are obtainable (from reference lib, hand-computed,
|
|
||||||
or paper-provided)
|
|
||||||
3. Once accepted, the indicator gets added to the next family-batch
|
|
||||||
PR. Family-batches typically ship 5-20 indicators at a time.
|
|
||||||
|
|
||||||
## Versioning
|
|
||||||
|
|
||||||
Wickra follows [SemVer](https://semver.org/). The promise:
|
|
||||||
|
|
||||||
- **0.x.0 (minor):** new indicators, new bindings, new optional features,
|
|
||||||
new optional config knobs. Adding methods to `Indicator` with default
|
|
||||||
impls is minor.
|
|
||||||
- **0.x.y (patch):** bug fixes, performance improvements, doc fixes.
|
|
||||||
- **Major (1.0.0 and later):** changes to the `Indicator` trait
|
|
||||||
signature, removal of indicators, breaking changes to `Candle` /
|
|
||||||
`OHLCV` field order.
|
|
||||||
|
|
||||||
The 1.0 milestone is reserved for when the indicator catalogue is
|
|
||||||
considered "stable enough" and the bindings API has stabilised — likely
|
|
||||||
~2027 once 2-3 more bindings have shipped and stress-tested the trait.
|
|
||||||
|
|
||||||
## Discussion
|
|
||||||
|
|
||||||
For roadmap discussion, open a [Discussions](https://github.com/wickra-lib/wickra/discussions)
|
|
||||||
thread tagged `roadmap`. Specific indicator wishlist items go in
|
|
||||||
[Issues](https://github.com/wickra-lib/wickra/issues) via the
|
|
||||||
`feature_request` template.
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "wickra-darwin-arm64",
|
"name": "wickra-darwin-arm64",
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"description": "Native binding for wickra (macOS Apple Silicon). Installed automatically as an optional dependency of wickra on matching platforms.",
|
"description": "Native binding for wickra (macOS Apple Silicon). Installed automatically as an optional dependency of wickra on matching platforms.",
|
||||||
"main": "wickra.darwin-arm64.node",
|
"main": "wickra.darwin-arm64.node",
|
||||||
"files": [
|
"files": [
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "wickra-darwin-x64",
|
"name": "wickra-darwin-x64",
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"description": "Native binding for wickra (macOS Intel). Installed automatically as an optional dependency of wickra on matching platforms.",
|
"description": "Native binding for wickra (macOS Intel). Installed automatically as an optional dependency of wickra on matching platforms.",
|
||||||
"main": "wickra.darwin-x64.node",
|
"main": "wickra.darwin-x64.node",
|
||||||
"files": [
|
"files": [
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "wickra-linux-arm64-gnu",
|
"name": "wickra-linux-arm64-gnu",
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"description": "Native binding for wickra (linux arm64 GNU). Installed automatically as an optional dependency of wickra on matching platforms.",
|
"description": "Native binding for wickra (linux arm64 GNU). Installed automatically as an optional dependency of wickra on matching platforms.",
|
||||||
"main": "wickra.linux-arm64-gnu.node",
|
"main": "wickra.linux-arm64-gnu.node",
|
||||||
"files": [
|
"files": [
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "wickra-linux-x64-gnu",
|
"name": "wickra-linux-x64-gnu",
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"description": "Native binding for wickra (linux x64 GNU). Installed automatically as an optional dependency of wickra on matching platforms.",
|
"description": "Native binding for wickra (linux x64 GNU). Installed automatically as an optional dependency of wickra on matching platforms.",
|
||||||
"main": "wickra.linux-x64-gnu.node",
|
"main": "wickra.linux-x64-gnu.node",
|
||||||
"files": [
|
"files": [
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "wickra-win32-arm64-msvc",
|
"name": "wickra-win32-arm64-msvc",
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"description": "Native binding for wickra (Windows arm64 MSVC). Installed automatically as an optional dependency of wickra on matching platforms.",
|
"description": "Native binding for wickra (Windows arm64 MSVC). Installed automatically as an optional dependency of wickra on matching platforms.",
|
||||||
"main": "wickra.win32-arm64-msvc.node",
|
"main": "wickra.win32-arm64-msvc.node",
|
||||||
"files": [
|
"files": [
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "wickra-win32-x64-msvc",
|
"name": "wickra-win32-x64-msvc",
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"description": "Native binding for wickra (Windows x64 MSVC). Installed automatically as an optional dependency of wickra on matching platforms.",
|
"description": "Native binding for wickra (Windows x64 MSVC). Installed automatically as an optional dependency of wickra on matching platforms.",
|
||||||
"main": "wickra.win32-x64-msvc.node",
|
"main": "wickra.win32-x64-msvc.node",
|
||||||
"files": [
|
"files": [
|
||||||
|
|||||||
Generated
+20
-20
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "wickra",
|
"name": "wickra",
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "wickra",
|
"name": "wickra",
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"license": "PolyForm-Noncommercial-1.0.0",
|
"license": "PolyForm-Noncommercial-1.0.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@napi-rs/cli": "^2.18.0"
|
"@napi-rs/cli": "^2.18.0"
|
||||||
@@ -15,12 +15,12 @@
|
|||||||
"node": ">= 18"
|
"node": ">= 18"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"wickra-darwin-arm64": "0.3.0",
|
"wickra-darwin-arm64": "0.3.1",
|
||||||
"wickra-darwin-x64": "0.3.0",
|
"wickra-darwin-x64": "0.3.1",
|
||||||
"wickra-linux-arm64-gnu": "0.3.0",
|
"wickra-linux-arm64-gnu": "0.3.1",
|
||||||
"wickra-linux-x64-gnu": "0.3.0",
|
"wickra-linux-x64-gnu": "0.3.1",
|
||||||
"wickra-win32-arm64-msvc": "0.3.0",
|
"wickra-win32-arm64-msvc": "0.3.1",
|
||||||
"wickra-win32-x64-msvc": "0.3.0"
|
"wickra-win32-x64-msvc": "0.3.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@napi-rs/cli": {
|
"node_modules/@napi-rs/cli": {
|
||||||
@@ -41,8 +41,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/wickra-darwin-arm64": {
|
"node_modules/wickra-darwin-arm64": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/wickra-darwin-arm64/-/wickra-darwin-arm64-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/wickra-darwin-arm64/-/wickra-darwin-arm64-0.3.1.tgz",
|
||||||
"integrity": "sha512-4eZiBR/yGUdr4nzhEUFy2i69XgNx64iI2ax/LPamsThgylC0KpHOZKK19QzJ2d9KbK4C8nMjME5FLuR+4GNEwQ==",
|
"integrity": "sha512-4eZiBR/yGUdr4nzhEUFy2i69XgNx64iI2ax/LPamsThgylC0KpHOZKK19QzJ2d9KbK4C8nMjME5FLuR+4GNEwQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
@@ -57,8 +57,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/wickra-darwin-x64": {
|
"node_modules/wickra-darwin-x64": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/wickra-darwin-x64/-/wickra-darwin-x64-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/wickra-darwin-x64/-/wickra-darwin-x64-0.3.1.tgz",
|
||||||
"integrity": "sha512-6hf8zI3QPjTFp4zCpmgUwDvNtu6jHqNUHKD5e55POo0CgA52HkpyxSPtVm8TGTIZDI7kPjlbOdBM8CJ76mmXwA==",
|
"integrity": "sha512-6hf8zI3QPjTFp4zCpmgUwDvNtu6jHqNUHKD5e55POo0CgA52HkpyxSPtVm8TGTIZDI7kPjlbOdBM8CJ76mmXwA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
@@ -73,8 +73,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/wickra-linux-arm64-gnu": {
|
"node_modules/wickra-linux-arm64-gnu": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/wickra-linux-arm64-gnu/-/wickra-linux-arm64-gnu-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/wickra-linux-arm64-gnu/-/wickra-linux-arm64-gnu-0.3.1.tgz",
|
||||||
"integrity": "sha512-kSe6y0xBMSiqdPLXNjwop5WZdHtvdBNKSEBCwZ4hFq33p4apW25/wrlzv9/oDuyD4kuPabJEhCCnFOplh58CUg==",
|
"integrity": "sha512-kSe6y0xBMSiqdPLXNjwop5WZdHtvdBNKSEBCwZ4hFq33p4apW25/wrlzv9/oDuyD4kuPabJEhCCnFOplh58CUg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
@@ -89,8 +89,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/wickra-linux-x64-gnu": {
|
"node_modules/wickra-linux-x64-gnu": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/wickra-linux-x64-gnu/-/wickra-linux-x64-gnu-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/wickra-linux-x64-gnu/-/wickra-linux-x64-gnu-0.3.1.tgz",
|
||||||
"integrity": "sha512-tWBWS4qz7hxM4xnpFb59bhf6TaLwXq0Z3jEa/2l7r8PiHA94g8r8S53NRMiT+4yiL5hSWe/nUiC/YXdRrhEZ4g==",
|
"integrity": "sha512-tWBWS4qz7hxM4xnpFb59bhf6TaLwXq0Z3jEa/2l7r8PiHA94g8r8S53NRMiT+4yiL5hSWe/nUiC/YXdRrhEZ4g==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
@@ -105,8 +105,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/wickra-win32-arm64-msvc": {
|
"node_modules/wickra-win32-arm64-msvc": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/wickra-win32-arm64-msvc/-/wickra-win32-arm64-msvc-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/wickra-win32-arm64-msvc/-/wickra-win32-arm64-msvc-0.3.1.tgz",
|
||||||
"integrity": "sha512-EXIckHxAtF75PUGDKRzXyqMe9ldP0JjSdu68WFN6iJfp+McYrGu6h40TEJlQ/oUEIoPqiZB/xhVyo/el5Lg7zw==",
|
"integrity": "sha512-EXIckHxAtF75PUGDKRzXyqMe9ldP0JjSdu68WFN6iJfp+McYrGu6h40TEJlQ/oUEIoPqiZB/xhVyo/el5Lg7zw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
@@ -121,8 +121,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/wickra-win32-x64-msvc": {
|
"node_modules/wickra-win32-x64-msvc": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/wickra-win32-x64-msvc/-/wickra-win32-x64-msvc-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/wickra-win32-x64-msvc/-/wickra-win32-x64-msvc-0.3.1.tgz",
|
||||||
"integrity": "sha512-Yfsqq1Xwp6hdxMyLze411vNdo7BDwI6+lPSe7A9XdqyPecNDbtKwYLpsal2r8EHbNzqM+R8XnuRtUaEQS5VlUQ==",
|
"integrity": "sha512-Yfsqq1Xwp6hdxMyLze411vNdo7BDwI6+lPSe7A9XdqyPecNDbtKwYLpsal2r8EHbNzqM+R8XnuRtUaEQS5VlUQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "wickra",
|
"name": "wickra",
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"description": "Streaming-first technical indicators: incremental, fast, install-free. Node bindings powered by Rust.",
|
"description": "Streaming-first technical indicators: incremental, fast, install-free. Node bindings powered by Rust.",
|
||||||
"author": "kingchenc <wickra.lib@gmail.com>",
|
"author": "kingchenc <wickra.lib@gmail.com>",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
@@ -47,12 +47,12 @@
|
|||||||
"node": ">= 18"
|
"node": ">= 18"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"wickra-linux-x64-gnu": "0.3.0",
|
"wickra-linux-x64-gnu": "0.3.1",
|
||||||
"wickra-linux-arm64-gnu": "0.3.0",
|
"wickra-linux-arm64-gnu": "0.3.1",
|
||||||
"wickra-darwin-x64": "0.3.0",
|
"wickra-darwin-x64": "0.3.1",
|
||||||
"wickra-darwin-arm64": "0.3.0",
|
"wickra-darwin-arm64": "0.3.1",
|
||||||
"wickra-win32-x64-msvc": "0.3.0",
|
"wickra-win32-x64-msvc": "0.3.1",
|
||||||
"wickra-win32-arm64-msvc": "0.3.0"
|
"wickra-win32-arm64-msvc": "0.3.1"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "napi build --platform --release",
|
"build": "napi build --platform --release",
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ build-backend = "maturin"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "wickra"
|
name = "wickra"
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
description = "Streaming-first technical indicators: incremental, fast, install-free."
|
description = "Streaming-first technical indicators: incremental, fast, install-free."
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
license = { text = "PolyForm-Noncommercial-1.0.0" }
|
license = { text = "PolyForm-Noncommercial-1.0.0" }
|
||||||
|
|||||||
Generated
+64
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"name": "wickra-examples-node",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"lockfileVersion": 3,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"name": "wickra-examples-node",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"license": "SEE LICENSE IN ../../LICENSE",
|
||||||
|
"dependencies": {
|
||||||
|
"wickra": "file:../../bindings/node"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"ws": "^8.18.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"../../bindings/node": {
|
||||||
|
"name": "wickra",
|
||||||
|
"version": "0.1.4",
|
||||||
|
"license": "SEE LICENSE IN LICENSE",
|
||||||
|
"devDependencies": {
|
||||||
|
"@napi-rs/cli": "^2.18.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 16"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"wickra-darwin-arm64": "0.1.4",
|
||||||
|
"wickra-darwin-x64": "0.1.4",
|
||||||
|
"wickra-linux-arm64-gnu": "0.1.4",
|
||||||
|
"wickra-linux-x64-gnu": "0.1.4",
|
||||||
|
"wickra-win32-arm64-msvc": "0.1.4",
|
||||||
|
"wickra-win32-x64-msvc": "0.1.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/wickra": {
|
||||||
|
"resolved": "../../bindings/node",
|
||||||
|
"link": true
|
||||||
|
},
|
||||||
|
"node_modules/ws": {
|
||||||
|
"version": "8.21.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
|
||||||
|
"integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.0.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"bufferutil": "^4.0.1",
|
||||||
|
"utf-8-validate": ">=5.0.2"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"bufferutil": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"utf-8-validate": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user