Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4d04ab8227 | |||
| 7d4ca8c572 | |||
| d31e127ae2 | |||
| ffc80754d8 | |||
| f2b92f89ee | |||
| 350230cd07 | |||
| 71df1798b8 | |||
| 6a86660e30 | |||
| 45c11da4fc |
@@ -23,7 +23,7 @@ runs:
|
|||||||
using: composite
|
using: composite
|
||||||
steps:
|
steps:
|
||||||
- id: first
|
- id: first
|
||||||
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable branch, 2026-03-27
|
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # zizmor: ignore[impostor-commit] pinned to the stable-tag SHA (2026-03-27); tag-pinned, not a branch commit
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
with:
|
with:
|
||||||
toolchain: ${{ inputs.toolchain }}
|
toolchain: ${{ inputs.toolchain }}
|
||||||
@@ -39,7 +39,7 @@ runs:
|
|||||||
|
|
||||||
- name: Retry the Rust toolchain install
|
- name: Retry the Rust toolchain install
|
||||||
if: steps.first.outcome == 'failure'
|
if: steps.first.outcome == 'failure'
|
||||||
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable branch, 2026-03-27
|
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # zizmor: ignore[impostor-commit] pinned to the stable-tag SHA (2026-03-27); tag-pinned, not a branch commit
|
||||||
with:
|
with:
|
||||||
toolchain: ${{ inputs.toolchain }}
|
toolchain: ${{ inputs.toolchain }}
|
||||||
components: ${{ inputs.components }}
|
components: ${{ inputs.components }}
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ jobs:
|
|||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
id: setup_python
|
id: setup_python
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
||||||
with:
|
with:
|
||||||
python-version: "3.11"
|
python-version: "3.11"
|
||||||
cache: pip
|
cache: pip
|
||||||
@@ -76,7 +76,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Set up Python (retry)
|
- name: Set up Python (retry)
|
||||||
if: steps.setup_python.outcome == 'failure'
|
if: steps.setup_python.outcome == 'failure'
|
||||||
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
||||||
with:
|
with:
|
||||||
python-version: "3.11"
|
python-version: "3.11"
|
||||||
cache: pip
|
cache: pip
|
||||||
|
|||||||
+17
-17
@@ -134,7 +134,7 @@ jobs:
|
|||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
id: setup_python
|
id: setup_python
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
||||||
with:
|
with:
|
||||||
python-version: "3.12"
|
python-version: "3.12"
|
||||||
|
|
||||||
@@ -147,7 +147,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Set up Python (retry)
|
- name: Set up Python (retry)
|
||||||
if: steps.setup_python.outcome == 'failure'
|
if: steps.setup_python.outcome == 'failure'
|
||||||
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
||||||
with:
|
with:
|
||||||
python-version: "3.12"
|
python-version: "3.12"
|
||||||
|
|
||||||
@@ -209,7 +209,7 @@ jobs:
|
|||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
id: setup_python
|
id: setup_python
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
||||||
with:
|
with:
|
||||||
python-version: "3.12"
|
python-version: "3.12"
|
||||||
|
|
||||||
@@ -222,7 +222,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Set up Python (retry)
|
- name: Set up Python (retry)
|
||||||
if: steps.setup_python.outcome == 'failure'
|
if: steps.setup_python.outcome == 'failure'
|
||||||
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
||||||
with:
|
with:
|
||||||
python-version: "3.12"
|
python-version: "3.12"
|
||||||
|
|
||||||
@@ -345,7 +345,7 @@ jobs:
|
|||||||
timeout-minutes: 6
|
timeout-minutes: 6
|
||||||
|
|
||||||
- name: Install cargo-llvm-cov
|
- name: Install cargo-llvm-cov
|
||||||
uses: taiki-e/install-action@8b3c737da4b541bf0fb5a3e0488ff20535badac9 # v2.82.1
|
uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
|
||||||
timeout-minutes: 10 # fail fast on a stuck download instead of hanging the job
|
timeout-minutes: 10 # fail fast on a stuck download instead of hanging the job
|
||||||
with:
|
with:
|
||||||
tool: cargo-llvm-cov
|
tool: cargo-llvm-cov
|
||||||
@@ -415,7 +415,7 @@ jobs:
|
|||||||
# attributes the modern nightly compiler rejects, so the install
|
# attributes the modern nightly compiler rejects, so the install
|
||||||
# never gets off the ground. The prebuilt binary avoids the entire
|
# never gets off the ground. The prebuilt binary avoids the entire
|
||||||
# transitive-dep compile.
|
# transitive-dep compile.
|
||||||
uses: taiki-e/install-action@8b3c737da4b541bf0fb5a3e0488ff20535badac9 # v2.82.1
|
uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
|
||||||
timeout-minutes: 10 # fail fast on a stuck download instead of hanging the job
|
timeout-minutes: 10 # fail fast on a stuck download instead of hanging the job
|
||||||
with:
|
with:
|
||||||
tool: cargo-fuzz
|
tool: cargo-fuzz
|
||||||
@@ -470,7 +470,7 @@ jobs:
|
|||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
id: setup_python
|
id: setup_python
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
cache: pip
|
cache: pip
|
||||||
@@ -485,7 +485,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Set up Python (retry)
|
- name: Set up Python (retry)
|
||||||
if: steps.setup_python.outcome == 'failure'
|
if: steps.setup_python.outcome == 'failure'
|
||||||
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
cache: pip
|
cache: pip
|
||||||
@@ -549,7 +549,7 @@ jobs:
|
|||||||
# same taiki-e prebuilt-binary installer we already use for
|
# same taiki-e prebuilt-binary installer we already use for
|
||||||
# cargo-llvm-cov and cargo-fuzz; it tracks the latest wasm-pack
|
# cargo-llvm-cov and cargo-fuzz; it tracks the latest wasm-pack
|
||||||
# release, which has `--features` as a top-level flag (since 0.12).
|
# release, which has `--features` as a top-level flag (since 0.12).
|
||||||
uses: taiki-e/install-action@8b3c737da4b541bf0fb5a3e0488ff20535badac9 # v2.82.1
|
uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
|
||||||
timeout-minutes: 10 # fail fast on a stuck download instead of hanging the job
|
timeout-minutes: 10 # fail fast on a stuck download instead of hanging the job
|
||||||
with:
|
with:
|
||||||
tool: wasm-pack
|
tool: wasm-pack
|
||||||
@@ -676,7 +676,7 @@ jobs:
|
|||||||
timeout-minutes: 6
|
timeout-minutes: 6
|
||||||
|
|
||||||
- name: Install cbindgen
|
- name: Install cbindgen
|
||||||
uses: taiki-e/install-action@8b3c737da4b541bf0fb5a3e0488ff20535badac9 # v2.82.1
|
uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
|
||||||
timeout-minutes: 10 # fail fast on a stuck download instead of hanging the job
|
timeout-minutes: 10 # fail fast on a stuck download instead of hanging the job
|
||||||
with:
|
with:
|
||||||
tool: cbindgen
|
tool: cbindgen
|
||||||
@@ -735,7 +735,7 @@ jobs:
|
|||||||
# local store instead of hitting nuget.org every run. No packages.lock.json
|
# local store instead of hitting nuget.org every run. No packages.lock.json
|
||||||
# exists, so key on the project files; never block the job on a slow restore.
|
# exists, so key on the project files; never block the job on a slow restore.
|
||||||
- name: Cache NuGet packages
|
- name: Cache NuGet packages
|
||||||
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
timeout-minutes: 6
|
timeout-minutes: 6
|
||||||
with:
|
with:
|
||||||
@@ -802,7 +802,7 @@ jobs:
|
|||||||
- name: Set up Go
|
- name: Set up Go
|
||||||
id: setup-go
|
id: setup-go
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
|
uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0
|
||||||
with:
|
with:
|
||||||
go-version: "stable"
|
go-version: "stable"
|
||||||
cache: false
|
cache: false
|
||||||
@@ -816,7 +816,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Set up Go (retry)
|
- name: Set up Go (retry)
|
||||||
if: steps.setup-go.outcome == 'failure'
|
if: steps.setup-go.outcome == 'failure'
|
||||||
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
|
uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0
|
||||||
with:
|
with:
|
||||||
go-version: "stable"
|
go-version: "stable"
|
||||||
cache: false
|
cache: false
|
||||||
@@ -937,7 +937,7 @@ jobs:
|
|||||||
run: cargo build -p wickra-c --release
|
run: cargo build -p wickra-c --release
|
||||||
|
|
||||||
- name: Set up R
|
- name: Set up R
|
||||||
uses: r-lib/actions/setup-r@a51a8012b0aab7c32ef9d19bf54da93f3254335e # v2
|
uses: r-lib/actions/setup-r@d3c5be51b12e724e68f33216ca3c148b66d5f0b6 # v2
|
||||||
with:
|
with:
|
||||||
r-version: "release"
|
r-version: "release"
|
||||||
use-public-rspm: true
|
use-public-rspm: true
|
||||||
@@ -947,7 +947,7 @@ jobs:
|
|||||||
# compiling testthat / knitr and their deps from source — the slow, flaky
|
# compiling testthat / knitr and their deps from source — the slow, flaky
|
||||||
# path that previously blew past the job timeout on the ubuntu runner.
|
# path that previously blew past the job timeout on the ubuntu runner.
|
||||||
- name: Install R dependencies (cached binaries)
|
- name: Install R dependencies (cached binaries)
|
||||||
uses: r-lib/actions/setup-r-dependencies@a51a8012b0aab7c32ef9d19bf54da93f3254335e # v2
|
uses: r-lib/actions/setup-r-dependencies@d3c5be51b12e724e68f33216ca3c148b66d5f0b6 # v2
|
||||||
with:
|
with:
|
||||||
working-directory: bindings/r
|
working-directory: bindings/r
|
||||||
extra-packages: |
|
extra-packages: |
|
||||||
@@ -1052,7 +1052,7 @@ jobs:
|
|||||||
- name: Set up JDK 25
|
- name: Set up JDK 25
|
||||||
id: setup-java
|
id: setup-java
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/setup-java@ad2b38190b15e4d6bdf0c97fb4fca8412226d287 # v5.3.0
|
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0
|
||||||
with:
|
with:
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
java-version: "25"
|
java-version: "25"
|
||||||
@@ -1067,7 +1067,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Set up JDK 25 (retry)
|
- name: Set up JDK 25 (retry)
|
||||||
if: steps.setup-java.outcome == 'failure'
|
if: steps.setup-java.outcome == 'failure'
|
||||||
uses: actions/setup-java@ad2b38190b15e4d6bdf0c97fb4fca8412226d287 # v5.3.0
|
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0
|
||||||
with:
|
with:
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
java-version: "25"
|
java-version: "25"
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ jobs:
|
|||||||
# consumers can audit the published dependency tree without
|
# consumers can audit the published dependency tree without
|
||||||
# re-resolving Cargo.lock.
|
# re-resolving Cargo.lock.
|
||||||
- name: Install cargo-cyclonedx
|
- name: Install cargo-cyclonedx
|
||||||
uses: taiki-e/install-action@8b3c737da4b541bf0fb5a3e0488ff20535badac9 # v2.82.1
|
uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
|
||||||
timeout-minutes: 10 # fail fast on a stuck download instead of hanging the job
|
timeout-minutes: 10 # fail fast on a stuck download instead of hanging the job
|
||||||
with:
|
with:
|
||||||
tool: cargo-cyclonedx
|
tool: cargo-cyclonedx
|
||||||
@@ -165,7 +165,7 @@ jobs:
|
|||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
id: setup_python
|
id: setup_python
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
||||||
with:
|
with:
|
||||||
python-version: "3.11"
|
python-version: "3.11"
|
||||||
- name: Wait before Python retry
|
- name: Wait before Python retry
|
||||||
@@ -176,7 +176,7 @@ jobs:
|
|||||||
sleep 30
|
sleep 30
|
||||||
- name: Set up Python (retry)
|
- name: Set up Python (retry)
|
||||||
if: steps.setup_python.outcome == 'failure'
|
if: steps.setup_python.outcome == 'failure'
|
||||||
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
||||||
with:
|
with:
|
||||||
python-version: "3.11"
|
python-version: "3.11"
|
||||||
- name: Sync root README into bindings/python so it ships with the wheel
|
- name: Sync root README into bindings/python so it ships with the wheel
|
||||||
@@ -548,7 +548,7 @@ jobs:
|
|||||||
- name: Install wasm-pack (latest, via prebuilt binary)
|
- name: Install wasm-pack (latest, via prebuilt binary)
|
||||||
# See the matching note in ci.yml: jetli's default installs an old
|
# See the matching note in ci.yml: jetli's default installs an old
|
||||||
# 0.10.x wasm-pack whose build subcommand rejects --features.
|
# 0.10.x wasm-pack whose build subcommand rejects --features.
|
||||||
uses: taiki-e/install-action@8b3c737da4b541bf0fb5a3e0488ff20535badac9 # v2.82.1
|
uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
|
||||||
timeout-minutes: 10 # fail fast on a stuck download instead of hanging the job
|
timeout-minutes: 10 # fail fast on a stuck download instead of hanging the job
|
||||||
with:
|
with:
|
||||||
tool: wasm-pack
|
tool: wasm-pack
|
||||||
@@ -804,7 +804,7 @@ jobs:
|
|||||||
# setup-java writes a settings.xml with the 'central' server credentials
|
# setup-java writes a settings.xml with the 'central' server credentials
|
||||||
# (mapped from the env vars below) and imports the GPG signing key.
|
# (mapped from the env vars below) and imports the GPG signing key.
|
||||||
- name: Set up JDK 25 + Maven Central credentials + GPG
|
- name: Set up JDK 25 + Maven Central credentials + GPG
|
||||||
uses: actions/setup-java@ad2b38190b15e4d6bdf0c97fb4fca8412226d287 # v5.3.0
|
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0
|
||||||
with:
|
with:
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
java-version: "25"
|
java-version: "25"
|
||||||
@@ -1076,7 +1076,7 @@ jobs:
|
|||||||
merge-multiple: true
|
merge-multiple: true
|
||||||
- name: Attest build provenance
|
- name: Attest build provenance
|
||||||
id: attest
|
id: attest
|
||||||
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
|
uses: actions/attest-build-provenance@0f67c3f4856b2e3261c31976d6725780e5e4c373 # v4.1.1
|
||||||
with:
|
with:
|
||||||
subject-path: |
|
subject-path: |
|
||||||
artifacts/crates/*.crate
|
artifacts/crates/*.crate
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ jobs:
|
|||||||
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
||||||
with:
|
with:
|
||||||
python-version: "3.12"
|
python-version: "3.12"
|
||||||
- name: Audit repo-metadata.toml drift
|
- name: Audit repo-metadata.toml drift
|
||||||
|
|||||||
@@ -37,4 +37,4 @@ jobs:
|
|||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
- name: Run zizmor
|
- name: Run zizmor
|
||||||
uses: zizmorcore/zizmor-action@5f14fd08f7cf1cb1609c1e344975f152c7ee938d # v0.5.6
|
uses: zizmorcore/zizmor-action@192e21d79ab29983730a13d1382995c2307fbcaa # v0.5.7
|
||||||
|
|||||||
+9
-1
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [0.9.9] - 2026-06-28
|
||||||
|
|
||||||
|
Maintenance release. No library or binding code changes from `0.9.8`; this
|
||||||
|
re-release simply runs through the corrected release workflow (the `0.9.8` npm
|
||||||
|
publish required a hotfix to the napi-rs 3 `napi artifacts` invocation, now in
|
||||||
|
place), so the published `0.9.9` artifacts are byte-identical to `0.9.8`.
|
||||||
|
|
||||||
## [0.9.8] - 2026-06-28
|
## [0.9.8] - 2026-06-28
|
||||||
|
|
||||||
Maintenance release. The library API and every indicator are unchanged from
|
Maintenance release. The library API and every indicator are unchanged from
|
||||||
@@ -1915,7 +1922,8 @@ public API changes.
|
|||||||
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.9.8...HEAD
|
[Unreleased]: https://github.com/wickra-lib/wickra/compare/v0.9.9...HEAD
|
||||||
|
[0.9.9]: https://github.com/wickra-lib/wickra/compare/v0.9.8...v0.9.9
|
||||||
[0.9.8]: https://github.com/wickra-lib/wickra/compare/v0.9.7...v0.9.8
|
[0.9.8]: https://github.com/wickra-lib/wickra/compare/v0.9.7...v0.9.8
|
||||||
[0.9.7]: https://github.com/wickra-lib/wickra/compare/v0.9.6...v0.9.7
|
[0.9.7]: https://github.com/wickra-lib/wickra/compare/v0.9.6...v0.9.7
|
||||||
[0.9.6]: https://github.com/wickra-lib/wickra/compare/v0.9.5...v0.9.6
|
[0.9.6]: https://github.com/wickra-lib/wickra/compare/v0.9.5...v0.9.6
|
||||||
|
|||||||
Generated
+11
-11
@@ -277,9 +277,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "crossbeam-epoch"
|
name = "crossbeam-epoch"
|
||||||
version = "0.9.18"
|
version = "0.9.20"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
|
checksum = "2d6914041f254d6e9176c01941b21115dcfb7089e55135a35411081bd106ef3f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crossbeam-utils",
|
"crossbeam-utils",
|
||||||
]
|
]
|
||||||
@@ -1838,7 +1838,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wickra"
|
name = "wickra"
|
||||||
version = "0.9.8"
|
version = "0.9.9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"approx",
|
"approx",
|
||||||
"criterion",
|
"criterion",
|
||||||
@@ -1849,7 +1849,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wickra-bench"
|
name = "wickra-bench"
|
||||||
version = "0.9.8"
|
version = "0.9.9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"criterion",
|
"criterion",
|
||||||
"kand",
|
"kand",
|
||||||
@@ -1861,7 +1861,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wickra-c"
|
name = "wickra-c"
|
||||||
version = "0.9.8"
|
version = "0.9.9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"tokio",
|
"tokio",
|
||||||
"wickra-core",
|
"wickra-core",
|
||||||
@@ -1870,7 +1870,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wickra-core"
|
name = "wickra-core"
|
||||||
version = "0.9.8"
|
version = "0.9.9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"approx",
|
"approx",
|
||||||
"proptest",
|
"proptest",
|
||||||
@@ -1880,7 +1880,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wickra-data"
|
name = "wickra-data"
|
||||||
version = "0.9.8"
|
version = "0.9.9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"approx",
|
"approx",
|
||||||
"csv",
|
"csv",
|
||||||
@@ -1899,7 +1899,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wickra-examples"
|
name = "wickra-examples"
|
||||||
version = "0.9.8"
|
version = "0.9.9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"tokio",
|
"tokio",
|
||||||
@@ -1909,7 +1909,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wickra-node"
|
name = "wickra-node"
|
||||||
version = "0.9.8"
|
version = "0.9.9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"napi",
|
"napi",
|
||||||
"napi-build",
|
"napi-build",
|
||||||
@@ -1921,7 +1921,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wickra-python"
|
name = "wickra-python"
|
||||||
version = "0.9.8"
|
version = "0.9.9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytemuck",
|
"bytemuck",
|
||||||
"pyo3",
|
"pyo3",
|
||||||
@@ -1932,7 +1932,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wickra-wasm"
|
name = "wickra-wasm"
|
||||||
version = "0.9.8"
|
version = "0.9.9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"console_error_panic_hook",
|
"console_error_panic_hook",
|
||||||
"js-sys",
|
"js-sys",
|
||||||
|
|||||||
+3
-3
@@ -14,7 +14,7 @@ members = [
|
|||||||
exclude = ["fuzz"]
|
exclude = ["fuzz"]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.9.8"
|
version = "0.9.9"
|
||||||
authors = ["kingchenc <support@wickra.org>"]
|
authors = ["kingchenc <support@wickra.org>"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
rust-version = "1.86"
|
rust-version = "1.86"
|
||||||
@@ -26,8 +26,8 @@ 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.9.8" }
|
wickra-core = { path = "crates/wickra-core", version = "0.9.9" }
|
||||||
wickra-data = { path = "crates/wickra-data", version = "0.9.8" }
|
wickra-data = { path = "crates/wickra-data", version = "0.9.9" }
|
||||||
|
|
||||||
thiserror = "2"
|
thiserror = "2"
|
||||||
rayon = "1.10"
|
rayon = "1.10"
|
||||||
|
|||||||
@@ -27,6 +27,8 @@
|
|||||||
|
|
||||||
> **▶ Live demo:** all 514 indicators over real Binance market data, computed live in your browser — **[live.wickra.org](https://live.wickra.org)** · zero backend, powered by `wickra-wasm`.
|
> **▶ Live demo:** all 514 indicators over real Binance market data, computed live in your browser — **[live.wickra.org](https://live.wickra.org)** · zero backend, powered by `wickra-wasm`.
|
||||||
|
|
||||||
|
**Part of the [Wickra ecosystem](#ecosystem):** the same data-driven core and ten-language binding surface also power [wickra-exchange](https://github.com/wickra-lib/wickra-exchange), [wickra-backtest](https://github.com/wickra-lib/wickra-backtest), [wickra-terminal](https://github.com/wickra-lib/wickra-terminal), [wickra-screener](https://github.com/wickra-lib/wickra-screener), [wickra-xray](https://github.com/wickra-lib/wickra-xray), [wickra-radar](https://github.com/wickra-lib/wickra-radar), [wickra-copilot](https://github.com/wickra-lib/wickra-copilot) and [wickra-shazam](https://github.com/wickra-lib/wickra-shazam).
|
||||||
|
|
||||||
Wickra is a multi-language technical-analysis library with a Rust core and
|
Wickra is a multi-language technical-analysis library with a Rust core and
|
||||||
native bindings for Python, Node.js and WASM, plus a C ABI that C, C++,
|
native bindings for Python, Node.js and WASM, plus a C ABI that C, C++,
|
||||||
C#, Go, Java, R and any other C-capable language links against. Every indicator is a
|
C#, Go, Java, R and any other C-capable language links against. Every indicator is a
|
||||||
@@ -440,6 +442,22 @@ order-book, trade, profile, alt-chart bars, footprint). This catches FFI wiring
|
|||||||
bugs the math-only core tests cannot see — it has already found and fixed real
|
bugs the math-only core tests cannot see — it has already found and fixed real
|
||||||
cross-language marshalling bugs in the Java and R bindings.
|
cross-language marshalling bugs in the Java and R bindings.
|
||||||
|
|
||||||
|
## Ecosystem
|
||||||
|
|
||||||
|
Wickra is the core library. The same data-driven core + ten-language binding
|
||||||
|
pattern powers a family of products built on it:
|
||||||
|
|
||||||
|
- [**wickra-exchange**](https://github.com/wickra-lib/wickra-exchange) — unified market-data + execution across ten crypto exchanges
|
||||||
|
- [**wickra-backtest**](https://github.com/wickra-lib/wickra-backtest) — event-driven backtester over the Wickra core
|
||||||
|
- [**wickra-terminal**](https://github.com/wickra-lib/wickra-terminal) — the trading terminal: a TUI and a browser renderer over the stack
|
||||||
|
- [**wickra-screener**](https://github.com/wickra-lib/wickra-screener) — parallel multi-symbol screening over 514 streaming indicators
|
||||||
|
- [**wickra-xray**](https://github.com/wickra-lib/wickra-xray) — market-microstructure explorer: footprint, order-book heatmap, liquidation map, funding/OI divergence
|
||||||
|
- [**wickra-radar**](https://github.com/wickra-lib/wickra-radar) — perp-universe alert radar: OI delta, funding flip, book imbalance, liquidation clusters, OI/price divergence
|
||||||
|
- [**wickra-copilot**](https://github.com/wickra-lib/wickra-copilot) — local market copilot grounded in real order-book, liquidation and funding microstructure
|
||||||
|
- [**wickra-shazam**](https://github.com/wickra-lib/wickra-shazam) — match an asset's current microstructure fingerprint against its entire history
|
||||||
|
|
||||||
|
Docs live at [docs.wickra.org](https://docs.wickra.org) ([wickra-docs](https://github.com/wickra-lib/wickra-docs)); the marketing site and in-browser demo at [wickra.org](https://wickra.org) ([webpage](https://github.com/wickra-lib/webpage)).
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Contributions are very welcome — issues, bug reports, ideas, and pull requests
|
Contributions are very welcome — issues, bug reports, ideas, and pull requests
|
||||||
@@ -512,6 +530,6 @@ The library is provided **as is**, without warranty of any kind; see
|
|||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://star-history.com/#wickra-lib/wickra&Date">
|
<a href="https://star-history.com/#wickra-lib/wickra&Date">
|
||||||
<img alt="Wickra star history" width="640"
|
<img alt="Wickra star history" width="640"
|
||||||
src="https://raw.githubusercontent.com/wickra-lib/.github/main/profile/badges/star-history.svg">
|
src="https://raw.githubusercontent.com/wickra-lib/.github/main/profile/badges/star-history.svg?v=2">
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
+3
-3
@@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
## Supported versions
|
## Supported versions
|
||||||
|
|
||||||
Wickra is pre-1.0. Security fixes are applied to the latest released `0.9.8`
|
Wickra is pre-1.0. Security fixes are applied to the latest released `0.9.9`
|
||||||
version only; please upgrade to the newest release before reporting an issue.
|
version only; please upgrade to the newest release before reporting an issue.
|
||||||
|
|
||||||
| Version | Supported |
|
| Version | Supported |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| 0.9.8 (latest) | :white_check_mark: |
|
| 0.9.9 (latest) | :white_check_mark: |
|
||||||
| < 0.9.8 | :x: |
|
| < 0.9.9 | :x: |
|
||||||
|
|
||||||
## Reporting a vulnerability
|
## Reporting a vulnerability
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.6.0" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.7.0" />
|
||||||
<PackageReference Include="xunit" Version="2.9.3" />
|
<PackageReference Include="xunit" Version="2.9.3" />
|
||||||
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5" />
|
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
<!-- NuGet package metadata -->
|
<!-- NuGet package metadata -->
|
||||||
<PackageId>Wickra</PackageId>
|
<PackageId>Wickra</PackageId>
|
||||||
<Version>0.9.8</Version>
|
<Version>0.9.9</Version>
|
||||||
<Authors>kingchenc</Authors>
|
<Authors>kingchenc</Authors>
|
||||||
<Description>High-performance streaming technical-analysis indicators (514 indicators) for .NET, backed by the native Rust core via the Wickra C ABI.</Description>
|
<Description>High-performance streaming technical-analysis indicators (514 indicators) for .NET, backed by the native Rust core via the Wickra C ABI.</Description>
|
||||||
<PackageLicenseExpression>MIT OR Apache-2.0</PackageLicenseExpression>
|
<PackageLicenseExpression>MIT OR Apache-2.0</PackageLicenseExpression>
|
||||||
|
|||||||
@@ -38,14 +38,14 @@ Maven:
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.wickra</groupId>
|
<groupId>org.wickra</groupId>
|
||||||
<artifactId>wickra</artifactId>
|
<artifactId>wickra</artifactId>
|
||||||
<version>0.9.8</version>
|
<version>0.9.9</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
```
|
```
|
||||||
|
|
||||||
Gradle:
|
Gradle:
|
||||||
|
|
||||||
```kotlin
|
```kotlin
|
||||||
implementation("org.wickra:wickra:0.9.8")
|
implementation("org.wickra:wickra:0.9.9")
|
||||||
```
|
```
|
||||||
|
|
||||||
The native library ships prebuilt per platform (Linux, macOS, Windows — x64 and
|
The native library ships prebuilt per platform (Linux, macOS, Windows — x64 and
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.wickra</groupId>
|
<groupId>org.wickra</groupId>
|
||||||
<artifactId>wickra</artifactId>
|
<artifactId>wickra</artifactId>
|
||||||
<version>0.9.6</version>
|
<version>0.9.7</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>org.wickra</groupId>
|
<groupId>org.wickra</groupId>
|
||||||
<artifactId>wickra</artifactId>
|
<artifactId>wickra</artifactId>
|
||||||
<version>0.9.8</version>
|
<version>0.9.9</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>Wickra</name>
|
<name>Wickra</name>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "wickra-darwin-arm64",
|
"name": "wickra-darwin-arm64",
|
||||||
"version": "0.9.8",
|
"version": "0.9.9",
|
||||||
"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.9.8",
|
"version": "0.9.9",
|
||||||
"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.9.8",
|
"version": "0.9.9",
|
||||||
"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.9.8",
|
"version": "0.9.9",
|
||||||
"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.9.8",
|
"version": "0.9.9",
|
||||||
"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.9.8",
|
"version": "0.9.9",
|
||||||
"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.9.8",
|
"version": "0.9.9",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "wickra",
|
"name": "wickra",
|
||||||
"version": "0.9.8",
|
"version": "0.9.9",
|
||||||
"license": "MIT OR Apache-2.0",
|
"license": "MIT OR Apache-2.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@napi-rs/cli": "^3.7.2"
|
"@napi-rs/cli": "^3.7.2"
|
||||||
@@ -15,12 +15,12 @@
|
|||||||
"node": ">= 22"
|
"node": ">= 22"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"wickra-darwin-arm64": "0.9.8",
|
"wickra-darwin-arm64": "0.9.9",
|
||||||
"wickra-darwin-x64": "0.9.8",
|
"wickra-darwin-x64": "0.9.9",
|
||||||
"wickra-linux-arm64-gnu": "0.9.8",
|
"wickra-linux-arm64-gnu": "0.9.9",
|
||||||
"wickra-linux-x64-gnu": "0.9.8",
|
"wickra-linux-x64-gnu": "0.9.9",
|
||||||
"wickra-win32-arm64-msvc": "0.9.8",
|
"wickra-win32-arm64-msvc": "0.9.9",
|
||||||
"wickra-win32-x64-msvc": "0.9.8"
|
"wickra-win32-x64-msvc": "0.9.9"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@emnapi/core": {
|
"node_modules/@emnapi/core": {
|
||||||
@@ -1846,8 +1846,8 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/wickra-darwin-arm64": {
|
"node_modules/wickra-darwin-arm64": {
|
||||||
"version": "0.9.8",
|
"version": "0.9.9",
|
||||||
"resolved": "https://registry.npmjs.org/wickra-darwin-arm64/-/wickra-darwin-arm64-0.9.8.tgz",
|
"resolved": "https://registry.npmjs.org/wickra-darwin-arm64/-/wickra-darwin-arm64-0.9.9.tgz",
|
||||||
"integrity": "sha512-4eZiBR/yGUdr4nzhEUFy2i69XgNx64iI2ax/LPamsThgylC0KpHOZKK19QzJ2d9KbK4C8nMjME5FLuR+4GNEwQ==",
|
"integrity": "sha512-4eZiBR/yGUdr4nzhEUFy2i69XgNx64iI2ax/LPamsThgylC0KpHOZKK19QzJ2d9KbK4C8nMjME5FLuR+4GNEwQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
@@ -1862,8 +1862,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/wickra-darwin-x64": {
|
"node_modules/wickra-darwin-x64": {
|
||||||
"version": "0.9.8",
|
"version": "0.9.9",
|
||||||
"resolved": "https://registry.npmjs.org/wickra-darwin-x64/-/wickra-darwin-x64-0.9.8.tgz",
|
"resolved": "https://registry.npmjs.org/wickra-darwin-x64/-/wickra-darwin-x64-0.9.9.tgz",
|
||||||
"integrity": "sha512-6hf8zI3QPjTFp4zCpmgUwDvNtu6jHqNUHKD5e55POo0CgA52HkpyxSPtVm8TGTIZDI7kPjlbOdBM8CJ76mmXwA==",
|
"integrity": "sha512-6hf8zI3QPjTFp4zCpmgUwDvNtu6jHqNUHKD5e55POo0CgA52HkpyxSPtVm8TGTIZDI7kPjlbOdBM8CJ76mmXwA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
@@ -1878,8 +1878,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/wickra-linux-arm64-gnu": {
|
"node_modules/wickra-linux-arm64-gnu": {
|
||||||
"version": "0.9.8",
|
"version": "0.9.9",
|
||||||
"resolved": "https://registry.npmjs.org/wickra-linux-arm64-gnu/-/wickra-linux-arm64-gnu-0.9.8.tgz",
|
"resolved": "https://registry.npmjs.org/wickra-linux-arm64-gnu/-/wickra-linux-arm64-gnu-0.9.9.tgz",
|
||||||
"integrity": "sha512-kSe6y0xBMSiqdPLXNjwop5WZdHtvdBNKSEBCwZ4hFq33p4apW25/wrlzv9/oDuyD4kuPabJEhCCnFOplh58CUg==",
|
"integrity": "sha512-kSe6y0xBMSiqdPLXNjwop5WZdHtvdBNKSEBCwZ4hFq33p4apW25/wrlzv9/oDuyD4kuPabJEhCCnFOplh58CUg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
@@ -1894,8 +1894,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/wickra-linux-x64-gnu": {
|
"node_modules/wickra-linux-x64-gnu": {
|
||||||
"version": "0.9.8",
|
"version": "0.9.9",
|
||||||
"resolved": "https://registry.npmjs.org/wickra-linux-x64-gnu/-/wickra-linux-x64-gnu-0.9.8.tgz",
|
"resolved": "https://registry.npmjs.org/wickra-linux-x64-gnu/-/wickra-linux-x64-gnu-0.9.9.tgz",
|
||||||
"integrity": "sha512-tWBWS4qz7hxM4xnpFb59bhf6TaLwXq0Z3jEa/2l7r8PiHA94g8r8S53NRMiT+4yiL5hSWe/nUiC/YXdRrhEZ4g==",
|
"integrity": "sha512-tWBWS4qz7hxM4xnpFb59bhf6TaLwXq0Z3jEa/2l7r8PiHA94g8r8S53NRMiT+4yiL5hSWe/nUiC/YXdRrhEZ4g==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
@@ -1910,8 +1910,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/wickra-win32-arm64-msvc": {
|
"node_modules/wickra-win32-arm64-msvc": {
|
||||||
"version": "0.9.8",
|
"version": "0.9.9",
|
||||||
"resolved": "https://registry.npmjs.org/wickra-win32-arm64-msvc/-/wickra-win32-arm64-msvc-0.9.8.tgz",
|
"resolved": "https://registry.npmjs.org/wickra-win32-arm64-msvc/-/wickra-win32-arm64-msvc-0.9.9.tgz",
|
||||||
"integrity": "sha512-EXIckHxAtF75PUGDKRzXyqMe9ldP0JjSdu68WFN6iJfp+McYrGu6h40TEJlQ/oUEIoPqiZB/xhVyo/el5Lg7zw==",
|
"integrity": "sha512-EXIckHxAtF75PUGDKRzXyqMe9ldP0JjSdu68WFN6iJfp+McYrGu6h40TEJlQ/oUEIoPqiZB/xhVyo/el5Lg7zw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
@@ -1926,8 +1926,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/wickra-win32-x64-msvc": {
|
"node_modules/wickra-win32-x64-msvc": {
|
||||||
"version": "0.9.8",
|
"version": "0.9.9",
|
||||||
"resolved": "https://registry.npmjs.org/wickra-win32-x64-msvc/-/wickra-win32-x64-msvc-0.9.8.tgz",
|
"resolved": "https://registry.npmjs.org/wickra-win32-x64-msvc/-/wickra-win32-x64-msvc-0.9.9.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.9.8",
|
"version": "0.9.9",
|
||||||
"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 <support@wickra.org>",
|
"author": "kingchenc <support@wickra.org>",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
@@ -47,12 +47,12 @@
|
|||||||
"node": ">= 22"
|
"node": ">= 22"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"wickra-linux-x64-gnu": "0.9.8",
|
"wickra-linux-x64-gnu": "0.9.9",
|
||||||
"wickra-linux-arm64-gnu": "0.9.8",
|
"wickra-linux-arm64-gnu": "0.9.9",
|
||||||
"wickra-darwin-x64": "0.9.8",
|
"wickra-darwin-x64": "0.9.9",
|
||||||
"wickra-darwin-arm64": "0.9.8",
|
"wickra-darwin-arm64": "0.9.9",
|
||||||
"wickra-win32-x64-msvc": "0.9.8",
|
"wickra-win32-x64-msvc": "0.9.9",
|
||||||
"wickra-win32-arm64-msvc": "0.9.8"
|
"wickra-win32-arm64-msvc": "0.9.9"
|
||||||
},
|
},
|
||||||
"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.9.8"
|
version = "0.9.9"
|
||||||
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 = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
Package: wickra
|
Package: wickra
|
||||||
Type: Package
|
Type: Package
|
||||||
Title: Streaming-First Technical Indicators
|
Title: Streaming-First Technical Indicators
|
||||||
Version: 0.9.8
|
Version: 0.9.9
|
||||||
Authors@R: person("kingchenc", role = c("aut", "cre"), email = "support@wickra.org")
|
Authors@R: person("kingchenc", role = c("aut", "cre"), email = "support@wickra.org")
|
||||||
Description: R bindings for the Wickra technical-analysis library over its C ABI
|
Description: R bindings for the Wickra technical-analysis library over its C ABI
|
||||||
hub. Exposes 514 indicators, each an O(1) streaming state machine shared with
|
hub. Exposes 514 indicators, each an O(1) streaming state machine shared with
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ workspace = true
|
|||||||
# (rayon) feature on — the WASM binding needs a rayon-free build and the data
|
# (rayon) feature on — the WASM binding needs a rayon-free build and the data
|
||||||
# layer never uses the parallel batch path. Native bindings re-enable `parallel`
|
# layer never uses the parallel batch path. Native bindings re-enable `parallel`
|
||||||
# through their own wickra-core dependency (cargo unifies the features).
|
# through their own wickra-core dependency (cargo unifies the features).
|
||||||
wickra-core = { path = "../wickra-core", version = "0.9.8", default-features = false }
|
wickra-core = { path = "../wickra-core", version = "0.9.9", default-features = false }
|
||||||
thiserror = { workspace = true }
|
thiserror = { workspace = true }
|
||||||
csv = "1.3"
|
csv = "1.3"
|
||||||
serde = { version = "1", features = ["derive"] }
|
serde = { version = "1", features = ["derive"] }
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>org.wickra.examples</groupId>
|
<groupId>org.wickra.examples</groupId>
|
||||||
<artifactId>wickra-examples</artifactId>
|
<artifactId>wickra-examples</artifactId>
|
||||||
<version>0.9.8</version>
|
<version>0.9.9</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>Wickra Java examples</name>
|
<name>Wickra Java examples</name>
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.wickra</groupId>
|
<groupId>org.wickra</groupId>
|
||||||
<artifactId>wickra</artifactId>
|
<artifactId>wickra</artifactId>
|
||||||
<version>0.9.8</version>
|
<version>0.9.9</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|||||||
Generated
+7
-7
@@ -14,7 +14,7 @@
|
|||||||
},
|
},
|
||||||
"../../bindings/node": {
|
"../../bindings/node": {
|
||||||
"name": "wickra",
|
"name": "wickra",
|
||||||
"version": "0.9.8",
|
"version": "0.9.9",
|
||||||
"license": "MIT OR Apache-2.0",
|
"license": "MIT OR Apache-2.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@napi-rs/cli": "^2.18.0"
|
"@napi-rs/cli": "^2.18.0"
|
||||||
@@ -23,12 +23,12 @@
|
|||||||
"node": ">= 20"
|
"node": ">= 20"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"wickra-darwin-arm64": "0.9.8",
|
"wickra-darwin-arm64": "0.9.9",
|
||||||
"wickra-darwin-x64": "0.9.8",
|
"wickra-darwin-x64": "0.9.9",
|
||||||
"wickra-linux-arm64-gnu": "0.9.8",
|
"wickra-linux-arm64-gnu": "0.9.9",
|
||||||
"wickra-linux-x64-gnu": "0.9.8",
|
"wickra-linux-x64-gnu": "0.9.9",
|
||||||
"wickra-win32-arm64-msvc": "0.9.8",
|
"wickra-win32-arm64-msvc": "0.9.9",
|
||||||
"wickra-win32-x64-msvc": "0.9.8"
|
"wickra-win32-x64-msvc": "0.9.9"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/wickra": {
|
"node_modules/wickra": {
|
||||||
|
|||||||
+12
-2
@@ -13,11 +13,21 @@ accept = [200, 206, 429]
|
|||||||
scheme = ["https", "http"]
|
scheme = ["https", "http"]
|
||||||
exclude_all_private = true
|
exclude_all_private = true
|
||||||
|
|
||||||
# Known false positives (the URLs are valid; lychee just can't verify them as a
|
# Known false positives (the URLs are valid; lychee just can't verify them at
|
||||||
# non-browser client):
|
# check time):
|
||||||
# - crates.io and npmjs.com return 403/404 to non-browser requests
|
# - crates.io and npmjs.com return 403/404 to non-browser requests
|
||||||
# (anti-scraping); the package pages are live in a browser.
|
# (anti-scraping); the package pages are live in a browser.
|
||||||
|
# - GitHub serves 404 for /stargazers and /network/members to anonymous clients
|
||||||
|
# (anti-scraping). The README social-footer badges link there; the pages are
|
||||||
|
# live in a browser.
|
||||||
|
# - the CHANGELOG version-compare links point at the release tag that is created
|
||||||
|
# *after* the bump is merged. ci.yml runs on push/PR (never on the tag), so the
|
||||||
|
# tag never exists when lychee runs and the compare URL 404s. One pattern
|
||||||
|
# covers every future version — no per-release exclude needed.
|
||||||
exclude = [
|
exclude = [
|
||||||
'crates\.io/crates/',
|
'crates\.io/crates/',
|
||||||
'www\.npmjs\.com/package/',
|
'www\.npmjs\.com/package/',
|
||||||
|
'github\.com/wickra-lib/wickra/compare/',
|
||||||
|
'github\.com/wickra-lib/wickra/stargazers',
|
||||||
|
'github\.com/wickra-lib/wickra/network/members',
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user