Fast road network fragility analysis with contraction hierarchies
Project description
Gravel
Fast road network fragility analysis at scale.
Gravel is a C++ library (with Python bindings) for computing how vulnerable road networks are to edge failures. Given a graph, it answers questions like:
- "How isolated does this location become when 10% of its roads fail?"
- "Which counties are most dependent on a single critical route?"
- "What's the composite fragility score for every US county?"
The library is built around contraction hierarchies for fast shortest-path queries, and a Dijkstra + incremental SSSP pipeline for edge-removal analysis. On a 200K-node county graph, it computes isolation fragility in ~2 seconds.
Installation
conda (recommended for C++ dependencies)
conda install -c conda-forge gravel-fragility
pip (source build — requires C++ compiler)
pip install gravel-fragility
For OSM data loading, install libosmium separately (brew install libosmium on macOS, apt install libosmium2-dev on Debian/Ubuntu).
From source
git clone https://github.com/rhoekstr/gravel.git
cd gravel
cmake -B build -DGRAVEL_BUILD_PYTHON=ON -DGRAVEL_USE_OSMIUM=ON
cmake --build build -j
Quick Start
Python
import gravel
# Load a road network (from OSM PBF)
graph = gravel.load_osm_graph("county.osm.pbf", gravel.SpeedProfile.car())
# Build contraction hierarchy (one-time cost)
ch = gravel.build_ch(graph)
# Compute isolation fragility for a location
cfg = gravel.LocationFragilityConfig()
cfg.center = gravel.Coord(35.43, -83.45) # Bryson City, NC
cfg.radius_meters = 30000 # 30km
cfg.monte_carlo_runs = 20
result = gravel.location_fragility(graph, ch, cfg)
print(f"Isolation risk: {result.isolation_risk:.3f}")
print(f"Reachable nodes: {result.reachable_nodes}")
print(f"Directional coverage: {result.directional_coverage:.2f}")
C++
#include <gravel/gravel.h>
auto graph = gravel::load_osm_graph({"county.osm.pbf", gravel::SpeedProfile::car()});
auto ch = gravel::build_ch(*graph);
gravel::LocationFragilityConfig cfg;
cfg.center = {35.43, -83.45};
cfg.radius_meters = 30000;
cfg.monte_carlo_runs = 20;
auto result = gravel::location_fragility(*graph, ch, cfg);
std::cout << "Isolation risk: " << result.isolation_risk << "\n";
Key Features
Sub-library architecture
Six independent libraries with a strict dependency DAG — link only what you need:
| Library | Purpose | Dependencies |
|---|---|---|
gravel-core |
Graph representation, basic routing | stdlib, OpenMP |
gravel-ch |
Contraction hierarchy + blocked queries | gravel-core |
gravel-simplify |
Graph simplification, bridges | + gravel-ch |
gravel-fragility |
All fragility analysis (Eigen/Spectra) | + gravel-simplify |
gravel-geo |
OSM loading, regions, snapping (libosmium) | + gravel-simplify |
gravel-us |
US TIGER/Census specializations | + gravel-geo |
Analysis modules
- Route fragility — per-edge replacement path analysis
- Location fragility — isolation risk for a geographic point (new Dijkstra+IncrementalSSSP)
- County fragility — composite index combining bridges, connectivity, accessibility, fragility
- Scenario fragility — event-conditional analysis (hazard footprints)
- Progressive elimination — degradation curve with Monte Carlo / greedy strategies
- Tiled analysis — spatial fragility fields for visualization
- Region assignment — node-to-polygon mapping (point-in-polygon)
- Graph coarsening — collapse regions into meta-nodes
Performance
Measured on an Apple M-series laptop (see bench/baselines/routing_performance.md):
| Operation | 200K-node graph (Swain Co.) | 593K-node graph (Buncombe Co.) |
|---|---|---|
| OSM PBF load | 0.36s | 0.99s |
| CH build | 0.85s | 3.92s |
| CH distance query | 3.8 µs | 8.8 µs |
| CH route (with path unpacking) | 82.7 µs | 144.8 µs |
| Distance matrix cell (OpenMP) | 5.5 µs | 6.3 µs |
| Route fragility (per path edge) | ~60 ms | ~124 ms |
| Location fragility (MC=20) | 2.1 s | ~8 s |
At-scale benchmarks:
- National per-county isolation fragility (3,221 counties): 3.1 hours
- National inter-county fragility (8,547 adjacent pairs incl. cross-state): ~22 hours
Documentation
- REFERENCE.md — complete API reference (all functions, all types)
- docs/PRD.md — product requirements and architecture
- docs/ — full documentation site (also on GitHub Pages)
- examples/ — Python notebooks and C++ sample programs
Example: National US County Analysis
# Run fragility analysis on all ~3,221 US counties
python scripts/national_fragility.py --output-dir output/
# Results are in output/county_isolation_fragility.csv
# Visualize with:
python scripts/visualize_results.py
Sample findings from the national run (April 2026):
| Most vulnerable states | Mean risk |
|---|---|
| New Hampshire | 0.638 |
| Maine | 0.571 |
| Rhode Island | 0.570 |
| Connecticut | 0.563 |
| Most resilient states | Mean risk |
|---|---|
| Kansas | 0.146 |
| Nebraska | 0.162 |
| Iowa | 0.163 |
| North Dakota | 0.165 |
The Great Plains grid-states score lowest — flat land with rectangular road networks have extensive redundancy. Mountain and coastal states score highest — constrained geography forces single-path corridors.
Requirements
Runtime:
- C++20 compiler (GCC 11+, Clang 14+, MSVC 2022+)
- CMake 3.20+
- Python 3.10+ (for bindings)
Optional:
- libosmium (for OSM PBF loading)
- Apache Arrow (for Parquet output)
Bundled (via CMake FetchContent):
- pybind11
- Eigen + Spectra
- nlohmann/json
- Catch2 (tests)
Contributing
See CONTRIBUTING.md. Bug reports and feature requests welcome via GitHub Issues.
License
Apache 2.0 — see LICENSE. Free for commercial and research use.
Citation
If you use Gravel in academic work, please cite:
@software{gravel2026,
author = {Hoekstra, Robert},
title = {Gravel: Fast Road Network Fragility Analysis},
year = {2026},
url = {https://github.com/rhoekstr/gravel},
version = {2.2.0}
}
About the Author
Built by Robert Hoekstra — more projects and writing at awrylabs.com.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gravel_fragility-2.2.1.tar.gz.
File metadata
- Download URL: gravel_fragility-2.2.1.tar.gz
- Upload date:
- Size: 678.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c398022f017e9b2033f79db6cc8fa28ded437d11e9007c77adc566634c2b6ce
|
|
| MD5 |
0e6809bd2e5ed85b474a797078a819c3
|
|
| BLAKE2b-256 |
194ab3840d555fc0519caf2af11f314c9e22af80be106ffd3d09d5dad68e2daa
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1.tar.gz:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1.tar.gz -
Subject digest:
9c398022f017e9b2033f79db6cc8fa28ded437d11e9007c77adc566634c2b6ce - Sigstore transparency entry: 1341628516
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f2dfc186af978ae27a5060171c03adfa2d428338747533544f4aaecd857b50a
|
|
| MD5 |
6648e08a00d2971a5b4dc2afb62ecf86
|
|
| BLAKE2b-256 |
87368383264c844e150e5eca276f2f0d3d7645f450b4109efa16f76bc9a4b2ab
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp313-cp313-win_amd64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp313-cp313-win_amd64.whl -
Subject digest:
4f2dfc186af978ae27a5060171c03adfa2d428338747533544f4aaecd857b50a - Sigstore transparency entry: 1341628547
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e26ce320836353dce2eb70682186b01416f24af800e1abf68408ebde402e716e
|
|
| MD5 |
93ad8ffa08816a86e772fd5117f5c441
|
|
| BLAKE2b-256 |
0f50d795a2cf6bd9c45ed9b1dcd23f3293e21ae876c8a40ee10edadb9660538c
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
e26ce320836353dce2eb70682186b01416f24af800e1abf68408ebde402e716e - Sigstore transparency entry: 1341628573
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.6 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d7b1ffde20ea2d718f662f580f89622c3b7679247ef8c19fc1077df2f03fb18
|
|
| MD5 |
0798c9ce3554eba7d0fddede03136363
|
|
| BLAKE2b-256 |
b7f78304def023d3e0464b5407e2001f4246b8d9aa99bb0c85bee39043c57400
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
9d7b1ffde20ea2d718f662f580f89622c3b7679247ef8c19fc1077df2f03fb18 - Sigstore transparency entry: 1341628574
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ae2163a9f1236ceab4cc9dbbcb6a2757ad487be93e34ae8230b4f22a1870164
|
|
| MD5 |
edb3c1dcbacd251bb000216a6b0fc811
|
|
| BLAKE2b-256 |
00c1259ff0d77c765206651fe6a305633468a88ad27eaac8a70003e7099689ca
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
6ae2163a9f1236ceab4cc9dbbcb6a2757ad487be93e34ae8230b4f22a1870164 - Sigstore transparency entry: 1341628539
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp313-cp313-macosx_10_15_x86_64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp313-cp313-macosx_10_15_x86_64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.13, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f775a564a59baac73a610aa312d587855927ed9b1fd35ec18c4eb126d023fc8
|
|
| MD5 |
e135c400ed5751fcb49217bc46eea14d
|
|
| BLAKE2b-256 |
1784b0625def44a40f61d5cd93fd19e02f0f4b98ad012a224e2912ab2790f891
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp313-cp313-macosx_10_15_x86_64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp313-cp313-macosx_10_15_x86_64.whl -
Subject digest:
8f775a564a59baac73a610aa312d587855927ed9b1fd35ec18c4eb126d023fc8 - Sigstore transparency entry: 1341628529
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de3a08cbe0d72e3b1a43dd86eb1e9597daa625fd653f364dc2b8ddbc5718d4c4
|
|
| MD5 |
69c510ac7a57c4782db243ae71b09573
|
|
| BLAKE2b-256 |
c516261bbbfaaa2aca3262744a876474fef3145e5cdaed26c49e49f318735652
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp312-cp312-win_amd64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp312-cp312-win_amd64.whl -
Subject digest:
de3a08cbe0d72e3b1a43dd86eb1e9597daa625fd653f364dc2b8ddbc5718d4c4 - Sigstore transparency entry: 1341628531
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b233b97c5bbd30c08992a8a1e14c2bb40251395ba1885d137cf5a001e651c448
|
|
| MD5 |
c8772c23d32215bfb42e9da8382508af
|
|
| BLAKE2b-256 |
afc3f92a6f5cd2ed4a2bed4d2aa544522ee685bc0f881c3967ca81ec7998f421
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
b233b97c5bbd30c08992a8a1e14c2bb40251395ba1885d137cf5a001e651c448 - Sigstore transparency entry: 1341628568
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35cae0ec31181556fc4cf4464b4f02fd689ea5126795fb0ca0085b8b3a70b35d
|
|
| MD5 |
7ec3383bcb23dbfe859d38bacc0553c2
|
|
| BLAKE2b-256 |
e05264de23a9929940e54260605a6aaa381f2dcfe688584955bfdd5c29bf75b9
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
35cae0ec31181556fc4cf4464b4f02fd689ea5126795fb0ca0085b8b3a70b35d - Sigstore transparency entry: 1341628565
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd56c741d78e73c227560353637cbc232d7b446f3236ca7a429918e0b6c87515
|
|
| MD5 |
2cd655c03fe15b769ef663e3af50de10
|
|
| BLAKE2b-256 |
8534d26bbfc827502642ead20ac30ebd55282de5cf3ae3b34697df483fb01170
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
cd56c741d78e73c227560353637cbc232d7b446f3236ca7a429918e0b6c87515 - Sigstore transparency entry: 1341628545
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp312-cp312-macosx_10_15_x86_64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp312-cp312-macosx_10_15_x86_64.whl
- Upload date:
- Size: 2.1 MB
- Tags: CPython 3.12, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf012b85f0aee3f79183383667540daab31785255086f6a7b0529302d395793a
|
|
| MD5 |
e370e37ad35aa86d24bcb2979eaad762
|
|
| BLAKE2b-256 |
e58154c646094d6b7fb868eb21d63140c7ef046fc3ac3e46fd011f5d840db411
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp312-cp312-macosx_10_15_x86_64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp312-cp312-macosx_10_15_x86_64.whl -
Subject digest:
bf012b85f0aee3f79183383667540daab31785255086f6a7b0529302d395793a - Sigstore transparency entry: 1341628546
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
211bca5cec0f79d79ff8acac26d32664b155e4f3939cf38a3fce5456862a3e51
|
|
| MD5 |
b7783ac4a033a2c1d2a70fd863963d82
|
|
| BLAKE2b-256 |
b64c01b39e08efbb8b09019a664099352b130b980c45763895c8dc08ac277d7d
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp311-cp311-win_amd64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp311-cp311-win_amd64.whl -
Subject digest:
211bca5cec0f79d79ff8acac26d32664b155e4f3939cf38a3fce5456862a3e51 - Sigstore transparency entry: 1341628566
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 2.1 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a76db01a09e039108ecb1e5b7a1cad00c06ff680aaf95d5fa22cbf5893235e5a
|
|
| MD5 |
bc9321881f67f99265d8a682374aa50a
|
|
| BLAKE2b-256 |
539110a0b2a0f28ba68dd3446b4163e9a89a8bdafcbd7f96b7d95cadf4ad927f
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
a76db01a09e039108ecb1e5b7a1cad00c06ff680aaf95d5fa22cbf5893235e5a - Sigstore transparency entry: 1341628552
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91f069ffadf40b6744be4c15d88e1e18e7f255469b9b8c273ffb1b8e8e69f1ee
|
|
| MD5 |
30bf588664eb34a29c32041b09b2213e
|
|
| BLAKE2b-256 |
b67f8375d1bb7ab3ffbb1246c96f5894825f97d597ccd635fd3317dd3f57844f
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
91f069ffadf40b6744be4c15d88e1e18e7f255469b9b8c273ffb1b8e8e69f1ee - Sigstore transparency entry: 1341628534
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cf6491ed3dc4f5384fed99921f2b40b8cfe9786e827813794ed82ea16103380
|
|
| MD5 |
8d89e3283c44cc26649e82429e6431b7
|
|
| BLAKE2b-256 |
7fb2a308b7ad0bbff2c16e38eac1bbcdc7b339aca7852a44acef93a11d2d0462
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
2cf6491ed3dc4f5384fed99921f2b40b8cfe9786e827813794ed82ea16103380 - Sigstore transparency entry: 1341628526
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp311-cp311-macosx_10_15_x86_64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp311-cp311-macosx_10_15_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.11, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d127f723256f0b5d38e787908b110d1f657c1af3d2b3ad1db1bc2cbf7af55d14
|
|
| MD5 |
8dcd5015e4544c8242a91f84dbd0dd03
|
|
| BLAKE2b-256 |
47afe6d72a380e176f3269dfd01fd39195b6b4505d2500a6032d68a3c354560d
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp311-cp311-macosx_10_15_x86_64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp311-cp311-macosx_10_15_x86_64.whl -
Subject digest:
d127f723256f0b5d38e787908b110d1f657c1af3d2b3ad1db1bc2cbf7af55d14 - Sigstore transparency entry: 1341628580
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd06a5fff6da2bb266e0b51e6b7a7018b81485e03b717e3829c0dd786dc0e1a8
|
|
| MD5 |
31d9dd9dd8401d0d9c20777126f60704
|
|
| BLAKE2b-256 |
4edf905e8c11cb920b53696fc100190e7126bee191aa4258e1d7cc36a2d91d1e
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp310-cp310-win_amd64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp310-cp310-win_amd64.whl -
Subject digest:
bd06a5fff6da2bb266e0b51e6b7a7018b81485e03b717e3829c0dd786dc0e1a8 - Sigstore transparency entry: 1341628540
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ce612ce705fff550e1f6da0c04d32c69038341ae1d5bda5ebe72282a9cc96fa
|
|
| MD5 |
dc095a7a2b33702a3f2eb6650341d0fe
|
|
| BLAKE2b-256 |
517450fcb51d4781330f58f10b623635178ceef02c77c7fde0da5e163c4ed3c4
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
1ce612ce705fff550e1f6da0c04d32c69038341ae1d5bda5ebe72282a9cc96fa - Sigstore transparency entry: 1341628560
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
657adc2d7d229ee757be04e5fb481e5c08135c79cedb41a72a1661cdb705cb26
|
|
| MD5 |
710880438100ffa8571def3e95462bc4
|
|
| BLAKE2b-256 |
af0237e01b5091d0b654382fc6dc36ae67fda4e933b1fecdc6829c368a7bef43
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
657adc2d7d229ee757be04e5fb481e5c08135c79cedb41a72a1661cdb705cb26 - Sigstore transparency entry: 1341628524
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 753.8 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80719e6d1f87fe57fbff4338759063f8b621b2fcf1038684af68bf6f70a87d85
|
|
| MD5 |
7670b14e64e904bde6797f9274edffe1
|
|
| BLAKE2b-256 |
4e5f1694d2140277d4e49a49cd690f25fa443bb0469b11edfa9a0d98964c41e1
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
80719e6d1f87fe57fbff4338759063f8b621b2fcf1038684af68bf6f70a87d85 - Sigstore transparency entry: 1341628522
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.2.1-cp310-cp310-macosx_10_15_x86_64.whl.
File metadata
- Download URL: gravel_fragility-2.2.1-cp310-cp310-macosx_10_15_x86_64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.10, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
465acb9724c9b525ceedf83ec5b5f960311a273a067d03ef100551080f010a37
|
|
| MD5 |
2be7a2a17d61d625213bcddffbb7f51d
|
|
| BLAKE2b-256 |
9d8154757bcc77f0cad3770d934093718147b11ce98769518da5a29f0b9ecd30
|
Provenance
The following attestation bundles were made for gravel_fragility-2.2.1-cp310-cp310-macosx_10_15_x86_64.whl:
Publisher:
wheels.yml on rhoekstr/gravel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gravel_fragility-2.2.1-cp310-cp310-macosx_10_15_x86_64.whl -
Subject digest:
465acb9724c9b525ceedf83ec5b5f960311a273a067d03ef100551080f010a37 - Sigstore transparency entry: 1341628519
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@d27099562185944641f57d91359fd19acd682551 -
Branch / Tag:
refs/tags/v2.2.1 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@d27099562185944641f57d91359fd19acd682551 -
Trigger Event:
push
-
Statement type: