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
pip
pip install gravel-fragility
Binary wheels for Linux (x86_64, aarch64), macOS (x86_64, arm64), and Windows (AMD64) × Python 3.10–3.13. OSM loaders (load_osm_graph, OSMConfig, SpeedProfile) ship enabled on every wheel from v2.2.2 onward — no extra system dependencies required.
conda-forge
Not currently available. The conda-forge feedstock is out of date and does not track recent
releases — install via pip (above) for the current version. (If the feedstock is revived, a
conda install path will return here.)
From source
git clone https://github.com/rhoekstr/gravel.git
cd gravel
cmake -B build -DGRAVEL_BUILD_PYTHON=ON
cmake --build build -j
The default GRAVEL_USE_OSMIUM=AUTO enables OSM loaders when libosmium is present on the system and disables them gracefully when it isn't. CMake prints a clear status message either way. To hard-require libosmium (fail configure if missing), pass -DGRAVEL_USE_OSMIUM=ON. To opt out entirely, -DGRAVEL_USE_OSMIUM=OFF.
Install libosmium with:
- macOS:
brew install libosmium protozero - Debian/Ubuntu:
sudo apt install libosmium2-dev - conda:
conda install -c conda-forge libosmium - vcpkg (Windows):
vcpkg install libosmium protozero
Checking OSM availability at runtime
import gravel
if gravel.HAS_OSM:
graph = gravel.load_osm_graph("county.osm.pbf", gravel.SpeedProfile.car())
else:
# Running on a build without OSM support (e.g., source build without libosmium).
raise RuntimeError("gravel was built without OSM support")
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}")
Datasets (2.7.0)
import gravel
# Browse the catalog of supported datasets
gravel.datasets.list() # -> list[Dataset]
print(gravel.datasets.summary()) # prints (and returns) a feature matrix
# Load a road network via the OSM submodule
graph = gravel.datasets.osm.load("county.osm.pbf")
# Fetch a hazard footprint (needs the gravel[datasets] extra)
gdf, provenance = gravel.datasets.nfhl.fetch(bbox=(-83.6, 35.3, -83.3, 35.6))
print(provenance.summary()) # {dataset_id, endpoint, resolved_version, pulled_at}
The hazard fetchers (nfhl, shakemap, usdm, nri) require the gravel[datasets] extra
(geopandas + shapely + pyproj); their edge_probabilities(...) output feeds stochastic_fragility.
Network substrates (2.7.0)
Beyond roads, gravel.datasets onboards five infrastructure networks — power grids, internet
router topology, air routes, and transit — each load(...) returning (Graph, capacity) where
capacity is a per-edge numpy array (empty when the source has no native capacity). Fragility
analyses consume these graphs and their capacity vector, and the (topological) cascade runs on the
graph structure, exactly like a road graph.
import gravel
# Power grid (thermal limits in MVA; node coords)
graph, capacity = gravel.datasets.gridsfm.load("case.json")
# Air network via OpenFlights: fetch the raw tables, then load
(airports, routes), prov = gravel.datasets.openflights.fetch("data/")
graph, capacity = gravel.datasets.openflights.load(airports, routes, with_codes=False)
# ...or with IATA codes, to key-join a BTS T-100 seat-capacity overlay
graph, capacity, node_iata = gravel.datasets.openflights.load(airports, routes, with_codes=True)
seats = gravel.datasets.t100.load("t100_segment.csv", value_field="SEATS")
capacity = gravel.datasets.t100.edge_capacity(graph, node_iata, seats)
The network loaders need only numpy; fetchers use stdlib urllib (gridsfm optionally
huggingface_hub; gtfs needs a free Transitland API key). caida (internet) and t100 are
bring-your-own-data — no fetcher — per their source licenses.
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
Seven 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 |
Regions, snapping, point-in-polygon | + gravel-simplify |
gravel-datasets |
Dataset onboarding: OSM/TIGER loaders + catalog (libosmium) | + gravel-core, gravel-simplify, gravel-geo |
gravel-us |
US TIGER/Census specializations | + gravel-geo, gravel-datasets |
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
- Research depth (2.4.0) — capacity-aware importance (HCM PCE from OSM tags), stochastic fragility (Monte Carlo over per-edge failure probabilities, e.g. floodplain / FEMA-NFHL hazards), and experimental Motter–Lai cascading failure — all as disclosed, sweepable inputs
- Visualization (2.5.0) — real per-edge road geometry plus static (
plot_fragility), interactive (interactive_map), and animated (animate_failure, self-contained deck.gl HTML) maps viagravel-fragility[viz] - Dataset onboarding (2.6.0) — a unified
gravel.datasetslayer: a queryable catalog (list()/info()/summary()) plus per-dataset submodules with a consistent interface —osmandtigerloaders, andnfhl/shakemap/usdm/nrihazard overlays whosefetch(...)returns(GeoDataFrame, Provenance)and whoseedge_probabilities(...)feedsstochastic_fragility. Hazard fetchers need thegravel[datasets]extra (geopandas + shapely + pyproj) - Network substrates (2.7.0) — five non-road infrastructure networks in
gravel.datasets, eachload(...)returning(Graph, capacity):gridsfmandopfdata(power grids, capacity in MVA),caida(internet router topology),openflights(air routes), andgtfs(transit, persons/hour capacity), plus thet100BTS seat-capacity overlay for air graphs. Fragility analyses run on these graphs and their per-edge capacity, and the topological cascade on the graph structure, exactly like a road graph. The catalog now spans 12 datasets; loaders need only numpy
Performance
Measured on an Apple M-series laptop, 10 cores, Release build (2026-07-01; see
bench/baselines/routing_performance.md):
| Operation | 200K-node graph (Swain Co.) | 593K-node graph (Buncombe Co.) |
|---|---|---|
| OSM PBF load | 0.43s | 0.96s |
| CH build | 0.78s | 3.81s |
| CH distance query | 3.5 µs | 7.8 µs |
| CH route (with path unpacking) | 80.5 µs | 112.8 µs |
| Distance matrix cell (OpenMP, 10 threads) | 0.6 µs | 1.3 µs |
| Route fragility (per path edge, OpenMP) | ~13 ms | ~28 ms |
| Location fragility (MC=20, 50-mi radius) | 0.11 s | 1.0 s |
The parallel kernels (distance matrix, route fragility) scale ~5× from 1→10 threads on
this machine. macOS builds only gained working OpenMP in 2.3.0 (Apple Clang needs Homebrew
libomp) and route_fragility was parallelized in the same release — so on macOS those two
rows are roughly 5–9× faster than pre-2.3.0. Single-threaded operations (load, CH build,
point queries) are unchanged. Numbers vary by CPU; the perf_baseline.json Google-Benchmark
regression gate is refreshed separately via gravel_perf.
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.24+
- 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.9.0}
}
About
Gravel is an Awry Labs project — see the Gravel project page for an overview. Also from Awry Labs: Kindling.
Built by Robert Hoekstra — more projects and writing at awrylabs.com.
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.10.0.tar.gz.
File metadata
- Download URL: gravel_fragility-2.10.0.tar.gz
- Upload date:
- Size: 1.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d2e4fedac7d60e9c2fcb0c136c527e68aee4a8e07969c594450ff2fdec6eac2
|
|
| MD5 |
db43e0d270bb8feca29fd6ecaf4c1b94
|
|
| BLAKE2b-256 |
944cbe1d897ac08408ea062a7074057db07f036b924e53826209ac70c3060989
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0.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.10.0.tar.gz -
Subject digest:
0d2e4fedac7d60e9c2fcb0c136c527e68aee4a8e07969c594450ff2fdec6eac2 - Sigstore transparency entry: 2139776954
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 5.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 |
487268c338cffd4ad3ec9b02852ff323fed14c7fb41774816cde1e1dc356ed91
|
|
| MD5 |
e0705015383fc57531cbe9c977f5ce23
|
|
| BLAKE2b-256 |
66360c78128b95c98a8efae565192ce9ef22b530bd06c98658e95f6a3e3db2d9
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-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.10.0-cp313-cp313-win_amd64.whl -
Subject digest:
487268c338cffd4ad3ec9b02852ff323fed14c7fb41774816cde1e1dc356ed91 - Sigstore transparency entry: 2139777046
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 5.4 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d71418f503999bea554da4e860b4bf4db2fde54a1b3058b3172dd5d3ae2eabd
|
|
| MD5 |
6ffbac66cef0ed0c82674acc80091566
|
|
| BLAKE2b-256 |
f2708841803cd816abdfa486a72a729f40b6489399ee47146fd3bc289138da3a
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-cp313-cp313-manylinux_2_28_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.10.0-cp313-cp313-manylinux_2_28_x86_64.whl -
Subject digest:
0d71418f503999bea554da4e860b4bf4db2fde54a1b3058b3172dd5d3ae2eabd - Sigstore transparency entry: 2139777000
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp313-cp313-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp313-cp313-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 4.9 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9aced30189cbdc67a673e9adbed5ad7711deea3830371e17520446b4bfe804a
|
|
| MD5 |
ac627bcde3f67a3bbcb6a042dfdb666d
|
|
| BLAKE2b-256 |
63befcb3b4881d60796ab17ebd131ce2ea6b06265e9525ffa70ba40f2a843e7c
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-cp313-cp313-manylinux_2_28_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.10.0-cp313-cp313-manylinux_2_28_aarch64.whl -
Subject digest:
d9aced30189cbdc67a673e9adbed5ad7711deea3830371e17520446b4bfe804a - Sigstore transparency entry: 2139776975
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.1 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 |
599e58023b767e5cfdd2f4c7b1820eb6bd8c146ba8f89705ba8bce3ed5b07474
|
|
| MD5 |
a519810bda596daa425d72bf04b73aae
|
|
| BLAKE2b-256 |
064c03504c0474caf7c9910edd07f90d06ceae1b6b032b8388f58a20fff6afcf
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-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.10.0-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
599e58023b767e5cfdd2f4c7b1820eb6bd8c146ba8f89705ba8bce3ed5b07474 - Sigstore transparency entry: 2139777017
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 4.2 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 |
624d321e040e916ddb9ac0f087d13a5c4662b82e1b1e470ebc38d98c6b0aeb79
|
|
| MD5 |
081fb45aae2239aaae52f127d8704896
|
|
| BLAKE2b-256 |
b2ca92495cd5507f21b2216b48e13742187698301d7270f910137d5523b6b1d9
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-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.10.0-cp312-cp312-win_amd64.whl -
Subject digest:
624d321e040e916ddb9ac0f087d13a5c4662b82e1b1e470ebc38d98c6b0aeb79 - Sigstore transparency entry: 2139777057
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 4.1 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b11fc58c75431ccbc74e9f4fdfb0781da93aa997b4ea25a6d3e320808cd0648
|
|
| MD5 |
670327f434a6e563ee393279dcb44503
|
|
| BLAKE2b-256 |
8aeb3600ad80ee12ac148edc78d4262889d6193a2d7ba8a1170e90ee935feecb
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-cp312-cp312-manylinux_2_28_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.10.0-cp312-cp312-manylinux_2_28_x86_64.whl -
Subject digest:
6b11fc58c75431ccbc74e9f4fdfb0781da93aa997b4ea25a6d3e320808cd0648 - Sigstore transparency entry: 2139776963
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp312-cp312-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp312-cp312-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
539c91ab51fd8b365fc3e676281983f0b465f9cf44af40aa509b44c7b6f11ff9
|
|
| MD5 |
968b2142342abb4f1cd2598e772db805
|
|
| BLAKE2b-256 |
4f49fd62757a3169a962231eac26c6c2dd2d2084d4255a636d653ab15aecd6f8
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-cp312-cp312-manylinux_2_28_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.10.0-cp312-cp312-manylinux_2_28_aarch64.whl -
Subject digest:
539c91ab51fd8b365fc3e676281983f0b465f9cf44af40aa509b44c7b6f11ff9 - Sigstore transparency entry: 2139777026
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.2 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 |
93bbe18b4ad876f4c6cf24546ab0daa3d4bf3ebeb46ad31665428a8934378e53
|
|
| MD5 |
25e08085120d04bc0184d29f2f3dd860
|
|
| BLAKE2b-256 |
ec6d8eab65e20c82aa7c2a66a4ed6c3de5a0d665d54ab2de7d8a74237544a57e
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-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.10.0-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
93bbe18b4ad876f4c6cf24546ab0daa3d4bf3ebeb46ad31665428a8934378e53 - Sigstore transparency entry: 2139776969
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 3.4 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 |
601154201bc6ac60f2c4ac26c9116acf25fcfe78ac7e7781b99b7a35012b587c
|
|
| MD5 |
2833e780ef4fef95680cd7b6b1a8ac42
|
|
| BLAKE2b-256 |
3558d20692b21024a5160464744ef1471ac980faa37d9481e5e7a3d5f5b30a1c
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-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.10.0-cp311-cp311-win_amd64.whl -
Subject digest:
601154201bc6ac60f2c4ac26c9116acf25fcfe78ac7e7781b99b7a35012b587c - Sigstore transparency entry: 2139777074
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa8c77476a92272c7496845033f699cd0549f69c74d458d97aafc47194dddc1e
|
|
| MD5 |
c5513aa1287cc5aa41d53e257efd8a61
|
|
| BLAKE2b-256 |
806d1af3a6f5c2f7720bc67041427419b482070ab9018c2675a0193165cf0368
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-cp311-cp311-manylinux_2_28_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.10.0-cp311-cp311-manylinux_2_28_x86_64.whl -
Subject digest:
aa8c77476a92272c7496845033f699cd0549f69c74d458d97aafc47194dddc1e - Sigstore transparency entry: 2139777032
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp311-cp311-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp311-cp311-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd4f80d0c739c380301dbc705b0d817bda4d51038202ea449c49ebbb3ce0a45f
|
|
| MD5 |
703ec9b3b799a4f46db45b3298cd0a9f
|
|
| BLAKE2b-256 |
cb49fc63e50a197d949325443fd2cf172091ebccef2d386f21da487657e1e898
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-cp311-cp311-manylinux_2_28_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.10.0-cp311-cp311-manylinux_2_28_aarch64.whl -
Subject digest:
cd4f80d0c739c380301dbc705b0d817bda4d51038202ea449c49ebbb3ce0a45f - Sigstore transparency entry: 2139777005
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.3 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 |
60f46b36de68ecfe43fc0248e0174485a99d9183c69bfd79969191d7b1cc4f00
|
|
| MD5 |
bac91d9becbc2858c6ab9a2151fbfcb2
|
|
| BLAKE2b-256 |
7ca3d13e386fdc20c1db43a1f54abe3dd625c6e1c0a1fc78115120b19902f4e6
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-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.10.0-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
60f46b36de68ecfe43fc0248e0174485a99d9183c69bfd79969191d7b1cc4f00 - Sigstore transparency entry: 2139777087
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 2.5 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 |
37fe90852f7299682d2d1f0d90cb0a67ad4a6769afcc780d603ce3d66537585f
|
|
| MD5 |
2d3e5238fa2a3c7c220b423e72fd5afe
|
|
| BLAKE2b-256 |
f1a8c51e22eaef5e132b0a6e34a2281e7278b235b801e87b8eaa9d576ba1ccc0
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-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.10.0-cp310-cp310-win_amd64.whl -
Subject digest:
37fe90852f7299682d2d1f0d90cb0a67ad4a6769afcc780d603ce3d66537585f - Sigstore transparency entry: 2139777067
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0464404f08c77b7ce6fd7a4067a44f9b0fb78e53cc94a0b7e099e96189a304df
|
|
| MD5 |
d777b4eda6850dd8928ab5d261fe8922
|
|
| BLAKE2b-256 |
08e374d15feab0188e70d4746ae0747ef44beca23c47b6ca88834a405bae70e1
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-cp310-cp310-manylinux_2_28_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.10.0-cp310-cp310-manylinux_2_28_x86_64.whl -
Subject digest:
0464404f08c77b7ce6fd7a4067a44f9b0fb78e53cc94a0b7e099e96189a304df - Sigstore transparency entry: 2139777039
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp310-cp310-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp310-cp310-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70893714500de56f455e0fcade736f10f5dc117772a7acf061823858a5f620e9
|
|
| MD5 |
0499a17a90be618bf0c851eaa8903c0e
|
|
| BLAKE2b-256 |
2644fd176759f5905e5cea481e7a895d11db3527bbaab5d9ab0e7a410d3b376c
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-cp310-cp310-manylinux_2_28_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.10.0-cp310-cp310-manylinux_2_28_aarch64.whl -
Subject digest:
70893714500de56f455e0fcade736f10f5dc117772a7acf061823858a5f620e9 - Sigstore transparency entry: 2139776993
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gravel_fragility-2.10.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: gravel_fragility-2.10.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.3 MB
- 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 |
852f056318ce5c6de11a1a29ab037a47cbf6a1eebd9fdb8356d7370d91e795fd
|
|
| MD5 |
ff800736ac9099d3857fc2ce06d9ab31
|
|
| BLAKE2b-256 |
18355854d3931dea67a90fad638bbabb3a91d2130c201b80fbaf91356e018fca
|
Provenance
The following attestation bundles were made for gravel_fragility-2.10.0-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.10.0-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
852f056318ce5c6de11a1a29ab037a47cbf6a1eebd9fdb8356d7370d91e795fd - Sigstore transparency entry: 2139776984
- Sigstore integration time:
-
Permalink:
rhoekstr/gravel@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Branch / Tag:
refs/tags/v2.10.0 - Owner: https://github.com/rhoekstr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@6857cefc9dd4fc79fbd815a5493a2fa60d5a4321 -
Trigger Event:
push
-
Statement type: