From 99790cf63fe49439e4ab76c61973266d52fb6c91 Mon Sep 17 00:00:00 2001 From: Charalampos Stratakis Date: Tue, 5 Aug 2025 05:09:38 +0200 Subject: [PATCH] Fix compatibility with Cython >= 3.1 The "long" type was an alias for "int" in Cython for compatibility with Python 2. In Cython 3.1 the alias has been removed. --- src/pygrib/_pygrib.pyx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/pygrib/_pygrib.pyx b/src/pygrib/_pygrib.pyx index 828178e3..a474addb 100644 --- a/src/pygrib/_pygrib.pyx +++ b/src/pygrib/_pygrib.pyx @@ -5,7 +5,6 @@ __version__ = '2.1.6' import numpy as np cimport numpy as npc cimport cython -from ctypes import c_long as long import warnings import os from datetime import datetime @@ -423,7 +422,7 @@ cdef class open(object): grbs = [self.message(n) for n in xrange(beg,end,inc)] self.seek(msg) # put iterator back in original position return grbs - elif type(key) == int or type(key) == long: + elif type(key) == int: # for an integer, return a single grib message. msg = self.tell() grb = self.message(key) @@ -1924,8 +1923,8 @@ Example usage: # if there are no matches for this key, just skip it if not size: continue - if typ == 'l' or (type(v) == int or type(v) == long): - longval = long(v) + if typ == 'l' or (type(v) == int): + longval = int(v) err = grib_index_select_long(self._gi, key, longval) if err: raise RuntimeError(_get_error_message(err))