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.1.4

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.1.4
File Size Uploaded
wickra_darwin-0.1.4.tar.gz 51.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for wickra-darwin 0.1.4
File
wickra_darwin-0.1.4-cp39-abi3-win_arm64.whl CPython 3.9 abi3 Windows ARM64 Details
wickra_darwin-0.1.4-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
wickra_darwin-0.1.4-cp39-abi3-musllinux_1_2_x86_64.whl CPython 3.9 abi3 Linux musl 1.2+ x86-64 Details
wickra_darwin-0.1.4-cp39-abi3-musllinux_1_2_aarch64.whl CPython 3.9 abi3 Linux musl 1.2+ ARM64 Details
wickra_darwin-0.1.4-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.1.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details
wickra_darwin-0.1.4-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
wickra_darwin-0.1.4-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details

Total release size: 6.5 MB

Release files / wickra_darwin-0.1.4.tar.gz

Download URL wickra_darwin-0.1.4.tar.gz
Size 51.4 kB
Tags Source
SHA-256 checksum
How to use checksums
9f3a3e1affc98caae6cbdd7686a5532fb054f7c73571ca7e1a9636387f103137
BLAKE2b-256 checksum
How to use checksums
2c0dcba44bfeccc573271bce4c4a814f2539adf67ad3c2ae5b29f58fbcef9b13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

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

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

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

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

Download URL wickra_darwin-0.1.4-cp39-abi3-musllinux_1_2_aarch64.whl
Size 935.7 kB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
e0442f05c1fdcd78905b8d4015201b0ffcec64d2b6e741f879bef1dd2f2bdf03
BLAKE2b-256 checksum
How to use checksums
3ce5c8e698d1087e26b9b1bc732952a46e7d17968e342d6896ef3342eddca851
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

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

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

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

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

Download URL wickra_darwin-0.1.4-cp39-abi3-macosx_10_12_x86_64.whl
Size 792.3 kB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
57edaef5f125c4499a91f390aaca4ede5b7c055c5bad468e034947a12a179593
BLAKE2b-256 checksum
How to use checksums
ee9c54743ba237ad495b378dc8e75045ef8cecedd06ddfc7c76f5571800a2169
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.5

9 release files

This release

0.1.4 This release

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