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 =