A lightweight, high-performance Python library for converting ECMWF reduced Gaussian grids (N-grids and O-grids) to regular Gaussian grids. Designed for efficient in-memory processing with zero intermediate file I/O.
Overview
GaussRegular specializes in converting ECMWF reduced Gaussian grids to full (regular) Gaussian grids:
- N-grids: Classical reduced Gaussian grids (e.g., N320, N640)
- O-grids: Octahedral reduced Gaussian grids (e.g., O320, O640, O1280)
Both grid types carry a pl array (points per latitude row) and use identical row-wise interpolation logic, matching CDO's setgridtype,regular and setgridtype,regularnn behavior.
Features
- Dual grid support: Handles both classical N-grids (e.g., N320, N640) and octahedral O-grids (e.g., O320, O640, O1280)
- Two interpolation modes:
- Bilinear (default) — matching CDO
setgridtype,regular - Nearest-neighbor — matching CDO
setgridtype,regularnn
- Bilinear (default) — matching CDO
- C-accelerated: Core interpolation in compiled C, ~10-100x faster than pure NumPy
- In-memory processing: Read GRIB2 data → convert → analyze → output, no intermediate files
- Configurable precision:
precision="auto"preserves float32/float64 input precision;singleanddoubleforce the output precision - xarray/cfgrib integration: Direct support for GRIB2 data
- Batch processing: Efficient multi-dimensional array handling (time, level, etc.)
Installation
pip install gaussregular
With xarray support:
pip install "gaussregular[xarray]"
Quick Start
Case 1: Direct Numpy Array Conversion
If you have a NumPy array with known grid metadata:
import numpy as np
import gaussregular as gr
# Your reduced Gaussian data (1D array, one value per grid point)
values = np.random.rand(1040640) # Example data
# Gaussian row length array (from GRIB metadata, e.g., GRIB_pl)
pl = np.array([20, 27, 36, 40, 45, ..., 360, 360], dtype=np.int32) # 161 latitude rows in this example
# Create regularizer
regularizer = gr.GaussRegularizer(method="linear")
# Convert to regular Gaussian (2D array)
regular_data, lon = regularizer.regularize_values(
values=values,
pl=pl,
missval=np.nan
)
print(f"Output shape: {regular_data.shape}") # e.g. (161, 320) in this example
print(f"Longitude points: {lon.size}")
Case 2: xarray DataArray (from cfgrib)
If you're reading GRIB2 files with cfgrib:
import xarray as xr
import gaussregular as gr
# Open GRIB2 file with cfgrib backend
ds = xr.open_dataset("era5_sample.grib", engine="cfgrib")
da = ds["temperature"] # xarray.DataArray
# Create regularizer
regularizer = gr.GaussRegularizer(method="linear", cache=True)
# Convert directly
regular_da = regularizer.regularize_xarray(da)
print(f"Regular grid shape: {regular_da.shape}")
print(f"Coordinates preserved: {list(regular_da.coords.keys())}")
The library automatically extracts GRIB_pl, grid type, and other metadata from the DataArray attributes.
Case 3: Multi-dimensional Data (Time series, Levels)
Batch processing with leading dimensions:
import xarray as xr
import gaussregular as gr
# Multi-dimensional xarray: (time, level, values)
ds = xr.open_dataset("era5_multi_level.grib", engine="cfgrib")
da = ds["temperature"] # Shape: (24, 137, 1040640) in this example
regularizer = gr.GaussRegularizer(method="linear", cache=True)
regular_da = regularizer.regularize_xarray(da)
print(f"Output shape: {regular_da.shape}") # e.g. (24, 137, 161, 320) in this example
The regularizer automatically handles reshaping and maintains coordinate dimensions.
Case 4: xarray Dataset (Multiple Variables)
You can pass a full xr.Dataset directly. All convertible reduced-Gaussian variables are regularized.
import xarray as xr
import gaussregular as gr
ds = xr.open_dataset("era5_multi_vars.grib", engine="cfgrib")
regularizer = gr.GaussRegularizer(method="linear", cache=True)
regular_ds = regularizer.regularize_dataset(ds)
# Or use auto dispatch:
# regular_ds = regularizer.regularize(ds)
print(regular_ds)
Case 5: Regional Sub-area Data
For data covering only a portion of the globe (e.g., a regional cut from a model run), specify the longitude bounds and grid number:
import numpy as np
import gaussregular as gr
# Regional reduced Gaussian data
values = np.random.rand(342080) # Subset of N320 (e.g., Europe region)
pl = np.array([...]) # Row lengths for the region
regularizer = gr.GaussRegularizer(method="linear")
# Specify regional bounds and grid number for proper output sizing
regular_data, lon = regularizer.regularize_values(
values=values,
pl=pl,
missval=np.nan,
grid_number=320, # N320 grid
xfirst=0.0, # Start longitude (degrees east)
xlast=40.0, # End longitude (degrees east)
)
print(f"Regional grid shape: {regular_data.shape}")
print(f"Longitude range: {lon[0]:.2f}–{lon[-1]:.2f}°E")
Parameters for regional data:
grid_number(int): Gaussian truncation number (e.g., 320 for N320). Required to distinguish global vs. regional grids.xfirst(float, default=0.0): Longitude of the first data point (degrees east, range 0–360).xlast(float, default=359.9999): Longitude of the last data point (degrees east).
The library automatically infers the output longitude count based on the regional bounds.
Advanced: Fast Mode (Default)
By default fast=True is used for best performance. The linear interpolation kernel handles missing values (NaN / sentinel) correctly even in fast mode — if both interpolation neighbors are missing the output is missing, otherwise the valid neighbor is used. Set fast=False only if you need per-row missing-value scanning for strict correctness on exotic sentinel values:
import gaussregular as gr
engine = gr.GaussRegularizer(method="linear", cache=True)
# Default: fast=True — recommended for all ERA5/GRIB data
regular_ds = engine.regularize_dataset(ds)
# Safe mode: per-row missing-value scan (slower, ~1.8x)
regular_ds_safe = engine.regularize_dataset(ds, fast=False)
Advanced: Precision
By default precision="auto" is used. Float32 inputs use the single-precision C path and return float32 outputs; float64 inputs use the double-precision C path and return float64 outputs. Use precision="single" or precision="double" to force a specific output precision:
import gaussregular as gr
engine = gr.GaussRegularizer(method="linear", cache=True)
regular_auto = engine.regularize_xarray(da) # follows da.dtype for float32/float64
regular_f32 = engine.regularize_xarray(da, precision="single")
regular_f64 = engine.regularize_xarray(da, precision="double")
API Reference
GaussRegularizer
Main converter class.
Parameters:
method(str, default="linear"): Interpolation method, either"linear"or"nearest"precision(str, default="auto"): Precision policy, one of"auto","single", or"double". Auto preserves float32/float64 input precisiongrid_number(int, optional): Default Gaussian truncation number N (e.g., 320 for N320/O320). Used whenGRIB_Nis missing for xarray inputs and as a fallback whenregularize_valuesis called without a per-callgrid_number. When neither metadata nor this attribute provide N, a heuristic based on the equatorial row length is usedcache(bool, default=False): Enable xarray metadata plan caching for repeated calls on same-structure datamax_plan_cache(int, default=32): Maximum number of cached conversion plans
Methods:
regularize(data, nlon=None, grid_type_hint=None, method=None)
- Auto-detects input type (
xr.Dataset,xr.DataArray, or NumPy) and calls appropriate method - Returns regularized data in same type as input
regularize_values(values, pl, missval, nlon=None, method=None, fast=True)
values: 1D NumPy array (len(values) == sum(pl))pl: 1D NumPy array of row lengths (from GRIB_pl)missval: Missing-value sentinel (float). Points equal to this value (or NaN, ifmissvalis NaN) are treated as missing and handled by the interpolation kernelnlon(optional): Number of columns in output regular grid. Auto-inferred if not providedmethod(optional): Per-call method override:"linear"or"nearest"fast(default=True): Per-row missing-value scan toggle.True(recommended) lets the interpolation kernel handle NaN/sentinel natively. SetFalsefor explicit per-row scanning- Returns:
(out, lon)whereoutis NumPy array andlonis longitude vector
regularize_xarray(dataarray, nlon=None, grid_type_hint=None, method=None, fast=True)
dataarray: xarray.DataArray with GRIB metadata in.attrs- Requires:
GRIB_plattribute. IfGRIB_missingValueis present it is used asmissval; otherwise NaN values are treated as missing method(optional): Per-call method override:"linear"or"nearest"fast(default=True): Per-row missing-value scan toggle- Returns: xarray.DataArray with regularized data and preserved coordinates
regularize_dataset(dataset, nlon=None, grid_type_hint=None, method=None, fast=True)
dataset: xarray.Dataset with one or more reduced Gaussian variables- Converts each convertible variable and keeps non-convertible variables unchanged
method(optional): Per-call method override:"linear"or"nearest"fast(default=True): Per-row missing-value scan toggle- Returns: xarray.Dataset
clear_cache()
- Clears internal xarray plan cache
Module-level Functions
regularize_values(values, pl, missval, nlon=None, method="linear", fast=True)
- Standalone function using default regularizer configuration
regularize_xarray(dataarray, grid_type_hint=None, method="linear", fast=True)
- Standalone function using default regularizer configuration
regularize_dataset(dataset, grid_type_hint=None, method="linear", fast=True)
- Standalone function using default regularizer configuration
Grid Specifics
N-grids (Classical Gaussian)
- Regular spacing in longitude
- Example: N320 → 4×N = 1280 columns at the equator in the regular grid
- Total reduced-grid points: 4×N×(2N+1)
O-grids (Octahedral)
- Refinement at equator for better accuracy
- Example: O320, O640, O1280
- Formula: nlon = 4×N + 16 for O-grid
The library automatically detects grid type from GRIB metadata. You can also override with grid_type_hint parameter.
Supported Grid Types
GaussRegular recognizes many GRIB metadata variants:
reduced_ggreduced-ggreduced gaussianoctahedral_ggoctahedral_reduced_gg- And several aliases
See GRID_TYPE_FULL_NAMES in the API for the full list.
Performance Tuning
Interpolation Method
method="linear"(default): Bilinear interpolation. Slightly slower but more accurate.method="nearest": Nearest-neighbor. Faster, less smooth.
Missing-Value Detection
fast=True(default): Recommended mode. The linear interpolation kernel correctly propagates missing values at boundaries (both neighbors missing → output missing). Provides maximum throughput.fast=False: Per-row missing-value scan before interpolation. Use only if you have exotic non-NaN sentinel values that require explicit detection. Typical slowdown: ~1.8x.
Caching
- Enable
cache=Truewhen processing multiple DataArrays with identical structure to reuse parsed metadata.
Typical throughput:
- On a typical ERA5 model-level example (4 time steps × 137 levels, N96/O96 grids), a full-field linear interpolation runs in ~0.24 s on a modern desktop CPU
Limitations
- Missing values are propagated by the interpolation kernel — NaN/sentinel inputs produce NaN outputs at affected grid points by default (
fast=True). For strict per-row scanning usefast=False - Requires GRIB metadata —
plarray must be provided or in DataArray attrs - Supports only Gaussian grids — other map projections not supported
- Precision: Outputs double-precision computation; results cast back to input dtype
- No projection support — only Gaussian grid conversions
Testing & Validation
GaussRegular has been validated against CDO setgridtype,regular and setgridtype,regularnn with double-precision agreement to machine epsilon.
Test with real ERA5 data:
python examples/run_era5_demo.py
Requirements
- Python: 3.9+
- NumPy: ≥1.23
- Optional: xarray ≥2023.1, cfgrib ≥0.9.10
Citation
If you use GaussRegular in research, please cite:
@software{gaussregular,
author = {Qianye Su},
title = {GaussRegular: ECMWF Reduced Gaussian to Regular Grid Converter},
year = {2026},
url = {https://github.com/QianyeSu/GaussRegular}
}
Troubleshooting
"Missing GRIB_pl in DataArray attrs"
- Ensure you opened the file with
engine="cfgrib" - Check that cfgrib correctly parsed the GRIB2 file
"Input does not look like reduced Gaussian grid"
- Verify your file contains a reduced Gaussian grid (not full Gaussian, lat-lon, or other projection)
- Pass
grid_type_hintif metadata is nonstandard
"Results look wrong near missing values"
- Ensure you are not using
fast=Truewhen missing values are present - Verify that missing values are either NaN (and
missvalis left as default) or match theGRIB_missingValue/missvalyou pass - If necessary, preprocess your data(例如插值或填充)以减少大块缺测区域对结果的影响
Performance is slower than expected
- Use
method="linear"unless you specifically want nearest-neighbour behavior - Use caching:
regularizer.cache=Truefor repeated calls - Profile with larger batch operations instead of single conversions
Contributing
Contributions welcome! Please:
- Read the source code and existing patterns
- Write tests for new features
- Ensure CI passes before submitting PR
Metadata
Release files for gaussregular 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gaussregular-0.1.3.tar.gz | 27.2 kB | Details |
Built distributions (wheels)
Total release size: 1.3 MB
Release files / gaussregular-0.1.3.tar.gz
| Download URL | gaussregular-0.1.3.tar.gz |
|---|---|
| Size | 27.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
47b6eb10c16032bd86212966ae7f258fd43251de594f6b0e3e7db9234d56b41d
|
|
BLAKE2b-256 checksum How to use checksums |
9e200826bc53d574bef6ae02d29ca4e730eefb12019f34b6c283f68deaf6efa6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp314-cp314-win_amd64.whl
| Download URL | gaussregular-0.1.3-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 34.5 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4448166c5c241fdbee5547446282ea813078c9c2983a2ec1a231f1613dcae407
|
|
BLAKE2b-256 checksum How to use checksums |
62f90149643b7cc29d74309ddce54fc36d05319faa5581d1ff42f6218be15de8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | gaussregular-0.1.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 56.2 kB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
0691a6b43021d9be31ec5bc4a07f7631a076d2dc3aef98157c7a0d2d18e89626
|
|
BLAKE2b-256 checksum How to use checksums |
5d71c263e5169818a904e464230ed7ea67c435b712b71e031aafea34e76e391a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
| Download URL | gaussregular-0.1.3-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 58.4 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
6d306b5dd412ac103c1b67bd13f1b04f52e93a3d447107b9d127ad956be610d9
|
|
BLAKE2b-256 checksum How to use checksums |
916220411d67e1c52bc292e86cca0e9b5985fd9fc3f5a9e4576b91a2dfcd9bcd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | gaussregular-0.1.3-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 30.3 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
2a45420615d202e6ab36aabf81f2053b99b83f16b4a05e4f6cd22ef83ee87da3
|
|
BLAKE2b-256 checksum How to use checksums |
2ab106bdfef88a189b754c2ce0b2da14efc47341b59cb544685aa93b73be82eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp314-cp314-macosx_10_15_x86_64.whl
| Download URL | gaussregular-0.1.3-cp314-cp314-macosx_10_15_x86_64.whl |
|---|---|
| Size | 31.0 kB |
| Tags | CPython 3.14 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
c486249ac4861f45d2a853e819b371e6eee8cf519cb40f42ce3b54a64a886e65
|
|
BLAKE2b-256 checksum How to use checksums |
f324c1f0b72ac6b6972b275ce3586a0a5dfc7b4b7c5959350c089c281dbe4d65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp313-cp313-win_amd64.whl
| Download URL | gaussregular-0.1.3-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 33.9 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e7691b9c304f85aca3025798ba66faf46a9b8cb1d3cb0c84f5e88d43ee622e3d
|
|
BLAKE2b-256 checksum How to use checksums |
32bcd9287453897286262e76d61a153afb2eb26f3cc1531cf21c7f67b09d9cc5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | gaussregular-0.1.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 56.0 kB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
cca6d01828323c9a6b01645940f81f9e56096b27a9a1da85b9b229d460a00a65
|
|
BLAKE2b-256 checksum How to use checksums |
ac4cd399325e3c847d2b541ab6444b8ec940cc0e1e907445be04e356d34afd09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
| Download URL | gaussregular-0.1.3-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 58.1 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
0e5338f58d2d07eb7405604d6d1fbf21d162d2ba501ba510733779e0517a04f9
|
|
BLAKE2b-256 checksum How to use checksums |
0f4c87d3c3f620ab62183f37edbcd9dc68f4783ab4e71963c56d463f90538419
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | gaussregular-0.1.3-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 30.3 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6d7adf216ef94640a8d6ffcc04f3c9cfeeb230cfee9df68aac975bbc32c5e507
|
|
BLAKE2b-256 checksum How to use checksums |
88825d48dd56df64bce9e0d9081cc5571ab973303b5fe957d3689b6c8017d344
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | gaussregular-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 30.9 kB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
9092ccff09ad2078cbd19688578637f9090c8265d7d2b952e652d768243d4feb
|
|
BLAKE2b-256 checksum How to use checksums |
afce77e84b330a781b9bc6e6c4afd5f8f631d2daf224f57bf305cbc73a123dcf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp312-cp312-win_amd64.whl
| Download URL | gaussregular-0.1.3-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 33.9 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
443215d929b9cd7f96568a35401fd1200fa27f105c2255281130cfb13c6dc8d0
|
|
BLAKE2b-256 checksum How to use checksums |
31e3291320362c8facec7f5301e9abca2bf8ed5dc2288a574a5ec68c6dd3ccd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | gaussregular-0.1.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 56.0 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
e3c077ee4ecf2aab71784bfe5ff4768fb012d931f2392af0b6d51e105fe5936d
|
|
BLAKE2b-256 checksum How to use checksums |
deaa0fee76bd7f52daea89ab17c1650fdb75343ac9f646570b576e455d077b73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
| Download URL | gaussregular-0.1.3-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 58.2 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
92409210ef31a072993c32c40beec4caeb5ee4b73a0c36c999ed8f9c8d9028f2
|
|
BLAKE2b-256 checksum How to use checksums |
a1d3cd71078bc27e2e701431b998474763efb8a311a689fe09fd94dc5830912f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | gaussregular-0.1.3-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 30.3 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ab9d33d119d93b8ade7ca0befc21553cd8f7dc11295d96f70bff521bb13264a6
|
|
BLAKE2b-256 checksum How to use checksums |
2d4826cfeb9253a8b91a6d5b36fb063092c9497ed5aaab05a60a9a7614ec9335
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | gaussregular-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 30.9 kB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
e64519a88ab85ba98d5638f79599edd73b11862017028dfc0ada6b056b0c3a39
|
|
BLAKE2b-256 checksum How to use checksums |
10703764432958309b3967dcdf9ba97f36207a1b44c6729b889e7100fd850db5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp311-cp311-win_amd64.whl
| Download URL | gaussregular-0.1.3-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 33.9 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d11d780c214accc34288559606263fc6573e0b6054394b32392a20a481404955
|
|
BLAKE2b-256 checksum How to use checksums |
83c7da8c57dda609bdcfd48e4f410ca561654badba3c6b538c113e87d2c818b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | gaussregular-0.1.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 54.8 kB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
21aa82de513e2a08d3801e860187a9bf0442621be7c38c80c8764d4773a31976
|
|
BLAKE2b-256 checksum How to use checksums |
9652efb1b891026d397c2ea4b5c74b9c2637f01990e651913db92a78f637ee44
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
| Download URL | gaussregular-0.1.3-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 57.7 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
6aa2b74cf18c010563333520796a9840b3c16e2070a765a6e623ea04db09fad4
|
|
BLAKE2b-256 checksum How to use checksums |
0219a3d2c7a64eddb9303c2ea4412afd0ec1b53a005e68fa4bbe88510843e36d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | gaussregular-0.1.3-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 30.3 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
900c06df6863c4aff2e6e71ced7c97f213d1fb8ec2cb39124aaaafaacf29b0ac
|
|
BLAKE2b-256 checksum How to use checksums |
b14bed380e732d71b671d95beabe23dd9c6d7ed190dac16b21fb24b816f18ef4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | gaussregular-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 31.0 kB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
32589362c1cbec947be71f0bc21d6e1eac61628109e6a0dc0d43a3c8dda6e3c8
|
|
BLAKE2b-256 checksum How to use checksums |
7956173cdd96a9b1b0b51a1dce1f9225188d4b0895927a8be4e54e255c33df45
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp310-cp310-win_amd64.whl
| Download URL | gaussregular-0.1.3-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 33.9 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
af12677ad41e51f1e5d50cd42ee031cc8b6b591432d40a18a65136b5ae37b87d
|
|
BLAKE2b-256 checksum How to use checksums |
bfd83c666cded43a89c7af064387956565179abce0342c3779c87988d3087175
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | gaussregular-0.1.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 54.0 kB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
eb28a9c7b2ed6171be55fd6028e830c37946eaa05e20939a87b4a7cc4e6c6f40
|
|
BLAKE2b-256 checksum How to use checksums |
c4e7d9873a0a1139cccf06300e9a653489c3cff03cb22fdb30eafd83bb1166ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
| Download URL | gaussregular-0.1.3-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 56.8 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
c299b109b52b0104ad6ddf03d1b9f89d789b347d2c2e460ef95b57cea3a64027
|
|
BLAKE2b-256 checksum How to use checksums |
e548a92f658da6f520d133783c07b73b40debbcaefa00d74d2c00732ed69033f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | gaussregular-0.1.3-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 30.3 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d80aa7a843ff5b96da4735499b62dd02c71c48e06cf60356c13fa53dafe8c539
|
|
BLAKE2b-256 checksum How to use checksums |
808afc8024de1e994f312ce76943e8c9679318cf943ecbfbedadf28ecc2770a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl
| Download URL | gaussregular-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl |
|---|---|
| Size | 31.0 kB |
| Tags | CPython 3.10 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
f5ae2751713966b49c23d5318d06c0cc40d2543a77928507dccbbaba953922dd
|
|
BLAKE2b-256 checksum How to use checksums |
caa9fbab24fb31119e0220f6059b2734091cbfadbc2813005ece81b439ac7848
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp39-cp39-win_amd64.whl
| Download URL | gaussregular-0.1.3-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 33.9 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
44401547bd9e45d7891a8aef8a3bd0eeb3f321a80d65e025e65be9152f33ce19
|
|
BLAKE2b-256 checksum How to use checksums |
ab34abf7b113fc11b31fc6987814cc62b75b9097a9de1e2d7ea0e077fbb13210
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | gaussregular-0.1.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 53.7 kB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
de26517de22defc772d962aacb23fd85f3b4a82d2582e80594bff27ecd15479a
|
|
BLAKE2b-256 checksum How to use checksums |
912a43fb07db003d273664f572a06c2b7867d5c1be64301faff73416ea32c9fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp39-cp39-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
| Download URL | gaussregular-0.1.3-cp39-cp39-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 56.5 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
43af37d02b460ea671dbb962b17e173d48c61bd90f8966bac80994ee4ad65cf3
|
|
BLAKE2b-256 checksum How to use checksums |
4acd6b51c7186dad5667616c599a4766309b90b00d0730b6080218c8590dc8c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | gaussregular-0.1.3-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 30.3 kB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
066dcc2f4912c381bfdff59e6626af82991c096702231da1f15f7737a42e71a7
|
|
BLAKE2b-256 checksum How to use checksums |
f7ad713de89055d31e98dccad17e09aa2d03ad810fba772b2c2ddf7106fead70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gaussregular-0.1.3-cp39-cp39-macosx_10_9_x86_64.whl
| Download URL | gaussregular-0.1.3-cp39-cp39-macosx_10_9_x86_64.whl |
|---|---|
| Size | 31.0 kB |
| Tags | CPython 3.9 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
20670afc32627eb3113fe9c131fa707b2edade7cda0cf4a1e5d0f2f0487d4fc6
|
|
BLAKE2b-256 checksum How to use checksums |
8f82d42c597393fe09324ef70eef5ab603b8d4a7ac49b4d73bcf9c00091f1b5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|