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.10.0.tar.gz (2.5 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.10.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

nextstat-0.10.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.5 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

nextstat-0.10.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.5 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

nextstat-0.10.0-cp314-cp314-win_amd64.whl (13.7 MB view details)

Uploaded CPython 3.14Windows x86-64

nextstat-0.10.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

nextstat-0.10.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

nextstat-0.10.0-cp314-cp314-macosx_11_0_arm64.whl (11.5 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nextstat-0.10.0-cp314-cp314-macosx_10_12_x86_64.whl (12.8 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

nextstat-0.10.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.5 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

nextstat-0.10.0-cp313-cp313-win_amd64.whl (13.7 MB view details)

Uploaded CPython 3.13Windows x86-64

nextstat-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

nextstat-0.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

nextstat-0.10.0-cp313-cp313-macosx_11_0_arm64.whl (11.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nextstat-0.10.0-cp313-cp313-macosx_10_12_x86_64.whl (12.8 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

nextstat-0.10.0-cp312-cp312-win_amd64.whl (13.7 MB view details)

Uploaded CPython 3.12Windows x86-64

nextstat-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

nextstat-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

nextstat-0.10.0-cp312-cp312-macosx_11_0_arm64.whl (11.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nextstat-0.10.0-cp312-cp312-macosx_10_12_x86_64.whl (12.8 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

nextstat-0.10.0-cp311-cp311-win_amd64.whl (13.7 MB view details)

Uploaded CPython 3.11Windows x86-64

nextstat-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

nextstat-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

nextstat-0.10.0-cp311-cp311-macosx_11_0_arm64.whl (11.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

nextstat-0.10.0-cp311-cp311-macosx_10_12_x86_64.whl (12.8 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for nextstat-0.10.0.tar.gz
Algorithm Hash digest
SHA256 81c3fedee635dc370ee3d6208efd831a71aecb3e7f5a4a765c4d79e1b9df89d6
MD5 752b51c8d02c4eb3a42479c111b37182
BLAKE2b-256 83e3386e20bc3f1fd64a80baca01541381fe704bbc7937586bd207727fce7b49

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0.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.10.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4ae62d3bb0860fdc3ab1b16fedc63aa7b8ffa345be91e6d2a652122be33cd28a
MD5 e40cc979031f874622ca73795bbd1002
BLAKE2b-256 b944e5038cfef4e25952649ba4432fbb6675a6ff539d266b167cf3e7e49a7938

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 045e5b9bd1589f646b3045960243c363ab9eefca4e4320095cb376182dcaa267
MD5 032bbcc2dbf89593b3a8f751893b897e
BLAKE2b-256 03e7c49c4a31f13397d2585321e5f2620164cca959cc53b6f382961958846cc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b83e2e624cd14491757ac292c58c63e2c13293b6c2e41a304839cc4536543ae7
MD5 1a393c6263e58ad78de83396bd1f1276
BLAKE2b-256 11c85fbb3eeb0448e84b8515040a108b82dc937428c8efcc48c51a8b80b5be47

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: nextstat-0.10.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 13.7 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.10.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 cd126bd75606222171c2c60d66a7a2c47edce81f1911411a82524a3aebbc286d
MD5 af4ffe0c64eb1b5d8ac0e1d9a962c30e
BLAKE2b-256 014e59b4f03a2cb1a8fc0d4189f4eda92434b524c02f8a10a65eba8bdd53cd3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7c71442fbf4a90f13ca74f7f0f415bfea1cbcb4f22796049940424e3e0898ef7
MD5 48e3f7cd65024aeffaa2afbedc1d5a01
BLAKE2b-256 bb03a1ca3499a0deb7b608413ad563b23f8cd1cf5d59f46b84fd9728d3b19c07

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 39df6ce1f5b9b32fe0fa373bf2eb25f144373d823b664175cc10805e1f046e05
MD5 251f174dcebb8c9266a09f2f38a6ff04
BLAKE2b-256 691a97a99157c5f96b90348bfd1ebfc617879eab145d73b94ffb3724b0bea9e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0a222f4e7195862d0cca52916eedfcfddfa6f31d6cd39e421dcbb7b5d0c4112d
MD5 9b4c7d80d97946f1d5f16b5e040cd5d6
BLAKE2b-256 ebf75bf3531c4b616c35dc0fcefa571356b7538480ea7246b81b3ab9768e5e34

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 06928bdb508243843118672b0456b4b85d4410401dccf26ad27f2d7f8e379bd8
MD5 bed20736a315b6d7ca23c9201ea3b042
BLAKE2b-256 7d23f449161a4ee7615cf2e60cf9b0b23e12f6b433268cbeee18f432fc6d3322

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 15221790f3bf1492419d43069b3ba79afb8d475c57a7491b29b94c58fda8ff89
MD5 98845ee922afc1bfd8d1382c58613da2
BLAKE2b-256 51b352139e9b663f6ecd92d10ef264033beccd967f85c9694e66b44f9dbc6efd

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: nextstat-0.10.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 13.7 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.10.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 26bece0332b5131f2f3ac3ca5513bfa5671810714201eb0555521ea337d9e915
MD5 c07ad857b10527a2e5a1084767d4f2e4
BLAKE2b-256 306f9cd1c3834632d743016d7acf3a9e6cf0cf6ade98495178d0ba2c03b59be2

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 925d65430818569fb5a4f3727276164f51626752f378c443da0aa1b8425afc77
MD5 8a532b66c27dceebe02169de58c4acd3
BLAKE2b-256 bc9c8e4e313b9aaf7c81554b3bdab04a30426631a33fff97609e023dcc0a8344

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3f243d69dcfe29a50f3093ea24a8bdc911b47cf72bf317b24404af0cdd7bc61a
MD5 5c5850cc7943039e658fcdb2346f2c09
BLAKE2b-256 0d822d1cb9b5fa84bcb428fae1d2ca081535ea4383c04eb24a910df62dc3cfb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c0a6d59610f80dd2baf41aff75cb25d188b0d6010b2d62edeb4e4d940911c722
MD5 c7430fce9ab2d42da190296ffcffa033
BLAKE2b-256 5b141f1478a9d156deadef31a2f65d89f94842b1caa7e035c19af88a018dc23f

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6cc5d737a026a588548612070d4e21f98517335903240e17ca6e734a36ce78f0
MD5 b1984d043ed05ef34aef7bbc7713afb8
BLAKE2b-256 063e4f6f9d769470726df4da3040317fbb25abcc9a36ea5997d2619e1155d0d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: nextstat-0.10.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 13.7 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.10.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 012bc96266a4f77816acc364aadfe11ed6a92ec9b419733a2c9334dd68d457aa
MD5 a14417edabcbe7b3d0a60e594508a76b
BLAKE2b-256 da28c380f75afc84f7400c51b688760dcbea18ec7563c9b24c5e1d39f37a601c

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5bfc611106b4167107e06ffa1de6e43908091816d3f955914e34f37ee2d117e
MD5 64654a1849d234587f1877714d056fe9
BLAKE2b-256 3b7a56cba84dac6445cf3a8ce42be4058ad96d8007b786c65c4bd010ac8c4a66

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6a53bfd35a3ea9ac224549068eabc49aed05a3eee42a0eee6ded7a5d63075996
MD5 3c4d46f52ab9c83254c81ddfd1296bcc
BLAKE2b-256 0c787a449a33740f9620ec7d34df04201f66dedc12a55ac9d5831fe9dd80f168

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6500f396ce99d933f01878d1a186e072fa692ed96c7b8116da32b1dff08a6e6e
MD5 4c0ffb8096c6291b67e605c5730a00b3
BLAKE2b-256 5ea47868d65dad0258eea1ccaf55c9506dca3a85e5b62641a34987fa70b09b04

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8f96d1ec3365fa74c5dc6d10c62107147558971d2e6191d1fa06bc34a2e5348c
MD5 e3d0108c74149a0b563fabefeb64bd9b
BLAKE2b-256 3f1a54fa09aa64f65769026e6b0ec6ecbd0e0d6fe84e6b44fc25ae8b5f1a85b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: nextstat-0.10.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 13.7 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.10.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1329bafc9c631d4cd99fc409c8cc1d9f66ba9b2a65c3e8232f85cfa0b55733ab
MD5 b847fe09a568fc0aabb7d5667ec6476e
BLAKE2b-256 5165f97f536130880121751344bfca21ec9c6e2ffdd2459cd0da7da15df858ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7dfdc3fec5d6129723d0a3b4b37be3faf1026c776f2d936e54e095ccc6c0a625
MD5 45b499d5a03e514fc759036d1f8a91cc
BLAKE2b-256 efbabb301010b38c8a47a669886f7277ec65ca1fbc5d6d0033f4a2451437a4f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2fb3668411be3784bee17ef1a7c6e7fe27fb669a95aff3c714faa4280b03caee
MD5 467925da78c77dfd9634cb7839740097
BLAKE2b-256 23e08bfc49ee11b163184c019b76f9b0b631e23e5a26d0b1710752404b54555e

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c9276049a1c71ae6b0682ce4810fa1138769a593af3e2c3c68c8d5761a61ffb
MD5 2f0e8ac6f78b395bb3556c7c9efdf47e
BLAKE2b-256 8b1bd62ebede611c7333ec8af3e5efae2542199790b65b4332fc538e6520b838

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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.10.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nextstat-0.10.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7eb3764ba42aa26ad8da4d2605f9406dea183220aca98eec3f492385044d9f3d
MD5 9fca009b389128436cbfee1f1565bd6d
BLAKE2b-256 6a9c83d6591adcd7a375faaeaa0dbfe7d18dfaa2b6b8e4cfa4cd1690591e7bc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for nextstat-0.10.0-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