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.14). 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 — as of 0.14.0, 2-D µ rel-err ~5.5e-6 and 3-D ~8.3e-5, 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, and another 30-200× in 0.14.0 when scat's REML criterion was corrected to mgcv's observed-curvature log|H|; the same release adds tests/parity_scat_tf9963.rs, a saturated-basis lock (5 distinct x against k = 5, the geometry that exposed the defect) 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.
  • Point constraint — s(x, pc=v) via CrTerm("x", pc=v) or term_pc_mapping={"x": v}: the smooth passes through zero at x = v and the intercept takes the level. Predictions, λ̂ and edf are unchanged — only the intercept-versus-smooth split moves, which is what a caller reading a partial curve sees. CR bases (cr, cr_stable) only.
  • 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.14.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.14.2

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.14.2
File Size Uploaded Provenance
gamrs-0.14.2.tar.gz 4.2 MB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for gamrs 0.14.2
File
gamrs-0.14.2-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.14.2-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.14.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
gamrs-0.14.2-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.14.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
gamrs-0.14.2-cp314-cp314-macosx_10_13_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.13+ x86-64 Details
gamrs-0.14.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
gamrs-0.14.2-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.14.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
gamrs-0.14.2-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
gamrs-0.14.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
gamrs-0.14.2-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.14.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
gamrs-0.14.2-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
gamrs-0.14.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
gamrs-0.14.2-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.14.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
gamrs-0.14.2-cp311-cp311-macosx_10_13_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.13+ x86-64 Details
gamrs-0.14.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
gamrs-0.14.2-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.14.2-cp310-cp310-macosx_10_13_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.13+ x86-64 Details
gamrs-0.14.2-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.14.2-cp39-cp39-macosx_10_13_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.13+ x86-64 Details

Total release size: 100.4 MB

Release files / gamrs-0.14.2.tar.gz

Download URL gamrs-0.14.2.tar.gz
Size 4.2 MB
Tags Source
SHA-256 checksum
How to use checksums
ffe79878cb380ee27c1b217e1bdc5a1f54d8c8d080047ad4389c6dcee54deb01
BLAKE2b-256 checksum
How to use checksums
59e796ce5dc50b39c1767469b5e29d3fa742fdd95ec0e6032d53d03c86c8c38e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

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

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

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

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

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

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

Download URL gamrs-0.14.2-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
93d6467d1165f3bb1314af28b88e210f927480fdb237f588fa6bd7f91cc7400b
BLAKE2b-256 checksum
How to use checksums
782014fb3bb8fb73f6310aad6039be2d2d39b9d3ad7f8556d2fb7ce15295c347
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

Download URL gamrs-0.14.2-cp314-cp314-macosx_10_13_x86_64.whl
Size 7.2 MB
Tags CPython 3.14 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
51fe6494e3d3f2ad81deed8c31ea950e48c4ee7edebbfca1ffbae7dad8333719
BLAKE2b-256 checksum
How to use checksums
b75d824a0cf17806df47f96d862d8adc6fe8081dc743756c5370e4788f5051a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

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

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

Download URL gamrs-0.14.2-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
7f86cfc08ce7c380d3b9fc96911d689a2e9c6a5c3228cfe9f85ae1ccc85bf203
BLAKE2b-256 checksum
How to use checksums
00ae5b3a7b8ede674baba5a3d0ac5e6d172fb6021c62c198caaa09929acaecf8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

Download URL gamrs-0.14.2-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
7822bd0197a8db0d0ec08089c326bf6d487c96feb1262f46ec1c6be798f61b69
BLAKE2b-256 checksum
How to use checksums
f2026a11e064787f3db02a59546eaea1d8e3c27c151c9efe77a78de028d4a432
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

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

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

Download URL gamrs-0.14.2-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
b2caf471f7260abaaf99ebc81415a4781c6b3036e1dba2934bee1f81df4fff94
BLAKE2b-256 checksum
How to use checksums
0b9586b7e600e042c36a54afe27426ab1347d9a79bb47b5df38171f35d99ff5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

Download URL gamrs-0.14.2-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
18e5c4e09d9a822466bda65cc86bb0dae0839bfd63b700e2fb9d620fecaa8276
BLAKE2b-256 checksum
How to use checksums
8b7a4ba06c2cd6cee9360855f95bdfe3cb164ae4d132d41cd2179eeebb90a2ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

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

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

Download URL gamrs-0.14.2-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
0645cfc85d94fc30ad38662db9388a885f058bb44615076ebae0d9f8e252bfc3
BLAKE2b-256 checksum
How to use checksums
921c0f3504980e0487d1136c453f746db45f34171639768dd27c2433b4f33016
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

Download URL gamrs-0.14.2-cp311-cp311-macosx_10_13_x86_64.whl
Size 7.2 MB
Tags CPython 3.11 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
43c1c950833383336b38cd7a6704f59d951c0ee3f4bf71b441aa3a5976636dad
BLAKE2b-256 checksum
How to use checksums
2d6d707049ca3b249b5ec0e8841d7f61fe4672eba08b2131751edb2e0e09de3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

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

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

Download URL gamrs-0.14.2-cp310-cp310-macosx_10_13_x86_64.whl
Size 7.2 MB
Tags CPython 3.10 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
923d268b8d2ed0d4f3b8197af23215e69add89a856b0a851920aed834ee3d59a
BLAKE2b-256 checksum
How to use checksums
18374a50259d1403616c582093ad2e0509ce654106fbda3614e1ab03f3e66364
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

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

Security for gamrs 0.14.2

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.14.2 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