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
  • Double-precision internals: Matching CDO's numerical accuracy
  • 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 (Skip Missing-Value Detection)

If your input is guaranteed to have no missing values, enable fast=True to skip per-row missing-value detection for ~1.8x speedup:

import gaussregular as gr

engine = gr.GaussRegularizer(method="linear", cache=True)

# Standard mode with missing-value checking
regular_ds_safe = engine.regularize_dataset(ds, fast=False)  # Default

# Fast mode: assumes no missing values (dangerous if false!)
regular_ds_fast = engine.regularize_dataset(ds, fast=True)  # ~1.8x faster

Warning: Use fast=True only when you are certain the input contains no missing values (NaN, sentinel values, etc.). Incorrect use may produce garbage output.

API Reference

GaussRegularizer

Main converter class.

Parameters:

  • method (str, default="linear"): Interpolation method, either "linear" or "nearest"
  • 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=False)

  • 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 (optional): Skip missing-value detection when input has no missing values
  • 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=False)

  • 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 (optional): Skip missing-value detection when input has no missing values
  • Returns: xarray.DataArray with regularized data and preserved coordinates

regularize_dataset(dataset, nlon=None, grid_type_hint=None, method=None, fast=False)

  • 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 (optional): Skip missing-value detection when input has no missing values
  • Returns: xarray.Dataset

clear_cache()

  • Clears internal xarray plan cache

Module-level Functions

regularize_values(values, pl, missval, nlon=None, method="linear", fast=False)

  • Standalone function using default regularizer configuration

regularize_xarray(dataarray, grid_type_hint=None, method="linear", fast=False)

  • Standalone function using default regularizer configuration

regularize_dataset(dataset, grid_type_hint=None, method="linear", fast=False)

  • 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=False (default): Safe mode. Detects missing values in each row and handles them gracefully (~11.8 sec for N320 ERA5 example).
  • fast=True: Speed mode. Skips per-row missing-value detection and assumes no missing values exist. Only use when input has no missing values. Typical speedup: ~1.8x (~6.3 sec for same example).

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 must be consistently marked — via NaN or a numeric missval/GRIB_missingValue; when fast=True you must guarantee there are no missing values
  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.0.tar.gz (25.5 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.0-cp314-cp314-win_amd64.whl (31.9 kB view details)

Uploaded CPython 3.14Windows x86-64

gaussregular-0.1.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (48.6 kB view details)

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

gaussregular-0.1.0-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (49.3 kB view details)

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

gaussregular-0.1.0-cp314-cp314-macosx_11_0_arm64.whl (27.9 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

gaussregular-0.1.0-cp313-cp313-win_amd64.whl (31.2 kB view details)

Uploaded CPython 3.13Windows x86-64

gaussregular-0.1.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (48.5 kB view details)

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

gaussregular-0.1.0-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (49.2 kB view details)

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

gaussregular-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (27.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

gaussregular-0.1.0-cp312-cp312-win_amd64.whl (31.2 kB view details)

Uploaded CPython 3.12Windows x86-64

gaussregular-0.1.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (48.5 kB view details)

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

gaussregular-0.1.0-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (49.3 kB view details)

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

gaussregular-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (28.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

gaussregular-0.1.0-cp311-cp311-win_amd64.whl (31.3 kB view details)

Uploaded CPython 3.11Windows x86-64

gaussregular-0.1.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (47.0 kB view details)

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

gaussregular-0.1.0-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (48.4 kB view details)

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

gaussregular-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (28.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

gaussregular-0.1.0-cp310-cp310-win_amd64.whl (31.3 kB view details)

Uploaded CPython 3.10Windows x86-64

gaussregular-0.1.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (46.9 kB view details)

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

gaussregular-0.1.0-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (48.3 kB view details)

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

gaussregular-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (28.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

gaussregular-0.1.0-cp39-cp39-win_amd64.whl (31.3 kB view details)

Uploaded CPython 3.9Windows x86-64

gaussregular-0.1.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (46.7 kB view details)

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

gaussregular-0.1.0-cp39-cp39-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (48.1 kB view details)

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

gaussregular-0.1.0-cp39-cp39-macosx_11_0_arm64.whl (28.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for gaussregular-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1523cabc623d6f82ae9c68e4efbb7746b948d0b31b797313dae4b40c78db80ef
MD5 b530fc8a4c7deb11e922d6e94f41d1be
BLAKE2b-256 32d6bc25496d9045192f284a5fb9093f91ab57169974572991fc4339b852112f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 4e8907c6db22ad3ed0da7a9d3416f159f882aa6d989801a6d10fae38a9965bed
MD5 255096ec39cc09f85fa0b82aed7e3e9e
BLAKE2b-256 d3159baf91a55efdb4061e9e0d6bb7d90d4be1b3ca0872b8fc8e2d626dd98f68

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.0-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.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 09d9112aac508785c5499ae99b89a4b3f91bb51ea1b8e9c0fd4137a063a6581b
MD5 68930e8c658db352f73f68659980b92d
BLAKE2b-256 3a61107bc0d7a9509a756371481f09bbe73722c701789564022e34015db831e0

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.0-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.0-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 fbc8d1bbd4668308afcf1100e98ec832f763e8804a9055e1bf970437af8268ff
MD5 be92ccfa94d86359da6bd1d11191ba85
BLAKE2b-256 7a0d97bc1c6d5cb6140a39b308c91d909f3db4d517f40fbe5024cd3d7e4ef7ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e025a1aeb1fc6b6e1abc0422a53f9ce9f245a292b96d1bd1cba6e37e134fed39
MD5 6a98b42037ec6bc226eb0a3ec1f27737
BLAKE2b-256 4991406176430ef8b7b7e917950bccf83714ebbecfc9544a41c0401ad6dffcd9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1c6093a99b17437d699bc446277874590bd8a43101e868ac621de0ff1a752c5f
MD5 cc3d50918b74e17894c3a985c94963ce
BLAKE2b-256 7ab5ed9cb7140c10db156efbadd8e9592aef71627fc098cace276d818299e8b5

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.0-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.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 dc3a174773b7730a8545542f808c0d329fc1b61577899ba15cd98b717d3b641d
MD5 60af62c70c25b93f934c5ca7124df5ba
BLAKE2b-256 ac224f8114360431693d6498101d5c9305880331b01c29f3329aadd902d47d57

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.0-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.0-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 12f53509f729640c2fbcb0a3a0be40ade1786567f515cdf45a85f89507374257
MD5 a36fa3b296788ce0e2b8df02b9d838e6
BLAKE2b-256 e800948fb7edbf926bfa5444e95c685d71ffb5bc425f00889d40a5e65a5fbc20

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e457dfcdeae44cc9afcabea068074a08ab20cd9209fbfaf58f6f4333041381e0
MD5 be90a14a6c92355c9fd0becca9d7aa1b
BLAKE2b-256 7deb0edb95f24b855e2e0c611ba72c8830e7504066166c83f1a321858f35bcc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6c1711ebf362f53859439511a688a176dd070535bc5e3e729733597bd3c4b164
MD5 36df698e5d1cde05cbacbabeffd36531
BLAKE2b-256 e2b48628fad6082d6c5ac5e6c4a7c316ac37f569306a16543a5a9f4427258d71

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.0-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.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 e307872f6f7c5bdb6bb8be7b038fa0b417b6d4bf3a0aef5f512da76093873b04
MD5 94bb9cc6fd31d1763aedfb15303207d5
BLAKE2b-256 748bf7649482dbd82abd6ea16d2e85d54cecfa15d0f2e6ccc7a2ec9f7268880b

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.0-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.0-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 9e2793a20557be0fdc1894083cce3484c6968a4e966d7d65ea233821ededb949
MD5 1b473b13aad69ea83129c948e259cdde
BLAKE2b-256 ce6ac9615bad1438ced47b4be1e037d8ff5099fdcd75c93c70019993e795dbcb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d099140237a4a1dc388163492bd34908d67883982f49abd57a7693fe2b56fb61
MD5 319514566d7a1e189fca31df2282bdff
BLAKE2b-256 177fd10d3dc0c70db61b5a061c2f7240828fdea7d156d223f0937eb6dde2202e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a0c0ee8130a93c524768dd132e4a16ba892b5bf0e6dfa0029503f39ec56599ba
MD5 3ff8545d94cd5219696a4977b528fdce
BLAKE2b-256 e925232cf1fbc449e86d765479f082e9f07f181fe15295a82886af5a8c89086e

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.0-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.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 030e59753e2823846465458ed938fd3c364a2f24ff0c719d83fe431bcb58c507
MD5 68630bc96fe829abfd07e3adb9954037
BLAKE2b-256 881ee17dfb48e6538873a4baa92ef522fbabdd0232193d7b1e9083f97af85429

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.0-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.0-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 b138c9d3e32c90ed57a0b050da80c344127dc3989542eab41006fa9d2a07a4b5
MD5 740f88eb0dcf772457da854548e81a4c
BLAKE2b-256 cba0efac349a23c7ae0aca8e8ec30c452bf0fdc23fb364b079ea328b625f08be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b990520dc488f3721a58bed4c8e41c39da2d838b2e96945dec4b6e0e7e6e616c
MD5 bc351dca99ecf47e45a4eea69cc97f05
BLAKE2b-256 080437731a0b4c9862d2a8b18ae8b97446fca5cbe27bafd539afafbacdd0c5be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a827dd16cec5a899e7b841fd796519c0ef01b2108b23a28ec3eefa0e921a8d95
MD5 17e8176da59d8f86bb4742a566de036a
BLAKE2b-256 6e7dbaa3e363ec86068730cda74da4a9a51f250ce2a6a709bd15c976fb49863b

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.0-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.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 48b451f7a71244b7d82dd03884e39f007b2cfa86e521103807a3b9160d61f2ad
MD5 4e82942467665beb9c7d51659e1fb013
BLAKE2b-256 01a4da0184fe2105313033de39222f043ef2f0f0909bfcb47f834c799cb8f303

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.0-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.0-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 f88d6c9c7f53f0f67e523184e24f20dec2e07707af8adba778b6f57d07990cf3
MD5 1f06c454aaa415f5f3fdc55cb5b92d40
BLAKE2b-256 c835dd6ffea3b553e2ceb4f5e847571352dd9d90b4760712d17d3a44cee06298

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 61359f72e456ffa50164cec3b9f90370f67cbaa1abcf7b93a6a47a039dad140e
MD5 86eb4fc984267ccd34a2b7d7f5373572
BLAKE2b-256 2bc25a7811a12441ddac090cfbec9d9c9e6c24cec4b170880325981f4e5a8651

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for gaussregular-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 cb742c28be392a67d135837d6669ca5dc4fa81f86931109a521b0be5610519fb
MD5 836c7692d349e0ed0867e5029bd003a3
BLAKE2b-256 beaa13091c6fb93a63e664fcfb1560e67d767363757d05eba2df1f43dee5f782

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.0-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.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 9eb0d736537db9bbb1f74f0772b5da5e65a4c656fe874c552bf7c42a729d785c
MD5 9bfbc76b035f6953a70cddb880c20483
BLAKE2b-256 bb123fdfbdd7268062770d2ff667ea357cfb6d8e5d025e0d1af7bd1048d8c70e

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.0-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.0-cp39-cp39-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 69880bab187cdd58b9b4d35332486a28c28e78ed1c20124e26488743f5c05bd1
MD5 962f26b587123af0c8f3729ed26b1834
BLAKE2b-256 5b71f584e4dbbe001649d53c25c60626852a2276feed06f7eca73e7643c896be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4196e4ea065fdfd8f7d647cea17be92a21c6344f444d4330fe3268ee5db6b9e4
MD5 076df3048dd1475fd5988d56284f6de8
BLAKE2b-256 ace879c492c2fe274f9305b2ed46af287ff5fadbac9b7b44e62f48e37ca4c4be

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