Skip to main content

Wickra Feature Store — turn OHLCV and microstructure event streams into ML-ready feature matrices over 497 streaming indicators, deterministic across ten languages

CI codecov PyPI License: MIT OR Apache-2.0

Wickra Feature Store — Python


Turn OHLCV and microstructure event streams into ML-ready feature matrices over 497 O(1) streaming indicators — for Python. pip install wickra-feature-store — prebuilt wheels for Linux, macOS and Windows, nothing to compile.

Python bindings for wickra-feature-store, the data-driven feature-matrix core. Build a FeatureStore from a spec JSON, drive it with command JSONs, and read back feature matrices — the same command protocol every language binding speaks.

Install

pip install wickra-feature-store

Pre-built wheels ship for Linux, macOS and Windows — there is nothing to compile and no C library to track down.

Building from this repository (contributors)

maturin develop --release
pytest -q

Quick start

import json
from wickra_feature_store import FeatureStore

spec = json.dumps({
    "universe": ["AAA"],
    "features": [
        {"kind": "indicator", "name": "Sma", "params": [2]},
        {"kind": "price", "field": "close"},
    ],
    "labels": [{"kind": "forward_return", "horizon": 1}],
})

store = FeatureStore(spec)

def candle(ts, close):
    return {"ts": ts, "open": close, "high": close,
            "low": close, "close": close, "volume": 1.0}

response = store.command(json.dumps({
    "cmd": "build_batch",
    "data": {"AAA": [candle(0, 100.0), candle(1, 110.0), candle(2, 121.0)]},
}))

matrix = json.loads(response)
print(matrix["columns"])  # ['Sma(2)', 'price.close', 'fwd_return(1)']

# Straight into pandas:
#   import pandas as pd
#   df = pd.DataFrame(matrix["data"], columns=matrix["columns"])

API

Method Description
FeatureStore(spec_json) Build a feature store from a spec JSON (raises ValueError if invalid).
store.command(cmd_json) -> str Apply a command JSON, return the response JSON. Commands: set_spec, push, push_batch, build, build_batch, labels, reset, version.
FeatureStore.version() -> str The library version.

Arrow / Parquet output is a binary file format and is not available over this JSON surface; use the wickra-feature-store CLI for columnar output.

Benchmark

Every binding forwards to the same data-driven Rust core, so what this one adds is the call overhead of PyO3, 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:

Wickra Feature Store 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 support@wickra.org with a subject line starting [wickra security]. Full policy: https://github.com/wickra-lib/wickra-feature-store/blob/main/SECURITY.md.

Disclaimer

wickra-feature-store is research and engineering tooling, not financial advice. A feature matrix describes historical data under the spec you provide; it makes no claim about the profitability or future performance of any model trained on it. Trading carries risk; you are responsible for your own decisions.

License

Licensed under either of Apache-2.0 or MIT at your option.

Metadata

Release files for wickra-feature-store 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wickra-feature-store 0.1.2
File Size Uploaded
wickra_feature_store-0.1.2.tar.gz 70.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for wickra-feature-store 0.1.2
File
wickra_feature_store-0.1.2-cp39-abi3-win_arm64.whl CPython 3.9 abi3 Windows ARM64 Details
wickra_feature_store-0.1.2-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
wickra_feature_store-0.1.2-cp39-abi3-musllinux_1_2_x86_64.whl CPython 3.9 abi3 Linux musl 1.2+ x86-64 Details
wickra_feature_store-0.1.2-cp39-abi3-musllinux_1_2_aarch64.whl CPython 3.9 abi3 Linux musl 1.2+ ARM64 Details
wickra_feature_store-0.1.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details
wickra_feature_store-0.1.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details
wickra_feature_store-0.1.2-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
wickra_feature_store-0.1.2-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details

Total release size: 5.9 MB

Release files / wickra_feature_store-0.1.2.tar.gz

Download URL wickra_feature_store-0.1.2.tar.gz
Size 70.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6eaac2b8b9637be1d3af6f429c9c24afcfa10d6dd98838a94bb5241d8c36d6da
BLAKE2b-256 checksum
How to use checksums
af60a9c62fb3ec90ca4d19c70ab1b4f3ae1f2c7a4725eea4086d7aeed81ac851
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_feature_store-0.1.2-cp39-abi3-win_arm64.whl

Download URL wickra_feature_store-0.1.2-cp39-abi3-win_arm64.whl
Size 556.3 kB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
f72550b2207e5443309dcc75476ef7b1bdd8435311ce72612ce64e5cce39e6f4
BLAKE2b-256 checksum
How to use checksums
0657d2ba2dc3ccc028684ecaeee5f69bd96c2b3bec9613185f95c3a9f84bdfea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_feature_store-0.1.2-cp39-abi3-win_amd64.whl

Download URL wickra_feature_store-0.1.2-cp39-abi3-win_amd64.whl
Size 636.5 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
24722816df3a345a6a3b9296b51d6c375f78a490abc46bd979297e72eac40dd9
BLAKE2b-256 checksum
How to use checksums
80190c4a5a255501c0a4be290e20e323aeb52782d1a695d4248c298fb855e888
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_feature_store-0.1.2-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL wickra_feature_store-0.1.2-cp39-abi3-musllinux_1_2_x86_64.whl
Size 976.4 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
e2e8b05d8f1f3953203104f8918a143c3ee28410182fbc932428e984997a8102
BLAKE2b-256 checksum
How to use checksums
1dd3c973ddd42c3b4e5cbf2d7d5c824b3bc893e0a34eba080e2477f4fe14c575
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_feature_store-0.1.2-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL wickra_feature_store-0.1.2-cp39-abi3-musllinux_1_2_aarch64.whl
Size 859.2 kB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
a918edba0869ebff08b80f9d28dfd7290f4613fe078a2c9b59ead7a9c429dd27
BLAKE2b-256 checksum
How to use checksums
12a80d396b65beec42f4aa97cb8b26efd7e10473158cd1a93cc24d53632344d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_feature_store-0.1.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL wickra_feature_store-0.1.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 759.4 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
0d910868574c8ea15418209770851231999d9104fc746dc6e4b10b4d8fd4ea23
BLAKE2b-256 checksum
How to use checksums
2a8ed050eae6c2c7fb5e14fdb98bebb4c01fa791130d6ac4e2f320b48c20eaab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_feature_store-0.1.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL wickra_feature_store-0.1.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 679.2 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
a724253e223fa65f700221e5aaf76c839553934c35a5bb809c7359f1f2f97754
BLAKE2b-256 checksum
How to use checksums
5aaf964c0b7f7e801471e06295df119a6cb001e25acba4e29566cd71f231c4bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_feature_store-0.1.2-cp39-abi3-macosx_11_0_arm64.whl

Download URL wickra_feature_store-0.1.2-cp39-abi3-macosx_11_0_arm64.whl
Size 624.7 kB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a5b708911f9536e4de219ae88fc614df74699e8d9b7959e6cdf4b3fb1bdf3b69
BLAKE2b-256 checksum
How to use checksums
8cc8f92793a6a2cb5ae4ae7a0e594c27cce2dd3651708580004877a947a1cf3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_feature_store-0.1.2-cp39-abi3-macosx_10_12_x86_64.whl

Download URL wickra_feature_store-0.1.2-cp39-abi3-macosx_10_12_x86_64.whl
Size 723.9 kB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
90773ff824aaf95a2c0e29517a62b6039b1103e51f29f03444d491d44698c54c
BLAKE2b-256 checksum
How to use checksums
59d0f15b7bc23e120f59283577930ccc2ff2ac1a9a288e1a5986052db78c207f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release history Release notifications | RSS feed

0.2.0

9 release files

0.1.4

9 release files

0.1.3

9 release files

This release

0.1.2 This release

9 release files

0.1.1

9 release files

0.1.0

9 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page