Skip to main content

Markov-chain evolutionary dynamics on genotype-phenotype maps. Rust-accelerated.

Project description

gpvolve-v2

CI Documentation PyPI Python License

Markov-chain evolutionary dynamics on genotype-phenotype maps. Rust-accelerated.

gpvolve-v2 lifts a gpgraph-v2 GenotypePhenotypeGraph into a Markov state model and analyzes evolutionary dynamics on top of it. Given a fitness function and a fixation model (SSWM, Moran, McCandlish, Bloom DMS, weak-mutation), it builds a row-stochastic transition matrix and computes stationary distributions, relaxation timescales, mean first passage times, transition path theory committors and reactive flux, dominant pathways, stochastic walker trajectories, PCCA+ metastable sets, and fitness peaks.

This is a clean-break rewrite of harmslab/gpvolve (dormant since 2020) with selective architectural inspiration from the harmsm/gpvolve fork (dormant since 2022). Hot paths (transition matrix assembly and stochastic walker sampling) live in Rust via PyO3 + rayon; spectral analysis stays in scipy.

Why v2

  • Drops the dormant msmtools dependency. PCCA+ and TPT are reimplemented natively.
  • Fast. Transition matrix assembly and walker sampling run in Rust with rayon parallelism.
  • Sound convergence. Stochastic path sampling stops on a real criterion (effective sample size + Gelman-Rubin R-hat), not a Euclidean distance heuristic.
  • Typed. Full type hints, mypy --strict in CI.
  • Modern tooling. uv + maturin + pyproject.toml. Releases via python-semantic-release. OIDC-based PyPI publishing.
  • Consumes the v2 family. Hard deps on gpmap-v2 and gpgraph-v2; speaks their locked SCHEMA.md contracts.

Install

pip install gpvolve-v2

Or with uv:

uv add gpvolve-v2

Plotting support is optional. For matplotlib:

pip install "gpvolve-v2[plot]"

Optional simulation backends (SLiM, tskit):

pip install "gpvolve-v2[sim]"

Python 3.11+. Prebuilt wheels ship for Linux (x86_64, aarch64), macOS (x86_64, aarch64), and Windows (x64).

Status

Pre-release. See CHANGELOG.md for progress and docs/migration/from-v1.md for the v1 to v2 API map.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gpvolve_v2-1.0.1.tar.gz (40.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

gpvolve_v2-1.0.1-cp311-abi3-win_amd64.whl (241.6 kB view details)

Uploaded CPython 3.11+Windows x86-64

gpvolve_v2-1.0.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (413.9 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ x86-64

gpvolve_v2-1.0.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (405.3 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARM64

gpvolve_v2-1.0.1-cp311-abi3-macosx_11_0_arm64.whl (360.8 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

gpvolve_v2-1.0.1-cp311-abi3-macosx_10_12_x86_64.whl (364.3 kB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

Details for the file gpvolve_v2-1.0.1.tar.gz.

File metadata

  • Download URL: gpvolve_v2-1.0.1.tar.gz
  • Upload date:
  • Size: 40.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gpvolve_v2-1.0.1.tar.gz
Algorithm Hash digest
SHA256 5fc45eadf5e5e23be559c31c982f66423c2e55ccc6c245d14b6a3742d7e01d7f
MD5 cb3c0842cc99f57c8f2219d91c4d6203
BLAKE2b-256 cc484e9ef3af4164d2ca65499f6c505f2c29a3c3a7e339e729b09d01807b8980

See more details on using hashes here.

File details

Details for the file gpvolve_v2-1.0.1-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: gpvolve_v2-1.0.1-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 241.6 kB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gpvolve_v2-1.0.1-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 ad85e8f0f0db71ddc7a1d174a3c5123e0459ceb11efd66ffb4763a66b4e09289
MD5 090b43c26af785934df4b02a4b6134a1
BLAKE2b-256 d09f101025c7b24f1d57e823c4a80317f7d1f208d3fa2dabadd6d1b175a9a880

See more details on using hashes here.

File details

Details for the file gpvolve_v2-1.0.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for gpvolve_v2-1.0.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c21baf7fad63b67b5aa58b4e679894b6f159ad7e9e6dd21222b6617c3a895b3a
MD5 937adbc0bbfb2b28bdabe9aad77108f1
BLAKE2b-256 740355dcdbb3f11c61ab0b8e4cf76f785ae84b552ae0d30048757a5360ab8961

See more details on using hashes here.

File details

Details for the file gpvolve_v2-1.0.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for gpvolve_v2-1.0.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 13e94056b516c4b2e1a6ff4668256208adc6a119b3ed4ccd40345bbc04a8ceab
MD5 b32232aaf8a457d9821f2ebd861fa544
BLAKE2b-256 16c6a78c54070a90986046858d41adb9c6ed17aa2d9965166d30dc683c55d501

See more details on using hashes here.

File details

Details for the file gpvolve_v2-1.0.1-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gpvolve_v2-1.0.1-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 92f6b2edb04702710199040f2ddd1c1460da5dcdebdd11c6cabc369b4b9014bf
MD5 b87f93a662d21ff0dbe824649d2d3d6f
BLAKE2b-256 138da68ce256042ba568259da227c5b7b286120737a2c659af012c10f5da7e55

See more details on using hashes here.

File details

Details for the file gpvolve_v2-1.0.1-cp311-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for gpvolve_v2-1.0.1-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1c6065343af02b12bc5b0e71db6883dd8cb1a3b932bfdd55c9ca4a8e57a41af2
MD5 ff75a8d81eddfc6306e854f7c989a1d0
BLAKE2b-256 493a527324638351057db0ccd1323ecb3ee127992dbf6c83275b7ddbff1c6069

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page