diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2015-06-19 19:54:15 -0600 |
---|---|---|
committer | Charles Harris <charlesr.harris@gmail.com> | 2015-06-21 12:43:06 -0600 |
commit | 505b0f4c11acb1ade1e91f1360ffa6a33cbd0b51 (patch) | |
tree | b1141ad866027a2e053f750c918fd4eb52a7fb21 /numpy/core | |
parent | f6861923209df65d9c4253368061072eda67ea77 (diff) | |
download | numpy-505b0f4c11acb1ade1e91f1360ffa6a33cbd0b51.tar.gz |
MAINT: Mark deprecation warning with a date and Numpy version.
This is to make it easier to find and remove deprecated features.
It would be a good idea if all deprecations were made with similar
comments.
Diffstat (limited to 'numpy/core')
-rw-r--r-- | numpy/core/arrayprint.py | 2 | ||||
-rw-r--r-- | numpy/core/fromnumeric.py | 1 | ||||
-rw-r--r-- | numpy/core/numeric.py | 3 | ||||
-rw-r--r-- | numpy/core/src/multiarray/arrayobject.c | 9 | ||||
-rw-r--r-- | numpy/core/src/multiarray/conversion_utils.c | 4 | ||||
-rw-r--r-- | numpy/core/src/multiarray/ctors.c | 2 | ||||
-rw-r--r-- | numpy/core/src/multiarray/descriptor.c | 2 | ||||
-rw-r--r-- | numpy/core/src/multiarray/item_selection.c | 1 | ||||
-rw-r--r-- | numpy/core/src/multiarray/mapping.c | 8 | ||||
-rw-r--r-- | numpy/core/src/multiarray/multiarraymodule.c | 2 | ||||
-rw-r--r-- | numpy/core/src/multiarray/nditer_constr.c | 1 | ||||
-rw-r--r-- | numpy/core/src/multiarray/number.c | 1 | ||||
-rw-r--r-- | numpy/core/src/umath/loops.c.src | 3 | ||||
-rw-r--r-- | numpy/core/src/umath/ufunc_type_resolution.c | 2 |
14 files changed, 40 insertions, 1 deletions
diff --git a/numpy/core/arrayprint.py b/numpy/core/arrayprint.py index 2dc56928c..1fa0849a8 100644 --- a/numpy/core/arrayprint.py +++ b/numpy/core/arrayprint.py @@ -291,6 +291,7 @@ def _array2string(a, max_line_width, precision, suppress_small, separator=' ', msg = "The `_format` attribute is deprecated in Numpy 2.0 and " \ "will be removed in 2.1. Use the `formatter` kw instead." import warnings + # 2011-04-03, RemoveMe warnings.warn(msg, DeprecationWarning) except AttributeError: # find the right formatting function for the array @@ -446,6 +447,7 @@ def array2string(a, max_line_width=None, precision=None, "2.0 and will be removed in 2.1. Use the " \ "`formatter` kw instead." import warnings + # 2012-05-11, RemoveMe warnings.warn(msg, DeprecationWarning) except AttributeError: if isinstance(x, tuple): diff --git a/numpy/core/fromnumeric.py b/numpy/core/fromnumeric.py index 3741d821d..5f96b1d61 100644 --- a/numpy/core/fromnumeric.py +++ b/numpy/core/fromnumeric.py @@ -2624,6 +2624,7 @@ def rank(a): 0 """ + # 2014-04-12, 1.9 warnings.warn( "`rank` is deprecated; use the `ndim` attribute or function instead. " "To find the rank of a matrix see `numpy.linalg.matrix_rank`.", diff --git a/numpy/core/numeric.py b/numpy/core/numeric.py index bf22f6954..a432f39e4 100644 --- a/numpy/core/numeric.py +++ b/numpy/core/numeric.py @@ -900,6 +900,7 @@ def correlate(a, v, mode='valid', old_behavior=False): # the old behavior should be made available under a different name, see thread # http://thread.gmane.org/gmane.comp.python.numeric.general/12609/focus=12630 if old_behavior: + # 2009-07-18 RemoveMe warnings.warn(""" The old behavior of correlate was deprecated for 1.4.0, and will be completely removed for NumPy 2.0. @@ -1114,6 +1115,7 @@ def alterdot(): restoredot : `restoredot` undoes the effects of `alterdot`. """ + # 2014-08-13, 1.10 warnings.warn("alterdot no longer does anything.", DeprecationWarning) @@ -1137,6 +1139,7 @@ def restoredot(): alterdot : `restoredot` undoes the effects of `alterdot`. """ + # 2014-08-13, 1.10 warnings.warn("restoredot no longer does anything.", DeprecationWarning) diff --git a/numpy/core/src/multiarray/arrayobject.c b/numpy/core/src/multiarray/arrayobject.c index e7db43c06..42c83b625 100644 --- a/numpy/core/src/multiarray/arrayobject.c +++ b/numpy/core/src/multiarray/arrayobject.c @@ -738,6 +738,7 @@ array_might_be_written(PyArrayObject *obj) "The quick fix is to make an explicit copy (e.g., do\n" "arr.diagonal().copy() or arr[['f0','f1']].copy())."; if (PyArray_FLAGS(obj) & NPY_ARRAY_WARN_ON_WRITE) { + /* 2012-07-17, 1.7 */ if (DEPRECATE_FUTUREWARNING(msg) < 0) { return -1; } @@ -1345,6 +1346,7 @@ array_richcompare(PyArrayObject *self, PyObject *other, int cmp_op) break; case Py_EQ: if (other == Py_None) { + /* 2013-07-25, 1.7 */ if (DEPRECATE_FUTUREWARNING("comparison to `None` will result in " "an elementwise object comparison in the future.") < 0) { return NULL; @@ -1368,6 +1370,7 @@ array_richcompare(PyArrayObject *self, PyObject *other, int cmp_op) * this way. */ if (array_other == NULL) { + /* 2015-05-07, 1.10 */ PyErr_Clear(); if (DEPRECATE( "elementwise == comparison failed and returning scalar " @@ -1382,6 +1385,7 @@ array_richcompare(PyArrayObject *self, PyObject *other, int cmp_op) PyArray_DESCR(array_other), NPY_EQUIV_CASTING); if (_res == 0) { + /* 2015-05-07, 1.10 */ Py_DECREF(array_other); if (DEPRECATE_FUTUREWARNING( "elementwise == comparison failed and returning scalar " @@ -1417,6 +1421,7 @@ array_richcompare(PyArrayObject *self, PyObject *other, int cmp_op) * Comparisons should raise errors when element-wise comparison * is not possible. */ + /* 2015-05-14, 1.10 */ PyErr_Clear(); if (DEPRECATE("elementwise == comparison failed; " "this will raise an error in the future.") < 0) { @@ -1429,6 +1434,7 @@ array_richcompare(PyArrayObject *self, PyObject *other, int cmp_op) break; case Py_NE: if (other == Py_None) { + /* 2013-07-25, 1.8 */ if (DEPRECATE_FUTUREWARNING("comparison to `None` will result in " "an elementwise object comparison in the future.") < 0) { return NULL; @@ -1452,6 +1458,7 @@ array_richcompare(PyArrayObject *self, PyObject *other, int cmp_op) * this way. */ if (array_other == NULL) { + /* 2015-05-07, 1.10 */ PyErr_Clear(); if (DEPRECATE( "elementwise != comparison failed and returning scalar " @@ -1466,6 +1473,7 @@ array_richcompare(PyArrayObject *self, PyObject *other, int cmp_op) PyArray_DESCR(array_other), NPY_EQUIV_CASTING); if (_res == 0) { + /* 2015-05-07, 1.10 */ Py_DECREF(array_other); if (DEPRECATE_FUTUREWARNING( "elementwise != comparison failed and returning scalar " @@ -1495,6 +1503,7 @@ array_richcompare(PyArrayObject *self, PyObject *other, int cmp_op) * Comparisons should raise errors when element-wise comparison * is not possible. */ + /* 2015-05-14, 1.10 */ PyErr_Clear(); if (DEPRECATE("elementwise != comparison failed; " "this will raise an error in the future.") < 0) { diff --git a/numpy/core/src/multiarray/conversion_utils.c b/numpy/core/src/multiarray/conversion_utils.c index 95241f36c..52338791f 100644 --- a/numpy/core/src/multiarray/conversion_utils.c +++ b/numpy/core/src/multiarray/conversion_utils.c @@ -784,6 +784,7 @@ PyArray_PyIntAsIntp_ErrMsg(PyObject *o, const char * msg) /* Be a bit stricter and not allow bools, np.bool_ is handled later */ if (PyBool_Check(o)) { + /* 2013-04-13, 1.8 */ if (DEPRECATE("using a boolean instead of an integer" " will result in an error in the future") < 0) { return -1; @@ -817,6 +818,7 @@ PyArray_PyIntAsIntp_ErrMsg(PyObject *o, const char * msg) /* Disallow numpy.bool_. Boolean arrays do not currently support index. */ if (PyArray_IsScalar(o, Bool)) { + /* 2013-06-09, 1.8 */ if (DEPRECATE("using a boolean instead of an integer" " will result in an error in the future") < 0) { return -1; @@ -884,6 +886,7 @@ PyArray_PyIntAsIntp_ErrMsg(PyObject *o, const char * msg) } /* Give a deprecation warning, unless there was already an error */ if (!error_converting(long_value)) { + /* 2013-04-13, 1.8 */ if (DEPRECATE("using a non-integer number instead of an integer" " will result in an error in the future") < 0) { return -1; @@ -1139,6 +1142,7 @@ PyArray_TypestrConvert(int itemsize, int gentype) if (itemsize == 4 || itemsize == 8) { int ret = 0; if (evil_global_disable_warn_O4O8_flag) { + /* 2012-02-04, 1.7, not sure when this can be removed */ ret = DEPRECATE("DType strings 'O4' and 'O8' are " "deprecated because they are platform " "specific. Use 'O' instead"); diff --git a/numpy/core/src/multiarray/ctors.c b/numpy/core/src/multiarray/ctors.c index 70161bf74..1eca908f5 100644 --- a/numpy/core/src/multiarray/ctors.c +++ b/numpy/core/src/multiarray/ctors.c @@ -2452,6 +2452,7 @@ PyArray_FromDimsAndDataAndDescr(int nd, int *d, char msg[] = "PyArray_FromDimsAndDataAndDescr: use PyArray_NewFromDescr."; if (DEPRECATE(msg) < 0) { + /* 2009-04-30, 1.5 */ return NULL; } if (!PyArray_ISNBO(descr->byteorder)) @@ -2476,6 +2477,7 @@ PyArray_FromDims(int nd, int *d, int type) char msg[] = "PyArray_FromDims: use PyArray_SimpleNew."; if (DEPRECATE(msg) < 0) { + /* 2009-04-30, 1.5 */ return NULL; } ret = (PyArrayObject *)PyArray_FromDimsAndDataAndDescr(nd, d, diff --git a/numpy/core/src/multiarray/descriptor.c b/numpy/core/src/multiarray/descriptor.c index 13e172a0e..d02590185 100644 --- a/numpy/core/src/multiarray/descriptor.c +++ b/numpy/core/src/multiarray/descriptor.c @@ -1975,6 +1975,8 @@ arraydescr_names_set(PyArray_Descr *self, PyObject *val) } /* + * FIXME + * * This deprecation has been temporarily removed for the NumPy 1.7 * release. It should be re-added after the 1.7 branch is done, * and a convenience API to replace the typical use-cases for diff --git a/numpy/core/src/multiarray/item_selection.c b/numpy/core/src/multiarray/item_selection.c index 00639a19c..0e03b4371 100644 --- a/numpy/core/src/multiarray/item_selection.c +++ b/numpy/core/src/multiarray/item_selection.c @@ -1157,6 +1157,7 @@ partition_prep_kth_array(PyArrayObject * ktharray, npy_intp nkth, i; if (!PyArray_CanCastSafely(PyArray_TYPE(ktharray), NPY_INTP)) { + /* 2013-05-18, 1.8 */ if (DEPRECATE("Calling partition with a non integer index" " will result in an error in the future") < 0) { return NULL; diff --git a/numpy/core/src/multiarray/mapping.c b/numpy/core/src/multiarray/mapping.c index de9a2d444..49a54d6cb 100644 --- a/numpy/core/src/multiarray/mapping.c +++ b/numpy/core/src/multiarray/mapping.c @@ -292,6 +292,7 @@ prepare_index(PyArrayObject *self, PyObject *index, * replaced with a slice. */ if (index_type & HAS_ELLIPSIS) { + /* 2013-04-14, 1.8 */ if (DEPRECATE( "an index can only have a single Ellipsis (`...`); " "replace all but one with slices (`:`).") < 0) { @@ -433,6 +434,7 @@ prepare_index(PyArrayObject *self, PyObject *index, * later just like a normal array. */ if (PyArray_ISBOOL(tmp_arr)) { + /* 2013-04-14, 1.8 */ if (DEPRECATE_FUTUREWARNING( "in the future, boolean array-likes will be " "handled as a boolean array index") < 0) { @@ -465,6 +467,7 @@ prepare_index(PyArrayObject *self, PyObject *index, else if (!PyArray_ISINTEGER(tmp_arr)) { if (PyArray_NDIM(tmp_arr) == 0) { /* match integer deprecation warning */ + /* 2013-09-25, 1.8 */ if (DEPRECATE( "using a non-integer number instead of an " "integer will result in an error in the " @@ -480,6 +483,7 @@ prepare_index(PyArrayObject *self, PyObject *index, } } else { + /* 2013-09-25, 1.8 */ if (DEPRECATE( "non integer (and non boolean) array-likes " "will not be accepted as indices in the " @@ -1727,10 +1731,11 @@ attempt_1d_fallback(PyArrayObject *self, PyObject *ind, PyObject *op) if (iter_ass_subscript(self_iter, ind, op) < 0) { goto fail; } - + Py_XDECREF((PyObject *)self_iter); Py_DECREF(err); + /* 2014-06-12, 1.9 */ if (DEPRECATE( "assignment will raise an error in the future, most likely " "because your index result shape does not match the value array " @@ -1744,6 +1749,7 @@ attempt_1d_fallback(PyArrayObject *self, PyObject *ind, PyObject *op) if (!PyErr_ExceptionMatches(err)) { PyObject *err, *val, *tb; PyErr_Fetch(&err, &val, &tb); + /* 2014-06-12, 1.9 */ DEPRECATE_FUTUREWARNING( "assignment exception type will change in the future"); PyErr_Restore(err, val, tb); diff --git a/numpy/core/src/multiarray/multiarraymodule.c b/numpy/core/src/multiarray/multiarraymodule.c index 3fe8611d4..fbaa0f9d8 100644 --- a/numpy/core/src/multiarray/multiarraymodule.c +++ b/numpy/core/src/multiarray/multiarraymodule.c @@ -257,6 +257,7 @@ PyArray_As1D(PyObject **op, char **ptr, int *d1, int typecode) PyArray_Descr *descr; static const char msg[] = "PyArray_As1D: use PyArray_AsCArray."; + /* 2008-07-14, 1.5 */ if (DEPRECATE(msg) < 0) { return -1; } @@ -278,6 +279,7 @@ PyArray_As2D(PyObject **op, char ***ptr, int *d1, int *d2, int typecode) PyArray_Descr *descr; static const char msg[] = "PyArray_As1D: use PyArray_AsCArray."; + /* 2008-07-14, 1.5 */ if (DEPRECATE(msg) < 0) { return -1; } diff --git a/numpy/core/src/multiarray/nditer_constr.c b/numpy/core/src/multiarray/nditer_constr.c index 636dd6b96..9c5afedf6 100644 --- a/numpy/core/src/multiarray/nditer_constr.c +++ b/numpy/core/src/multiarray/nditer_constr.c @@ -168,6 +168,7 @@ NpyIter_AdvancedNew(int nop, PyArrayObject **op_in, npy_uint32 flags, "deprecated. Use `oa_ndim == -1` or the MultiNew " "iterator for NumPy <1.8 compatibility"; if (DEPRECATE(mesg) < 0) { + /* 2013-02-23, 1.8 */ return NULL; } oa_ndim = -1; diff --git a/numpy/core/src/multiarray/number.c b/numpy/core/src/multiarray/number.c index 3819f510b..fcc70d4ec 100644 --- a/numpy/core/src/multiarray/number.c +++ b/numpy/core/src/multiarray/number.c @@ -1022,6 +1022,7 @@ array_index(PyArrayObject *v) return NULL; } if (PyArray_NDIM(v) != 0) { + /* 2013-04-20, 1.8 */ if (DEPRECATE("converting an array with ndim > 0 to an index" " will result in an error in the future") < 0) { return NULL; diff --git a/numpy/core/src/umath/loops.c.src b/numpy/core/src/umath/loops.c.src index e10482b06..d0fd0e43b 100644 --- a/numpy/core/src/umath/loops.c.src +++ b/numpy/core/src/umath/loops.c.src @@ -2574,6 +2574,7 @@ OBJECT_@kind@(char **args, npy_intp *dimensions, npy_intp *steps, void *NPY_UNUS if (ret_obj == NULL) { #if @identity@ != -1 if (in1 == in2) { + /* 2014-01-26, 1.9 */ PyErr_Clear(); if (DEPRECATE("numpy @kind@ will not check object identity " "in the future. The comparison error will " @@ -2591,6 +2592,7 @@ OBJECT_@kind@(char **args, npy_intp *dimensions, npy_intp *steps, void *NPY_UNUS if (ret == -1) { #if @identity@ != -1 if (in1 == in2) { + /* 2014-01-26, 1.9 */ PyErr_Clear(); if (DEPRECATE("numpy @kind@ will not check object identity " "in the future. The error trying to get the " @@ -2606,6 +2608,7 @@ OBJECT_@kind@(char **args, npy_intp *dimensions, npy_intp *steps, void *NPY_UNUS } #if @identity@ != -1 if ((in1 == in2) && ((npy_bool)ret != @identity@)) { + /* 2014-01-26, 1.9 */ if (DEPRECATE_FUTUREWARNING( "numpy @kind@ will not check object identity " "in the future. The comparison did not return the " diff --git a/numpy/core/src/umath/ufunc_type_resolution.c b/numpy/core/src/umath/ufunc_type_resolution.c index 601ffadbf..1bd7f322b 100644 --- a/numpy/core/src/umath/ufunc_type_resolution.c +++ b/numpy/core/src/umath/ufunc_type_resolution.c @@ -384,6 +384,7 @@ PyUFunc_NegativeTypeResolver(PyUFuncObject *ufunc, /* The type resolver would have upcast already */ if (out_dtypes[0]->type_num == NPY_BOOL) { + /* 2013-12-05, 1.9 */ if (DEPRECATE("numpy boolean negative (the unary `-` operator) is " "deprecated, use the bitwise_xor (the `^` operator) " "or the logical_xor function instead.") < 0) { @@ -799,6 +800,7 @@ PyUFunc_SubtractionTypeResolver(PyUFuncObject *ufunc, /* The type resolver would have upcast already */ if (out_dtypes[0]->type_num == NPY_BOOL) { + /* 2013-12-05, 1.9 */ if (DEPRECATE("numpy boolean subtract (the binary `-` operator) is " "deprecated, use the bitwise_xor (the `^` operator) " "or the logical_xor function instead.") < 0) { |