Skip to main content

gamrs

Generalised Additive Models in Rust — clean-room reimplementation built on six composable trait layers (Basis, BasisTransform, Loss/Link/VarianceFn, InnerSolver, ScoreDerivatives, OuterSolver). Designed for parity with R's mgcv.

Status: beta (v0.11). Fastest where wall time matters — large n and high basis dimension (up to ~2.3× at n=1M and ~15× at k=50 vs mgcv_rust 0.23), competitive-to-slower on tiny fits, with a known multi-smooth-NegBin gap; see Performance for the honest breakdown. mgcv R-parity on µ across all ten families. Multi-smooth additive (y ~ s(x0) + s(x1)), n-margin tensor products (te(x0, x1, …) / ti(…)) and thin-plate splines (s(x0, x1, bs="tp")) all ship. NegBin and Tweedie fit multi-smooth, with Tweedie offering both profile-p (tw()) and fixed-p (Tweedie(p)).

Install

pip install gamrs            # base wheel
pip install gamrs[quantile]  # + scipy for SHASH-calibrated quantile fits

Quickstart

from gamrs import Gam, CrTerm, TeTerm

# Single 1-D smooth, Gaussian
g = Gam(family="gaussian").fit(X, y)
mu  = g.predict(X)
mu, lo, hi = g.predict_ci(X, level=0.95)

# Multi-smooth additive
g = Gam(terms=[CrTerm("x0", k=10), CrTerm("x1", k=15)]).fit(df, df["y"])

# Tensor product
g = Gam(terms=[TeTerm(cols=("x0", "x1"), k=(5, 5))]).fit(df, df["y"])

# Large-n GLM — switch to the bam()-style fREML optimiser. Ported to the
# GLM envelope driver only; elsewhere it warns and fits on REML instead.
g = Gam(family="poisson", method="fREML").fit(X_big, y_big)

Full walkthrough: docs/quickstart.md. Optimiser & large-n notes: docs/perf.md.

Families

All ten families land 1-D parity against mgcv:

Family Link Inner solver Outer optimiser Parity (µ rel-err)
Gaussian identity one-Cholesky 1-D Newton ~3e-6
Bernoulli logit PIRLS 1-D Newton ~1e-3
Poisson log PIRLS 1-D Newton ~8e-5
QuasiPoisson log PIRLS 1-D Newton (prof φ) ~2e-4
QuasiBinomial logit PIRLS 1-D Newton (prof φ) ~7e-5
Gamma log PIRLS 1-D Newton (prof φ) ~2e-2
InverseGaussian log PIRLS 1-D Newton (prof φ) ~3e-4
NegBin log PIRLS ρ-Newton + profile-θ ~9e-7
Tweedie log PIRLS 3-D joint Newton ~5e-3
TDist (scat) identity PIRLS 3-D joint Newton ~4e-4
Ocat logit gam.fit5 joint β + threshold smoke
Quantile (ELF) identity Armijo BT ρ-Newton (per term) qgam OOS ~1.00×

Multi-smooth (s(x0) + s(x1) + …) ships with mgcv R parity tests for Gaussian / Bernoulli / Poisson / QuasiPoisson / QuasiBinomial / Gamma / InvGauss / NegBin / Tweedie / scat. scat / TDist multi-smooth now has mgcv reference parity tests too — 2-D µ rel-err ~5.7e-4, 3-D ~2.2e-3, with σ̂² matching mgcv to ~0.1% (tests/parity_additive_scat.rs, scripts/r/gen_scat_multismooth_fixtures.R). Those bounds tightened 8-16× in 0.13.0 when a spurious rank adjustment came out of scat's REML score; the same release adds tests/parity_scat_tf9963.rs, a real-data lock against all three mgcv arms (gam+REML, bam+REML, bam+fREML). Quantile/ELF now fits multi-smooth additive too (y ~ s(x0) + s(x1) + … via the terms= arg of fit_quantile): on a 2-D additive heteroskedastic split its out-of-sample pinball loss matches qgam to within ±0.6% at τ ∈ {0.1, 0.5, 0.9} (scripts/r/gen_quantile_multismooth_fixture.R, test_parity_multismooth.py::test_additive_quantile_oos_parity).

For a coherent set of quantiles, fit_quantile_lss fits the conditional distribution by its location μ(x) and scale σ(x) and derives every quantile as q_τ(x) = μ(x) + σ(x)·z_τ — the mgcv gaulss/shash view. One fit serves all τ, the bands never cross, and shape="shash" captures skew/kurtosis. Matches mgcv gaulss OOS pinball to within ~1% on a heteroskedastic 2-D split (scripts/r/gen_quantile_lss_fixture.R).

GAMLSS — Gaussian location-scale (gaulss)

fit_gaulss(X, y, mu_terms=…, sigma_terms=…) is the first GAMLSS (multi-linear-predictor) family: it fits y ~ N(μ(x), σ(x)²) with smooth μ(x) and σ(x) jointly. Because the Gaussian location-scale Fisher information is block-diagonal (μ ⟂ log σ), the joint MLE is an orthogonal alternation of two single-predictor weighted-Gaussian REML fits — reusing the existing fit stack rather than a dense block-Newton. One fit gives every quantile (q_τ = μ + σ·Φ⁻¹(τ), no crossing). It recovers mgcv gaulss's μ̂/σ̂ to RMSE ~3e-4 / ~1e-3 and its OOS pinball to ~0.05%, at ~70× the speed (n=800). Unlike the two-stage fit_quantile_lss, μ is reweighted by 1/σ²(x) each pass — the joint-MLE efficiency gain. This is the seam for the wider GAMLSS class (shash, gevlss): non-orthogonal families extend the same alternation.

GAMLSS — sinh-arcsinh (shash)

fit_shash(X, y, mu_terms=…, tau_terms=…, eps_terms=…, phi_terms=…) fits the first non-orthogonal GAMLSS family — all four sinh-arcsinh parameters as smooths, jointly: location μ(x), log-scale τ(x) (σ = exp τ), skewness ε(x), and log-kurtosis φ(x). Because shash's Fisher information couples the predictors (unlike gaulss), β for all four is solved together by a dense penalised block-Newton, under outer REML/LAML with an analytic gradient (third derivatives → d log|Hp|/dρ). One fit yields every quantile (predict_quantile, the R .shashQf inverse-CDF) plus predict_params → (μ, σ, ε, δ). It recovers mgcv gam(…, family=shash, bs="cr") to ~1e-6 (η, smoothing params, EDF, quantiles) and fits Gaussian, skewed, and heavy-tailed data alike. Distinct from the two-stage fit_quantile_lss(shape="shash") (one global shape) — this is the genuine joint GAMLSS. (v1: one smooth term per predictor.) Term specs use the same form as fit_additive, e.g. mu_terms=[CrTerm(0, k=10)], tau_terms=[CrTerm(1, k=10)], eps_terms=[].

Multi-smooth Ocat now has an mgcv reference parity test (tests/parity_additive_scat.rs's ocat sibling in test_parity_multismooth.py::test_additive_ocat_parity, scripts/r/gen_ocat_multismooth_fixtures.R): on a well-posed noisy-latent DGP gamrs and mgcv ocat(R=4) both converge cleanly and agree on predict_proba to ~1.8e-3 mean abs / 98% class agreement.

v0.10 ports the full mgcv R outer-Newton stabilisation stack (smart θ-init from category frequencies, diagonal Hessian preconditioning, Gill-Murray-Wright eigen-fix, subset Newton, rank-deficient KKT convergence check). After the ports, single- and (well-posed) multi-smooth ocat converge cleanly. The residual converged_=False appears only on near-separable fixtures (noiseless quantile-cut categories) where the latent scale wants to blow up — the exact regime mgcv itself either converges to a degenerate θ≈181 solution or aborts with "inner loop 1; can't correct step size". There gamrs's θ∈(−3,3) bound keeps it stable (99% accuracy) and the conservative flag is correct. See ~/ObsidianVault/Projects/gamrs/gamrs - mgcv outer-Newton stabilisation techniques (port catalogue) 2026-06-03.md for the full port story.

Smooths

  • Single 1-D — s(x0) via CrTerm (cubic regression spline default).
  • Additive multi — s(x0) + s(x1) + s(x2).
  • Tensor product — te(x0, x1, …) via TeTerm, ti(…) via TiTerm, any n-margin.
  • Thin-plate — s(x0, x1, bs="tp") via TpsTerm.
  • Random effects — s(g, bs="re") via ReTerm.
  • Parametric (linear) — unsmoothed raw column via ParametricTerm or predictor_basis_map={"x": "parametric"} (alias "linear"). Use for 0/1 indicators, counts, or anything you want unpenalised. mgcv R's "pterms" block.

Performance

gamrs vs mgcv_rust 0.23.2, best-of-7 median wall time after 3 warmup iters (>1× = gamrs faster). Reproduce with scripts/bench_matters.py. Numbers below are an i7-8565U (8th-gen, AVX2); the ratios are same-box-comparable but absolute times differ on your hardware.

gamrs wins at scale. Single-smooth, k=20 — as n grows the constant-factor setup overhead amortises and gamrs pulls ahead:

family n=10K n=100K n=1M
Gaussian 0.58× 1.49× 2.27×
Poisson 0.24× 1.01× 1.89×
Bernoulli 0.39× 1.12× 1.84×

It also wins as the basis dimension k grows (Gaussian, n=2K): k=10 → 1.7×, k=20 → 4.0×, k=50 → 15×. (Those fits are <2ms — read them as above-the-noise ratios, not headline wall-time claims.)

Shape-aware families (n=2K, k=10):

family speedup note
Tweedie 1-D 1.93×
ocat 1-D 14.5× mgcv_rust's ocat path is slow by construction
ocat 2-D 0.69×
NegBin 1-D 0.64×
NegBin 2-D 0.06× multi-smooth profile-θ scaling gap (known)
scat 1-D 0.58× <2ms — sub-noise

Honest aggregate (16 above-20ms cells across all sweeps): gamrs is faster in 8 — median 0.89×, geomean 0.83×, range 0.06×–14.5×. The wins concentrate where wall time actually matters — large n, large k, and Tweedie/ocat. Tiny fits (<20ms) and multi-smooth NegBin still trail mgcv_rust; the NegBin multi-smooth slowdown is a known profile-θ scaling issue under investigation.

scat climbed from v0.10.0's 0.07× to v0.11's ~0.77× (at the 6K-row profiling fixture) via analytic gradient + Level-2 analytic Hessian + observed-W PIRLS + warm-start (v0.11.0) and broadcast-expression conversion + batched-h_diag matmul (v0.11.1). The residual gap is per-pair Hessian-assembly work at small p.

For GLM families at large n, set method="fREML" (mgcv R's bam() equivalent — Wood & Fasiolo 2017 Fellner-Schall multiplicative updates with single-step IRLS per outer iteration). The defaults are sensible at small/medium n; the perf guide covers when to switch. Fellner-Schall reached the GLM envelope driver only — on the gaussian closed-form path, the quantile path and the shape-parameter families (scat / negbin / tweedie / ocat), method="fREML" warns and fits on REML. Both optimise the same REML criterion and damped Newton is the stronger route to it, so the substitution costs nothing; it is warned about because until 0.13.0 it happened silently.

Parallel fits across threads

As of v0.11.7 the fit releases the GIL (PyO3 py.detach) for the entire solve, so independent Gam.fit(...) / fit_quantile(...) calls run truly concurrently on a ThreadPoolExecutor — no process pool, no pickling of inputs. When fanning many fits across a thread pool, set OPENBLAS_NUM_THREADS=1 so the BLAS backend doesn't oversubscribe cores against your own threads: on a 6K-row scat fit that turns the pre-0.11.7 0.58× (GIL-bound, serialised) into ~1.95× on 4 worker threads.

Rust API

use gamrs::{TermSpec, MarginKind, DesignStrategy};
use ndarray::Array2;

let x: Array2<f64> = /* (n, n_input_dims) */;
let y = /* Array1<f64> */;

let fit = gamrs::fit(gamrs::family::gaussian_identity(), x.view(), y.view(), None, 10)?;

let fit = gamrs::fit_with_design(
    gamrs::family::gaussian_identity(),
    DesignStrategy::Additive { terms: vec![
        TermSpec::Cr { col: 0, k: 10 },
        TermSpec::Cr { col: 1, k: 15 },
    ]},
    x.view(), y.view(), None,
)?;

let fit = gamrs::fit_with_design(
    gamrs::family::gaussian_identity(),
    DesignStrategy::Additive { terms: vec![
        TermSpec::Tensor { col_a: 0, col_b: 1, k_a: 5, k_b: 5,
                           bs_a: MarginKind::Cr, bs_b: MarginKind::Cr },
    ]},
    x.view(), y.view(), None,
)?;

let mu = fit.predict(x.view())?;

Python API

PyO3 bindings + numpy. sklearn-like surface: fit / predict / predict_ci / predict_diff / vcov_ / coef_ / lambda_ / edf_ / fit_stats_, plus serialize / deserialize and GamPredictor for inference-only deployment.

Architecture

Trait layering (src/traits.rs):

Layer 1   Basis              ←  CrBasis, RandomEffectsBasis, TensorProductBasis<A, B>
Layer 1.5 BasisTransform     ←  SumToZero, StableReparam
Layer 2   Loss/Link/Variance ←  10 families (see table above)
Layer 3   InnerSolver        ←  GaussianClosedFormInner, PirlsInner, GamFit5Inner, ArmijoInner
Layer 4   ScoreDerivatives   ←  EnvelopeScore, ShapeAwareEnvelopeScore
Layer 5   OuterSolver        ←  NewtonWithHalving, FellnerSchall
Layer 6   FittedGam          ←  predict, predict_ci, predict_diff, vcov, serialize

Outer optimisers (Newton, Fellner-Schall) and per-family tolerances are selected through Loss::outer_tuning() and Loss::allows_no_refresh(), so adding a family is a Loss impl, not a fork of the optimiser.

Versioning

Beta (0.13.x). The API is stabilising; minor bumps may carry breaking changes until the 1.0 surface is locked. All ten families plus Ocat and Quantile/ELF now fit multi-smooth additive designs.

License

MIT.

Metadata

Release files for gamrs 0.13.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gamrs 0.13.1
File Size Uploaded Provenance
gamrs-0.13.1.tar.gz 4.1 MB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for gamrs 0.13.1
File
gamrs-0.13.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-64 Details
gamrs-0.13.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details
gamrs-0.13.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
gamrs-0.13.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
gamrs-0.13.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
gamrs-0.13.1-cp314-cp314-macosx_10_13_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.13+ x86-64 Details
gamrs-0.13.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
gamrs-0.13.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
gamrs-0.13.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
gamrs-0.13.1-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
gamrs-0.13.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
gamrs-0.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
gamrs-0.13.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
gamrs-0.13.1-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
gamrs-0.13.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
gamrs-0.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
gamrs-0.13.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
gamrs-0.13.1-cp311-cp311-macosx_10_13_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.13+ x86-64 Details
gamrs-0.13.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
gamrs-0.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
gamrs-0.13.1-cp310-cp310-macosx_10_13_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.13+ x86-64 Details
gamrs-0.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
gamrs-0.13.1-cp39-cp39-macosx_10_13_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.13+ x86-64 Details

Total release size: 100.8 MB

Release files / gamrs-0.13.1.tar.gz

Download URL gamrs-0.13.1.tar.gz
Size 4.1 MB
Tags Source
SHA-256 checksum
How to use checksums
9b60a018a06b1149f2f0804b1ad9b44e3bd9a19c0507292cc5e8944172feedff
BLAKE2b-256 checksum
How to use checksums
483af8359e51ae404a8b6f15ad0b88fdec4ef1810bd66166c713fb909a1df597
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gamrs-0.13.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.4 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
aad6e4ec9b9c7f39a6877cef81b821ad795f07782abe8989b1e9df80b93667c9
BLAKE2b-256 checksum
How to use checksums
bc2034dd8b4cea85bc8053899618d2529d3f1ddf5e1ac22c79f245a84e189873
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gamrs-0.13.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.4 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2daecb83cbbe9d6b12f9f07311143bdba785f1c536120361fb6446ee7d85cf42
BLAKE2b-256 checksum
How to use checksums
4364537a58884f2149272dd2058d572d13ffead322889223b43ed6887e07908a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp314-cp314-win_amd64.whl

Download URL gamrs-0.13.1-cp314-cp314-win_amd64.whl
Size 4.0 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
8724af3253c21c1eb3ab87f95f4e5a777d42f5ac7297bed0a14d37e2db682b9c
BLAKE2b-256 checksum
How to use checksums
9a98119149c8d0d1bf83ff242ff3e82665726713bb7cd57f235d447087bb6fbe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gamrs-0.13.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.4 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
48858560c692a7d9da219ced528fc0b24ea0f2531160d54b43c4ddb084988b46
BLAKE2b-256 checksum
How to use checksums
a5618367fb2a1daa3f5279dd6f9a2d6b227d7092aabf43e69e0e39b0a59a9678
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL gamrs-0.13.1-cp314-cp314-macosx_11_0_arm64.whl
Size 5.5 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2ed16af1fba02fcc801994b7be05f086ed6913ea88637e5819191873f10767d6
BLAKE2b-256 checksum
How to use checksums
62504cf6fccc4dfc7e4b190b37970bfd0e51f711adfa71e7c54490015838c88e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp314-cp314-macosx_10_13_x86_64.whl

Download URL gamrs-0.13.1-cp314-cp314-macosx_10_13_x86_64.whl
Size 7.3 MB
Tags CPython 3.14 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
8a649572fd8f31c108ff2fdf751eece95440666a4ceab9416c410f8d0d58bed3
BLAKE2b-256 checksum
How to use checksums
30dffdec761860c0db4536e7e511dffbf40be45eece13792ced2dd49808774cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp313-cp313-win_amd64.whl

Download URL gamrs-0.13.1-cp313-cp313-win_amd64.whl
Size 4.0 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
122a4c745bfe6493edf86c5959d96b3c5be9cadfadabf426e9770cc1804a57e6
BLAKE2b-256 checksum
How to use checksums
308274d3de00f83d5ec5eb7d1439ed24c05be6f9974393a564b41500b35f3d22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gamrs-0.13.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.4 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
be7fc67281e9df09cbaed05fcffdc9928ae1f4078fada8f250889a2f949bccd7
BLAKE2b-256 checksum
How to use checksums
b3d45dfb2e8323ed2cd2142dc102734f517a00fd9c14f666eb1b214713e9b52d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL gamrs-0.13.1-cp313-cp313-macosx_11_0_arm64.whl
Size 5.5 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d6a1b3d9a67a00887a79db95ee63e6fbc579e10a1c05fc15a0fa1808592f3a26
BLAKE2b-256 checksum
How to use checksums
9b7835ae55b9e75b8e29a192880787b00eea00f418be1c3e570bfd8d074b17a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp313-cp313-macosx_10_13_x86_64.whl

Download URL gamrs-0.13.1-cp313-cp313-macosx_10_13_x86_64.whl
Size 7.2 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
459054ef50777cd2a4e7bcf75502a3bc03cca0c1ea4485e5abbfc99d94f987b8
BLAKE2b-256 checksum
How to use checksums
da66d1aad16872ae6613c749b36c60b7e224660f460a885eccfe4f00c4a9d0e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp312-cp312-win_amd64.whl

Download URL gamrs-0.13.1-cp312-cp312-win_amd64.whl
Size 4.0 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
afd634aaf9072d4d69a72c8b91d9a67012bea66d1ec390fcabe398674ae0a938
BLAKE2b-256 checksum
How to use checksums
b70fb7f3ff205e42a6f05154de5752a9cea719bfb8dead926816949dc6fffa5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gamrs-0.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.4 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f81af1effa166fed215d370f2685d605b2f3e89696f92716bcad514c16bc75d7
BLAKE2b-256 checksum
How to use checksums
79c10413a2ea9127d691803de14ca12d69d2b7274996217095fa569c950de3d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL gamrs-0.13.1-cp312-cp312-macosx_11_0_arm64.whl
Size 5.5 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
63288e5622bf3375760fe2ecf9be8716876764e1302f9f50545efb5de6c903bc
BLAKE2b-256 checksum
How to use checksums
ef43223178474e49e804aaeb8ddb5e3a090876312a3aa05c01d2849ccfe85dc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp312-cp312-macosx_10_13_x86_64.whl

Download URL gamrs-0.13.1-cp312-cp312-macosx_10_13_x86_64.whl
Size 7.2 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
bdd589e31beb5e72e0c79b725f0b383793617d3d5e08b6db1a8e7810bb299b43
BLAKE2b-256 checksum
How to use checksums
8496d4165f0f8a496aaa499c29f1aad4b313cdc85e53256b86fade75a620f425
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp311-cp311-win_amd64.whl

Download URL gamrs-0.13.1-cp311-cp311-win_amd64.whl
Size 4.0 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
079f5f39342bf3799c61883b151b230d4aeb8791d6ebc2f3a29b77db469c3e2f
BLAKE2b-256 checksum
How to use checksums
3f48f2ed7ed33eeed3d25e8d0952c61f159589fd007fd1ee74eff2545dda7e8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gamrs-0.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.4 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
230e3addd689838bde08ed74e82d45029e71c62f68e3959a2eb643ab525c862a
BLAKE2b-256 checksum
How to use checksums
eee9f4201d2822fe9a3acb64d103dfd6fde3217e7b908b8cd1c0d5d6b37f1517
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL gamrs-0.13.1-cp311-cp311-macosx_11_0_arm64.whl
Size 5.5 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
dd76aaf28a712f61f5c3ec8bc6dd100753c22bedc8f8ce26e421f0f855098029
BLAKE2b-256 checksum
How to use checksums
ce7506198f152eb1c0e11d6368796e15313645104b5a92e927f9f7571b5685f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp311-cp311-macosx_10_13_x86_64.whl

Download URL gamrs-0.13.1-cp311-cp311-macosx_10_13_x86_64.whl
Size 7.3 MB
Tags CPython 3.11 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
c490e52624d0d6f90e92e8cbf7790c61e6af10c9541313514e5c4309d9cc5994
BLAKE2b-256 checksum
How to use checksums
1530c2dc36b1a3736bc4d8455e569d567071dafc2d49f6ff369e3ad72584381c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp310-cp310-win_amd64.whl

Download URL gamrs-0.13.1-cp310-cp310-win_amd64.whl
Size 4.0 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
861126530ae1e30d7e13625fdffa82d4e0baa7bbe6abc2edc46158cce6668459
BLAKE2b-256 checksum
How to use checksums
6dec057321b03c4db9f3684bbe1f760c33f22d639a6c2884c420ce4e230fd5ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gamrs-0.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.4 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f8d2d17d9815fed7368e9b881224cb6f0a4a0d53febbf449ecdb86ae1f13293b
BLAKE2b-256 checksum
How to use checksums
be51a54c3ced124e25fc82ad3d76b07460eb438d9fc0b96e28a41c5117139b33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp310-cp310-macosx_10_13_x86_64.whl

Download URL gamrs-0.13.1-cp310-cp310-macosx_10_13_x86_64.whl
Size 7.3 MB
Tags CPython 3.10 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
8de4c19f46aee0be7372c53283793f6406023b05cfa2486f9b34ba038467cb54
BLAKE2b-256 checksum
How to use checksums
e1d12af287d3efff1e0df8577183b58972682505f18dbfb4dd97858619022255
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gamrs-0.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.4 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
295310c58d7d0908836428aa4b04b1f64ed04d29c0678515aa83651d2ee3a392
BLAKE2b-256 checksum
How to use checksums
2d0456c7be0ba32e0a8ebb41a3e648bda87d4938e0e0ff0808c6005f82073234
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / gamrs-0.13.1-cp39-cp39-macosx_10_13_x86_64.whl

Download URL gamrs-0.13.1-cp39-cp39-macosx_10_13_x86_64.whl
Size 7.3 MB
Tags CPython 3.9 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
6b6e4c4e4e4b294b19cfc516c28064f2538113df29d0c22931723977b2a680f7
BLAKE2b-256 checksum
How to use checksums
eb8a1212e7d7ec3ce0d0e41d5b6d9bc132ba806bb4938b946883aae903a70b8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Security for gamrs 0.13.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.13.1 This release

24 release files No provenance

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