GraphEvolutionTool
The Graph Evolution Tool (GET) generates and refines synthetic network data using a genetic algorithm. Users supply a custom fitness function and application-specific parameters, and GET evolves networks meeting those criteria. GET offers two GA representations, which can be stacked to produce higher-fitness networks.
Documentation: https://md12ol.github.io/GraphEvolutionTool/ — what every configuration key means, one page per route, and how to add your own objective. Start at The Pipeline for how a run works, or Configuration for the per-key reference.
Configuring a run
A run is configured either by a TOML file or by typed objects in Python. Both go through the same parser and the same validation, so neither accepts a configuration the other would reject.
- TOML — copy
config.example.tomland adjust it. It holds two complete setups, one live and one commented out beneath it; switching between them is commenting one block out and uncommenting the other, not editing scattered keys. What each key means is on the Configuration page. - Python — build the same thing as objects. Worked examples for all four
objectives, both genomes and both evolution strategies are in
examples/config_builder.py.
examples/ and config.example.toml live in the repository, not in the wheel. Installing the
package gets you the extension module and nothing else, so the links above go to GitHub rather than
to a path on your machine.
import get
config = get.Config(
population_size=200,
network_size=100,
crossover_rate=0.9,
mutation_rate=0.2,
evolution=get.EvolutionConfig.Generational(num_generations=500),
scope=get.ScopeConfig.Global(),
selection=get.SelectionConfig.Tournament(tournament_size=5),
genome=get.GenomeConfig.EdgeEdit(gene_length=256),
fitness=get.FitnessConfig.EpiSpread(
sir=get.SirParams(infection_rate=0.05, num_epidemics=30)
),
)
evolver = get.GraphEvolver.from_config(config)
config.to_toml() returns the document that was actually parsed — write it
beside your results and the run reproduces verbatim.
Installing
Building the extension module needs maturin:
maturin develop for a working copy, or pip install ..
Release files for graph-evolution-tool 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| graph_evolution_tool-0.9.0-cp38-abi3-win_amd64.whl | CPython 3.8 | abi3 | Windows x86-64 | Details |
| graph_evolution_tool-0.9.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.8 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| graph_evolution_tool-0.9.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.8 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| graph_evolution_tool-0.9.0-cp38-abi3-macosx_11_0_arm64.whl | CPython 3.8 | abi3 | macOS 11.0+ ARM64 | Details |
| graph_evolution_tool-0.9.0-cp38-abi3-macosx_10_12_x86_64.whl | CPython 3.8 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 4.2 MB
Release files / graph_evolution_tool-0.9.0-cp38-abi3-win_amd64.whl
| Download URL | graph_evolution_tool-0.9.0-cp38-abi3-win_amd64.whl |
|---|---|
| Size | 694.3 kB |
| Tags | CPython 3.8 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
3d1526ee5621e1058ab7c15043301eb57232f9dde97433ddd531fd1005a64d48
|
|
BLAKE2b-256 checksum How to use checksums |
a97fc09202510642e6610ba8a123f3bd047babe70bdfcff517dec823b222c787
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.
Transparency logRelease files / graph_evolution_tool-0.9.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | graph_evolution_tool-0.9.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 908.7 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
633219ba74311c682263ce471ba10258ba02392eeec89c097eae0c686639fe63
|
|
BLAKE2b-256 checksum How to use checksums |
3ba3a88116d63b50c50342d57ea63c3d83ff1c7367c8d97bc8d0b8eac0c96c04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.
Transparency logRelease files / graph_evolution_tool-0.9.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | graph_evolution_tool-0.9.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 909.0 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
cf4c1b9fe9f48857f97db3e8281448bc282dc6b96d9fc7dcbb779ff60f45fc4f
|
|
BLAKE2b-256 checksum How to use checksums |
c12fcedd30325586e874d0cffc299c29bf4bcecccab80cf54b47f5fad985cb15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.
Transparency logRelease files / graph_evolution_tool-0.9.0-cp38-abi3-macosx_11_0_arm64.whl
| Download URL | graph_evolution_tool-0.9.0-cp38-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 823.0 kB |
| Tags | CPython 3.8 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d7468bf13d1c00bac1af5a598c777c58e48ffd42c5e2bf7a17b06d2bbab7d198
|
|
BLAKE2b-256 checksum How to use checksums |
d227bdd1e1860c864f6a911ace5f53e5fe9c95586765221072b3b16f74039e84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.
Transparency logRelease files / graph_evolution_tool-0.9.0-cp38-abi3-macosx_10_12_x86_64.whl
| Download URL | graph_evolution_tool-0.9.0-cp38-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 829.3 kB |
| Tags | CPython 3.8 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
97cc5514739f7a9d6c0385f7094b1bff818138c7f6e0d1c51d38a2f006792662
|
|
BLAKE2b-256 checksum How to use checksums |
ba03434ae710e0a09e853a532bc11c0b78efa308f8a5043fc33227b0f7062f55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.
Transparency log