Rust computation core and Python bindings for the Climate Risk Commons Framework
Project description
Climate Risk Commons Framework
The Climate Risk Commons Framework provides a reusable Rust computation core and typed Python bindings for climate-risk calculations. It turns climate-hazard distributions into comparable impact microscores, scenario branches, and portfolio-level VaR/CVaR risk metrics.
This repository owns the native computation layer. The Python distribution is
named crc-framework and imported as crc_framework. It packages the PyO3
extension together with a typed binding layer. Higher-level, application-
specific Python functionality is intended to live in a separate package that
depends on and may re-export this API.
Features
- Empirical, tabulated, and parametric probability distributions
- Explicit parametric fitting with diagnostics and acceptance constraints
- Built-in and composable exposure-to-impact transforms
- Climate impact registry keyed by risk factor and scenario context
- Microscores that turn distribution quantiles into binary risk outcomes
- Spanning sets, VaR, CVaR, and factor-level attribution
- H3-based IPCC region, continent, and country lookups
Installation
Install the published Python wheel with:
python -m pip install crc-framework
The package requires Python 3.9 or later. Installing a compatible prebuilt wheel does not require a Rust toolchain. Building from source requires Rust 1.85 or later and a C compiler suitable for building Python extensions.
Verify the installation:
python -c "import crc_framework; print(crc_framework.__doc__)"
For local development, create an environment and install the project in editable mode:
python -m venv .venv
.venv/bin/python -m pip install --upgrade pip maturin
.venv/bin/python -m pip install -e ".[test]"
After changing Rust code, rebuild the extension:
.venv/bin/maturin develop
Core concepts
Distributions
All calculations are expressed through a distribution interface with pdf,
cdf, ppf, quantiles, and sample operations. Scalar and NumPy array
inputs are supported for the evaluation methods.
Choose a distribution according to the form of the available data:
EmpiricalDistributionfor raw observations.TabulatedDistributionfor explicit probability/value pairs.FittedDistributionfor a known parametric family and its parameters.HurdleDistributionfor a point mass followed by a truncated parametric tail.
TabulatedDistribution does not extrapolate by default. Querying outside its
declared probability range raises an error unless extrapolate=True is set.
Probability convention
All metric APIs use non-exceedance probability q in [0, 1]. Return periods
are accepted only when constructing a tabulated distribution. For upper-tail
hazards, a return period T is converted to q = 1 - 1/T; therefore, the
upper-tail 100-year return level is queried at q=0.99.
Fitting
Fitting is always explicit. Metrics sample the distribution supplied by the caller and never silently substitute a fitted curve. This makes the modelling choice auditable.
fit_distribution accepts raw observations or an EmpiricalDistribution and
selects among the supported families using the
Kolmogorov–Smirnov p-value. The supported families are genextreme,
weibull_min, weibull_max, skewnorm, gumbel_r, gumbel_l, and
genpareto. The returned FitResult includes KS, RMSE, and R-squared
diagnostics. Passing a tabulated or fitted distribution is an error: those
values are not independent observations.
Use fit_quantiles for probability/value knots. It minimizes weighted
value-space differences between the supplied values and the selected family's
PPF, requires an explicit family, and reports residual diagnostics rather than
KS statistics:
from crc_framework import TabulatedDistribution, fit_quantiles
curve = TabulatedDistribution.from_return_periods(
[5, 10, 25, 50, 100],
[0.2, 0.6, 1.1, 1.5, 1.9],
tail="upper",
)
fit = fit_quantiles(curve, family="gumbel_r")
For a known point mass, use fit_hurdle_quantiles and supply its probability;
the framework does not infer an exact mass from sparse zero-valued knots:
from crc_framework import fit_hurdle_quantiles
fit = fit_hurdle_quantiles(
curve,
family="gumbel_r",
atom_probability=0.5,
atom_location=0.0,
)
TabulatedDistribution remains the lossless interpolation of the supplied
knots. Parametric and hurdle fits are lossy, so systems that require source
reconstruction must persist the original probability/value pairs separately.
Create microscores from flood exposure
from crc_framework import (
RiskFactor,
ScenarioMetadata,
TabulatedDistribution,
TransformContext,
generate_microscores,
impacts,
)
exposure = TabulatedDistribution.from_return_periods(
periods=[10, 20, 50, 100, 200, 500],
values=[0.1, 0.2, 0.5, 0.9, 1.4, 2.0],
tail="upper",
)
impact = impacts.for_factor(
RiskFactor.CFLOOD,
context=TransformContext(
continent="Europe",
building_type="Commercial buildings",
),
)(exposure)
suite = generate_microscores(
exposure,
impact=impact,
probabilities=[0.95, 0.99],
metadata=ScenarioMetadata(factor=RiskFactor.CFLOOD.value),
)
generate_microscores returns a MicroscoreSuite. Use suite.scores to
inspect sampled exposure and impact values, suite.at(q) to obtain the binary
outcome at a requested probability, and exposure_statistics and
impact_statistics for summary diagnostics.
Fit observations explicitly
import numpy as np
from crc_framework import EmpiricalDistribution, FitConstraints, fit_distribution
observations = np.array([0.1, 0.2, 0.4, 0.7, 1.1, 1.8])
empirical = EmpiricalDistribution(observations)
fit = fit_distribution(
empirical,
family="auto",
constraints=FitConstraints(probability=0.99, maximum_value=3.0),
)
median = fit.distribution.ppf(0.5)
print(fit.distribution.family, fit.diagnostics.ks_pvalue, median)
Pass family="auto" (the default) to select a family, a family name to fit a
specific family, or use fit_all to inspect every candidate. Use
quality_metrics to calculate diagnostics for a selected fitted distribution.
Evaluate impacts
Impact functions expose two deliberately distinct operations:
impact.evaluate(values, context=...)evaluates event-aligned exposure values. Input shape and order are preserved, including for decreasing or non-monotonic callables. This is the appropriate operation when return periods continue to identify the source hazard events.impact(distribution, probabilities=..., context=...)transforms an exposure distribution into an impact distribution. Decreasing built-in transforms reorder the resulting quantiles so the output remains a valid distribution for risk metrics.
The built-in LinearImpact, SigmoidImpact, and PiecewiseLinearImpact
support both operations. CallableImpact adapts a vectorized NumPy callable
for point evaluation, while the backward-compatible CallableTransform also
supports distribution transformation.
import numpy as np
from crc_framework import CallableImpact, LinearImpact, generate_microscores
impact_function = LinearImpact(slope=0.25, maximum=1.0)
event_impacts = impact_function.evaluate(np.array([0.5, 2.0]))
impact = impact_function(exposure)
suite = generate_microscores(
exposure,
impact=impact,
probabilities=[0.95, 0.99],
)
custom = CallableImpact(lambda values: np.clip(values / 2.0, 0.0, 1.0))
custom_event_impacts = custom.evaluate(np.array([0.5, 2.0]))
impacts.for_factor(...) selects a registry-backed climate transform. Supply a
TransformContext with the relevant geography, building type, and historical
values; pass overrides when an application needs to replace transform
parameters. Registry-backed impacts support the same point and distribution
interfaces, with point evaluation delegated directly to the native registry.
Aggregate factor outcomes
Each microscore can be converted to a BinaryOutcome. Combine outcomes into
the full set of independent downside/upside branches, then calculate VaR and
CVaR at one or more confidence levels:
from crc_framework import BinaryOutcome, compute_risk, compute_spanning_set
outcomes = [
BinaryOutcome("flood", downside_probability=0.05, downside_impact=0.4),
BinaryOutcome("fire", downside_probability=0.10, downside_impact=0.2),
]
branches = compute_spanning_set(outcomes)
risk = compute_risk(outcomes, levels=[0.80, 0.95])
level_95 = risk.at(0.95)
print(len(branches)) # 4: two possible outcomes per factor
print(level_95.var, level_95.cvar)
Branch generation grows as 2**n for n factors. Set max_branches on
compute_spanning_set or compute_risk to enforce an application-specific
limit. RiskLevel.attribution reports each factor's contribution to VaR and
CVaR.
Spatial helpers
Spatial helpers accept an H3 cell as an integer or string, normalize it to H3
resolution 4, and return None when no reference mapping exists.
from crc_framework import lookup_geography, lookup_ipcc_region
cell = 600550049193132031
geography = lookup_geography(cell)
region = lookup_ipcc_region(cell)
if geography is not None:
print(geography.continent, geography.countries)
print(region)
lookup_continent returns a continent name, lookup_ipcc_region returns the
IPCC region, and lookup_geography returns a Geography object with the
continent and intersecting ISO3 country codes.
Public API
The package exports the following primary interfaces:
- Distributions:
EmpiricalDistribution,TabulatedDistribution,FittedDistribution,HurdleDistribution,fit_distribution,fit_quantiles,fit_hurdle_quantiles,fit_all, andquality_metrics. - Transforms:
impacts,ImpactRegistry,ImpactFunction,ClimateImpact,LinearImpact,SigmoidImpact,PiecewiseLinearImpact,CallableImpact, andCallableTransform. - Metrics:
generate_microscores,compute_spanning_set, andcompute_risk. - Models and constants:
ScenarioMetadata,TransformContext,RiskFactor,Pathway,RISK_FACTORS,PATHWAYS, andHORIZONS. - Spatial lookup:
lookup_continent,lookup_ipcc_region, andlookup_geography.
Package structure
crates/corecontains the reusable Rust algorithms and reference data.src/lib.rsexposes the Rust core through PyO3.python/crc_frameworkcontains the typed Python binding layer and type information shipped in the wheel.
Consumers should import the stable crc_framework API rather than importing
crc_framework._core directly. The _core module is an implementation detail
and may change between releases.
License
CRC Framework is licensed under the GNU Affero General Public License, version
3 or any later version (AGPL-3.0-or-later). See LICENSE.
Parts of the numerical distribution implementation are derived from or informed by SciPy and Cephes. Their applicable copyright notices and license terms are preserved in THIRD_PARTY_NOTICES.md.
Development
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
.venv/bin/python -m mypy
.venv/bin/python -m pytest
.venv/bin/maturin build --release
Run maturin develop again after changing the Rust extension. Python-only
changes are available directly from the editable installation.
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 crc_framework-0.2.0.tar.gz.
File metadata
- Download URL: crc_framework-0.2.0.tar.gz
- Upload date:
- Size: 5.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96466d9261432db56238b16f3cd76d911a2d3455e0928e3a3feac8548bd1d31c
|
|
| MD5 |
a4f6cc4af60d6ddefb73e50e70c5cfe9
|
|
| BLAKE2b-256 |
f5557c48f133effc81b50ddb4ad8560b021569aad2fe786fa00abe731794fca1
|
Provenance
The following attestation bundles were made for crc_framework-0.2.0.tar.gz:
Publisher:
release.yaml on RiskThinking/crc-framework-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
crc_framework-0.2.0.tar.gz -
Subject digest:
96466d9261432db56238b16f3cd76d911a2d3455e0928e3a3feac8548bd1d31c - Sigstore transparency entry: 2306545569
- Sigstore integration time:
-
Permalink:
RiskThinking/crc-framework-rs@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RiskThinking
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Trigger Event:
push
-
Statement type:
File details
Details for the file crc_framework-0.2.0-cp314-cp314t-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: crc_framework-0.2.0-cp314-cp314t-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.14t, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5347fa348680397cce3c92c45b582039ffb70fa8909092e230463f88897c2cec
|
|
| MD5 |
2c8a729cfc2584bf67f63e83b951048c
|
|
| BLAKE2b-256 |
eddca579547a996bbc5bde5a1dff9239c9e79793065cdc9a9ccacc3882d05b0b
|
Provenance
The following attestation bundles were made for crc_framework-0.2.0-cp314-cp314t-manylinux_2_28_x86_64.whl:
Publisher:
release.yaml on RiskThinking/crc-framework-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
crc_framework-0.2.0-cp314-cp314t-manylinux_2_28_x86_64.whl -
Subject digest:
5347fa348680397cce3c92c45b582039ffb70fa8909092e230463f88897c2cec - Sigstore transparency entry: 2306545957
- Sigstore integration time:
-
Permalink:
RiskThinking/crc-framework-rs@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RiskThinking
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Trigger Event:
push
-
Statement type:
File details
Details for the file crc_framework-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl.
File metadata
- Download URL: crc_framework-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.14t, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3638c7a6e747af6ac0ffce30d03a54317bc898acbbe944e169b0c41f98e1c779
|
|
| MD5 |
0373b269903d9ad67e646c9b29279527
|
|
| BLAKE2b-256 |
2bd2aa71be522968efbede66d426c4282eafa1b5f9ff03c9ad1db4377d1288fd
|
Provenance
The following attestation bundles were made for crc_framework-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl:
Publisher:
release.yaml on RiskThinking/crc-framework-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
crc_framework-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl -
Subject digest:
3638c7a6e747af6ac0ffce30d03a54317bc898acbbe944e169b0c41f98e1c779 - Sigstore transparency entry: 2306546772
- Sigstore integration time:
-
Permalink:
RiskThinking/crc-framework-rs@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RiskThinking
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Trigger Event:
push
-
Statement type:
File details
Details for the file crc_framework-0.2.0-cp314-cp314t-macosx_10_12_x86_64.whl.
File metadata
- Download URL: crc_framework-0.2.0-cp314-cp314t-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.14t, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1282ccff8c4fda45acf799dbd07a3e83b61c94d06e2e464a3e591cb41ad00a20
|
|
| MD5 |
56e3a675ebe7ea293351fa0e2330e56b
|
|
| BLAKE2b-256 |
f9f18bd0082c3716c2a1ecb4ead174d8478cf084b1f64493391195c7f8b5c471
|
Provenance
The following attestation bundles were made for crc_framework-0.2.0-cp314-cp314t-macosx_10_12_x86_64.whl:
Publisher:
release.yaml on RiskThinking/crc-framework-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
crc_framework-0.2.0-cp314-cp314t-macosx_10_12_x86_64.whl -
Subject digest:
1282ccff8c4fda45acf799dbd07a3e83b61c94d06e2e464a3e591cb41ad00a20 - Sigstore transparency entry: 2306545663
- Sigstore integration time:
-
Permalink:
RiskThinking/crc-framework-rs@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RiskThinking
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Trigger Event:
push
-
Statement type:
File details
Details for the file crc_framework-0.2.0-cp314-cp314-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: crc_framework-0.2.0-cp314-cp314-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbf8822e8c56fb639d263dfa91b363428e54b68e412d2d844ad4d78959a0dca0
|
|
| MD5 |
44fb717d6f731d43ed7ee8817668296b
|
|
| BLAKE2b-256 |
58bd4b84efcd11cab412c8db6eeb4a9b1cf60414cbda46b4578f7d38482b2981
|
Provenance
The following attestation bundles were made for crc_framework-0.2.0-cp314-cp314-manylinux_2_28_x86_64.whl:
Publisher:
release.yaml on RiskThinking/crc-framework-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
crc_framework-0.2.0-cp314-cp314-manylinux_2_28_x86_64.whl -
Subject digest:
dbf8822e8c56fb639d263dfa91b363428e54b68e412d2d844ad4d78959a0dca0 - Sigstore transparency entry: 2306546678
- Sigstore integration time:
-
Permalink:
RiskThinking/crc-framework-rs@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RiskThinking
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Trigger Event:
push
-
Statement type:
File details
Details for the file crc_framework-0.2.0-cp313-cp313t-macosx_11_0_arm64.whl.
File metadata
- Download URL: crc_framework-0.2.0-cp313-cp313t-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.13t, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71efec12e7ee56484ba2d61e4919ee7c5e37e4d7f166dba719142878d436e9eb
|
|
| MD5 |
22832a75e27b71a39ad0d77989043772
|
|
| BLAKE2b-256 |
17f7a18215202a681fa1e7fb11f485c21e85ffd7b015e6444e67bb919dca2482
|
Provenance
The following attestation bundles were made for crc_framework-0.2.0-cp313-cp313t-macosx_11_0_arm64.whl:
Publisher:
release.yaml on RiskThinking/crc-framework-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
crc_framework-0.2.0-cp313-cp313t-macosx_11_0_arm64.whl -
Subject digest:
71efec12e7ee56484ba2d61e4919ee7c5e37e4d7f166dba719142878d436e9eb - Sigstore transparency entry: 2306546834
- Sigstore integration time:
-
Permalink:
RiskThinking/crc-framework-rs@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RiskThinking
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Trigger Event:
push
-
Statement type:
File details
Details for the file crc_framework-0.2.0-cp313-cp313t-macosx_10_12_x86_64.whl.
File metadata
- Download URL: crc_framework-0.2.0-cp313-cp313t-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.13t, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1cabaf5dd6bb63b4a9fe1128a0917a506664905d4f26483dce5fd962950a9dd6
|
|
| MD5 |
91d4459ea3943784d6d5cabffae0dc95
|
|
| BLAKE2b-256 |
5ddff318ba1cafd69fa66b04ba575a79b346864662dee0e62ad90000faa33f11
|
Provenance
The following attestation bundles were made for crc_framework-0.2.0-cp313-cp313t-macosx_10_12_x86_64.whl:
Publisher:
release.yaml on RiskThinking/crc-framework-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
crc_framework-0.2.0-cp313-cp313t-macosx_10_12_x86_64.whl -
Subject digest:
1cabaf5dd6bb63b4a9fe1128a0917a506664905d4f26483dce5fd962950a9dd6 - Sigstore transparency entry: 2306546054
- Sigstore integration time:
-
Permalink:
RiskThinking/crc-framework-rs@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RiskThinking
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Trigger Event:
push
-
Statement type:
File details
Details for the file crc_framework-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: crc_framework-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fc7e8373ba8a801c7d511c3e354322dfa3f21b1d1b9c781dc2c06d88daac01f
|
|
| MD5 |
f1d20a54869435d9c075d129eb75bbcf
|
|
| BLAKE2b-256 |
32f218e0f32e42a95ae70865501c95bd24aa5ba5e1f6639cf61696941a4071fb
|
Provenance
The following attestation bundles were made for crc_framework-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl:
Publisher:
release.yaml on RiskThinking/crc-framework-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
crc_framework-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl -
Subject digest:
2fc7e8373ba8a801c7d511c3e354322dfa3f21b1d1b9c781dc2c06d88daac01f - Sigstore transparency entry: 2306546509
- Sigstore integration time:
-
Permalink:
RiskThinking/crc-framework-rs@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RiskThinking
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Trigger Event:
push
-
Statement type:
File details
Details for the file crc_framework-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: crc_framework-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7582230132a6c19002ec6e94a2623cb0448246ff5e986402cae6f4d8ef2cfc05
|
|
| MD5 |
56941fc24ef426e9d0284e000966c24f
|
|
| BLAKE2b-256 |
5141362fb5f01fe33da4b7dcdfae482b6d6ba01fdbbb15b7b719c528ce9e7c89
|
Provenance
The following attestation bundles were made for crc_framework-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl:
Publisher:
release.yaml on RiskThinking/crc-framework-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
crc_framework-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl -
Subject digest:
7582230132a6c19002ec6e94a2623cb0448246ff5e986402cae6f4d8ef2cfc05 - Sigstore transparency entry: 2306546289
- Sigstore integration time:
-
Permalink:
RiskThinking/crc-framework-rs@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RiskThinking
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Trigger Event:
push
-
Statement type:
File details
Details for the file crc_framework-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: crc_framework-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad6c3e1551428fd055d35761e4281f2ce4c67051e46ecdedf31c98ebd0bc5ff2
|
|
| MD5 |
d77f89615e20806eebcb0287afd9fbf3
|
|
| BLAKE2b-256 |
6ced3f4519e4fd8c6e634c3e8c5e4e9ea0658bc23ec92a937de10cca680e4001
|
Provenance
The following attestation bundles were made for crc_framework-0.2.0-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
release.yaml on RiskThinking/crc-framework-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
crc_framework-0.2.0-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
ad6c3e1551428fd055d35761e4281f2ce4c67051e46ecdedf31c98ebd0bc5ff2 - Sigstore transparency entry: 2306546416
- Sigstore integration time:
-
Permalink:
RiskThinking/crc-framework-rs@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RiskThinking
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Trigger Event:
push
-
Statement type:
File details
Details for the file crc_framework-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl.
File metadata
- Download URL: crc_framework-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.12, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32d53116d298b642df7ff018c113e5a04f270c8996de06b22dcac14d315aa410
|
|
| MD5 |
4e85d222b7d9a167dd7e70e6d797f64e
|
|
| BLAKE2b-256 |
3840e5cbf76e6b6b9c8592a72b8008cb34e04b61b15ad8d464a2ee19e54254a6
|
Provenance
The following attestation bundles were made for crc_framework-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl:
Publisher:
release.yaml on RiskThinking/crc-framework-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
crc_framework-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl -
Subject digest:
32d53116d298b642df7ff018c113e5a04f270c8996de06b22dcac14d315aa410 - Sigstore transparency entry: 2306546599
- Sigstore integration time:
-
Permalink:
RiskThinking/crc-framework-rs@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RiskThinking
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Trigger Event:
push
-
Statement type:
File details
Details for the file crc_framework-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: crc_framework-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d47498c6f9a5ac6492f92a5d88294bbe4f7ec6dbd433f54516fd626078995540
|
|
| MD5 |
fc05bb42d282f81842d9e858a1e7ac6a
|
|
| BLAKE2b-256 |
0b2ee80226db02ca35f046870ddf7b6530dd44a6d1e2834d3982f6c7083d15f7
|
Provenance
The following attestation bundles were made for crc_framework-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl:
Publisher:
release.yaml on RiskThinking/crc-framework-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
crc_framework-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl -
Subject digest:
d47498c6f9a5ac6492f92a5d88294bbe4f7ec6dbd433f54516fd626078995540 - Sigstore transparency entry: 2306546171
- Sigstore integration time:
-
Permalink:
RiskThinking/crc-framework-rs@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RiskThinking
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Trigger Event:
push
-
Statement type:
File details
Details for the file crc_framework-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: crc_framework-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ca5b4e6a9e4a4d6afb329eb3370831223eece86191bf4bc00728529ecfd9efb
|
|
| MD5 |
df0cc17ed075fe2fae451cad93237d7b
|
|
| BLAKE2b-256 |
cfd1981e36947395321a645b08f12f5424b752aa92bb13d035ba5e4088ed9966
|
Provenance
The following attestation bundles were made for crc_framework-0.2.0-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
release.yaml on RiskThinking/crc-framework-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
crc_framework-0.2.0-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
3ca5b4e6a9e4a4d6afb329eb3370831223eece86191bf4bc00728529ecfd9efb - Sigstore transparency entry: 2306545845
- Sigstore integration time:
-
Permalink:
RiskThinking/crc-framework-rs@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RiskThinking
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Trigger Event:
push
-
Statement type:
File details
Details for the file crc_framework-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl.
File metadata
- Download URL: crc_framework-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.11, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb0aabad160dbe9e1189bd74568c42fae4807b00ec7e485efc3cbe93e3e78dd2
|
|
| MD5 |
9a3794af906eebb8708c30fee1e117f8
|
|
| BLAKE2b-256 |
d242a8ed55d51d6dadba3eed9c7061d8a4609762fa1cce2132be5a8b3cc00837
|
Provenance
The following attestation bundles were made for crc_framework-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl:
Publisher:
release.yaml on RiskThinking/crc-framework-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
crc_framework-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl -
Subject digest:
bb0aabad160dbe9e1189bd74568c42fae4807b00ec7e485efc3cbe93e3e78dd2 - Sigstore transparency entry: 2306545770
- Sigstore integration time:
-
Permalink:
RiskThinking/crc-framework-rs@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RiskThinking
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d67a08db3a6157e20a41f641b6c575f6b7ca8474 -
Trigger Event:
push
-
Statement type: