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.0.tar.gz (37.1 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.0-cp311-abi3-win_amd64.whl (143.4 kB view details)

Uploaded CPython 3.11+Windows x86-64

gpvolve_v2-1.0.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (276.3 kB view details)

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

gpvolve_v2-1.0.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (271.5 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARM64

gpvolve_v2-1.0.0-cp311-abi3-macosx_11_0_arm64.whl (244.8 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

gpvolve_v2-1.0.0-cp311-abi3-macosx_10_12_x86_64.whl (245.5 kB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: gpvolve_v2-1.0.0.tar.gz
  • Upload date:
  • Size: 37.1 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.0.tar.gz
Algorithm Hash digest
SHA256 a403a12aad478906768224e9b1bf176bfcfc3847556b107c9911ab3420dd3550
MD5 deb7459d465db2072278794110b1c519
BLAKE2b-256 7c68efe40824426faeaeee1251746630d274a662e52dc6835333fd7532e45b1f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gpvolve_v2-1.0.0-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 143.4 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.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 36efe92599e3fc6d99cd1488dc3e68089c9b8837c865943888d4b3c43faa8456
MD5 e523be024257a3e5525d4c2055c4e8d5
BLAKE2b-256 0418c16a979cb937661c0984ae747f554ce4e83473e86dc7a9bfaaf1b83bd738

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gpvolve_v2-1.0.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 41e3a711ba822a6a17d1d5d5f11ebdc65a5b1e2c01ed51dce19d7df4ab1b211f
MD5 edae29ae89c12497b4b0f254fcd91d1d
BLAKE2b-256 bd6f83fd0c3e62d9119dc386f174129fb9c9e654b45fd8f31fe1ec0f80f29381

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gpvolve_v2-1.0.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8517820d41c0f6de497f0fc618fc56e56be267a0083e9c7c83bb815379d608cb
MD5 a560c19b5b40520bd3b1044c9a5625a5
BLAKE2b-256 4f409dd58ffa74e05e35e96645d50f9d82885a2acd411c8aa34dc4606927804b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gpvolve_v2-1.0.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ed2d006061990e57ddb7683ecbd1b77311ac4680e25b41dbbbf812c439d1dc88
MD5 14bf8a6e86142819107ed3b268f54d21
BLAKE2b-256 37ec2d43d640777b62a4ff32b773ee52ec8782912905e1f704eb3517706f88e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gpvolve_v2-1.0.0-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 240252e5ed3a4a30a6437ab7c8c58b474c5cc79eac5048b3f2813f900b7751a4
MD5 ae7de8b9f35cc387fdadcc4925d24f83
BLAKE2b-256 683745ba348d55ecb0aa5b5518e94a3fa8dfccfa7a71eee3cabc90041c9a6322

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