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 (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)

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=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.2.tar.gz (25.8 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.2-cp314-cp314-win_amd64.whl (32.2 kB view details)

Uploaded CPython 3.14Windows x86-64

gaussregular-0.1.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (48.8 kB view details)

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

gaussregular-0.1.2-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (49.5 kB view details)

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

gaussregular-0.1.2-cp314-cp314-macosx_11_0_arm64.whl (28.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

gaussregular-0.1.2-cp314-cp314-macosx_10_15_x86_64.whl (28.3 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

gaussregular-0.1.2-cp313-cp313-win_amd64.whl (31.4 kB view details)

Uploaded CPython 3.13Windows x86-64

gaussregular-0.1.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (48.7 kB view details)

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

gaussregular-0.1.2-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (49.4 kB view details)

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

gaussregular-0.1.2-cp313-cp313-macosx_11_0_arm64.whl (28.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

gaussregular-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl (28.2 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

gaussregular-0.1.2-cp312-cp312-win_amd64.whl (31.4 kB view details)

Uploaded CPython 3.12Windows x86-64

gaussregular-0.1.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (48.7 kB view details)

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

gaussregular-0.1.2-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (49.5 kB view details)

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

gaussregular-0.1.2-cp312-cp312-macosx_11_0_arm64.whl (28.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

gaussregular-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl (28.3 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

gaussregular-0.1.2-cp311-cp311-win_amd64.whl (31.5 kB view details)

Uploaded CPython 3.11Windows x86-64

gaussregular-0.1.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (47.2 kB view details)

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

gaussregular-0.1.2-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (48.6 kB view details)

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

gaussregular-0.1.2-cp311-cp311-macosx_11_0_arm64.whl (28.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

gaussregular-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl (28.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

gaussregular-0.1.2-cp310-cp310-win_amd64.whl (31.5 kB view details)

Uploaded CPython 3.10Windows x86-64

gaussregular-0.1.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (47.2 kB view details)

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

gaussregular-0.1.2-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (48.5 kB view details)

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

gaussregular-0.1.2-cp310-cp310-macosx_11_0_arm64.whl (28.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

gaussregular-0.1.2-cp310-cp310-macosx_10_9_x86_64.whl (28.4 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

gaussregular-0.1.2-cp39-cp39-win_amd64.whl (31.5 kB view details)

Uploaded CPython 3.9Windows x86-64

gaussregular-0.1.2-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (47.0 kB view details)

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

gaussregular-0.1.2-cp39-cp39-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.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

gaussregular-0.1.2-cp39-cp39-macosx_11_0_arm64.whl (28.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

gaussregular-0.1.2-cp39-cp39-macosx_10_9_x86_64.whl (28.4 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: gaussregular-0.1.2.tar.gz
  • Upload date:
  • Size: 25.8 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.2.tar.gz
Algorithm Hash digest
SHA256 2bd3de0cb9b8a11572ec4d5200b13c44667f372b1b1e0179d7d8b9533be2c067
MD5 9850f358e270398a75f01b411033254d
BLAKE2b-256 97fa3547a9c25443b6079aa406635bf140377c20520bb5e7cb89e82c159b75d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 9f28194c12e2a8a7e63f442c75f50f14250115149f9f413ae082a4f33ebcc709
MD5 6f36f4c299cd6f89ff66ad3914fa9fd2
BLAKE2b-256 5da4a02c0d068087166fc876b8aefb8fb2d79716d285ad8620aa7d26a24fb255

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.2-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.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 a236d0c24f1d1a36ef6e92915fb5aed2ed37fd455a22b8cd28a77dcf7c9a209f
MD5 75c939d68da0549a191761409449ce46
BLAKE2b-256 80f7728ab7493ba602dc1d2d2ff2604fe4980718bea82dc03b1fd87916aafce2

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.2-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.2-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 fb0b01cd3a6d64d61655df638ec291c9244ca0a96488a9de104faa51726bc383
MD5 9f761377e767cd9124bc5603f1febfe3
BLAKE2b-256 20474c0b81798a9344e50fed2effb3c45b6bd7d3b8935b77448c45513e7de612

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ebac09f4e6de467704a6fcea7d3d6e3ff9c9ad47d8673d4ec15473aee0bd9e44
MD5 394c88197a04709023efbb8e92403786
BLAKE2b-256 0c1db5533dd2954a60715c6df0b0363c94b612bf8c5c59309db8eceb3e78e74c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 22d0ae611731604f1e2f08a51d4b26e2ad7de7304a072c52607298c0a2a6753a
MD5 4a3e7eeabce13c66c5482074cda7e589
BLAKE2b-256 b421d1628df6973e87a7ca7db4f41dd0f6f6b016b4b9c92e620e53151db6c7ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 deb0a0c52c903444e1a3ed4eb92f9fd6194ead1da21a18d488c78f7a93d6b733
MD5 0b6f5c9c32d561ecb0f9ed96bf5e3a1b
BLAKE2b-256 2d1b414dac327309431536c56d86fcd5e58877b9988b924193c4bd44b71d57de

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.2-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.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 c313918fa20db8044045396fba2bcfc44d077dc53c974670862032bc00ed6600
MD5 a71c94b041a50449a174e13e33e5cf23
BLAKE2b-256 521dc61ff1bd2f759bbc5fa5419b5998ec2fb52c33d904257199e846ccae71b6

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.2-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.2-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 db7daf195eb9277c611e90db912ee0f7ef3d4570a04cd691fa58fac614d13d97
MD5 4494643e57ac762c98245314d7eef9bc
BLAKE2b-256 642057152d18ad96b43ddb23c96faeb7fc1663df1dded37e69f0057e929736c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a22b6773cf8a12f3af294db0a5574b18599b1a84808e41fc46c6f0d6f973be88
MD5 4332808ba85ed41767d32627e0c40fa7
BLAKE2b-256 45209af7add557a4bd424bc1496bb2226ce5c820f422b4ab6abb2224fe15eab2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 5f0f3cc98c406985032e4e90f6e8c2be8555ccfbddebc18ba59c13abd4957c50
MD5 4c6d50e07351ba7c72f0683480a1d445
BLAKE2b-256 f5705a609980e50375091a6c13eda9480ed5b29faa4e3450342df74119c2d6b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b0687f38e68c6c22043bfc43502fc52f87ab7ded121a95ebe86a2de09bb66b20
MD5 c50104ea5d1a318fccb4277b443fe12a
BLAKE2b-256 4fb4977b899cc36b78077973e9ed2b2336a46f91ebeb1c894dcb8c72c7412ed4

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.2-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.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 2fc3391d134be8942ccb4e2466e37922bc77154ab4c9d312279b63ab7951de07
MD5 cc326a77a049c1431fc96808714b36ff
BLAKE2b-256 7b67488decd43f8ee49022ad4bb6eba4a5fdaf44ea50f5de628507ba193a8239

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.2-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.2-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 cc3854a1ede53e66911c92b1511fb1b27423507c0148bb51a48c9d493533f5a4
MD5 40f7d34b0ffaa07ee82aeab798204bf8
BLAKE2b-256 5795f257b46d3d3fe283f94793402530875f3121730c09ba3da405a9d6051494

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6163b5ff41079501737cb70709581d6906cf4df5eef77b33e35b4939efd80447
MD5 b5b7246753157dc64676f3474fc71c8d
BLAKE2b-256 bfdb6daec1a39cbc4622cbac511d9cc3c3f0d23c8c5c422206ce78ae9d07ee56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7065179db5f39dcbe1c91db7f476ba0492f9d5a145a83a2bb1ca3f2c5d29b383
MD5 d6048249d43e79dd8824d2c81eaf8c4c
BLAKE2b-256 fdf38330dafe987dbc59f9aa56e18d1139dbcc9d36a46390829590de45ec84e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 18f0ff9ee903d416255a99aef1612e6b4690ed08f9f8b44135ac0c25cc648580
MD5 554e007334b0eed854ed1bd5b31aa307
BLAKE2b-256 df857fc6b580eaecc56d878670135f24782cc02a828033daa737a8da7aa1cbce

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.2-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.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 e6e4d198c3ad2b9ab9a70116207be29519a163834eaf460b996e60dcf5f0a317
MD5 734bf82924fb5856f450f181c50a42cf
BLAKE2b-256 e76d94d75c384dc868cde63019b811d81dfb0cb50938ebda837cc45d7f8dfd68

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.2-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.2-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 c4c7029a303e4b4dfc967c96e54cf8309455772fbdbeea3d223fe35b9568912f
MD5 67921a79a079faa99ffd0b538b67ccdc
BLAKE2b-256 c905a27e509e366aaa6de78ec69b8f0385c0cde64609c23fc4c4a7a337e0f459

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c6e055e537cb0a573a51f8d4e77a664814b88a443a59a84f2f35bbdfc425cf51
MD5 e7f3e93be805280d5f1fc315ac2e7740
BLAKE2b-256 482d6a537d30e678124cebda61e673b93f37d81abecef1d18820f2362ad18d95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cea1491ecf2ff5d2cdd276245210dac632711f4ce1e5dbdacfb74b185d6e208a
MD5 04249de1a17eccb75fdbad1e01ae2067
BLAKE2b-256 beb69dc0d0393d6a1b6cd2fc412b171d9c47beacb5970773c560c6a2f4b52091

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 43e984f33cf721b18de994c2c5c04a0602994470a534d4a76f3528dd0ac2cb98
MD5 42ed9d8ed5400c79a9319b99901d4555
BLAKE2b-256 3749e575cb996c6a78f69c9ca429e23a07ff9febf949e27b779a69f6922d0959

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.2-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.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 ad2712692357d2437aab750a495c03eaefe1f4cfaffdb307e6cc38b488538294
MD5 c845419b84aae65505dc4a017a697203
BLAKE2b-256 2d89dab869e24d3d295d18315fc3d7365e5723914dfa8b310c9d2f6b05e92104

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.2-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.2-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 e131bca6068daab6fb39363ae84f39dd8e2ce63b551840331a78540982770323
MD5 ae1a3a56edee1dff31e0acd6314a25a8
BLAKE2b-256 6afd67e18e8a731d973fcded723cc22a3845e9c7c8d9f4b7a2e9ca2879c4ff3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9cd669593ea82fbfdbca437f90a833241f50a61ccf143a9af58b5e7804f83574
MD5 936f0600c50f5bb067c360cc26c2b93c
BLAKE2b-256 ac843198710cdf46477077bd52b26832a49f7f8021220c5da4aae17058e9dc78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cecc93887b9e721aa4cdf45f80e88c648980888b8e4df62fee8e1dce4c82f85a
MD5 73a85407c36c25632472102f9310543e
BLAKE2b-256 5fb296b7b33be3edeaed6fb404616bccdb08d1865cf27f2ead2c9c0340c775cc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gaussregular-0.1.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 31.5 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.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 19ba43fb992bd441da9530e10ad2d0c42cc2b0adbed78278153165dd4e52ecaa
MD5 e88d8294d0ce9f09d016cc0a08319cc0
BLAKE2b-256 227f4212a5497bc723a5a44b264f60942ef90d95ff76221627b2f99006398862

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.2-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.2-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 5c378facab7237b0f4a7c00ae63affdff34ce44fef198680a69e6305265979bb
MD5 5d1bd704bbe258c443cdfabfad959e4e
BLAKE2b-256 d96313bc24317083f36c822df0e9fa03cbc6dc6fffa5f50c2a79fc43933d8dfb

See more details on using hashes here.

File details

Details for the file gaussregular-0.1.2-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.2-cp39-cp39-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 e55d0784fd29005e243bb79f85a4e5e9e75c179d00a46d8c68c9bc2a95daa634
MD5 0557fae329d2799b1636e623568764d3
BLAKE2b-256 039918cd6ab30ae40de78d9da56e02816e06fa5b21550af9531002fc28a4daa8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e96d09a6990161ec4bb3d0d07ea3da72c8070e840814646c97f953e4d793468
MD5 4c2f07a2de288240ea5224ad3e1a4e81
BLAKE2b-256 5626722e686f0ba6cdffd3aa309bb652d80950a11adff7144b356af6bfa75cbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussregular-0.1.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 52bf447ed6df0b04938f5f954052ac738f7a08afcd7a8631222ebb02a962faa3
MD5 b5e7e62b613c4845c092eb3c92c62aed
BLAKE2b-256 1ea1ec4fd72d21a58b048d6dac3ed24c675405a02fd7329f1bb7eb2907bca970

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