Skip to main content

Wickra Darwin — evolutionary strategy search at hundreds of thousands of backtests per second

CI codecov PyPI License: MIT OR Apache-2.0

Wickra Darwin — Python


Part of the Wickra ecosystem: — for Python. pip install wickra-darwin — prebuilt wheels for Linux, macOS and Windows, nothing to compile.

Python bindings for the Wickra evolutionary strategy search, built with PyO3 and maturin. A Darwin handle is driven over a JSON boundary, so a fixed seed yields the byte-identical search as every other Wickra Darwin binding.

Install

pip install wickra-darwin

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

Quick start

import json
from wickra_darwin import Darwin

spec = {
    "seed": 1, "population": 8, "generations": 3,
    "mutation_rate": 0.2, "crossover_rate": 0.6, "fitness": "sharpe",
    "search_space": {
        "indicators": [{"name": "rsi", "param_ranges": [{"min": 2, "max": 30, "step": 1}]}],
        "rules": "single_threshold", "max_conditions": 1,
    },
    "elitism": 1, "top": 5,
}

darwin = Darwin(json.dumps(spec))
data = {"BTCUSDT": [ { "time": 1700000000, "open": 100, "high": 101, "low": 99, "close": 100.5, "volume": 10 } ]}
report = json.loads(darwin.command(json.dumps({"cmd": "evolve", "data": data})))
print(report["best"])

Surface

  • Darwin(spec_json) — construct a search handle from an EvolveSpec JSON ("{}" defers configuration to a later set_spec). Raises ValueError on an invalid spec.
  • Darwin.command(cmd_json) — apply a command envelope ({"cmd":"...", ...}) and return the response JSON. Commands: set_spec, evolve, best, version. Raises RuntimeError on a command failure.
  • Darwin.version() — the library version.

Determinism

The search's PRNG lives only in the Rust core; this binding forwards the command string verbatim, so a given seed produces the byte-identical report here and in every other binding — the exact cross-language golden invariant.

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 Darwin 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-darwin/blob/main/SECURITY.md.

Disclaimer

Wickra Darwin is a research tool, provided "as is" without warranty of any kind. Evolutionary search optimises a fitness objective over historical data — a strong in-sample fitness is not evidence of out-of-sample performance, and overfitting is the default outcome, not the exception. Nothing here is financial advice; any strategy you deploy is your responsibility, and trading carries risk of loss.

License

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

Metadata

Release files for wickra-darwin 0.2.0

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-darwin 0.2.0
File Size Uploaded
wickra_darwin-0.2.0.tar.gz 51.6 kB Details

Built distributions (wheels)

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

Total release size: 6.4 MB

Release files / wickra_darwin-0.2.0.tar.gz

Download URL wickra_darwin-0.2.0.tar.gz
Size 51.6 kB
Tags Source
SHA-256 checksum
How to use checksums
38985d564e5670c67bdd0aee49845a961b34b08c950c187e9b43be969f521f83
BLAKE2b-256 checksum
How to use checksums
f84e8a4306e51527535bc08f4ba7b02e19c08b9531309dc86bfa9894c6e299b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_darwin-0.2.0-cp39-abi3-win_arm64.whl

Download URL wickra_darwin-0.2.0-cp39-abi3-win_arm64.whl
Size 626.1 kB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
bf54f269de5c4c7cb21a6e3c31751fbf0b67d950add510a9a90aee620f9bbe3d
BLAKE2b-256 checksum
How to use checksums
e7f3b76c7af7e3531fd5e1f3e2109ffa35a93084cc330a09ad46b66af75936f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_darwin-0.2.0-cp39-abi3-win_amd64.whl

Download URL wickra_darwin-0.2.0-cp39-abi3-win_amd64.whl
Size 704.7 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
e61bf6153d36c4d30777a59994b9b46801b982d8efdef7cc98d84ab114bc5e22
BLAKE2b-256 checksum
How to use checksums
5981ed6cb3afde867568c1d6005541ec89b849f9b0d5a53244330c3d2bfd30d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_darwin-0.2.0-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL wickra_darwin-0.2.0-cp39-abi3-musllinux_1_2_x86_64.whl
Size 1.0 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
13382a0dfd30ab2b4698fefbce7c747d1988570ae149717d7921021ec177e056
BLAKE2b-256 checksum
How to use checksums
728053332ed43951408c81b20c29d09ba9cff96e09c16e25e6e5f37c1d9e0305
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_darwin-0.2.0-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL wickra_darwin-0.2.0-cp39-abi3-musllinux_1_2_aarch64.whl
Size 921.6 kB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
5200af57f91ebac0cf707177c700f12250555ac9e16950b924009b4552af28aa
BLAKE2b-256 checksum
How to use checksums
822cee5201d1a2139c10ba4850a0dab769cdd023920d18222c9c943b4c23f1a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_darwin-0.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL wickra_darwin-0.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 832.5 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
eb66644f233f8826bba7f35f89d7d7f7723205bede71c0706e069d6acfd9fe20
BLAKE2b-256 checksum
How to use checksums
fb6f79c537149ddb417662a71dfcb5daaa7dc6b43725f1bbf39d9eb11bf411b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_darwin-0.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL wickra_darwin-0.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 743.3 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
34bec3c78b9b20c9b324fae5318e037f607e45631cfe82b10a88b8ed4d59fb56
BLAKE2b-256 checksum
How to use checksums
3fc38a51ec414a832bc14e8664bd22c121ee64a4a3a96560abf56cb9e1455a8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_darwin-0.2.0-cp39-abi3-macosx_11_0_arm64.whl

Download URL wickra_darwin-0.2.0-cp39-abi3-macosx_11_0_arm64.whl
Size 689.7 kB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
11baf2aaec48bc507ac4c5540a340b187a337f64374457b8cd25f06dc383a252
BLAKE2b-256 checksum
How to use checksums
1d91426a94b231450a7bc5855cd8edb27a19f62c87936d2071a85b670b8195f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / wickra_darwin-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl

Download URL wickra_darwin-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl
Size 787.8 kB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
3de820694b1119e3f0b71368abe6cf90e255cd12579eebe681e91b84916a2ed9
BLAKE2b-256 checksum
How to use checksums
cbc7163d1c6e64353460fc7549cab34e5d1a6564302fdf582fad001f3c3bf12a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release history Release notifications | RSS feed

This release

0.2.0 This release

9 release files

0.1.5

9 release files

0.1.4

9 release files

0.1.3

9 release files

0.1.2

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