Skip to main content

ECMWF reduced Gaussian (N/O) to regular Gaussian in-memory converter

Project description

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
  • 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; single and double force 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 precision
  • grid_number (int, optional): Default Gaussian truncation number N (e.g., 320 for N320/O320). Used when GRIB_N is missing for xarray inputs and as a fallback when regularize_values is called without a per-call grid_number. When neither metadata nor this attribute provide N, a heuristic based on the equatorial row length is used
  • cache (bool, default=False): Enable xarray metadata plan caching for repeated calls on same-structure data
  • max_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, if missval is NaN) are treated as missing and handled by the interpolation kernel
  • nlon (optional): Number of columns in output regular grid. Auto-inferred if not provided
  • method (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. Set False for explicit per-row scanning
  • Returns: (out, lon) where out is NumPy array and lon is 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_pl attribute. If GRIB_missingValue is present it is used as missval; 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_gg
  • reduced-gg
  • reduced gaussian
  • octahedral_gg
  • octahedral_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=True when 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

  1. 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 use fast=False
  2. Requires GRIB metadatapl array must be provided or in DataArray attrs
  3. Supports only Gaussian grids — other map projections not supported
  4. Precision: Outputs double-precision computation; results cast back to input dtype
  5. 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_hint if metadata is nonstandard

"Results look wrong near missing values"

  • Ensure you are not using fast=True when missing values are present
  • Verify that missing values are either NaN (and missval is left as default) or match the GRIB_missingValue/missval you 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=True for repeated calls
  • Profile with larger batch operations instead of single conversions

Contributing

Contributions welcome! Please:

  1. Read the source code and existing patterns
  2. Write tests for new features
  3. Ensure CI passes before submitting PR

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

gaussregular-0.1.3.tar.gz (27.2 kB view details)

Uploaded Source

Built Distributions

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

gaussregular-0.1.3-cp314-cp314-win_amd64.whl (34.5 kB view details)

Uploaded CPython 3.14Windows x86-64

gaussregular-0.1.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (56.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

gaussregular-0.1.3-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (58.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

gaussregular-0.1.3-cp314-cp314-macosx_11_0_arm64.whl (30.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

gaussregular-0.1.3-cp314-cp314-macosx_10_15_x86_64.whl (31.0 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

gaussregular-0.1.3-cp313-cp313-win_amd64.whl (33.9 kB view details)

Uploaded CPython 3.13Windows x86-64

gaussregular-0.1.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (56.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

gaussregular-0.1.3-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (58.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

gaussregular-0.1.3-cp313-cp313-macosx_11_0_arm64.whl (30.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

gaussregular-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl (30.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

gaussregular-0.1.3-cp312-cp312-win_amd64.whl (33.9 kB view details)

Uploaded CPython 3.12Windows x86-64

gaussregular-0.1.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (56.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

gaussregular-0.1.3-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (58.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

gaussregular-0.1.3-cp312-cp312-macosx_11_0_arm64.whl (30.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

gaussregular-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl (30.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

gaussregular-0.1.3-cp311-cp311-win_amd64.whl (33.9 kB view details)

Uploaded CPython 3.11Windows x86-64

gaussregular-0.1.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (54.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

gaussregular-0.1.3-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (57.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

gaussregular-0.1.3-cp311-cp311-macosx_11_0_arm64.whl (30.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

gaussregular-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl (31.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

gaussregular-0.1.3-cp310-cp310-win_amd64.whl (33.9 kB view details)

Uploaded CPython 3.10Windows x86-64

gaussregular-0.1.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (54.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

gaussregular-0.1.3-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (56.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

gaussregular-0.1.3-cp310-cp310-macosx_11_0_arm64.whl (30.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

gaussregular-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl (31.0 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

gaussregular-0.1.3-cp39-cp39-win_amd64.whl (33.9 kB view details)

Uploaded CPython 3.9Windows x86-64

gaussregular-0.1.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (53.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

gaussregular-0.1.3-cp39-cp39-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (56.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

gaussregular-0.1.3-cp39-cp39-macosx_11_0_arm64.whl (30.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

gaussregular-0.1.3-cp39-cp39-macosx_10_9_x86_64.whl (31.0 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file gaussregular-0.1.3.tar.gz.

File metadata

  • Download URL: gaussregular-0.1.3.tar.gz
  • Upload date:
  • Size: 27.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gaussregular-0.1.3.tar.gz
Algorithm Hash digest
SHA256 47b6eb10c16032bd86212966ae7f258fd43251de594f6b0e3e7db9234d56b41d
MD5 89af8d2e72e0eb4f01fdbabeb28259ee
BLAKE2b-256 9e200826bc53d574bef6ae02d29ca4e730eefb12019f34b6c283f68deaf6efa6

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 4448166c5c241fdbee5547446282ea813078c9c2983a2ec1a231f1613dcae407
MD5 330b29eecf15891223de007d33b704cf
BLAKE2b-256 62f90149643b7cc29d74309ddce54fc36d05319faa5581d1ff42f6218be15de8

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 0691a6b43021d9be31ec5bc4a07f7631a076d2dc3aef98157c7a0d2d18e89626
MD5 8848dd2be6e655d5d283c567a5d75745
BLAKE2b-256 5d71c263e5169818a904e464230ed7ea67c435b712b71e031aafea34e76e391a

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 6d306b5dd412ac103c1b67bd13f1b04f52e93a3d447107b9d127ad956be610d9
MD5 7284eda6970a62fab57d0feabd0a5a76
BLAKE2b-256 916220411d67e1c52bc292e86cca0e9b5985fd9fc3f5a9e4576b91a2dfcd9bcd

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2a45420615d202e6ab36aabf81f2053b99b83f16b4a05e4f6cd22ef83ee87da3
MD5 f030980aa19ebfcd2c302bb76c98d250
BLAKE2b-256 2ab106bdfef88a189b754c2ce0b2da14efc47341b59cb544685aa93b73be82eb

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c486249ac4861f45d2a853e819b371e6eee8cf519cb40f42ce3b54a64a886e65
MD5 39265ed02ad3f5428aa8c92591a741db
BLAKE2b-256 f324c1f0b72ac6b6972b275ce3586a0a5dfc7b4b7c5959350c089c281dbe4d65

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e7691b9c304f85aca3025798ba66faf46a9b8cb1d3cb0c84f5e88d43ee622e3d
MD5 cbf3906109773e11fe690cdc89e063ba
BLAKE2b-256 32bcd9287453897286262e76d61a153afb2eb26f3cc1531cf21c7f67b09d9cc5

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 cca6d01828323c9a6b01645940f81f9e56096b27a9a1da85b9b229d460a00a65
MD5 681ab17873849a239f9a752fcd8bffc0
BLAKE2b-256 ac4cd399325e3c847d2b541ab6444b8ec940cc0e1e907445be04e356d34afd09

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 0e5338f58d2d07eb7405604d6d1fbf21d162d2ba501ba510733779e0517a04f9
MD5 3feefca041581848c7d2fc949b112025
BLAKE2b-256 0f4c87d3c3f620ab62183f37edbcd9dc68f4783ab4e71963c56d463f90538419

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6d7adf216ef94640a8d6ffcc04f3c9cfeeb230cfee9df68aac975bbc32c5e507
MD5 be3047d2adf5ec8fdd48cc67af1b6f07
BLAKE2b-256 88825d48dd56df64bce9e0d9081cc5571ab973303b5fe957d3689b6c8017d344

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9092ccff09ad2078cbd19688578637f9090c8265d7d2b952e652d768243d4feb
MD5 dd78d353c32c4d6440052dba09d8984a
BLAKE2b-256 afce77e84b330a781b9bc6e6c4afd5f8f631d2daf224f57bf305cbc73a123dcf

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 443215d929b9cd7f96568a35401fd1200fa27f105c2255281130cfb13c6dc8d0
MD5 b9b682d7fe31a2277f3b1806429b5a63
BLAKE2b-256 31e3291320362c8facec7f5301e9abca2bf8ed5dc2288a574a5ec68c6dd3ccd0

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 e3c077ee4ecf2aab71784bfe5ff4768fb012d931f2392af0b6d51e105fe5936d
MD5 2c3994737da01eab97a482eb48ae260c
BLAKE2b-256 deaa0fee76bd7f52daea89ab17c1650fdb75343ac9f646570b576e455d077b73

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 92409210ef31a072993c32c40beec4caeb5ee4b73a0c36c999ed8f9c8d9028f2
MD5 2ae8f9660d6043c5d3a686ce2950fefc
BLAKE2b-256 a1d3cd71078bc27e2e701431b998474763efb8a311a689fe09fd94dc5830912f

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab9d33d119d93b8ade7ca0befc21553cd8f7dc11295d96f70bff521bb13264a6
MD5 890c8dd4b0deab97cecd7da5a64d2778
BLAKE2b-256 2d4826cfeb9253a8b91a6d5b36fb063092c9497ed5aaab05a60a9a7614ec9335

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e64519a88ab85ba98d5638f79599edd73b11862017028dfc0ada6b056b0c3a39
MD5 8a6c579f0f6a698c7def563154cb3813
BLAKE2b-256 10703764432958309b3967dcdf9ba97f36207a1b44c6729b889e7100fd850db5

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d11d780c214accc34288559606263fc6573e0b6054394b32392a20a481404955
MD5 13792b1b4df7aa31d9bda9e35db78013
BLAKE2b-256 83c7da8c57dda609bdcfd48e4f410ca561654badba3c6b538c113e87d2c818b1

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 21aa82de513e2a08d3801e860187a9bf0442621be7c38c80c8764d4773a31976
MD5 e8d35f2ea64cd6330753a88cb22845d8
BLAKE2b-256 9652efb1b891026d397c2ea4b5c74b9c2637f01990e651913db92a78f637ee44

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 6aa2b74cf18c010563333520796a9840b3c16e2070a765a6e623ea04db09fad4
MD5 a5a184c8ec5cedc899c47550d6272f40
BLAKE2b-256 0219a3d2c7a64eddb9303c2ea4412afd0ec1b53a005e68fa4bbe88510843e36d

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 900c06df6863c4aff2e6e71ced7c97f213d1fb8ec2cb39124aaaafaacf29b0ac
MD5 8de9a9628558fe2fff03948050580c28
BLAKE2b-256 b14bed380e732d71b671d95beabe23dd9c6d7ed190dac16b21fb24b816f18ef4

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 32589362c1cbec947be71f0bc21d6e1eac61628109e6a0dc0d43a3c8dda6e3c8
MD5 6dfecca316a91dd3a603cff884ee8633
BLAKE2b-256 7956173cdd96a9b1b0b51a1dce1f9225188d4b0895927a8be4e54e255c33df45

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 af12677ad41e51f1e5d50cd42ee031cc8b6b591432d40a18a65136b5ae37b87d
MD5 20eef8c1510cbfd02d0561b9e9c1d28a
BLAKE2b-256 bfd83c666cded43a89c7af064387956565179abce0342c3779c87988d3087175

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 eb28a9c7b2ed6171be55fd6028e830c37946eaa05e20939a87b4a7cc4e6c6f40
MD5 02ca2a6f19c1f6a72e8060b8053d773e
BLAKE2b-256 c4e7d9873a0a1139cccf06300e9a653489c3cff03cb22fdb30eafd83bb1166ef

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 c299b109b52b0104ad6ddf03d1b9f89d789b347d2c2e460ef95b57cea3a64027
MD5 54dece0863b63eac83d01512c3f5b797
BLAKE2b-256 e548a92f658da6f520d133783c07b73b40debbcaefa00d74d2c00732ed69033f

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d80aa7a843ff5b96da4735499b62dd02c71c48e06cf60356c13fa53dafe8c539
MD5 b3a6d77ede91726f28eca79476a2032b
BLAKE2b-256 808afc8024de1e994f312ce76943e8c9679318cf943ecbfbedadf28ecc2770a8

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f5ae2751713966b49c23d5318d06c0cc40d2543a77928507dccbbaba953922dd
MD5 f15e23c5fd9c26ca9cfa6ecad8a87435
BLAKE2b-256 caa9fbab24fb31119e0220f6059b2734091cbfadbc2813005ece81b439ac7848

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: gaussregular-0.1.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 33.9 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gaussregular-0.1.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 44401547bd9e45d7891a8aef8a3bd0eeb3f321a80d65e025e65be9152f33ce19
MD5 71085381ad9081e0e49815c97051597a
BLAKE2b-256 ab34abf7b113fc11b31fc6987814cc62b75b9097a9de1e2d7ea0e077fbb13210

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 de26517de22defc772d962aacb23fd85f3b4a82d2582e80594bff27ecd15479a
MD5 774c652068126a242dc15358bf5c3535
BLAKE2b-256 912a43fb07db003d273664f572a06c2b7867d5c1be64301faff73416ea32c9fc

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp39-cp39-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp39-cp39-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 43af37d02b460ea671dbb962b17e173d48c61bd90f8966bac80994ee4ad65cf3
MD5 f8154c72fab9221707e2f37c6f2c22c1
BLAKE2b-256 4acd6b51c7186dad5667616c599a4766309b90b00d0730b6080218c8590dc8c4

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 066dcc2f4912c381bfdff59e6626af82991c096702231da1f15f7737a42e71a7
MD5 a05c04ca4377dd890894a6d0d0f6f2f5
BLAKE2b-256 f7ad713de89055d31e98dccad17e09aa2d03ad810fba772b2c2ddf7106fead70

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.3-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for gaussregular-0.1.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 20670afc32627eb3113fe9c131fa707b2edade7cda0cf4a1e5d0f2f0487d4fc6
MD5 807c253a056e00d011b040553e394f25
BLAKE2b-256 8f82d42c597393fe09324ef70eef5ab603b8d4a7ac49b4d73bcf9c00091f1b5c

See more details on using hashes here.

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