From 493a8a1528d798e89e790d03e4d155d0c16f6ce9 Mon Sep 17 00:00:00 2001 From: Gregory Lee Date: Sat, 17 Nov 2018 05:12:09 -0500 Subject: [PATCH 1/2] explicitly set language_level=3 for cython --- pywt/_extensions/_cwt.pyx | 7 ++++--- pywt/_extensions/_dwt.pyx | 7 ++++--- pywt/_extensions/_pywt.pxd | 2 +- pywt/_extensions/_pywt.pyx | 9 +++++---- pywt/_extensions/_swt.pyx | 8 ++++---- pywt/_extensions/c_wt.pxd | 6 +++--- pywt/_extensions/wavelet.pxd | 2 +- 7 files changed, 22 insertions(+), 19 deletions(-) diff --git a/pywt/_extensions/_cwt.pyx b/pywt/_extensions/_cwt.pyx index c073851d6..323f22648 100644 --- a/pywt/_extensions/_cwt.pyx +++ b/pywt/_extensions/_cwt.pyx @@ -1,6 +1,7 @@ -#cython: boundscheck=False, wraparound=False -cimport common, c_wt -from common cimport pywt_index_t, MODE +#cython: language_level=3, boundscheck=False, wraparound=False +from . cimport common +from . cimport c_wt +from .common cimport pywt_index_t, MODE from ._pywt cimport _check_dtype cimport numpy as np diff --git a/pywt/_extensions/_dwt.pyx b/pywt/_extensions/_dwt.pyx index 05a094b7c..e44c34acc 100644 --- a/pywt/_extensions/_dwt.pyx +++ b/pywt/_extensions/_dwt.pyx @@ -1,6 +1,7 @@ -#cython: boundscheck=False, wraparound=False -cimport common, c_wt -from common cimport pywt_index_t, MODE +#cython: language_level=3, boundscheck=False, wraparound=False +from . cimport common +from . cimport c_wt +from .common cimport pywt_index_t, MODE from ._pywt cimport _check_dtype cimport numpy as np diff --git a/pywt/_extensions/_pywt.pxd b/pywt/_extensions/_pywt.pxd index bb7b39b4c..5fcd888ab 100644 --- a/pywt/_extensions/_pywt.pxd +++ b/pywt/_extensions/_pywt.pxd @@ -1,4 +1,4 @@ -cimport wavelet +from . cimport wavelet cimport numpy as np include "config.pxi" diff --git a/pywt/_extensions/_pywt.pyx b/pywt/_extensions/_pywt.pyx index 93a2485e4..02c67f6d4 100644 --- a/pywt/_extensions/_pywt.pyx +++ b/pywt/_extensions/_pywt.pyx @@ -1,5 +1,6 @@ +#cython: language_level=3 # Copyright (c) 2006-2012 Filip Wasilewski -# Copyright (c) 2012-2016 The PyWavelets Developers +# Copyright (c) 2012-2018 The PyWavelets Developers # # See COPYING for license details. @@ -11,8 +12,8 @@ __all__ = ['MODES', 'Modes', 'DiscreteContinuousWavelet', 'Wavelet', import warnings import re -cimport c_wt -cimport common +from . cimport c_wt +from . cimport common from ._dwt cimport upcoef from ._cwt cimport cwt_psi_single @@ -1044,7 +1045,7 @@ cpdef np.dtype _check_dtype(data): def keep(arr, keep_length): length = len(arr) if keep_length < length: - left_bound = (length - keep_length) / 2 + left_bound = (length - keep_length) // 2 return arr[left_bound:left_bound + keep_length] return arr diff --git a/pywt/_extensions/_swt.pyx b/pywt/_extensions/_swt.pyx index 087554110..e857e62ce 100644 --- a/pywt/_extensions/_swt.pyx +++ b/pywt/_extensions/_swt.pyx @@ -1,12 +1,12 @@ -#cython: boundscheck=False, wraparound=False -cimport common -cimport c_wt +#cython: language_level=3, boundscheck=False, wraparound=False +from . cimport common +from . cimport c_wt import warnings import numpy as np cimport numpy as np -from common cimport pywt_index_t +from .common cimport pywt_index_t from ._pywt cimport c_wavelet_from_object, cdata_t, Wavelet, _check_dtype include "config.pxi" diff --git a/pywt/_extensions/c_wt.pxd b/pywt/_extensions/c_wt.pxd index f99edf137..f08387938 100644 --- a/pywt/_extensions/c_wt.pxd +++ b/pywt/_extensions/c_wt.pxd @@ -3,9 +3,9 @@ # # See COPYING for license details. -from common cimport (MODE, pywt_index_t, ArrayInfo, Coefficient, - DiscreteTransformType) -from wavelet cimport DiscreteWavelet, ContinuousWavelet +from .common cimport (MODE, pywt_index_t, ArrayInfo, Coefficient, + DiscreteTransformType) +from .wavelet cimport DiscreteWavelet, ContinuousWavelet include "config.pxi" diff --git a/pywt/_extensions/wavelet.pxd b/pywt/_extensions/wavelet.pxd index d9f819d82..e03825df7 100644 --- a/pywt/_extensions/wavelet.pxd +++ b/pywt/_extensions/wavelet.pxd @@ -1,4 +1,4 @@ -from common cimport pywt_index_t +from .common cimport pywt_index_t cdef extern from "c/wavelets.h": ctypedef enum SYMMETRY: From cf492aedb80190d80de1a677d56ed4c97e920c22 Mon Sep 17 00:00:00 2001 From: "Gregory R. Lee" Date: Mon, 4 Feb 2019 14:41:55 -0500 Subject: [PATCH 2/2] move language_level Cython setting to setup.py as suggested by tacaswell in gh-451 --- pywt/_extensions/_cwt.pyx | 2 +- pywt/_extensions/_dwt.pyx | 2 +- pywt/_extensions/_pywt.pyx | 1 - pywt/_extensions/_swt.pyx | 2 +- setup.py | 3 +-- 5 files changed, 4 insertions(+), 6 deletions(-) diff --git a/pywt/_extensions/_cwt.pyx b/pywt/_extensions/_cwt.pyx index 323f22648..bd7fa852f 100644 --- a/pywt/_extensions/_cwt.pyx +++ b/pywt/_extensions/_cwt.pyx @@ -1,4 +1,4 @@ -#cython: language_level=3, boundscheck=False, wraparound=False +#cython: boundscheck=False, wraparound=False from . cimport common from . cimport c_wt from .common cimport pywt_index_t, MODE diff --git a/pywt/_extensions/_dwt.pyx b/pywt/_extensions/_dwt.pyx index e44c34acc..7af5d3920 100644 --- a/pywt/_extensions/_dwt.pyx +++ b/pywt/_extensions/_dwt.pyx @@ -1,4 +1,4 @@ -#cython: language_level=3, boundscheck=False, wraparound=False +#cython: boundscheck=False, wraparound=False from . cimport common from . cimport c_wt from .common cimport pywt_index_t, MODE diff --git a/pywt/_extensions/_pywt.pyx b/pywt/_extensions/_pywt.pyx index 02c67f6d4..95388c9dc 100644 --- a/pywt/_extensions/_pywt.pyx +++ b/pywt/_extensions/_pywt.pyx @@ -1,4 +1,3 @@ -#cython: language_level=3 # Copyright (c) 2006-2012 Filip Wasilewski # Copyright (c) 2012-2018 The PyWavelets Developers # diff --git a/pywt/_extensions/_swt.pyx b/pywt/_extensions/_swt.pyx index e857e62ce..718b7b0c3 100644 --- a/pywt/_extensions/_swt.pyx +++ b/pywt/_extensions/_swt.pyx @@ -1,4 +1,4 @@ -#cython: language_level=3, boundscheck=False, wraparound=False +#cython: boundscheck=False, wraparound=False from . cimport common from . cimport c_wt diff --git a/setup.py b/setup.py index 9d627e8a3..e965b8398 100755 --- a/setup.py +++ b/setup.py @@ -162,8 +162,7 @@ def get_cython_sources(use_cython): for k, v in py_defines.items(): fd.write('%s = %d\n' % (k, int(v))) - -cythonize_opts = {} +cythonize_opts = {'language_level': '3'} if os.environ.get("CYTHON_TRACE"): cythonize_opts['linetrace'] = True cython_macros.append(("CYTHON_TRACE_NOGIL", 1))