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

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.5
File Size Uploaded
wickra_darwin-0.1.5.tar.gz 51.5 kB Details

Built distributions (wheels)

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

Download URL wickra_darwin-0.1.5.tar.gz
Size 51.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e684eaec9b884a9d301a3fddb718e3d8bb422bcc1e7239968664c5c440465de1
BLAKE2b-256 checksum
How to use checksums
d7a00945d89fc57100c54e74fece941f8cad4b312b9b28ff84e70405b1e382ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

Download URL wickra_darwin-0.1.5-cp39-abi3-win_amd64.whl
Size 707.3 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
56dc5bc8146bf8089ed703abbd26a7ff69c849e6ab138ab752456135df03d1f3
BLAKE2b-256 checksum
How to use checksums
918b0ea24ec4582f85a5866db59347c9acefe2468d67eb0f47eb4cebc46621e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

Download URL wickra_darwin-0.1.5-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
1113ce6b361d20e72213c1a7cc873aa2c55fe8774743ca07cb2428947d193dad
BLAKE2b-256 checksum
How to use checksums
b2ded9455a7937673530ca44ad986f7009dd0247fdb2d073a1eb6200c69467c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

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

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

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

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

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

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

Download URL wickra_darwin-0.1.5-cp39-abi3-macosx_10_12_x86_64.whl
Size 792.8 kB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
b4fa8f0f16e0078f6019a95cafbda9eafbf34f8711db8c64d8cf182c2388366d
BLAKE2b-256 checksum
How to use checksums
84dd830292b2a479cb8a1d1a98c392124fcbb16e551120c72c91eecc1ff63fbf
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

This release

0.1.5 This release

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