Skip to main content

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

Project description

gpvolve-v2

CI Documentation PyPI Python License Streamlit

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.1.0.tar.gz (42.8 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.1.0-cp311-abi3-win_amd64.whl (249.4 kB view details)

Uploaded CPython 3.11+Windows x86-64

gpvolve_v2-1.1.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (421.6 kB view details)

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

gpvolve_v2-1.1.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (413.1 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARM64

gpvolve_v2-1.1.0-cp311-abi3-macosx_11_0_arm64.whl (365.7 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

gpvolve_v2-1.1.0-cp311-abi3-macosx_10_12_x86_64.whl (371.0 kB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: gpvolve_v2-1.1.0.tar.gz
  • Upload date:
  • Size: 42.8 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.1.0.tar.gz
Algorithm Hash digest
SHA256 bb5c91db14ca183d68a314f5114e776bc1359f4d571c46e94bef823eb81d7349
MD5 4e025baf1ef4ae07da17fac1dbdf553d
BLAKE2b-256 c964da440f6710a76c7cf2c33f21b96096da3e082f51cded89292c292c40dd93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gpvolve_v2-1.1.0-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 249.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.1.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b1a28263cf72a4e0b1c24cabf5e44b5e4214328506eea90a6d79bca88cf10699
MD5 b3c94ae1be09e907b6a57da806c4cf05
BLAKE2b-256 e27655968d930ce6a553af8239f20e35555db7d849aa9e693cca36106de0be53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gpvolve_v2-1.1.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 15e4af6e0bbc13f6cfcffb83e3b649431c2206618f3ee311aef6ae7473dd7ba2
MD5 6e8a4a328744f0b53745b882903cc7e9
BLAKE2b-256 696584e99884ac0acc32805ba59b3316ae56f7f8d056a20275f9cea6bde8a726

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gpvolve_v2-1.1.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fc50798f684ea08555570472d0e40f3ce5bb17aeb93fab47b345d0c843ba211d
MD5 f0adcf2880556beb97ef173ee092cf2d
BLAKE2b-256 7f85d88f830fba19ccd0b22a43e11941dd1f04fd5cbc2889441cc46095576322

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gpvolve_v2-1.1.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 88e73db8b9dcb19fdebf0ec2c340940ba634cb44285ef1b25ae62c22e950db1f
MD5 b0d46273fe6079d7060ae931cd84de2e
BLAKE2b-256 21ec72b1329897429dfbc56474a9c6decd5d5b98fb1678209b686fed84bbd051

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gpvolve_v2-1.1.0-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8e97cb0dd0f6140a6ffa6f9fd5a0b77572106d797c96e2ef0198c45051c35f91
MD5 d1611e1b28ea06d9521029cea163e11d
BLAKE2b-256 1b93512e98e2186d12a180ada401ba3730cd76f4f45ad4c6cf9b43081d107f4e

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