Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-fastremap for 
openSUSE:Factory checked in at 2023-02-17 16:45:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-fastremap (Old)
 and      /work/SRC/openSUSE:Factory/.python-fastremap.new.22824 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-fastremap"

Fri Feb 17 16:45:17 2023 rev:8 rq:1066271 version:1.13.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-fastremap/python-fastremap.changes        
2023-01-09 17:23:36.403091951 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-fastremap.new.22824/python-fastremap.changes 
    2023-02-17 16:45:29.411026569 +0100
@@ -1,0 +2,8 @@
+Fri Feb 10 12:30:04 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 1.13.4:
+  * release(1.13.4): easier installation
+  * Delayed numpy import during setup
+  * fix: handle all LP64 platforms generically
+
+-------------------------------------------------------------------

Old:
----
  fastremap-1.13.3.tar.gz

New:
----
  fastremap-1.13.4.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-fastremap.spec ++++++
--- /var/tmp/diff_new_pack.UWp5a5/_old  2023-02-17 16:45:30.063030241 +0100
+++ /var/tmp/diff_new_pack.UWp5a5/_new  2023-02-17 16:45:30.067030264 +0100
@@ -20,7 +20,7 @@
 %define         skip_python2 1
 %define         skip_python36 1
 Name:           python-fastremap
-Version:        1.13.3
+Version:        1.13.4
 Release:        0
 Summary:        Module to Remap, mask, renumber, and in-place transpose numpy 
arrays
 License:        LGPL-3.0-only

++++++ fastremap-1.13.3.tar.gz -> fastremap-1.13.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastremap-1.13.3/AUTHORS new/fastremap-1.13.4/AUTHORS
--- old/fastremap-1.13.3/AUTHORS        2022-08-11 00:26:06.000000000 +0200
+++ new/fastremap-1.13.4/AUTHORS        2023-02-07 08:34:25.000000000 +0100
@@ -1 +1,3 @@
+Andreas Schwab <sch...@linux-m68k.org>
+Max <max...@users.noreply.github.com>
 William Silversmith <william.silversm...@gmail.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastremap-1.13.3/ChangeLog 
new/fastremap-1.13.4/ChangeLog
--- old/fastremap-1.13.3/ChangeLog      2022-08-11 00:26:06.000000000 +0200
+++ new/fastremap-1.13.4/ChangeLog      2023-02-07 08:34:25.000000000 +0100
@@ -1,6 +1,13 @@
 CHANGES
 =======
 
+1.13.4
+------
+
+* release(1.13.4): easier installation
+* Delayed numpy import during setup (#33)
+* fix: handle all LP64 platforms generically (#32)
+
 1.13.3
 ------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastremap-1.13.3/PKG-INFO 
new/fastremap-1.13.4/PKG-INFO
--- old/fastremap-1.13.3/PKG-INFO       2022-08-11 00:26:07.378217200 +0200
+++ new/fastremap-1.13.4/PKG-INFO       2023-02-07 08:34:27.327413300 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: fastremap
-Version: 1.13.3
+Version: 1.13.4
 Summary: Remap, mask, renumber, unique, and in-place transposition of 3D 
labeled images. Point cloud too.
 Home-page: https://github.com/seung-lab/fastremap/
 Author: William Silversmith
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastremap-1.13.3/fastremap.cpp 
new/fastremap-1.13.4/fastremap.cpp
--- old/fastremap-1.13.3/fastremap.cpp  2022-08-10 21:44:19.000000000 +0200
+++ new/fastremap-1.13.4/fastremap.cpp  2023-02-07 08:00:00.000000000 +0100
@@ -1,4 +1,4 @@
-/* Generated by Cython 0.29.32 */
+/* Generated by Cython 0.29.33 */
 
 #ifndef PY_SSIZE_T_CLEAN
 #define PY_SSIZE_T_CLEAN
@@ -9,8 +9,8 @@
 #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && 
PY_VERSION_HEX < 0x03030000)
     #error Cython requires Python 2.6+ or Python 3.3+.
 #else
-#define CYTHON_ABI "0_29_32"
-#define CYTHON_HEX_VERSION 0x001D20F0
+#define CYTHON_ABI "0_29_33"
+#define CYTHON_HEX_VERSION 0x001D21F0
 #define CYTHON_FUTURE_DIVISION 1
 #include <stddef.h>
 #ifndef offsetof
@@ -87,7 +87,7 @@
   #undef CYTHON_USE_EXC_INFO_STACK
   #define CYTHON_USE_EXC_INFO_STACK 0
   #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
-    #define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_HEX >= 0x07030900)
+    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
   #endif
 #elif defined(PYSTON_VERSION)
   #define CYTHON_COMPILING_IN_PYPY 0
@@ -566,11 +566,11 @@
 #endif
 #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
   #define CYTHON_PEP393_ENABLED 1
-  #if defined(PyUnicode_IS_READY)
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
-                                              0 : _PyUnicode_Ready((PyObject 
*)(op)))
+  #if PY_VERSION_HEX >= 0x030C0000
+    #define __Pyx_PyUnicode_READY(op)       (0)
   #else
-  #define __Pyx_PyUnicode_READY(op)       (0)
+    #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
+                                                0 : _PyUnicode_Ready((PyObject 
*)(op)))
   #endif
   #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
   #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
@@ -579,14 +579,14 @@
   #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
   #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
   #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, ch)
-  #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)
-  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
-  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) 
? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
-  #else
-  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) 
? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
-  #endif
+  #if PY_VERSION_HEX >= 0x030C0000
+    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
   #else
-  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
+    #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
+    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != 
(likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : 
((PyCompactUnicodeObject *)(u))->wstr_length))
+    #else
+    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != 
(likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : 
PyUnicode_GET_SIZE(u)))
+    #endif
   #endif
 #else
   #define CYTHON_PEP393_ENABLED 0
@@ -1823,18 +1823,18 @@
 
 /* GetModuleGlobalName.proto */
 #if CYTHON_USE_DICT_VERSIONS
-#define __Pyx_GetModuleGlobalName(var, name)  {\
+#define __Pyx_GetModuleGlobalName(var, name)  do {\
     static PY_UINT64_T __pyx_dict_version = 0;\
     static PyObject *__pyx_dict_cached_value = NULL;\
     (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
         (likely(__pyx_dict_cached_value) ? 
__Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
         __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, 
&__pyx_dict_cached_value);\
-}
-#define __Pyx_GetModuleGlobalNameUncached(var, name)  {\
+} while(0)
+#define __Pyx_GetModuleGlobalNameUncached(var, name)  do {\
     PY_UINT64_T __pyx_dict_version;\
     PyObject *__pyx_dict_cached_value;\
     (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, 
&__pyx_dict_cached_value);\
-}
+} while(0)
 static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T 
*dict_version, PyObject **dict_cached_value);
 #else
 #define __Pyx_GetModuleGlobalName(var, name)  (var) = 
__Pyx__GetModuleGlobalName(name)
@@ -3137,7 +3137,7 @@
 static const char __pyx_k_uintp[] = "uintp";
 static const char __pyx_k_value[] = "value";
 static const char __pyx_k_zeros[] = "zeros";
-static const char __pyx_k_1_13_3[] = "1.13.3";
+static const char __pyx_k_1_13_4[] = "1.13.4";
 static const char __pyx_k_astype[] = "astype";
 static const char __pyx_k_before[] = "before";
 static const char __pyx_k_counts[] = "counts";
@@ -3407,7 +3407,7 @@
 static const char __pyx_k_numpy_core_umath_failed_to_impor[] = 
"numpy.core.umath failed to import";
 static const char __pyx_k_unable_to_allocate_shape_and_str[] = "unable to 
allocate shape and strides.";
 static PyObject *__pyx_kp_s_;
-static PyObject *__pyx_kp_u_1_13_3;
+static PyObject *__pyx_kp_u_1_13_4;
 static PyObject *__pyx_n_s_ASCII;
 static PyObject *__pyx_kp_s_Buffer_view_does_not_expose_stri;
 static PyObject *__pyx_n_u_C;
@@ -148231,7 +148231,7 @@
  *         self.format = self._format
  * 
  */
-  if (!(likely(PyBytes_CheckExact(__pyx_v_format))||((__pyx_v_format) == 
Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", 
Py_TYPE(__pyx_v_format)->tp_name), 0))) __PYX_ERR(2, 141, __pyx_L1_error)
+  if (!(likely(PyBytes_CheckExact(__pyx_v_format))||((__pyx_v_format) == 
Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", 
"bytes", Py_TYPE(__pyx_v_format)->tp_name), 0))) __PYX_ERR(2, 141, 
__pyx_L1_error)
   __pyx_t_3 = __pyx_v_format;
   __Pyx_INCREF(__pyx_t_3);
   __Pyx_GIVEREF(__pyx_t_3);
@@ -150209,7 +150209,7 @@
  * def __setstate_cython__(self, __pyx_state):
  *     __pyx_unpickle_Enum__set_state(self, __pyx_state)             # 
<<<<<<<<<<<<<<
  */
-  if 
(!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == 
Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", 
Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error)
+  if 
(!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == 
Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", 
"tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, 
__pyx_L1_error)
   __pyx_t_1 = __pyx_unpickle_Enum__set_state(__pyx_v_self, 
((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, 
__pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -152512,7 +152512,7 @@
     __Pyx_GOTREF(__pyx_t_4);
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-    if (!(likely(PyBytes_CheckExact(__pyx_t_4))||((__pyx_t_4) == 
Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", 
Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(2, 512, __pyx_L1_error)
+    if (!(likely(PyBytes_CheckExact(__pyx_t_4))||((__pyx_t_4) == 
Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", 
"bytes", Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(2, 512, __pyx_L1_error)
     __pyx_v_bytesvalue = ((PyObject*)__pyx_t_4);
     __pyx_t_4 = 0;
 
@@ -152585,7 +152585,7 @@
       __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
     }
     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-    if (!(likely(PyBytes_CheckExact(__pyx_t_4))||((__pyx_t_4) == 
Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", 
Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(2, 514, __pyx_L1_error)
+    if (!(likely(PyBytes_CheckExact(__pyx_t_4))||((__pyx_t_4) == 
Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", 
"bytes", Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(2, 514, __pyx_L1_error)
     __pyx_v_bytesvalue = ((PyObject*)__pyx_t_4);
     __pyx_t_4 = 0;
   }
@@ -160788,7 +160788,7 @@
  *     return __pyx_result
  * cdef __pyx_unpickle_Enum__set_state(Enum __pyx_result, tuple __pyx_state):
  */
-    if 
(!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == 
Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", 
Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error)
+    if 
(!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == 
Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", 
"tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, 
__pyx_L1_error)
     __pyx_t_4 = __pyx_unpickle_Enum__set_state(((struct __pyx_MemviewEnum_obj 
*)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if 
(unlikely(!__pyx_t_4)) __PYX_ERR(2, 9, __pyx_L1_error)
     __Pyx_GOTREF(__pyx_t_4);
     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -161867,7 +161867,7 @@
 
 static __Pyx_StringTabEntry __pyx_string_tab[] = {
   {&__pyx_kp_s_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0},
-  {&__pyx_kp_u_1_13_3, __pyx_k_1_13_3, sizeof(__pyx_k_1_13_3), 0, 1, 0, 0},
+  {&__pyx_kp_u_1_13_4, __pyx_k_1_13_4, sizeof(__pyx_k_1_13_4), 0, 1, 0, 0},
   {&__pyx_n_s_ASCII, __pyx_k_ASCII, sizeof(__pyx_k_ASCII), 0, 0, 1, 1},
   {&__pyx_kp_s_Buffer_view_does_not_expose_stri, 
__pyx_k_Buffer_view_does_not_expose_stri, 
sizeof(__pyx_k_Buffer_view_does_not_expose_stri), 0, 0, 1, 0},
   {&__pyx_n_u_C, __pyx_k_C, sizeof(__pyx_k_C), 0, 1, 0, 1},
@@ -163098,7 +163098,7 @@
 
 static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
   __pyx_umethod_PyDict_Type_keys.type = (PyObject*)&PyDict_Type;
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
+  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
   __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, 
__pyx_L1_error)
   __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, 
__pyx_L1_error)
   __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, 
__pyx_L1_error)
@@ -163449,7 +163449,7 @@
   Py_INCREF(__pyx_b);
   __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if 
(unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
   Py_INCREF(__pyx_cython_runtime);
-  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) 
__PYX_ERR(0, 1, __pyx_L1_error);
+  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) 
__PYX_ERR(0, 1, __pyx_L1_error)
   /*--- Initialize various global constants etc. ---*/
   if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
   #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || 
__PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
@@ -163552,15 +163552,15 @@
   /* "fastremap.pyx":32
  * cimport numpy as cnp
  * 
- * __version__ = '1.13.3'             # <<<<<<<<<<<<<<
+ * __version__ = '1.13.4'             # <<<<<<<<<<<<<<
  * __VERSION__ = __version__
  * 
  */
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s_version, __pyx_kp_u_1_13_3) < 0) 
__PYX_ERR(0, 32, __pyx_L1_error)
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_version, __pyx_kp_u_1_13_4) < 0) 
__PYX_ERR(0, 32, __pyx_L1_error)
 
   /* "fastremap.pyx":33
  * 
- * __version__ = '1.13.3'
+ * __version__ = '1.13.4'
  * __VERSION__ = __version__             # <<<<<<<<<<<<<<
  * 
  * ctypedef fused UINT:
@@ -166649,7 +166649,7 @@
         return __Pyx_PyFunction_FastCall(func, NULL, 0);
     }
 #endif
-#ifdef __Pyx_CyFunction_USED
+#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG)
     if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
 #else
     if (likely(PyCFunction_Check(func)))
@@ -166794,10 +166794,8 @@
         Py_DECREF(retval);
         __Pyx_RaiseTooManyValuesError(expected);
         return -1;
-    } else {
-        return __Pyx_IterFinish();
     }
-    return 0;
+    return __Pyx_IterFinish();
 }
 
 /* RaiseNoneIterError */
@@ -168036,7 +168034,7 @@
 /* ObjectGetItem */
   #if CYTHON_USE_TYPE_SLOTS
 static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) {
-    PyObject *runerr;
+    PyObject *runerr = NULL;
     Py_ssize_t key_value;
     PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence;
     if (unlikely(!(m && m->sq_item))) {
@@ -168843,9 +168841,14 @@
         self = PyTuple_GetItem(args, 0);
         if (unlikely(!self)) {
             Py_DECREF(new_args);
+#if PY_MAJOR_VERSION > 2
             PyErr_Format(PyExc_TypeError,
                          "unbound method %.200S() needs an argument",
                          cyfunc->func_qualname);
+#else
+            PyErr_SetString(PyExc_TypeError,
+                            "unbound method needs an argument");
+#endif
             return NULL;
         }
         result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
@@ -170238,7 +170241,7 @@
 
 /* CLineInTraceback */
   #ifndef CYTHON_CLINE_IN_TRACEBACK
-static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, 
int c_line) {
+static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int 
c_line) {
     PyObject *use_cline;
     PyObject *ptype, *pvalue, *ptraceback;
 #if CYTHON_COMPILING_IN_CPYTHON
@@ -170594,7 +170597,7 @@
             if (a.imag == 0) {
                 if (a.real == 0) {
                     return a;
-                } else if (b.imag == 0) {
+                } else if ((b.imag == 0) && (a.real >= 0)) {
                     z.real = powf(a.real, b.real);
                     z.imag = 0;
                     return z;
@@ -172074,7 +172077,7 @@
             if (a.imag == 0) {
                 if (a.real == 0) {
                     return a;
-                } else if (b.imag == 0) {
+                } else if ((b.imag == 0) && (a.real >= 0)) {
                     z.real = pow(a.real, b.real);
                     z.imag = 0;
                     return z;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastremap-1.13.3/fastremap.egg-info/PKG-INFO 
new/fastremap-1.13.4/fastremap.egg-info/PKG-INFO
--- old/fastremap-1.13.3/fastremap.egg-info/PKG-INFO    2022-08-11 
00:26:06.000000000 +0200
+++ new/fastremap-1.13.4/fastremap.egg-info/PKG-INFO    2023-02-07 
08:34:25.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: fastremap
-Version: 1.13.3
+Version: 1.13.4
 Summary: Remap, mask, renumber, unique, and in-place transposition of 3D 
labeled images. Point cloud too.
 Home-page: https://github.com/seung-lab/fastremap/
 Author: William Silversmith
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastremap-1.13.3/fastremap.egg-info/pbr.json 
new/fastremap-1.13.4/fastremap.egg-info/pbr.json
--- old/fastremap-1.13.3/fastremap.egg-info/pbr.json    2022-08-11 
00:26:06.000000000 +0200
+++ new/fastremap-1.13.4/fastremap.egg-info/pbr.json    2023-02-07 
08:34:25.000000000 +0100
@@ -1 +1 @@
-{"git_version": "62b1c04", "is_release": true}
\ No newline at end of file
+{"git_version": "76077ed", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastremap-1.13.3/fastremap.pyx 
new/fastremap-1.13.4/fastremap.pyx
--- old/fastremap-1.13.3/fastremap.pyx  2022-08-10 21:44:39.000000000 +0200
+++ new/fastremap-1.13.4/fastremap.pyx  2023-02-07 07:59:46.000000000 +0100
@@ -29,7 +29,7 @@
 import numpy as np
 cimport numpy as cnp
 
-__version__ = '1.13.3'
+__version__ = '1.13.4'
 __VERSION__ = __version__
 
 ctypedef fused UINT:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastremap-1.13.3/setup.py 
new/fastremap-1.13.4/setup.py
--- old/fastremap-1.13.3/setup.py       2021-05-08 05:31:23.000000000 +0200
+++ new/fastremap-1.13.4/setup.py       2023-02-07 07:59:34.000000000 +0100
@@ -2,32 +2,39 @@
 import setuptools
 import sys
 
-import numpy as np
+
+class NumpyImport:
+  def __repr__(self):
+    import numpy as np
+
+    return np.get_include()
+
+  __fspath__ = __repr__
+
 
 # NOTE: If fastremap.cpp does not exist, you must run
 # cython -3 --cplus fastremap.pyx
 
 extra_compile_args = [
-  '-std=c++11', '-O3', 
+  '-std=c++11', '-O3',
 ]
 
 if sys.platform == 'darwin':
-  extra_compile_args += [ '-stdlib=libc++', '-mmacosx-version-min=10.9' ]
+  extra_compile_args += ['-stdlib=libc++', '-mmacosx-version-min=10.9']
 
 setuptools.setup(
   setup_requires=['pbr', 'numpy'],
-  python_requires="~=3.6", # >= 3.6 < 4.0
+  python_requires="~=3.6",  # >= 3.6 < 4.0
   pbr=True,
   ext_modules=[
     setuptools.Extension(
       'fastremap',
-      sources=[ 'fastremap.cpp' ],
+      sources=['fastremap.cpp'],
       depends=[],
       language='c++',
-      include_dirs=[ np.get_include() ],
+      include_dirs=[NumpyImport()],
       extra_compile_args=extra_compile_args,
-    ) 
+    )
   ],
   long_description_content_type='text/markdown',
 )
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastremap-1.13.3/ska_flat_hash_map.hpp 
new/fastremap-1.13.4/ska_flat_hash_map.hpp
--- old/fastremap-1.13.3/ska_flat_hash_map.hpp  2022-05-25 20:23:17.000000000 
+0200
+++ new/fastremap-1.13.4/ska_flat_hash_map.hpp  2023-01-16 22:13:04.000000000 
+0100
@@ -39,7 +39,7 @@
 
 // Check GCC
 #if __GNUC__
-  #if __x86_64__ || __ppc64__ || __aarch64__
+  #if __x86_64__ || __ppc64__ || __aarch64__ || __LP64__
     #define ENV64BIT
   #else
     #define ENV32BIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastremap-1.13.3/tox.ini new/fastremap-1.13.4/tox.ini
--- old/fastremap-1.13.3/tox.ini        2022-08-10 22:02:33.000000000 +0200
+++ new/fastremap-1.13.4/tox.ini        2023-02-07 08:06:51.000000000 +0100
@@ -1,10 +1,11 @@
 [tox]
-envlist = py38,py39,py310
+envlist = py38,py39,py310,py311
 
 [testenv]
 platform = darwin
 deps = 
        oldest-supported-numpy
+       -rrequirements.txt
        -rrequirements_dev.txt
 
 commands = 

Reply via email to