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-05-18 15:19:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-fastremap (Old) and /work/SRC/openSUSE:Factory/.python-fastremap.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-fastremap" Thu May 18 15:19:48 2023 rev:9 rq:1087746 version:1.13.5 Changes: -------- --- /work/SRC/openSUSE:Factory/python-fastremap/python-fastremap.changes 2023-02-17 16:45:29.411026569 +0100 +++ /work/SRC/openSUSE:Factory/.python-fastremap.new.1533/python-fastremap.changes 2023-05-18 15:19:57.562087412 +0200 @@ -1,0 +2,6 @@ +Thu May 18 07:23:16 UTC 2023 - Dirk Müller <dmuel...@suse.com> + +- update to 1.13.5: + * release(1.13.5): updated build for py311 + +------------------------------------------------------------------- Old: ---- fastremap-1.13.4.tar.gz New: ---- fastremap-1.13.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-fastremap.spec ++++++ --- /var/tmp/diff_new_pack.77CYDT/_old 2023-05-18 15:19:58.058090454 +0200 +++ /var/tmp/diff_new_pack.77CYDT/_new 2023-05-18 15:19:58.066090502 +0200 @@ -20,7 +20,7 @@ %define skip_python2 1 %define skip_python36 1 Name: python-fastremap -Version: 1.13.4 +Version: 1.13.5 Release: 0 Summary: Module to Remap, mask, renumber, and in-place transpose numpy arrays License: LGPL-3.0-only ++++++ fastremap-1.13.4.tar.gz -> fastremap-1.13.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fastremap-1.13.4/.github/workflows/build_wheel.yml new/fastremap-1.13.5/.github/workflows/build_wheel.yml --- old/fastremap-1.13.4/.github/workflows/build_wheel.yml 2022-06-24 04:03:10.000000000 +0200 +++ new/fastremap-1.13.5/.github/workflows/build_wheel.yml 2023-05-11 23:18:50.000000000 +0200 @@ -1,6 +1,7 @@ name: Build Wheels on: + workflow_dispatch: push: tags: - '*' @@ -27,7 +28,7 @@ uses: docker/setup-qemu-action@v1 - name: Build wheels - uses: joerick/cibuildwheel@v2.3.1 + uses: pypa/cibuildwheel@v2.12.3 # to supply options, put them in 'env', like: env: CIBW_ARCHS_LINUX: ${{matrix.arch}} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fastremap-1.13.4/ChangeLog new/fastremap-1.13.5/ChangeLog --- old/fastremap-1.13.4/ChangeLog 2023-02-07 08:34:25.000000000 +0100 +++ new/fastremap-1.13.5/ChangeLog 2023-05-11 23:52:59.000000000 +0200 @@ -1,6 +1,11 @@ CHANGES ======= +1.13.5 +------ + +* release(1.13.5): updated build for py311 + 1.13.4 ------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fastremap-1.13.4/PKG-INFO new/fastremap-1.13.5/PKG-INFO --- old/fastremap-1.13.4/PKG-INFO 2023-02-07 08:34:27.327413300 +0100 +++ new/fastremap-1.13.5/PKG-INFO 2023-05-11 23:53:03.270665000 +0200 @@ -1,11 +1,11 @@ Metadata-Version: 2.1 Name: fastremap -Version: 1.13.4 +Version: 1.13.5 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 Author-email: w...@princeton.edu -License: LGPLv3 +License: UNKNOWN Description: [](https://travis-ci.org/seung-lab/fastremap) [](https://badge.fury.io/py/fastremap) # fastremap @@ -196,15 +196,15 @@ Platform: UNKNOWN Classifier: Intended Audience :: Developers -Classifier: Development Status :: 4 - Beta +Classifier: Development Status :: 5 - Production/Stable Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3) Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 Classifier: Topic :: Utilities -Requires-Python: ~=3.6 +Requires-Python: >=3.7,<4.0 Description-Content-Type: text/markdown diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fastremap-1.13.4/fastremap.cpp new/fastremap-1.13.5/fastremap.cpp --- old/fastremap-1.13.4/fastremap.cpp 2023-02-07 08:00:00.000000000 +0100 +++ new/fastremap-1.13.5/fastremap.cpp 2023-05-11 23:17:28.000000000 +0200 @@ -1,4 +1,4 @@ -/* Generated by Cython 0.29.33 */ +/* Generated by Cython 0.29.34 */ #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_33" -#define CYTHON_HEX_VERSION 0x001D21F0 +#define CYTHON_ABI "0_29_34" +#define CYTHON_HEX_VERSION 0x001D22F0 #define CYTHON_FUTURE_DIVISION 1 #include <stddef.h> #ifndef offsetof @@ -203,7 +203,7 @@ #undef CYTHON_USE_PYLONG_INTERNALS #define CYTHON_USE_PYLONG_INTERNALS 0 #elif !defined(CYTHON_USE_PYLONG_INTERNALS) - #define CYTHON_USE_PYLONG_INTERNALS 1 + #define CYTHON_USE_PYLONG_INTERNALS (PY_VERSION_HEX < 0x030C00A5) #endif #ifndef CYTHON_USE_PYLIST_INTERNALS #define CYTHON_USE_PYLIST_INTERNALS 1 @@ -242,7 +242,7 @@ #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) #endif #ifndef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #define CYTHON_USE_DICT_VERSIONS ((PY_VERSION_HEX >= 0x030600B1) && (PY_VERSION_HEX < 0x030C00A5)) #endif #if PY_VERSION_HEX >= 0x030B00A4 #undef CYTHON_USE_EXC_INFO_STACK @@ -2490,12 +2490,20 @@ /* TypeImport.proto */ #ifndef __PYX_HAVE_RT_ImportType_proto #define __PYX_HAVE_RT_ImportType_proto +#if __STDC_VERSION__ >= 201112L +#include <stdalign.h> +#endif +#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L +#define __PYX_GET_STRUCT_ALIGNMENT(s) alignof(s) +#else +#define __PYX_GET_STRUCT_ALIGNMENT(s) sizeof(void*) +#endif enum __Pyx_ImportType_CheckSize { __Pyx_ImportType_CheckSize_Error = 0, __Pyx_ImportType_CheckSize_Warn = 1, __Pyx_ImportType_CheckSize_Ignore = 2 }; -static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); +static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize check_size); #endif /* FusedFunction.proto */ @@ -3137,7 +3145,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_4[] = "1.13.4"; +static const char __pyx_k_1_13_5[] = "1.13.5"; static const char __pyx_k_astype[] = "astype"; static const char __pyx_k_before[] = "before"; static const char __pyx_k_counts[] = "counts"; @@ -3407,7 +3415,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_4; +static PyObject *__pyx_kp_u_1_13_5; static PyObject *__pyx_n_s_ASCII; static PyObject *__pyx_kp_s_Buffer_view_does_not_expose_stri; static PyObject *__pyx_n_u_C; @@ -161867,7 +161875,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_s_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0}, - {&__pyx_kp_u_1_13_4, __pyx_k_1_13_4, sizeof(__pyx_k_1_13_4), 0, 1, 0, 0}, + {&__pyx_kp_u_1_13_5, __pyx_k_1_13_5, sizeof(__pyx_k_1_13_5), 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}, @@ -163235,24 +163243,29 @@ __Pyx_GOTREF(__pyx_t_1); __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyTypeObject), + sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT(PyTypeObject), #else - sizeof(PyHeapTypeObject), + sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT(PyHeapTypeObject), #endif __Pyx_ImportType_CheckSize_Warn); if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(3, 9, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_ptype_5numpy_dtype = __Pyx_ImportType(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __Pyx_ImportType_CheckSize_Ignore); + __pyx_ptype_5numpy_dtype = __Pyx_ImportType(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT(PyArray_Descr), + __Pyx_ImportType_CheckSize_Ignore); if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(1, 199, __pyx_L1_error) - __pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __Pyx_ImportType_CheckSize_Ignore); + __pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT(PyArrayIterObject), + __Pyx_ImportType_CheckSize_Ignore); if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(1, 222, __pyx_L1_error) - __pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __Pyx_ImportType_CheckSize_Ignore); + __pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT(PyArrayMultiIterObject), + __Pyx_ImportType_CheckSize_Ignore); if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(1, 226, __pyx_L1_error) - __pyx_ptype_5numpy_ndarray = __Pyx_ImportType(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __Pyx_ImportType_CheckSize_Ignore); + __pyx_ptype_5numpy_ndarray = __Pyx_ImportType(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT(PyArrayObject), + __Pyx_ImportType_CheckSize_Ignore); if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(1, 238, __pyx_L1_error) - __pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __Pyx_ImportType_CheckSize_Ignore); + __pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT(PyUFuncObject), + __Pyx_ImportType_CheckSize_Ignore); if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(1, 764, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_RefNannyFinishContext(); @@ -163552,15 +163565,15 @@ /* "fastremap.pyx":32 * cimport numpy as cnp * - * __version__ = '1.13.4' # <<<<<<<<<<<<<< + * __version__ = '1.13.5' # <<<<<<<<<<<<<< * __VERSION__ = __version__ * */ - if (PyDict_SetItem(__pyx_d, __pyx_n_s_version, __pyx_kp_u_1_13_4) < 0) __PYX_ERR(0, 32, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_version, __pyx_kp_u_1_13_5) < 0) __PYX_ERR(0, 32, __pyx_L1_error) /* "fastremap.pyx":33 * - * __version__ = '1.13.4' + * __version__ = '1.13.5' * __VERSION__ = __version__ # <<<<<<<<<<<<<< * * ctypedef fused UINT: @@ -166475,13 +166488,7 @@ } PyErr_SetObject(type, value); if (tb) { -#if CYTHON_COMPILING_IN_PYPY - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); - Py_INCREF(tb); - PyErr_Restore(tmp_type, tmp_value, tb); - Py_XDECREF(tmp_tb); -#else +#if CYTHON_FAST_THREAD_STATE PyThreadState *tstate = __Pyx_PyThreadState_Current; PyObject* tmp_tb = tstate->curexc_traceback; if (tb != tmp_tb) { @@ -166489,6 +166496,12 @@ tstate->curexc_traceback = tb; Py_XDECREF(tmp_tb); } +#else + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); #endif } bad: @@ -169823,13 +169836,15 @@ #ifndef __PYX_HAVE_RT_ImportType #define __PYX_HAVE_RT_ImportType static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, - size_t size, enum __Pyx_ImportType_CheckSize check_size) + size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize check_size) { PyObject *result = 0; char warning[200]; Py_ssize_t basicsize; + Py_ssize_t itemsize; #ifdef Py_LIMITED_API PyObject *py_basicsize; + PyObject *py_itemsize; #endif result = PyObject_GetAttrString(module, class_name); if (!result) @@ -169842,6 +169857,7 @@ } #ifndef Py_LIMITED_API basicsize = ((PyTypeObject *)result)->tp_basicsize; + itemsize = ((PyTypeObject *)result)->tp_itemsize; #else py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); if (!py_basicsize) @@ -169851,8 +169867,23 @@ py_basicsize = 0; if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) goto bad; + py_itemsize = PyObject_GetAttrString(result, "__itemsize__"); + if (!py_itemsize) + goto bad; + itemsize = PyLong_AsSsize_t(py_itemsize); + Py_DECREF(py_itemsize); + py_itemsize = 0; + if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; #endif - if ((size_t)basicsize < size) { + if (itemsize) { + if (size % alignment) { + alignment = size % alignment; + } + if (itemsize < (Py_ssize_t)alignment) + itemsize = (Py_ssize_t)alignment; + } + if ((size_t)(basicsize + itemsize) < size) { PyErr_Format(PyExc_ValueError, "%.200s.%.200s size changed, may indicate binary incompatibility. " "Expected %zd from C header, got %zd from PyObject", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fastremap-1.13.4/fastremap.egg-info/PKG-INFO new/fastremap-1.13.5/fastremap.egg-info/PKG-INFO --- old/fastremap-1.13.4/fastremap.egg-info/PKG-INFO 2023-02-07 08:34:25.000000000 +0100 +++ new/fastremap-1.13.5/fastremap.egg-info/PKG-INFO 2023-05-11 23:52:59.000000000 +0200 @@ -1,11 +1,11 @@ Metadata-Version: 2.1 Name: fastremap -Version: 1.13.4 +Version: 1.13.5 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 Author-email: w...@princeton.edu -License: LGPLv3 +License: UNKNOWN Description: [](https://travis-ci.org/seung-lab/fastremap) [](https://badge.fury.io/py/fastremap) # fastremap @@ -196,15 +196,15 @@ Platform: UNKNOWN Classifier: Intended Audience :: Developers -Classifier: Development Status :: 4 - Beta +Classifier: Development Status :: 5 - Production/Stable Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3) Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 Classifier: Topic :: Utilities -Requires-Python: ~=3.6 +Requires-Python: >=3.7,<4.0 Description-Content-Type: text/markdown diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fastremap-1.13.4/fastremap.egg-info/pbr.json new/fastremap-1.13.5/fastremap.egg-info/pbr.json --- old/fastremap-1.13.4/fastremap.egg-info/pbr.json 2023-02-07 08:34:25.000000000 +0100 +++ new/fastremap-1.13.5/fastremap.egg-info/pbr.json 2023-05-11 23:52:59.000000000 +0200 @@ -1 +1 @@ -{"git_version": "76077ed", "is_release": true} \ No newline at end of file +{"git_version": "68e3b49", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fastremap-1.13.4/fastremap.pyx new/fastremap-1.13.5/fastremap.pyx --- old/fastremap-1.13.4/fastremap.pyx 2023-02-07 07:59:46.000000000 +0100 +++ new/fastremap-1.13.5/fastremap.pyx 2023-05-11 23:17:16.000000000 +0200 @@ -29,7 +29,7 @@ import numpy as np cimport numpy as cnp -__version__ = '1.13.4' +__version__ = '1.13.5' __VERSION__ = __version__ ctypedef fused UINT: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fastremap-1.13.4/setup.cfg new/fastremap-1.13.5/setup.cfg --- old/fastremap-1.13.4/setup.cfg 2023-02-07 08:34:27.328112100 +0100 +++ new/fastremap-1.13.5/setup.cfg 2023-05-11 23:53:03.271960700 +0200 @@ -2,27 +2,27 @@ name = fastremap url = https://github.com/seung-lab/fastremap/ summary = Remap, mask, renumber, unique, and in-place transposition of 3D labeled images. Point cloud too. -description-file-content-type = text/markdown -description-file = README.md +description_file_content_type = text/markdown +description_file = README.md author = William Silversmith -author-email = w...@princeton.edu -home-page = https://github.com/seung-lab/fastremap/ -license = LGPLv3 +author_email = w...@princeton.edu +home_page = https://github.com/seung-lab/fastremap/ +licenses = LGPLv3 classifier = Intended Audience :: Developers - Development Status :: 4 - Beta + Development Status :: 5 - Production/Stable License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3) Programming Language :: Python Programming Language :: Python :: 3 - Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 Topic :: Utilities [global] -setup-hooks = +setup_hooks = pbr.hooks.setup_hook [files] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fastremap-1.13.4/setup.py new/fastremap-1.13.5/setup.py --- old/fastremap-1.13.4/setup.py 2023-02-07 07:59:34.000000000 +0100 +++ new/fastremap-1.13.5/setup.py 2023-05-11 23:17:08.000000000 +0200 @@ -2,7 +2,6 @@ import setuptools import sys - class NumpyImport: def __repr__(self): import numpy as np @@ -24,7 +23,7 @@ setuptools.setup( setup_requires=['pbr', 'numpy'], - python_requires="~=3.6", # >= 3.6 < 4.0 + python_requires=">=3.7,<4.0", pbr=True, ext_modules=[ setuptools.Extension( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fastremap-1.13.4/tox.ini new/fastremap-1.13.5/tox.ini --- old/fastremap-1.13.4/tox.ini 2023-02-07 08:06:51.000000000 +0100 +++ new/fastremap-1.13.5/tox.ini 2023-03-25 23:10:09.000000000 +0100 @@ -1,5 +1,5 @@ [tox] -envlist = py38,py39,py310,py311 +envlist = py311 [testenv] platform = darwin