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.2.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.2-cp311-abi3-win_amd64.whl (241.5 kB view details)

Uploaded CPython 3.11+Windows x86-64

gpvolve_v2-1.0.2-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.2-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (405.2 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11+macOS 11.0+ ARM64

gpvolve_v2-1.0.2-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.2.tar.gz.

File metadata

  • Download URL: gpvolve_v2-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 7b6747b2672324df1e21af80d4f66fb0aa014e384f718bfcf1af6e797753fc9a
MD5 dc37def7a31cfa216457e1b8a56c6c52
BLAKE2b-256 734e90d890f17842186b319003769d7e6716f898b951fb452a85484f78d9b611

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gpvolve_v2-1.0.2-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 241.5 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.2-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 da9427a2f449b9d2c2357b8d1235988e625a56c13deaba34ab139d2d119d4f9b
MD5 49aa64d552c7d3d539d9a695fba0bda4
BLAKE2b-256 6b66d2ba5cafde6c65bf2af54af2b2e6463b972ca5813df1e057b6c59ed12ae2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gpvolve_v2-1.0.2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4cfd6aa79313ec2554ff1a588fac1fc4562f0627ef0cbede986660c0973ea49e
MD5 3d9d54ffcd8c62459f969e5a2338153c
BLAKE2b-256 7fc4942abda286575c5be0daa7a3b7cceac592b0bbfff1da1fdcd1db20d19442

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gpvolve_v2-1.0.2-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a629ec7459b4ac7af1f209e4ea355e0ad406357eb88cb71b7604c2efb8c811c6
MD5 4b1f20d7dd31d434cd3363ed773baa33
BLAKE2b-256 0be86b15b1c52a0c39bdd1f8348f62c339d5ccd34e1112c7644198d8f83b96cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gpvolve_v2-1.0.2-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4c8c79312ca2d61fb2d9686b23897ed2160834def7cec6186de0f8805c725c11
MD5 8039174651beecb7cf346eea1a8a5128
BLAKE2b-256 36f6f1effb9cbd42c14f36741a60eae923cc9845c69459b6dd6e4135dd60ce23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gpvolve_v2-1.0.2-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b23cbc9c2804a2bb7d4d4477375f2bed0a48895b563dea0a9e7a9649dffca3bf
MD5 2c3ff0d708a2efdf8dc759005159ebb7
BLAKE2b-256 330face5579977177f30a50aa7d47f9ca18fa20a8d2c89e6f74363a2692b4f02

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