Skip to main content

A Rust implementation of the Random Cut Forest algorithm for anomaly detection.

Project description

rcf3

A Rust implementation of the Random Cut Forest (RCF) algorithm for anomaly detection in streaming data.

Overview

Random Cut Forest is an ensemble-based anomaly detection algorithm that uses randomized decision trees to identify anomalies in both univariate and multivariate time series data. It's particularly effective for:

  • Anomaly Detection: Identifying unusual patterns in streaming data
  • Time Series Analysis: Detecting changes in temporal patterns and seasonality
  • Interpretability: Provides feature attribution scores to understand which dimensions contribute to anomalies

This implementation provides both Rust and Python APIs with support for advanced features like missing value imputation, neighborhood search, and time series forecasting.

Features

The crate supports several compile-time features:

std (enabled by default)

Enables use of the Rust standard library. Disable this for no_std environments:

[dependencies]
rcf3 = { version = "0.1", default-features = false }

serde (enabled by default)

Provides JSON serialization and deserialization support for Forest objects. Allows saving and loading trained models:

[dependencies]
rcf3 = { version = "0.1", features = ["serde", "std"] }

python (optional)

Builds Python bindings using PyO3, enabling use from Python. Automatically enables serde and std:

[dependencies]
rcf3 = { version = "0.1", features = ["python"] }

To use just the core algorithm without serialization:

[dependencies]
rcf3 = { version = "0.1", default-features = false, features = ["std"] }

Configuration Options

All forests are configured via RcfConfig with the following parameters:

Parameter Type Default Description
input_dim usize Required Number of base feature dimensions per observation (before shingling)
shingle_size usize 1 Temporal window size. When internal_shingling is true, the effective model dimension becomes input_dim * shingle_size
capacity usize 256 Maximum number of points stored per tree
num_trees usize 50 Number of trees in the ensemble
time_decay f64 0.0 Exponential time-decay rate applied to sampling weights. 0.0 uses the default: 0.1 / capacity
output_after usize 0 Minimum number of updates before score/attribution/etc. return non-trivial results. 0 uses the default: 1 + capacity / 4
internal_shingling bool true When true, the forest automatically manages the shingle buffer so callers pass one base observation at a time
initial_accept_fraction f64 0.125 Controls how quickly the sampler fills to capacity during warm-up

Rust API

Creating a Forest

Use the builder pattern to create a configured forest:

use rcf3::Forest;

let forest = Forest::builder(2)  // 2D input, shingle size 1 (default)
    .shingle_size(1)
    .num_trees(50)
    .capacity(256)
    .build()?;

With time series (shingling):

let forest = Forest::builder(4)  // 4D input, window size 8
    .shingle_size(8)
    .num_trees(100)
    .capacity(512)
    .time_decay(0.01)
    .build()?;

internal_shingling is true by default, so you only need to set it explicitly when turning it off.

From a config object:

use rcf3::{RcfConfig, Forest};

let config = RcfConfig::new(3)
    .with_num_trees(75)
    .with_capacity(512)
    .with_shingle_size(4);

let forest = Forest::from_config(&config)?;

Basic Operations

For online anomaly detection, the recommended order is to score first and then update. The snippets below are minimal API examples showing each operation separately.

Update the forest with a new observation:

let point = vec![1.5, 2.3];
forest.update(&point)?;

Check if the forest has warmed up:

if forest.is_ready() {
    let score = forest.score(&point)?;
    println!("Anomaly score: {}", score);
}

Get the number of observations processed:

println!("Entries seen: {}", forest.entries_seen());

Scoring Methods

Anomaly Score (RCF Score):

The primary anomaly metric. Lower scores indicate normal behavior; higher scores indicate anomalies.

let point = vec![1.5, 2.3, -0.5];
let score = forest.score(&point)?;
if score > threshold {
    println!("Anomaly detected!");
}

Displacement Score:

A displacement-based anomaly metric that measures how far a point is from the expected region:

let displacement = forest.displacement_score(&point)?;

Density Estimate:

Returns an estimate of the probability density at the given point. Higher density = normal behavior:

let density = forest.density(&point)?;

Feature Attribution

Understand which dimensions contribute to the anomaly score:

let point = vec![1.5, 2.3, 100.0];  // Third dimension is anomalous
let attribution = forest.attribution(&point)?;

for (i, attr) in attribution.iter().enumerate() {
    println!("Dimension {}: below={}, above={}", i, attr.below, attr.above);
}

Each dimension returns below and above scores indicating how much that dimension contributes to the overall anomaly:

  • above: contribution from cuts above the query value (query is unusually small)
  • below: contribution from cuts below the query value (query is unusually large)

Neighborhood Search

Find approximate near-neighbors of a query point:

let point = vec![1.5, 2.3];
let neighbors = forest.near_neighbors(&point, 10, 50)?;

for neighbor in neighbors {
    println!("Distance: {}, Score: {}", neighbor.distance, neighbor.score);
    println!("Point: {:?}", neighbor.point);
}

Parameters:

  • top_k: Maximum number of neighbors to return (default 10)
  • percentile: Percentile threshold for filtering candidates (default 50)

Missing Value Imputation

Impute missing dimensions using learned data distribution:

let point = vec![1.5, f32::NAN, 3.0];  // Missing value at index 1
let missing = vec![1];  // Indices of missing dimensions
let imputed = forest.impute(&point, &missing, 1.0)?;

println!("Imputed value at index 1: {}", imputed[1]);

Parameters:

  • point: Full-dimensional query (missing values will be ignored)
  • missing: Indices of dimensions to impute
  • centrality: Controls how deterministic the imputation is (1.0 = always pick nearest candidate)

Time Series Forecasting

Predict future observations (requires internal_shingling = true and shingle_size > 1):

let forest = Forest::builder(4)
    .shingle_size(8)
    .build()?;

// Feed observations one at a time
for point in stream {
    forest.update(&point)?;
}

// Predict the next 5 observations (look_ahead must be <= shingle_size)
let predictions = forest.extrapolate(5)?;
// Returns a flat list of length 5 * input_dim

Serialization

Save and load trained models using JSON:

// Save to string
let json_str = forest.to_json()?;

// Save to file
forest.save_json("forest.json")?;

// Load from string
let loaded = Forest::from_json(&json_str)?;

// Load from file
let loaded = Forest::load_json("forest.json")?;

Python API

The Python API mirrors the Rust interface. Create forests, update them, and compute scores exactly like in Rust:

Creating a Forest

from rcf3 import Forest

forest = Forest(
    input_dim=2,
    shingle_size=1,
    num_trees=50,
    capacity=256,
)

With time series:

forest = Forest(
    input_dim=4,
    shingle_size=8,
    num_trees=100,
    capacity=512,
    time_decay=0.01,
    internal_shingling=True,
)

Basic Operations

# Update the forest
point = [1.5, 2.3]
forest.update(point)

# Check if ready
if forest.is_ready():
    score = forest.score(point)
    print(f"Anomaly score: {score}")

# Get the number of observations processed
print(f"Entries seen: {forest.entries_seen()}")

Scoring Methods

point = [1.5, 2.3, -0.5]

# Anomaly score
score = forest.score(point)

# Displacement score
displacement = forest.displacement_score(point)

# Density estimate
density = forest.density(point)

Feature Attribution

point = [1.5, 2.3, 100.0]
attribution = forest.attribution(point)

for i, attr in enumerate(attribution):
    print(f"Dimension {i}: below={attr['below']}, above={attr['above']}")

Neighborhood Search

point = [1.5, 2.3]
neighbors = forest.near_neighbors(point, top_k=10, percentile=50)

for neighbor in neighbors:
    print(f"Distance: {neighbor['distance']}")
    print(f"Score: {neighbor['score']}")
    print(f"Point: {neighbor['point']}")

Missing Value Imputation

point = [1.5, float('nan'), 3.0]
missing = [1]  # Index to impute
imputed = forest.impute(point, missing, centrality=1.0)

print(f"Imputed value: {imputed[1]}")

Time Series Forecasting

forest = Forest(
    input_dim=4,
    shingle_size=8,
    internal_shingling=True,
)

# Feed observations one at a time
for point in stream:
    forest.update(point)

# Predict next 5 observations
predictions = forest.extrapolate(5)
# Returns a list of length 5 * input_dim

Serialization

# Save to string
json_str = forest.to_json()

# Save to file
forest.save_json("forest.json")

# Load from string
loaded = Forest.from_json(json_str)

# Load from file
loaded = Forest.load_json("forest.json")

You can also use pickle for Python serialization:

import pickle

# Save
with open("forest.pkl", "wb") as f:
    pickle.dump(forest, f)

# Load
with open("forest.pkl", "rb") as f:
    forest = pickle.load(f)

Example: Detecting Anomalies in a Data Stream

Rust

use rcf3::Forest;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut forest = Forest::builder(3)
        .shingle_size(1)
        .capacity(256)
        .num_trees(50)
        .build()?;

    // Warm up the forest with many normal data points
    for i in 0..200 {
        let val = (i as f32) * 0.01;
        forest.update(&vec![1.0 + val, 2.0 + val, 3.0 + val])?;
    }

    let data = vec![
        vec![1.0, 2.0, 3.0],
        vec![1.1, 2.1, 3.1],
        vec![1.2, 2.2, 3.2],
        vec![100.0, 200.0, 300.0], // Extreme anomaly
        vec![1.3, 2.3, 3.3],
    ];

    let mut anomaly_count = 0;
    for point in data {
        // Online inference order: score first, then update.
        if forest.is_ready() {
            let score = forest.score(&point)?;
            let attribution = forest.attribution(&point)?;

            println!("Point: {:?}, Score: {}", point, score);

            // Lower threshold since we're detecting a very extreme anomaly
            if score > 0.1 {
                println!("Anomaly detected: score={}", score);
                for (i, attr) in attribution.iter().enumerate() {
                    println!("  Dimension {}: {:.2}", i, attr.above);
                }
                anomaly_count += 1;
            }
        }

        forest.update(&point)?;
    }

    println!("Total anomalies detected: {}", anomaly_count);

    Ok(())
}

Python

from rcf3 import Forest

forest = Forest(input_dim=3, capacity=256, num_trees=50)

# Warm up the forest with many normal data points
for i in range(200):
    val = i * 0.01
    forest.update([1.0 + val, 2.0 + val, 3.0 + val])

data = [
    [1.0, 2.0, 3.0],
    [1.1, 2.1, 3.1],
    [1.2, 2.2, 3.2],
    [100.0, 200.0, 300.0],  # Extreme anomaly
    [1.3, 2.3, 3.3],
]

anomaly_count = 0
for point in data:
    # Online inference order: score first, then update.
    if forest.is_ready():
        score = forest.score(point)
        attribution = forest.attribution(point)

        print(f"Point: {point}, Score: {score}")

        # Lower threshold since we're detecting a very extreme anomaly
        if score > 0.1:
            print(f"Anomaly detected: score={score}")
            for i, attr in enumerate(attribution):
                print(f"  Dimension {i}: {attr['above']:.2f}")
            anomaly_count += 1

    forest.update(point)

print(f"Total anomalies detected: {anomaly_count}")

License

Licensed under the Apache License 2.0.

Project details


Download files

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

Source Distribution

rcf3-0.2.0.tar.gz (67.3 kB view details)

Uploaded Source

Built Distributions

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

rcf3-0.2.0-pp311-pypy311_pp73-win_amd64.whl (272.3 kB view details)

Uploaded PyPyWindows x86-64

rcf3-0.2.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl (354.2 kB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

rcf3-0.2.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl (335.9 kB view details)

Uploaded PyPymanylinux: glibc 2.28+ ARM64

rcf3-0.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl (322.4 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

rcf3-0.2.0-cp314-cp314t-win_arm64.whl (252.4 kB view details)

Uploaded CPython 3.14tWindows ARM64

rcf3-0.2.0-cp314-cp314t-win_amd64.whl (269.4 kB view details)

Uploaded CPython 3.14tWindows x86-64

rcf3-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl (564.9 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

rcf3-0.2.0-cp314-cp314t-musllinux_1_2_riscv64.whl (410.7 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ riscv64

rcf3-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl (511.2 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

rcf3-0.2.0-cp314-cp314t-manylinux_2_34_riscv64.whl (342.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.34+ riscv64

rcf3-0.2.0-cp314-cp314t-manylinux_2_28_x86_64.whl (352.7 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

rcf3-0.2.0-cp314-cp314t-manylinux_2_28_aarch64.whl (334.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

rcf3-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl (320.6 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

rcf3-0.2.0-cp311-abi3-win_arm64.whl (255.9 kB view details)

Uploaded CPython 3.11+Windows ARM64

rcf3-0.2.0-cp311-abi3-win_amd64.whl (272.5 kB view details)

Uploaded CPython 3.11+Windows x86-64

rcf3-0.2.0-cp311-abi3-musllinux_1_2_x86_64.whl (566.6 kB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ x86-64

rcf3-0.2.0-cp311-abi3-musllinux_1_2_riscv64.whl (412.5 kB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ riscv64

rcf3-0.2.0-cp311-abi3-musllinux_1_2_aarch64.whl (512.7 kB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ ARM64

rcf3-0.2.0-cp311-abi3-manylinux_2_34_riscv64.whl (344.4 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.34+ riscv64

rcf3-0.2.0-cp311-abi3-manylinux_2_28_x86_64.whl (354.4 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ x86-64

rcf3-0.2.0-cp311-abi3-manylinux_2_28_aarch64.whl (336.1 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

rcf3-0.2.0-cp311-abi3-macosx_11_0_arm64.whl (322.5 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

File details

Details for the file rcf3-0.2.0.tar.gz.

File metadata

  • Download URL: rcf3-0.2.0.tar.gz
  • Upload date:
  • Size: 67.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0.tar.gz
Algorithm Hash digest
SHA256 425451aaa737ff8ce141cad3d2c18494550f2dcd67f3d1c820e8a1b265e43b73
MD5 a6cd735029d749a9231dbf2453b45dab
BLAKE2b-256 8836bafc23f38b0264c8fdfc415a2ba03615ca221f1c3b33cef591689a7bd231

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0.tar.gz:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-pp311-pypy311_pp73-win_amd64.whl.

File metadata

  • Download URL: rcf3-0.2.0-pp311-pypy311_pp73-win_amd64.whl
  • Upload date:
  • Size: 272.3 kB
  • Tags: PyPy, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-pp311-pypy311_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 d2eb7d757b509007022c00b60a90e395a4c0ccf8d915887cd485fa99938b06d5
MD5 9b5e531e857c4ef6196c7fe3308a4f1d
BLAKE2b-256 ce86154780b921ffbd38b9d6ce344c25313d4046f8c3d00722fe2d59e8cfe34d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-pp311-pypy311_pp73-win_amd64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: rcf3-0.2.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 354.2 kB
  • Tags: PyPy, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eba4c2419de9a9c84cf715466cd5f2fc86fc6ba361d4ccbee0357ecdae58142e
MD5 8db1a00d0883f5acddc05e223fa23512
BLAKE2b-256 4e8b9bb176fb5a3e1864ba4044bb30cb8ffc7d123c8502bba7ecacd2fa5e5ee5

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl.

File metadata

  • Download URL: rcf3-0.2.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 335.9 kB
  • Tags: PyPy, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 db60c9f3f8a51d2334713e52cfd5158422336e088ecb45b37d7555bf6c00cae5
MD5 b9ccbd674609f569e2fd5c4e4fd0d935
BLAKE2b-256 8ad6ee5e70ab02c499109848ca5dadd174cb4eb1e100b944c120801053390c7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl.

File metadata

  • Download URL: rcf3-0.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 322.4 kB
  • Tags: PyPy, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bfb7110b1bcb04ddbfade660860c19604ef201f19486ffc7adfc03d181e64366
MD5 a182018863316b1506093f3ad81690ca
BLAKE2b-256 2fe5eb4c7a3ea517d648d54f127270d3a72c76b3c81b29e4258181a2426fae60

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp314-cp314t-win_arm64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp314-cp314t-win_arm64.whl
  • Upload date:
  • Size: 252.4 kB
  • Tags: CPython 3.14t, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 dcee877650ea9007f4630e20cb8aa64b16e5701daab1e451ad2e27c03266917f
MD5 2d144fe6b9980a0a99ae9e849206ac25
BLAKE2b-256 97fb1959c200c004b59a4f11340b2581df19651c1492f6efc6c4a61cece8d910

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp314-cp314t-win_arm64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 269.4 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 dbe13c4a45267bab467ea8caa860b1a69a80e56e01e70c34feb275af036413fb
MD5 a97b2e10e9652ddb3477a99b57ae46ac
BLAKE2b-256 a5a7de5c81c70c564bab4e8bc6b4cf9136c51edead61074c644513b32ae848e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp314-cp314t-win_amd64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 564.9 kB
  • Tags: CPython 3.14t, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c67fe3901a04faae549010310adc448b562afb266834045181475521e7f2304b
MD5 da3fda9654b56073e7742f4076c3971b
BLAKE2b-256 fa5da88b2214b8a0a363c0f723bc3b0170d4864bb6c8a8484835cb0becca3b5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp314-cp314t-musllinux_1_2_riscv64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp314-cp314t-musllinux_1_2_riscv64.whl
  • Upload date:
  • Size: 410.7 kB
  • Tags: CPython 3.14t, musllinux: musl 1.2+ riscv64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp314-cp314t-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 e564e4f14b13a7c38693d4413af5ae056839374db44cae9761b56e768a4f7c72
MD5 f449e0017ecd2799ad9d9ccb8de5c9e8
BLAKE2b-256 b35aeeb1e2cfc1c9db9ee22d3ee4570623934faa443bf2ff1ac15cc7e8b5b747

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp314-cp314t-musllinux_1_2_riscv64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 511.2 kB
  • Tags: CPython 3.14t, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4ee59808f8721d8ca5dc2b82277282bd17b56fa65da2221abca0d74ccdb0bfff
MD5 166f43090df416626148a15127320950
BLAKE2b-256 b6434cd5b7b0a5f2a328de827c51ad5495e2e3aba2520409714355a3ba4491af

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp314-cp314t-manylinux_2_34_riscv64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp314-cp314t-manylinux_2_34_riscv64.whl
  • Upload date:
  • Size: 342.9 kB
  • Tags: CPython 3.14t, manylinux: glibc 2.34+ riscv64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp314-cp314t-manylinux_2_34_riscv64.whl
Algorithm Hash digest
SHA256 156bc5d2579837611565f513c249c235c393c2c2b697b48cb0b7548d1f61a086
MD5 3cf26897aaa37e09e879976cab24fc29
BLAKE2b-256 ca3a70a3af764d266a4db3ef651275b17c93338d5d76ae1889669c892fa6c2f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp314-cp314t-manylinux_2_34_riscv64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp314-cp314t-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 352.7 kB
  • Tags: CPython 3.14t, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8a0aefed064d941e2b141eb4edcdf484d9894d90ad1c4e1a727143102ec25302
MD5 16f30f205c799705bae6b1ca600b57bf
BLAKE2b-256 32464c857cd1015140249b0698f216f7a717ed74442a1bfbfca86f3a48726cdf

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp314-cp314t-manylinux_2_28_x86_64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp314-cp314t-manylinux_2_28_aarch64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp314-cp314t-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 334.6 kB
  • Tags: CPython 3.14t, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b58438f28dccdc6d15c9b1e300eb7f34bf1b52032cff25baad9d203b83c5b1da
MD5 6748880b4b561a22cc6f1b44bd3b3625
BLAKE2b-256 4707d9cad39edc5eb0a55b21f6296ca9c852f3349a6fad49a3290ac02422e259

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp314-cp314t-manylinux_2_28_aarch64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 320.6 kB
  • Tags: CPython 3.14t, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8015828a840c09797150361849edb7eb20b2ad5b01098e3f7adaf74b6bf25862
MD5 8f9dc30688513e9514c3cb239edcac3e
BLAKE2b-256 58846c2fbd75600c7034ad5ba759bfb027c743a369a95c0b75dd677300d3c67a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp311-abi3-win_arm64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp311-abi3-win_arm64.whl
  • Upload date:
  • Size: 255.9 kB
  • Tags: CPython 3.11+, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp311-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 624ec142705f4af4dffa9f36e58eb0c8908cb713345a34a14b376ed291cc796a
MD5 592588caacb713b0b438e187db28f47a
BLAKE2b-256 ddb9b3c5fc53c95136d64e15cb58c84f6082bc187a00ec13406d548c53ba9965

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp311-abi3-win_arm64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 272.5 kB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f593e00d441710b97e0bf6268f04c1514479ac55bee0e3c464742730738bd45b
MD5 2d731d1f246ae5ec09c2f87bf318e111
BLAKE2b-256 ddeab6b315aa0db80335088181bfb7279621911d031c5328144582190b6e9db8

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp311-abi3-win_amd64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp311-abi3-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp311-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 566.6 kB
  • Tags: CPython 3.11+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp311-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6eda4ce04f11e9f859caaf44a663470f1180e6e45770da23279c38d1b02004be
MD5 b3ff23d18de77e2def4bc7e2ceaec09d
BLAKE2b-256 052f35bd31f53d35d3d56bbfba83888b4a35e8db8bbfa10310c8437a39a717d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp311-abi3-musllinux_1_2_x86_64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp311-abi3-musllinux_1_2_riscv64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp311-abi3-musllinux_1_2_riscv64.whl
  • Upload date:
  • Size: 412.5 kB
  • Tags: CPython 3.11+, musllinux: musl 1.2+ riscv64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp311-abi3-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 74caf99e11fe384b507ba60855ebf5f2c3de87c77c4dee6f8483415faefabaf0
MD5 b9410b34fd238bcda07736534543840d
BLAKE2b-256 d28d498e6c52b4a2ef131e68bd8e0b1d40ac337bc983a20a1fc911c881ff17ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp311-abi3-musllinux_1_2_riscv64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp311-abi3-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp311-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 512.7 kB
  • Tags: CPython 3.11+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp311-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 168947bba956c0eceecd55145a3154428d59d8cf8988535197029c084acf0994
MD5 96035f7ae6386018665267afcf2d89bf
BLAKE2b-256 6b733db74153845851ce68a5d43d8ad38e5d2c768ab117aeab335974ea40756f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp311-abi3-musllinux_1_2_aarch64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp311-abi3-manylinux_2_34_riscv64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp311-abi3-manylinux_2_34_riscv64.whl
  • Upload date:
  • Size: 344.4 kB
  • Tags: CPython 3.11+, manylinux: glibc 2.34+ riscv64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp311-abi3-manylinux_2_34_riscv64.whl
Algorithm Hash digest
SHA256 c63229dc46bd9d1b6a44976b70eee2f58a10cd77bb6a9010be6ac8d3cc036bf1
MD5 07d34568f12e10852d5c50c8a261fe6b
BLAKE2b-256 26ae8ff949dee3135d19074d23a940fc3db92a9c632720de682389a5cc1667fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp311-abi3-manylinux_2_34_riscv64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp311-abi3-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 354.4 kB
  • Tags: CPython 3.11+, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 af49c780a666327b493c04bd5f4ced09d8379ba73a380ca8be75bc94654d3642
MD5 d052b6f2c27e3ab0b837cb2ffbddc394
BLAKE2b-256 074308fe53b0981e737ee6a484fc9a7c002f20881d61a980a94f55246567d29f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp311-abi3-manylinux_2_28_x86_64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp311-abi3-manylinux_2_28_aarch64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp311-abi3-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 336.1 kB
  • Tags: CPython 3.11+, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 63b5c07befb65630edbeb2ee7a807cdb7b2564bcd272e1b6843f661798c757c4
MD5 51dd8469638beb290c53fb87ed6518d0
BLAKE2b-256 eb6c67e7f168f43e9cdba94615cf4379fb16bf466c4957324270e800c03ce80b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp311-abi3-manylinux_2_28_aarch64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

File details

Details for the file rcf3-0.2.0-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: rcf3-0.2.0-cp311-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 322.5 kB
  • Tags: CPython 3.11+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rcf3-0.2.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3f47d986dda05eb1ceb9e1eb957f0c4e45e0b42b7aec4ce98e5fe5a616837c63
MD5 8c95f9ee028662a822c3683dbf91742a
BLAKE2b-256 e248ffb737fb00c225349372ba4cf2114a9071ea55fc4c0b253bd27dc4e4b04b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rcf3-0.2.0-cp311-abi3-macosx_11_0_arm64.whl:

Publisher: release.yaml on Bing-su/rcf3

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page