Skip to main content

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:

  • EmpiricalDistribution for raw observations.
  • TabulatedDistribution for explicit probability/value pairs.
  • FittedDistribution for a known parametric family and its parameters.
  • HurdleDistribution for a point mass followed by a truncated parametric tail.
  • PointMassDistribution for a value that is constant at every probability.

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, PointMassDistribution, fit_distribution, fit_quantiles, fit_hurdle_quantiles, fit_all, and quality_metrics.
  • Transforms: impacts, ImpactRegistry, ImpactFunction, ClimateImpact, LinearImpact, SigmoidImpact, PiecewiseLinearImpact, CallableImpact, and CallableTransform.
  • Metrics: generate_microscores, compute_spanning_set, and compute_risk.
  • Models and constants: ScenarioMetadata, TransformContext, RiskFactor, Pathway, RISK_FACTORS, PATHWAYS, and HORIZONS.
  • Spatial lookup: lookup_continent, lookup_ipcc_region, and lookup_geography.

Package structure

  • crates/core contains the reusable Rust algorithms and reference data.
  • src/lib.rs exposes the Rust core through PyO3.
  • python/crc_framework contains 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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crc_framework-0.2.5.tar.gz (5.9 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

crc_framework-0.2.5-cp314-cp314t-manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

crc_framework-0.2.5-cp314-cp314t-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

crc_framework-0.2.5-cp314-cp314t-macosx_10_12_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

crc_framework-0.2.5-cp314-cp314-manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

crc_framework-0.2.5-cp313-cp313-manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

crc_framework-0.2.5-cp313-cp313-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

crc_framework-0.2.5-cp313-cp313-macosx_10_12_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

crc_framework-0.2.5-cp312-cp312-manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

crc_framework-0.2.5-cp312-cp312-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

crc_framework-0.2.5-cp312-cp312-macosx_10_12_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

crc_framework-0.2.5-cp311-cp311-manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

crc_framework-0.2.5-cp311-cp311-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

crc_framework-0.2.5-cp311-cp311-macosx_10_12_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

Details for the file crc_framework-0.2.5.tar.gz.

File metadata

  • Download URL: crc_framework-0.2.5.tar.gz
  • Upload date:
  • Size: 5.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for crc_framework-0.2.5.tar.gz
Algorithm Hash digest
SHA256 e84035f28c238aa7a1bf5070a0478f171434c3bd2b7da2363a6be32f96ddafd9
MD5 425117acf8cb96a5a26b6692ff63c73e
BLAKE2b-256 dc89224c8f39681f263e252bbd24e2b9ab0fb5b27235930a2d5be0d3eb1dc3b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for crc_framework-0.2.5.tar.gz:

Publisher: release.yaml on RiskThinking/crc-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crc_framework-0.2.5-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for crc_framework-0.2.5-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d09a3273eaa813ef9cdba3a4dc145332342776b569620937972bf33dc9f59535
MD5 3eecfce90bd54d738084901bb71c8229
BLAKE2b-256 f7ea80d330e5c7cb82b2dd52a8eb233208885edd4fbdc593dbcd5c0c4ce3a000

See more details on using hashes here.

Provenance

The following attestation bundles were made for crc_framework-0.2.5-cp314-cp314t-manylinux_2_28_x86_64.whl:

Publisher: release.yaml on RiskThinking/crc-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crc_framework-0.2.5-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crc_framework-0.2.5-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 13fbfb7e84b1c920c544e2ea71ab2189b53d74de06ad938ba3a7bd11a65b9144
MD5 891052ecabe96960765827b812b74675
BLAKE2b-256 cbd233fec93ce54c407d1f9c35b6cf9a6dbeff41d0a9ebb045179f89189f87be

See more details on using hashes here.

Provenance

The following attestation bundles were made for crc_framework-0.2.5-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: release.yaml on RiskThinking/crc-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crc_framework-0.2.5-cp314-cp314t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for crc_framework-0.2.5-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 638258774a3c030784ca8529e547b0e73aefe7a155cc6a28996b69fb1221fced
MD5 5cb74673305bc6ba9bf2e3a13fce0c3f
BLAKE2b-256 75709db625b8d727e2a5df5e96218fcf08ba939fd821dea22776162b4d897034

See more details on using hashes here.

Provenance

The following attestation bundles were made for crc_framework-0.2.5-cp314-cp314t-macosx_10_12_x86_64.whl:

Publisher: release.yaml on RiskThinking/crc-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crc_framework-0.2.5-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for crc_framework-0.2.5-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fc05f2088e967b0f93dc8c7c3dbf724a1b73d101202cdc44f91030aff055ad4e
MD5 4dd429612bc0784f428f24a3c34475c6
BLAKE2b-256 6a720e9eee8d692ad7c1edf09f59531ec6cccf37f9461abdefe38bb88528ae12

See more details on using hashes here.

Provenance

The following attestation bundles were made for crc_framework-0.2.5-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: release.yaml on RiskThinking/crc-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crc_framework-0.2.5-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for crc_framework-0.2.5-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 43573dcdce3ae96df2458be898455128fa2df2871be95db5bb14ec527c5d8694
MD5 8c6687a9b919b9443f88f3a5f1d646af
BLAKE2b-256 46db0dc47e59b7a1ede1b1e8a164b710872b313658306e47701a9ca06d5759a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for crc_framework-0.2.5-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: release.yaml on RiskThinking/crc-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crc_framework-0.2.5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crc_framework-0.2.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d17f80c3b3590ae9df57dcea70cc077184fa91a53275ebf0af4faecd3046a2b1
MD5 d63fe08c52c7faa433c0b10df46a14ed
BLAKE2b-256 02f3ae1d911a34a0cffd879216b7b129e9127945012f97e3f502199412336576

See more details on using hashes here.

Provenance

The following attestation bundles were made for crc_framework-0.2.5-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yaml on RiskThinking/crc-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crc_framework-0.2.5-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for crc_framework-0.2.5-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 673a4daeff4c5aab87119a373b97ace843f1ff2a01af60f0f6be331f4317ff3d
MD5 e742ba0396efd6ea4b1bcd26acef6486
BLAKE2b-256 68b5842198a886befd876e673f1deedf15c6a6fac41bf1270f48664dfbb171bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for crc_framework-0.2.5-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: release.yaml on RiskThinking/crc-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crc_framework-0.2.5-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for crc_framework-0.2.5-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e85c94678d9c2bc9207e9351111b6ea473b77546327fddeb74527e8ec8f64e40
MD5 a8f165a01e66639513737a542634a205
BLAKE2b-256 f908e6c1524d0bf9c64c2a26cac24e135566e802bbb23d35e7b587d81b7fc910

See more details on using hashes here.

Provenance

The following attestation bundles were made for crc_framework-0.2.5-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: release.yaml on RiskThinking/crc-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crc_framework-0.2.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crc_framework-0.2.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b193d19742f8cac3ce86b2ff144a213bbac0c781306d3dcc8a9ac8402e9ac42b
MD5 fe843d419f7bd86ee0d4d66cb12b66aa
BLAKE2b-256 f6100dcdb8598f50622870e8b78f2e41a661c4d41b998ab6fabd2cf88da3ce52

See more details on using hashes here.

Provenance

The following attestation bundles were made for crc_framework-0.2.5-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yaml on RiskThinking/crc-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crc_framework-0.2.5-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for crc_framework-0.2.5-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 247a9880033f84d9b0e84a715bc5ed19dab061370e6d71a1a02fdef3da61b2dd
MD5 739d2444e820087dc6163ae966783989
BLAKE2b-256 45896eab8a8fbe3cf15ce1739cde2cdbe9d1b156520fa7bf7829a55e54afda11

See more details on using hashes here.

Provenance

The following attestation bundles were made for crc_framework-0.2.5-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release.yaml on RiskThinking/crc-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crc_framework-0.2.5-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for crc_framework-0.2.5-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 40ca07250237257cb71d984603193f9ecaeff102ad7244b2f7068627868d898f
MD5 26ff308b0c25f35d1ed56d0f49489227
BLAKE2b-256 883069d7df8dc0a88759a8403a8bb4c47c2e0aced158b356624660e33055ea5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for crc_framework-0.2.5-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: release.yaml on RiskThinking/crc-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crc_framework-0.2.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crc_framework-0.2.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bf8a272cb943f6820448e852fbd5f2e2ade4913157c1111baae2a774066dac17
MD5 0c973c49030f0ce225e2a94150cc0f6d
BLAKE2b-256 ec44ea7a55e5e378b26b5c09ec38ba8b37b2b8824c7693c22ec85e96b4667b74

See more details on using hashes here.

Provenance

The following attestation bundles were made for crc_framework-0.2.5-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yaml on RiskThinking/crc-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crc_framework-0.2.5-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for crc_framework-0.2.5-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 85117d9be800472729ab0c508af3dda8e306c12f059c64f527235b783d0dfa99
MD5 04929ca5ab5c789812d753fefff665d4
BLAKE2b-256 a678e3afe650b20aefd758fe2294dca3aa9caa3e051a023e73ad57ac40a81da4

See more details on using hashes here.

Provenance

The following attestation bundles were made for crc_framework-0.2.5-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: release.yaml on RiskThinking/crc-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.5 This release

14 files

0.2.4

14 files

0.2.1

14 files

0.2.0

14 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page