Skip to main content

High-performance statistical inference engine — MLE, Bayesian, survival, GLM, time series. Rust core with Python bindings.

Project description

NextStat

License: AGPL-3.0 Rust Python

NextStat is a high-performance statistical fitting toolkit for High Energy Physics (HEP), implemented in Rust with Python bindings.

The God Run (toy-based CLs)

  • Model: S+B HistFactory (synthetic), 50 channels × 4 bins, 201 parameters (mu + 200 nuisances)
  • Task: CLs via toy-based q~_mu
  • Load: 10,000 toys (b-only) + 10,000 toys (s+b)
  • Machine: Apple M5 (arm64), macOS-26.2-arm64-arm-64bit-Mach-O
  • Versions: nextstat 0.1.0, pyhf 0.7.6, Python 3.13.11
  • Recorded: 2026-02-07 (UTC)
  • Commit: 88d57856
Tool Wall time Speedup
NextStat (Rayon) 3.47 s 1.0×
pyhf (multiprocessing, 10 procs) 50m 11.7s 868.0×

Reproduce:

PYTHONPATH=bindings/ns-py/python ./.venv/bin/python scripts/god_run_benchmark.py --n-toys 10000

What You Get

  • pyhf JSON compatibility (HistFactory-style workspaces)
  • Native HS3 (HEP Statistics Serialization Standard) v0.2 support — load ROOT 6.37+ HS3 JSON directly, auto-detected alongside pyhf
  • Native ROOT TTree reader with mmap I/O, rayon-parallel basket decompression, and columnar extraction — no ROOT C++ dependency
  • Ntuple-to-workspace pipeline: ROOT ntuples → histograms → HistFactory workspace (TRExFitter replacement)
  • Expression engine for string-based selections and weights ("njet >= 4 && pt > 25.0")
  • Negative log-likelihood (Poisson + constraints), including Barlow-Beeston auxiliary terms
  • Maximum Likelihood Estimation (L-BFGS-B) with uncertainties via (damped) Hessian-based covariance + diagonal fallback
  • NUTS sampling surface (generic Posterior API) + optional ArviZ integration
  • SIMD kernels, Rayon parallelism, Apple Accelerate (vDSP/vForce), and optional GPU acceleration (CUDA for NVIDIA, Metal for Apple Silicon)
  • Rust library, Python package (PyO3/maturin), and a CLI
  • Implemented packs: regression/GLM, hierarchical models, time series (Kalman/EM/forecast), econometrics/causal helpers, and PK/NLME baselines

Docs

  • Docs index: docs/README.md
  • Tutorials (end-to-end): docs/tutorials/README.md
  • References (CLI/Python/Rust/Server/Tools): docs/references/
  • Demo: Physics Assistant (ROOT -> anomaly scan -> p-values + plots): docs/demos/physics-assistant.md

Quickstart

Install (Rust)

cargo add ns-core ns-inference ns-compute

Install (Python)

Requires Python 3.11+. macOS ships with Python 3.9 via Xcode CLI Tools — upgrade with brew install python@3.13 before installing.

pip install nextstat

Build From Source

git clone https://github.com/NextStat/nextstat.io.git
cd nextstat.io

# Rust workspace
cargo build --release

# Python bindings (editable dev install)
cd bindings/ns-py
maturin develop --release

Try the Playground (WASM)

Run asymptotic CLs upper limits (Brazil bands) in the browser (no Python, no server) using a pyhf-style workspace.json.

From the repo root:

rustup target add wasm32-unknown-unknown
cargo install wasm-bindgen-cli --version 0.2.108

make playground-build-wasm
make playground-serve

Open http://localhost:8000/ and drag & drop a workspace.json (example: playground/examples/simple_workspace.json).

Usage

Rust API

use ns_inference::mle::MaximumLikelihoodEstimator;
use ns_translate::pyhf::{HistFactoryModel, HistoSysInterpCode, NormSysInterpCode, Workspace};

let json = std::fs::read_to_string("workspace.json")?;
let workspace: Workspace = serde_json::from_str(&json)?;

// Default interpolation (NextStat "smooth" defaults): NormSys=Code4, HistoSys=Code4p.
// For strict HistFactory/pyhf defaults, use Code1/Code0:
let model = HistFactoryModel::from_workspace_with_settings(
    &workspace,
    NormSysInterpCode::Code1,
    HistoSysInterpCode::Code0,
)?;

let mle = MaximumLikelihoodEstimator::new();
let result = mle.fit(&model)?;

println!("Best-fit params: {:?}", result.parameters);
println!("NLL at minimum: {}", result.nll);

Python API

import json

import nextstat

workspace = json.loads(open("workspace.json").read())
model = nextstat.from_pyhf(json.dumps(workspace))
result = nextstat.fit(model)

poi_idx = model.poi_index()
print("POI index:", poi_idx)
print("Best-fit POI:", result.bestfit[poi_idx])
print("Uncertainty:", result.uncertainties[poi_idx])

Population PK (nlme_foce) with multi-cpt FO/ITS/IMP

import nextstat

times = [0.5, 1.0, 2.0, 4.0, 8.0] * 4
subject_idx = [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3]
y = [8.0, 6.2, 4.1, 2.6, 1.2] * 4

fit_fo = nextstat.nlme_foce(
    times,
    y,
    subject_idx,
    4,
    model="2cpt_iv",
    method="fo",
    doses=[120.0],  # length-1 broadcasts to all subjects
    theta_init=[1.2, 15.0, 0.8, 20.0],
    omega_init=[0.2, 0.2, 0.2, 0.2],
    error_model="additive",
    sigma=0.1,
)

fit_imp = nextstat.nlme_foce(
    times,
    y,
    subject_idx,
    4,
    model="3cpt_iv",
    method="imp",
    doses=[120.0],
    theta_init=[1.1, 14.0, 0.7, 18.0, 0.5, 28.0],
    omega_init=[0.2] * 6,
    imp_n_iter=5,
    imp_n_samples=100,
    error_model="additive",
    sigma=0.1,
)

Unbinned (event-level) API

Compile an event-level likelihood from an unbinned_spec_v0 JSON/YAML file and run fits/scans:

import nextstat

analysis = nextstat.unbinned.from_config("unbinned.json")
fit = analysis.fit()
print("NLL:", fit.nll)

scan = analysis.scan([0.0, 0.5, 1.0, 2.0])
print("mu_hat:", scan["mu_hat"])

cls = analysis.hypotest_toys(1.0, n_toys=2000, seed=42)
print("CLs:", cls)

Bayesian (NUTS) + ArviZ

Install optional deps:

pip install "nextstat[bayes]"

Run sampling and get an ArviZ InferenceData:

import json
from pathlib import Path

import nextstat

workspace = json.loads(Path("workspace.json").read_text())
model = nextstat.from_pyhf(json.dumps(workspace))

idata = nextstat.bayes.sample(
    model,
    n_chains=2,
    n_warmup=500,
    n_samples=1000,
    seed=42,
    target_accept=0.8,
)

print(idata)

Viz (CLs Brazil bands, profile scans)

Install optional deps:

pip install "nextstat[viz]"

Compute artifacts and plot (matplotlib):

import json
import numpy as np
from pathlib import Path

import nextstat

workspace = json.loads(Path("workspace.json").read_text())
model = nextstat.from_pyhf(json.dumps(workspace))

scan = np.linspace(0.0, 5.0, 101)
cls_art = nextstat.viz.cls_curve(model, scan, alpha=0.05)
nextstat.viz.plot_cls_curve(cls_art, title="CLs Brazil band")

mu = [0.0, 0.5, 1.0, 2.0]
prof_art = nextstat.viz.profile_curve(model, mu)
nextstat.viz.plot_profile_curve(prof_art, title="Profile likelihood scan")

Ntuple → Workspace (TRExFitter replacement)

use ns_translate::NtupleWorkspaceBuilder;

let ws = NtupleWorkspaceBuilder::new()
    .ntuple_path("ntuples/")
    .tree_name("events")
    .measurement("meas", "mu")
    .add_channel("SR", |ch| {
        ch.variable("mbb")
          .binning(&[0., 50., 100., 150., 200., 300.])
          .selection("njet >= 4 && pt > 25.0")
          .data_file("data.root")
          .add_sample("signal", |s| {
              s.file("ttH.root")
               .weight("weight_mc * weight_sf")
               .normfactor("mu")
          })
          .add_sample("background", |s| {
              s.file("ttbar.root")
               .weight("weight_mc * weight_sf")
               .normsys("bkg_norm", 0.9, 1.1)
               .weight_sys("jes", "weight_jes_up", "weight_jes_down")
               .tree_sys("jer", "jer_up.root", "jer_down.root")
               .staterror()
          })
    })
    .build()?;  // → Workspace (same type as pyhf JSON path)

No ROOT C++ dependency. ~8.5x faster than uproot+numpy on the full pipeline.

Low-level TTree access

use ns_root::RootFile;

let file = RootFile::open("data.root")?;
let tree = file.get_tree("events")?;

// Columnar access
let pt: Vec<f64> = file.branch_data(&tree, "pt")?;
let eta: Vec<f64> = file.branch_data(&tree, "eta")?;

// Expression engine
let expr = ns_root::CompiledExpr::compile("pt > 25.0 && abs(eta) < 2.5")?;

CLI

nextstat fit --input workspace.json
nextstat --interp-defaults pyhf fit --input workspace.json   # NormSys=Code1, HistoSys=Code0
nextstat hypotest --input workspace.json --mu 1.0 --expected-set
nextstat hypotest-toys --input workspace.json --mu 1.0 --n-toys 10000 --seed 42 --threads 0
nextstat hypotest-toys --input workspace.json --mu 1.0 --n-toys 10000 --gpu cuda   # NVIDIA GPU (f64)
nextstat hypotest-toys --input workspace.json --mu 1.0 --n-toys 10000 --gpu metal  # Apple Silicon GPU (f32)
nextstat upper-limit --input workspace.json --expected --scan-start 0 --scan-stop 5 --scan-points 201
nextstat version

Documentation

  • Tutorial index: docs/tutorials/README.md
  • Python API reference: docs/references/python-api.md
  • Rust API reference: docs/references/rust-api.md
  • CLI reference: docs/references/cli.md
  • Playground (browser/WASM): docs/references/playground.md (and playground/README.md)

Architecture

NextStat follows a "clean architecture" style: inference depends on stable abstractions, not on specific execution backends.

┌─────────────────────────────────────────────────────────────────┐
│                        HIGH-LEVEL LOGIC                          │
│  ns-inference (MLE, Profile Likelihood, Hypothesis Tests, ...)   │
│  - depends on core types and model interfaces                     │
└─────────────────────────┬───────────────────────────────────────┘
                          │ depends on abstractions
┌─────────────────────────┴───────────────────────────────────────┐
│                      ns-core (interfaces)                        │
│  - error types, FitResult, traits                                 │
└─────────────────────────┬───────────────────────────────────────┘
                          │ implemented by
┌─────────────────────────┴───────────────────────────────────────┐
│                    LOW-LEVEL IMPLEMENTATIONS                     │
│  ns-translate (pyhf + ntuple → Workspace)  ns-compute (SIMD/CUDA/Metal) │
│  ns-ad (dual/tape AD)  ns-root (ROOT I/O, TTree, expressions)    │
└─────────────────────────────────────────────────────────────────┘

Project Layout

nextstat/
├── crates/
│   ├── ns-core/         # Core types, traits, error handling
│   ├── ns-compute/      # SIMD kernels, Apple Accelerate, CUDA/Metal batch NLL+grad
│   ├── ns-ad/           # Automatic differentiation (dual/tape)
│   ├── ns-root/         # Native ROOT file reader (TH1, TTree, expressions, filler)
│   ├── ns-translate/    # Format translators (pyhf, HS3, HistFactory XML, ntuple builder)
│   ├── ns-inference/    # MLE, NUTS, CLs, GLM, time series, PK/NLME
│   ├── ns-viz/          # Visualization artifacts
│   └── ns-cli/          # CLI binary
├── bindings/
│   └── ns-py/           # Python bindings (PyO3/maturin)
├── docs/
│   ├── legal/
│   ├── plans/
│   └── references/
└── tests/

Development

Requirements

  • Rust 1.93+ (edition 2024)
  • Python 3.11+ (for bindings)
  • maturin (for Python bindings)

Build and Test

# Build
cargo build --workspace

# Build with CUDA support (requires nvcc)
cargo build --workspace --features cuda

# Build with Metal support (Apple Silicon, macOS)
cargo build --workspace --features metal

# Tests (default features)
cargo test --workspace

# Tests including optional backends (CUDA requires nvcc)
cargo test --workspace --all-features

# Opt-in slow Rust tests (toys, SBC, NUTS quality gates)
make rust-slow-tests

# Very slow (release) regression check
make rust-very-slow-tests

# Format and lint
cargo fmt --check
cargo clippy --workspace -- -D warnings

Python Tests

Local test runs should use the repo venv (it pins a Python version compatible with the built extension).

# Run fast Python tests (parity + API contracts)
PYTHONPATH=bindings/ns-py/python ./.venv/bin/python -m pytest -q -m "not slow" tests/python

# Run slow toy regression tests (opt-in)
PYTHONPATH=bindings/ns-py/python NS_RUN_SLOW=1 NS_TOYS=200 NS_SEED=0 ./.venv/bin/python -m pytest -q -m slow tests/python

Benchmarks

# Compile and run all benches
cargo bench --workspace

# Common entry points
cargo bench -p ns-translate --bench model_benchmark
cargo bench -p ns-translate --bench nll_benchmark
cargo bench -p ns-compute --bench simd_benchmark
cargo bench -p ns-inference --bench mle_benchmark
cargo bench -p ns-inference --bench hypotest_benchmark
cargo bench -p ns-ad --bench ad_benchmark
cargo bench -p ns-core --bench core_benchmark

Details (quick mode, baselines, CI workflows): docs/benchmarks.md.

Apex2 Baselines (pyhf + P6 GLM)

Record a reference baseline (writes JSON under tmp/baselines/ with a full environment fingerprint):

make apex2-baseline-record

Compare current HEAD vs the latest recorded baseline (writes tmp/baseline_compare_report.json):

make apex2-baseline-compare

Pre-release gate runbook: see CONTRIBUTING.md § Release Checklist.

Documentation

  • White paper (Markdown): docs/WHITEPAPER.md
  • White paper (PDF): built by python3 scripts/build_whitepaper.py and attached to GitHub Releases on tags (v*)
  • Internal plans/design notes are maintained outside this public repository.

Contributing

See CONTRIBUTING.md. All commits must include DCO sign-off (git commit -s).

License

NextStat uses a dual-licensing model:

  • Open Source: LICENSE (AGPL-3.0-or-later)
  • Commercial: LICENSE-COMMERCIAL

Contact

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

nextstat-0.9.8.tar.gz (2.3 MB view details)

Uploaded Source

Built Distributions

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

nextstat-0.9.8-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

nextstat-0.9.8-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

nextstat-0.9.8-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

nextstat-0.9.8-cp314-cp314-win_amd64.whl (10.1 MB view details)

Uploaded CPython 3.14Windows x86-64

nextstat-0.9.8-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

nextstat-0.9.8-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

nextstat-0.9.8-cp314-cp314-macosx_11_0_arm64.whl (8.5 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nextstat-0.9.8-cp314-cp314-macosx_10_12_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

nextstat-0.9.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.1 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

nextstat-0.9.8-cp313-cp313-win_amd64.whl (10.1 MB view details)

Uploaded CPython 3.13Windows x86-64

nextstat-0.9.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

nextstat-0.9.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

nextstat-0.9.8-cp313-cp313-macosx_11_0_arm64.whl (8.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nextstat-0.9.8-cp313-cp313-macosx_10_12_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

nextstat-0.9.8-cp312-cp312-win_amd64.whl (10.1 MB view details)

Uploaded CPython 3.12Windows x86-64

nextstat-0.9.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

nextstat-0.9.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

nextstat-0.9.8-cp312-cp312-macosx_11_0_arm64.whl (8.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nextstat-0.9.8-cp312-cp312-macosx_10_12_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

nextstat-0.9.8-cp311-cp311-win_amd64.whl (10.1 MB view details)

Uploaded CPython 3.11Windows x86-64

nextstat-0.9.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

nextstat-0.9.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

nextstat-0.9.8-cp311-cp311-macosx_11_0_arm64.whl (8.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

nextstat-0.9.8-cp311-cp311-macosx_10_12_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

Details for the file nextstat-0.9.8.tar.gz.

File metadata

  • Download URL: nextstat-0.9.8.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nextstat-0.9.8.tar.gz
Algorithm Hash digest
SHA256 09b650e2cc2c44cce0ab40e390f5fa99b41506c4848345c77221d66275bba176
MD5 b99b5e156829c870e8071314a866d4b2
BLAKE2b-256 1b10058468ef2a2b3c492b4a99867ce27b7ba057c407c49a14e5c57f08541cac

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8.tar.gz:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 64f97197add7e4fc837d6adb5cbcf84e67922a79d321a826487d10f985ecaef3
MD5 da06b02bedd59fae4dc18669852110e9
BLAKE2b-256 de0d82efe794843460173c4e8069777ff9a09e2ced1a8cbe8dd7a1766b1632b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3b9e1fec94ad02332a47d8bb4f4f26915b197c0d2d524343f4448d30faaccc13
MD5 1b4e92c191c50b1dbb326f8015683e22
BLAKE2b-256 a4963f3c23630564c47c32d9f836a5cc9d657572dd4eaf3e80fe3c0e854175d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f11eaad4c4e2ac5264b5faf7b55cd2f8d0fd3f0b93f3c81850097b5005c4d5e6
MD5 45730fd8ad09815266abc18ddd0c5ec0
BLAKE2b-256 e7d34e7312e04889631bdd10e026f4ade8a91595e5ded05328af1534ce98f70d

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: nextstat-0.9.8-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 10.1 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nextstat-0.9.8-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 89c729dd7869cbf459bc35116a2e7d18ee78f8f14b5273c5b9fe73e0954360b7
MD5 265dba97655bb7289246401c57154a84
BLAKE2b-256 aebaab507721b2ab96705bd5d66647e08410f9090c3db9f8e6b846a44f46bb4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp314-cp314-win_amd64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8a86578881f9aae36f9ad533f178dfa63cd9c423cffa3c6dec00e292e01f966d
MD5 649edac1bd07d4ed62d0bf81c470c2de
BLAKE2b-256 8efbba0e4e10398af7dae9471fefca1f44e7a519bf5a0187bc542c4d1eccd9d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1786c0b76590fcb9688b23e828f70fb8cb272230108e97c11aa38052cd6e2ee6
MD5 9ac1fe5eba99c291f370bddea5524e26
BLAKE2b-256 49231ac8a503b45ce40226dad92ffcbea5ce674667a478ac5cfffaa226b91344

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9b248fb431df227a4cc65ae7e18bddd086024c9ff4eeaa29760ad62b1d9ee7f6
MD5 11d9ba1db5f61e475582c8d416fb75dc
BLAKE2b-256 3e0bd0ad6b88880772e94157ce8ae0de1a2da726bd47c07335edaf20ca1dd7db

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d58c2eb5f16a41b3bbe780bf5a7e29feca50a035d45bf5a4de7e07c0177483fe
MD5 4d5f081a2ef117493f1a12d9db0ae859
BLAKE2b-256 7bd14c739c807aaf9f42747898ac7eaa1dfcb6c7733d4eaa7abe39cefba5b77d

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ec5eefaabf4c781fc561da5a18ef36c0066614bac91125d89ed590a7ff5a9064
MD5 e8101d97cb680cb756cc4c1f0b973c3e
BLAKE2b-256 40744d89fe8f45669d9eb3a8e537d99edc6517a3375a353647a0b2dc42766153

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: nextstat-0.9.8-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 10.1 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nextstat-0.9.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b1f2e623e7d560a94fd8d96f4a34b798178f0817b90c76e26b3b31a52622cfb4
MD5 8111831dc3e4ca7a377e4a44aecf63e6
BLAKE2b-256 546a64b03ef73c8fe18d645f82ba3cef0ce9f2b6e042ac78492523679c08266e

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp313-cp313-win_amd64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6222cf41c096d73cb7b54a2bc20c0a47c9661e26242fb704662a1569c31be3e5
MD5 944f27d99c29db270993801b2c937a65
BLAKE2b-256 dd7c5306f247b71aa1df271cb282e8ca6ec7b15b157e0dfb797d01ba348c08ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a813b85190782428a4ea53928b859367f2ee844ae61a1978d64a65e0554fc2dd
MD5 07edc47fb1ceb8e90683d17c46457407
BLAKE2b-256 14a38582cc7c7b707b870b7d913b86a64bb7a7ba2f6b433438eafea423209d3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1531f15acddc6901d8d4f0e431c2c41d26cfa27a49e2797e35b60f6ee973b4b9
MD5 1a85a4447e7836c3baa845fa3e027234
BLAKE2b-256 ffda7497710f879568a15095891b8199ebe756b8878e253bc1cb13b2fdf34e92

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2676c0b6f9577206f0e5cb77241df0c7027bc8ce9be0ac719392498e7f124016
MD5 edb2b5685afb842fb924ddfc3a00c8f8
BLAKE2b-256 0993c51a14f572afa7f6dfaf116f8d3fc9fea1864e7281e74e099d7821cca21f

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: nextstat-0.9.8-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 10.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nextstat-0.9.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3cfecedafdd1addbe1cbc1ba1f6aa6b7b63d52631071c4a02ddaa0788f08df9b
MD5 e1d8cb475b8e25eebd25489b752ce99b
BLAKE2b-256 81d0d1217e7eef4e6f186d012a096b39f8eb73b96fc5cd340f17536857c3dcf9

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp312-cp312-win_amd64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea1d563d2f32cf3601f59d839fbb3413fae04e3329727cd3ba800c5b48e4f72a
MD5 32f56cee7b6bc0e67ca83ff3f0f2bacd
BLAKE2b-256 0456895fb4b366613a3846913ec5e2e918613de47b925fca67921ba45ceb25e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e26d734cf2a5b7af37cf37a6dd4786783e76233c5296ac2f7639dfca67d4fe97
MD5 1bc9a81ea008c1021fea82825d9356dd
BLAKE2b-256 468c02ec5968e30bb8df5a0280016af9ab6cb7eab7345174f3489e5eb5b85902

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc120a105541eeb10679e367290c761b6d017d4bf0b261b89f34ec4094b358e2
MD5 ce0822f643f830f490ad2ab82d386aef
BLAKE2b-256 f39c7c20807180c577199ed4c17fa53c3ab97b50cb616ad0daa15fc165c3b873

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b71d3eb4f66ea20e694de95bea936019fa8247928affbeb97f5b10b7b22677c9
MD5 04095be67f1294fb9526d408a56f37bb
BLAKE2b-256 a29999adbe41542cee291497718f881f0d609d32d3361ef36bd8666067306ac8

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: nextstat-0.9.8-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 10.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nextstat-0.9.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7b84fe8e30d808a942888e70985113688de64e643a70851dbaea5d5f5a14d53f
MD5 d8af2743cef5dc105bdedd9bf8cfedd6
BLAKE2b-256 45dfc77a90f737ddeb02da24ccf1821756f1ce3cc3a4b96210d9d8fc2d04c1a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp311-cp311-win_amd64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 122543e898a63d24f582c1bc31781f84c212273b0867243f1f72e2c2d779bee7
MD5 7f28b5e10822ab13ccd2d5c5670520a1
BLAKE2b-256 090f2364972e40cb6eea9420ddedce0f7fe53fd3a95c4c517b1491e5875107a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2788256de4804725a476c4cc58dbbdd4c7d74d085b507de35f32e885482c0e3d
MD5 5216ed3f6775eba1c7ca5d351d6274e3
BLAKE2b-256 8f4e072cdb25a02661e7e84c880a98b13c90244bf44fb0171a6535be6540789b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 896a96f8dff09987c1c72fee5baa8268d5bb5547f8eb36eb4d1ea17f5d529073
MD5 5e06b45789bada794549038af5a2e64e
BLAKE2b-256 3e84fdda6fae819830258ed947b3c5660c189d514ab74f2374a99bc73b109519

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on NextStat/nextstat.io

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

File details

Details for the file nextstat-0.9.8-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.9.8-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a16c0199d44457a6dc82cd0a8818dfc77c9d2d285003ff15c357e6741e03262d
MD5 995c704bd17228240bfabd3b3fad21e4
BLAKE2b-256 f791cb79f00c9ffc8d9962e32c32dd591e92a51911156b518c55a3bc6a184142

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.9.8-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: release.yml on NextStat/nextstat.io

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