diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..306f301 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/scipy-1.0.0.tar.xz diff --git a/.scipy.metadata b/.scipy.metadata new file mode 100644 index 0000000..8c6f0ef --- /dev/null +++ b/.scipy.metadata @@ -0,0 +1 @@ +c78fe8a0b7b7f19e086d82b87d9ee58af9791ca5 SOURCES/scipy-1.0.0.tar.xz diff --git a/SOURCES/scipy-1.0.0-six.patch b/SOURCES/scipy-1.0.0-six.patch new file mode 100644 index 0000000..45f94f3 --- /dev/null +++ b/SOURCES/scipy-1.0.0-six.patch @@ -0,0 +1,1385 @@ +diff --git a/scipy/_lib/_version.py b/scipy/_lib/_version.py +index 09b2494..bd6fa70 100644 +--- a/scipy/_lib/_version.py ++++ b/scipy/_lib/_version.py +@@ -8,7 +8,7 @@ work; they don't recognize anything like alpha/beta/rc/dev versions. + + import re + +-from scipy._lib.six import string_types ++from six import string_types + + + __all__ = ['NumpyVersion'] +diff --git a/scipy/_lib/six.py b/scipy/_lib/six.py +deleted file mode 100644 +index 29d54e1..0000000 +--- a/scipy/_lib/six.py ++++ /dev/null +@@ -1,276 +0,0 @@ +-"""Utilities for writing code that runs on Python 2 and 3""" +- +-# Copyright (c) 2010-2012 Benjamin Peterson +-# +-# Permission is hereby granted, free of charge, to any person obtaining a copy of +-# this software and associated documentation files (the "Software"), to deal in +-# the Software without restriction, including without limitation the rights to +-# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-# the Software, and to permit persons to whom the Software is furnished to do so, +-# subject to the following conditions: +-# +-# The above copyright notice and this permission notice shall be included in all +-# copies or substantial portions of the Software. +-# +-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +-# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +-# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +-# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +- +-import operator +-import sys +-import types +- +-__author__ = "Benjamin Peterson " +-__version__ = "1.2.0" +- +- +-# True if we are running on Python 3. +-PY3 = sys.version_info[0] == 3 +- +-if PY3: +- string_types = str, +- integer_types = int, +- class_types = type, +- text_type = str +- binary_type = bytes +- +- MAXSIZE = sys.maxsize +-else: +- string_types = basestring, +- integer_types = (int, long) +- class_types = (type, types.ClassType) +- text_type = unicode +- binary_type = str +- +- if sys.platform.startswith("java"): +- # Jython always uses 32 bits. +- MAXSIZE = int((1 << 31) - 1) +- else: +- # It's possible to have sizeof(long) != sizeof(Py_ssize_t). +- class X(object): +- def __len__(self): +- return 1 << 31 +- try: +- len(X()) +- except OverflowError: +- # 32-bit +- MAXSIZE = int((1 << 31) - 1) +- else: +- # 64-bit +- MAXSIZE = int((1 << 63) - 1) +- del X +- +- +-def _add_doc(func, doc): +- """Add documentation to a function.""" +- func.__doc__ = doc +- +- +-def _import_module(name): +- """Import module, returning the module after the last dot.""" +- __import__(name) +- return sys.modules[name] +- +- +-# Replacement for lazy loading stuff in upstream six. See gh-2764 +-if PY3: +- import builtins +- import functools +- reduce = functools.reduce +- zip = builtins.zip +- xrange = builtins.range +-else: +- import __builtin__ +- import itertools +- builtins = __builtin__ +- reduce = __builtin__.reduce +- zip = itertools.izip +- xrange = __builtin__.xrange +- +- +-if PY3: +- _meth_func = "__func__" +- _meth_self = "__self__" +- +- _func_code = "__code__" +- _func_defaults = "__defaults__" +- +- _iterkeys = "keys" +- _itervalues = "values" +- _iteritems = "items" +-else: +- _meth_func = "im_func" +- _meth_self = "im_self" +- +- _func_code = "func_code" +- _func_defaults = "func_defaults" +- +- _iterkeys = "iterkeys" +- _itervalues = "itervalues" +- _iteritems = "iteritems" +- +- +-try: +- advance_iterator = next +-except NameError: +- def advance_iterator(it): +- return it.next() +-next = advance_iterator +- +- +-if PY3: +- def get_unbound_function(unbound): +- return unbound +- +- Iterator = object +- +- def callable(obj): +- return any("__call__" in klass.__dict__ for klass in type(obj).__mro__) +-else: +- def get_unbound_function(unbound): +- return unbound.im_func +- +- class Iterator(object): +- +- def next(self): +- return type(self).__next__(self) +- +- callable = callable +-_add_doc(get_unbound_function, +- """Get the function out of a possibly unbound function""") +- +- +-get_method_function = operator.attrgetter(_meth_func) +-get_method_self = operator.attrgetter(_meth_self) +-get_function_code = operator.attrgetter(_func_code) +-get_function_defaults = operator.attrgetter(_func_defaults) +- +- +-def iterkeys(d): +- """Return an iterator over the keys of a dictionary.""" +- return iter(getattr(d, _iterkeys)()) +- +- +-def itervalues(d): +- """Return an iterator over the values of a dictionary.""" +- return iter(getattr(d, _itervalues)()) +- +- +-def iteritems(d): +- """Return an iterator over the (key, value) pairs of a dictionary.""" +- return iter(getattr(d, _iteritems)()) +- +- +-if PY3: +- def b(s): +- return s.encode("latin-1") +- +- def u(s): +- return s +- +- if sys.version_info[1] <= 1: +- def int2byte(i): +- return bytes((i,)) +- else: +- # This is about 2x faster than the implementation above on 3.2+ +- int2byte = operator.methodcaller("to_bytes", 1, "big") +- import io +- StringIO = io.StringIO +- BytesIO = io.BytesIO +-else: +- def b(s): +- return s +- +- def u(s): +- return unicode(s, "unicode_escape") +- int2byte = chr +- import StringIO +- StringIO = BytesIO = StringIO.StringIO +-_add_doc(b, """Byte literal""") +-_add_doc(u, """Text literal""") +- +- +-if PY3: +- import builtins +- exec_ = getattr(builtins, "exec") +- +- def reraise(tp, value, tb=None): +- if value.__traceback__ is not tb: +- raise value.with_traceback(tb) +- raise value +- +- print_ = getattr(builtins, "print") +- del builtins +- +-else: +- def exec_(code, globs=None, locs=None): +- """Execute code in a namespace.""" +- if globs is None: +- frame = sys._getframe(1) +- globs = frame.f_globals +- if locs is None: +- locs = frame.f_locals +- del frame +- elif locs is None: +- locs = globs +- exec("""exec code in globs, locs""") +- +- exec_("""def reraise(tp, value, tb=None): +- raise tp, value, tb +-""") +- +- def print_(*args, **kwargs): +- """The new-style print function.""" +- fp = kwargs.pop("file", sys.stdout) +- if fp is None: +- return +- +- def write(data): +- if not isinstance(data, basestring): +- data = str(data) +- fp.write(data) +- want_unicode = False +- sep = kwargs.pop("sep", None) +- if sep is not None: +- if isinstance(sep, unicode): +- want_unicode = True +- elif not isinstance(sep, str): +- raise TypeError("sep must be None or a string") +- end = kwargs.pop("end", None) +- if end is not None: +- if isinstance(end, unicode): +- want_unicode = True +- elif not isinstance(end, str): +- raise TypeError("end must be None or a string") +- if kwargs: +- raise TypeError("invalid keyword arguments to print()") +- if not want_unicode: +- for arg in args: +- if isinstance(arg, unicode): +- want_unicode = True +- break +- if want_unicode: +- newline = unicode("\n") +- space = unicode(" ") +- else: +- newline = "\n" +- space = " " +- if sep is None: +- sep = space +- if end is None: +- end = newline +- for i, arg in enumerate(args): +- if i: +- write(sep) +- write(arg) +- write(end) +- +-_add_doc(reraise, """Reraise an exception.""") +- +- +-def with_metaclass(meta, base=object): +- """Create a base class with a metaclass.""" +- return meta("NewBase", (base,), {}) +diff --git a/scipy/cluster/hierarchy.py b/scipy/cluster/hierarchy.py +index 32b88f1..f386971 100644 +--- a/scipy/cluster/hierarchy.py ++++ b/scipy/cluster/hierarchy.py +@@ -178,8 +178,8 @@ import numpy as np + from . import _hierarchy, _optimal_leaf_ordering + import scipy.spatial.distance as distance + +-from scipy._lib.six import string_types +-from scipy._lib.six import xrange ++from six import string_types ++from six.moves import xrange + + _LINKAGE_METHODS = {'single': 0, 'complete': 1, 'average': 2, 'centroid': 3, + 'median': 4, 'ward': 5, 'weighted': 6} +diff --git a/scipy/cluster/tests/test_hierarchy.py b/scipy/cluster/tests/test_hierarchy.py +index ab7d02a..bbe7850 100644 +--- a/scipy/cluster/tests/test_hierarchy.py ++++ b/scipy/cluster/tests/test_hierarchy.py +@@ -38,7 +38,8 @@ from numpy.testing import assert_allclose, assert_equal, assert_, assert_warns + import pytest + from pytest import raises as assert_raises + +-from scipy._lib.six import xrange, u ++from six import u ++from six.moves import xrange + + import scipy.cluster.hierarchy + from scipy.cluster.hierarchy import ( +diff --git a/scipy/cluster/vq.py b/scipy/cluster/vq.py +index 3c707eb..78914ce 100644 +--- a/scipy/cluster/vq.py ++++ b/scipy/cluster/vq.py +@@ -72,7 +72,7 @@ import warnings + import numpy as np + from collections import deque + from scipy._lib._util import _asarray_validated +-from scipy._lib.six import xrange ++from six.moves import xrange + from scipy.spatial.distance import cdist + + from . import _vq +diff --git a/scipy/integrate/quadrature.py b/scipy/integrate/quadrature.py +index 188c6e7..ab1cc2c 100644 +--- a/scipy/integrate/quadrature.py ++++ b/scipy/integrate/quadrature.py +@@ -9,7 +9,7 @@ import warnings + from numpy import trapz + from scipy.special import roots_legendre + from scipy.special import gammaln +-from scipy._lib.six import xrange ++from six.moves import xrange + + __all__ = ['fixed_quad', 'quadrature', 'romberg', 'trapz', 'simps', 'romb', + 'cumtrapz', 'newton_cotes'] +diff --git a/scipy/integrate/tests/test_integrate.py b/scipy/integrate/tests/test_integrate.py +index e662234..38023f0 100644 +--- a/scipy/integrate/tests/test_integrate.py ++++ b/scipy/integrate/tests/test_integrate.py +@@ -9,7 +9,7 @@ from numpy import (arange, zeros, array, dot, sqrt, cos, sin, eye, pi, exp, + allclose) + + from scipy._lib._numpy_compat import _assert_warns +-from scipy._lib.six import xrange ++from six.moves import xrange + + from numpy.testing import ( + assert_, assert_array_almost_equal, +diff --git a/scipy/integrate/tests/test_quadpack.py b/scipy/integrate/tests/test_quadpack.py +index 839de73..ebd5a64 100644 +--- a/scipy/integrate/tests/test_quadpack.py ++++ b/scipy/integrate/tests/test_quadpack.py +@@ -10,7 +10,7 @@ import pytest + from pytest import raises as assert_raises + + from scipy.integrate import quad, dblquad, tplquad, nquad +-from scipy._lib.six import xrange ++from six.moves import xrange + from scipy._lib._ccallback import LowLevelCallable + + import ctypes +diff --git a/scipy/interpolate/_cubic.py b/scipy/interpolate/_cubic.py +index e5ddb76..373ab33 100644 +--- a/scipy/interpolate/_cubic.py ++++ b/scipy/interpolate/_cubic.py +@@ -4,7 +4,7 @@ from __future__ import division, print_function, absolute_import + + import numpy as np + +-from scipy._lib.six import string_types ++from six import string_types + + from . import BPoly, PPoly + from .polyint import _isscalar +diff --git a/scipy/interpolate/interpolate.py b/scipy/interpolate/interpolate.py +index cc404c0..a0fc076 100644 +--- a/scipy/interpolate/interpolate.py ++++ b/scipy/interpolate/interpolate.py +@@ -21,7 +21,8 @@ import scipy.linalg + import scipy.special as spec + from scipy.special import comb + +-from scipy._lib.six import xrange, integer_types, string_types ++from six import integer_types, string_types ++from six.moves import xrange + + from . import fitpack + from . import dfitpack +diff --git a/scipy/interpolate/polyint.py b/scipy/interpolate/polyint.py +index 8e5f93b..be4ae27 100644 +--- a/scipy/interpolate/polyint.py ++++ b/scipy/interpolate/polyint.py +@@ -5,7 +5,7 @@ import warnings + import numpy as np + from scipy.special import factorial + +-from scipy._lib.six import xrange ++from six.moves import xrange + from scipy._lib._util import _asarray_validated + + +diff --git a/scipy/interpolate/rbf.py b/scipy/interpolate/rbf.py +index 7d2ce49..0cdaaef 100644 +--- a/scipy/interpolate/rbf.py ++++ b/scipy/interpolate/rbf.py +@@ -48,7 +48,7 @@ import sys + import numpy as np + + from scipy import linalg +-from scipy._lib.six import callable, get_method_function, get_function_code ++from six import callable, get_method_function, get_function_code + from scipy.special import xlogy + + __all__ = ['Rbf'] +diff --git a/scipy/interpolate/tests/test_interpolate.py b/scipy/interpolate/tests/test_interpolate.py +index 19f5ad9..18fdfca 100644 +--- a/scipy/interpolate/tests/test_interpolate.py ++++ b/scipy/interpolate/tests/test_interpolate.py +@@ -10,7 +10,7 @@ from pytest import raises as assert_raises + from numpy import mgrid, pi, sin, ogrid, poly1d, linspace + import numpy as np + +-from scipy._lib.six import xrange ++from six.moves import xrange + from scipy._lib._numpy_compat import _assert_warns, suppress_warnings + + from scipy.interpolate import (interp1d, interp2d, lagrange, PPoly, BPoly, +diff --git a/scipy/interpolate/tests/test_polyint.py b/scipy/interpolate/tests/test_polyint.py +index 758f198..841c776 100644 +--- a/scipy/interpolate/tests/test_polyint.py ++++ b/scipy/interpolate/tests/test_polyint.py +@@ -15,7 +15,7 @@ from scipy.interpolate import ( + approximate_taylor_polynomial, pchip, PchipInterpolator, + pchip_interpolate, Akima1DInterpolator, CubicSpline, make_interp_spline) + +-from scipy._lib.six import xrange ++from six.moves import xrange + + + def check_shape(interpolator_cls, x_shape, y_shape, deriv_shape=None, axis=0, +@@ -396,7 +396,7 @@ class TestPCHIP(object): + # http://nag.com/numeric/cl/nagdoc_cl25/html/e01/e01bec.html + # suggested in gh-5326 as a smoke test for the way the derivatives + # are computed (see also gh-3453) +- from scipy._lib.six import StringIO ++ from six import StringIO + dataStr = ''' + 7.99 0.00000E+0 + 8.09 0.27643E-4 +diff --git a/scipy/io/arff/arffread.py b/scipy/io/arff/arffread.py +index d29c50e..41fff77 100644 +--- a/scipy/io/arff/arffread.py ++++ b/scipy/io/arff/arffread.py +@@ -8,7 +8,7 @@ from functools import partial + + import numpy as np + +-from scipy._lib.six import next ++from six import next + + """A module to read arff files.""" + +diff --git a/scipy/io/harwell_boeing/hb.py b/scipy/io/harwell_boeing/hb.py +index 17d505f..4d030f4 100644 +--- a/scipy/io/harwell_boeing/hb.py ++++ b/scipy/io/harwell_boeing/hb.py +@@ -27,7 +27,7 @@ from scipy.sparse import csc_matrix + from scipy.io.harwell_boeing._fortran_format_parser import \ + FortranFormatParser, IntFormat, ExpFormat + +-from scipy._lib.six import string_types ++from six import string_types + + __all__ = ["MalformedHeader", "hb_read", "hb_write", "HBInfo", "HBFile", + "HBMatrixType"] +diff --git a/scipy/io/matlab/mio.py b/scipy/io/matlab/mio.py +index f81b777..51e9cb2 100644 +--- a/scipy/io/matlab/mio.py ++++ b/scipy/io/matlab/mio.py +@@ -7,7 +7,7 @@ from __future__ import division, print_function, absolute_import + + import numpy as np + +-from scipy._lib.six import string_types ++from six import string_types + + from .miobase import get_matfile_version, docfiller + from .mio4 import MatFile4Reader, MatFile4Writer +diff --git a/scipy/io/matlab/mio4.py b/scipy/io/matlab/mio4.py +index 592ac8a..9ce867b 100644 +--- a/scipy/io/matlab/mio4.py ++++ b/scipy/io/matlab/mio4.py +@@ -10,7 +10,7 @@ from numpy.compat import asbytes, asstr + + import scipy.sparse + +-from scipy._lib.six import string_types ++from six import string_types + + from .miobase import (MatFileReader, docfiller, matdims, read_dtype, + convert_dtypes, arr_to_chars, arr_dtype_number) +diff --git a/scipy/io/matlab/mio5.py b/scipy/io/matlab/mio5.py +index 0046cc2..7335ad9 100644 +--- a/scipy/io/matlab/mio5.py ++++ b/scipy/io/matlab/mio5.py +@@ -86,7 +86,7 @@ from numpy.compat import asbytes, asstr + + import scipy.sparse + +-from scipy._lib.six import string_types ++from six import string_types + + from .byteordercodes import native_code, swapped_code + +diff --git a/scipy/io/matlab/miobase.py b/scipy/io/matlab/miobase.py +index d60ae63..4b79794 100644 +--- a/scipy/io/matlab/miobase.py ++++ b/scipy/io/matlab/miobase.py +@@ -10,7 +10,7 @@ from __future__ import division, print_function, absolute_import + import sys + import operator + +-from scipy._lib.six import reduce ++from six.moves import reduce + + import numpy as np + +diff --git a/scipy/io/matlab/tests/test_mio.py b/scipy/io/matlab/tests/test_mio.py +index 1c1e269..0cea657 100644 +--- a/scipy/io/matlab/tests/test_mio.py ++++ b/scipy/io/matlab/tests/test_mio.py +@@ -12,7 +12,7 @@ from glob import glob + from io import BytesIO + from tempfile import mkdtemp + +-from scipy._lib.six import u, text_type, string_types ++from six import u, text_type, string_types + + import warnings + import shutil +diff --git a/scipy/io/matlab/tests/test_mio5_utils.py b/scipy/io/matlab/tests/test_mio5_utils.py +index 267ce18..23f8d56 100644 +--- a/scipy/io/matlab/tests/test_mio5_utils.py ++++ b/scipy/io/matlab/tests/test_mio5_utils.py +@@ -13,7 +13,7 @@ import numpy as np + from numpy.testing import assert_array_equal, assert_equal, assert_ + from pytest import raises as assert_raises + +-from scipy._lib.six import u ++from six import u + + import scipy.io.matlab.byteordercodes as boc + import scipy.io.matlab.streams as streams +diff --git a/scipy/io/mmio.py b/scipy/io/mmio.py +index f4b2acd..0f3cb9f 100644 +--- a/scipy/io/mmio.py ++++ b/scipy/io/mmio.py +@@ -20,7 +20,7 @@ from numpy import (asarray, real, imag, conj, zeros, ndarray, concatenate, + fromstring, can_cast) + from numpy.compat import asbytes, asstr + +-from scipy._lib.six import string_types ++from six import string_types + from scipy.sparse import coo_matrix, isspmatrix + + __all__ = ['mminfo', 'mmread', 'mmwrite', 'MMFile'] +diff --git a/scipy/io/netcdf.py b/scipy/io/netcdf.py +index 5c6f0e5..5cfd136 100644 +--- a/scipy/io/netcdf.py ++++ b/scipy/io/netcdf.py +@@ -49,7 +49,7 @@ from numpy import fromstring, dtype, empty, array, asarray + from numpy import little_endian as LITTLE_ENDIAN + from functools import reduce + +-from scipy._lib.six import integer_types, text_type, binary_type ++from six import integer_types, text_type, binary_type + + ABSENT = b'\x00\x00\x00\x00\x00\x00\x00\x00' + ZERO = b'\x00\x00\x00\x00' +diff --git a/scipy/linalg/_decomp_qz.py b/scipy/linalg/_decomp_qz.py +index 2d6dbf3..eb1b044 100644 +--- a/scipy/linalg/_decomp_qz.py ++++ b/scipy/linalg/_decomp_qz.py +@@ -8,7 +8,7 @@ from numpy import asarray_chkfinite + from .misc import LinAlgError, _datacopied + from .lapack import get_lapack_funcs + +-from scipy._lib.six import callable ++from six import callable + + __all__ = ['qz', 'ordqz'] + +diff --git a/scipy/linalg/decomp.py b/scipy/linalg/decomp.py +index 35e020c..2129736 100644 +--- a/scipy/linalg/decomp.py ++++ b/scipy/linalg/decomp.py +@@ -22,9 +22,9 @@ import numpy + from numpy import (array, isfinite, inexact, nonzero, iscomplexobj, cast, + flatnonzero, conj, asarray, argsort, empty) + # Local imports +-from scipy._lib.six import xrange ++from six.moves import xrange + from scipy._lib._util import _asarray_validated +-from scipy._lib.six import string_types ++from six import string_types + from .misc import LinAlgError, _datacopied, norm + from .lapack import get_lapack_funcs, _compute_lwork + +diff --git a/scipy/linalg/decomp_schur.py b/scipy/linalg/decomp_schur.py +index 59cf224..7b0879d 100644 +--- a/scipy/linalg/decomp_schur.py ++++ b/scipy/linalg/decomp_schur.py +@@ -4,7 +4,7 @@ from __future__ import division, print_function, absolute_import + import numpy + from numpy import asarray_chkfinite, single, asarray + +-from scipy._lib.six import callable ++from six import callable + + # Local imports. + from . import misc +diff --git a/scipy/linalg/decomp_svd.py b/scipy/linalg/decomp_svd.py +index cecf3c6..3efa257 100644 +--- a/scipy/linalg/decomp_svd.py ++++ b/scipy/linalg/decomp_svd.py +@@ -8,7 +8,7 @@ from numpy import zeros, r_, diag, dot, arccos, arcsin, where, clip + from .misc import LinAlgError, _datacopied + from .lapack import get_lapack_funcs, _compute_lwork + from .decomp import _asarray_validated +-from scipy._lib.six import string_types ++from six import string_types + + __all__ = ['svd', 'svdvals', 'diagsvd', 'orth', 'subspace_angles'] + +diff --git a/scipy/linalg/special_matrices.py b/scipy/linalg/special_matrices.py +index 90788c5..0409cfd 100644 +--- a/scipy/linalg/special_matrices.py ++++ b/scipy/linalg/special_matrices.py +@@ -2,8 +2,8 @@ from __future__ import division, print_function, absolute_import + + import math + import numpy as np +-from scipy._lib.six import xrange +-from scipy._lib.six import string_types ++from six import string_types ++from six.moves import xrange + + + __all__ = ['tri', 'tril', 'triu', 'toeplitz', 'circulant', 'hankel', +diff --git a/scipy/linalg/tests/test_decomp.py b/scipy/linalg/tests/test_decomp.py +index 7a68778..7cd38e8 100644 +--- a/scipy/linalg/tests/test_decomp.py ++++ b/scipy/linalg/tests/test_decomp.py +@@ -18,7 +18,7 @@ from numpy.testing import (assert_equal, assert_almost_equal, + import pytest + from pytest import raises as assert_raises + +-from scipy._lib.six import xrange ++from six.moves import xrange + + from scipy.linalg import (eig, eigvals, lu, svd, svdvals, cholesky, qr, + schur, rsf2csf, lu_solve, lu_factor, solve, diagsvd, hessenberg, rq, +diff --git a/scipy/linalg/tests/test_fblas.py b/scipy/linalg/tests/test_fblas.py +index 06c9552..945adf3 100644 +--- a/scipy/linalg/tests/test_fblas.py ++++ b/scipy/linalg/tests/test_fblas.py +@@ -13,7 +13,7 @@ from numpy import float32, float64, complex64, complex128, arange, array, \ + + from scipy.linalg import _fblas as fblas + +-from scipy._lib.six import xrange ++from six.moves import xrange + + from numpy.testing import assert_array_equal, \ + assert_allclose, assert_array_almost_equal, assert_ +diff --git a/scipy/linalg/tests/test_special_matrices.py b/scipy/linalg/tests/test_special_matrices.py +index a1f5c57..b0218ac 100644 +--- a/scipy/linalg/tests/test_special_matrices.py ++++ b/scipy/linalg/tests/test_special_matrices.py +@@ -8,7 +8,7 @@ from numpy.testing import (assert_equal, assert_array_equal, + assert_array_almost_equal, assert_allclose) + from pytest import raises as assert_raises + +-from scipy._lib.six import xrange ++from six.moves import xrange + + from scipy import fftpack + from scipy.special import comb +diff --git a/scipy/ndimage/_ni_support.py b/scipy/ndimage/_ni_support.py +index e6f471c..1248de4 100644 +--- a/scipy/ndimage/_ni_support.py ++++ b/scipy/ndimage/_ni_support.py +@@ -32,7 +32,7 @@ from __future__ import division, print_function, absolute_import + + import numpy + +-from scipy._lib.six import string_types ++from six import string_types + + + def _extend_mode_to_code(mode): +diff --git a/scipy/optimize/_differentialevolution.py b/scipy/optimize/_differentialevolution.py +index afab47c..a203a53 100644 +--- a/scipy/optimize/_differentialevolution.py ++++ b/scipy/optimize/_differentialevolution.py +@@ -7,7 +7,7 @@ import numpy as np + from scipy.optimize import OptimizeResult, minimize + from scipy.optimize.optimize import _status_message + from scipy._lib._util import check_random_state +-from scipy._lib.six import xrange ++from six.moves import xrange + import warnings + + +diff --git a/scipy/optimize/_lsq/dogbox.py b/scipy/optimize/_lsq/dogbox.py +index 05981ef..3e66da2 100644 +--- a/scipy/optimize/_lsq/dogbox.py ++++ b/scipy/optimize/_lsq/dogbox.py +@@ -47,7 +47,7 @@ from numpy.linalg import lstsq, norm + + from scipy.sparse.linalg import LinearOperator, aslinearoperator, lsmr + from scipy.optimize import OptimizeResult +-from scipy._lib.six import string_types ++from six import string_types + + from .common import ( + step_size_to_bound, in_bounds, update_tr_radius, evaluate_quadratic, +diff --git a/scipy/optimize/_lsq/least_squares.py b/scipy/optimize/_lsq/least_squares.py +index 06c833f..9b6b005 100644 +--- a/scipy/optimize/_lsq/least_squares.py ++++ b/scipy/optimize/_lsq/least_squares.py +@@ -10,7 +10,7 @@ from scipy.sparse import issparse, csr_matrix + from scipy.sparse.linalg import LinearOperator + from scipy.optimize import _minpack, OptimizeResult + from scipy.optimize._numdiff import approx_derivative, group_columns +-from scipy._lib.six import string_types ++from six import string_types + + from .trf import trf + from .dogbox import dogbox +diff --git a/scipy/optimize/_lsq/trf.py b/scipy/optimize/_lsq/trf.py +index 71570f4..c78d39b 100644 +--- a/scipy/optimize/_lsq/trf.py ++++ b/scipy/optimize/_lsq/trf.py +@@ -100,7 +100,7 @@ from numpy.linalg import norm + from scipy.linalg import svd, qr + from scipy.sparse.linalg import LinearOperator, lsmr + from scipy.optimize import OptimizeResult +-from scipy._lib.six import string_types ++from six import string_types + + from .common import ( + step_size_to_bound, find_active_constraints, in_bounds, +diff --git a/scipy/optimize/_minimize.py b/scipy/optimize/_minimize.py +index 9016a97..47bbaaa 100644 +--- a/scipy/optimize/_minimize.py ++++ b/scipy/optimize/_minimize.py +@@ -16,7 +16,7 @@ from warnings import warn + + import numpy as np + +-from scipy._lib.six import callable ++from six import callable + + # unconstrained minimization + from .optimize import (_minimize_neldermead, _minimize_powell, _minimize_cg, +diff --git a/scipy/optimize/_root.py b/scipy/optimize/_root.py +index 05889a8..201829a 100644 +--- a/scipy/optimize/_root.py ++++ b/scipy/optimize/_root.py +@@ -11,7 +11,7 @@ __all__ = ['root'] + + import numpy as np + +-from scipy._lib.six import callable ++from six import callable + + from warnings import warn + +diff --git a/scipy/optimize/cobyla.py b/scipy/optimize/cobyla.py +index 25f29a6..fd4a0d0 100644 +--- a/scipy/optimize/cobyla.py ++++ b/scipy/optimize/cobyla.py +@@ -13,7 +13,7 @@ Functions + from __future__ import division, print_function, absolute_import + + import numpy as np +-from scipy._lib.six import callable ++from six import callable + from scipy.optimize import _cobyla + from .optimize import OptimizeResult, _check_unknown_options + try: +diff --git a/scipy/optimize/linesearch.py b/scipy/optimize/linesearch.py +index dc4b0f9..325038d 100644 +--- a/scipy/optimize/linesearch.py ++++ b/scipy/optimize/linesearch.py +@@ -17,7 +17,7 @@ from warnings import warn + + from scipy.optimize import minpack2 + import numpy as np +-from scipy._lib.six import xrange ++from six.moves import xrange + + __all__ = ['LineSearchWarning', 'line_search_wolfe1', 'line_search_wolfe2', + 'scalar_search_wolfe1', 'scalar_search_wolfe2', +diff --git a/scipy/optimize/nonlin.py b/scipy/optimize/nonlin.py +index a43bb62..35bd37e 100644 +--- a/scipy/optimize/nonlin.py ++++ b/scipy/optimize/nonlin.py +@@ -111,7 +111,8 @@ from __future__ import division, print_function, absolute_import + + import sys + import numpy as np +-from scipy._lib.six import callable, exec_, xrange ++from six import callable, exec_ ++from six.moves import xrange + from scipy.linalg import norm, solve, inv, qr, svd, LinAlgError + from numpy import asarray, dot, vdot + import scipy.sparse.linalg +diff --git a/scipy/optimize/optimize.py b/scipy/optimize/optimize.py +index 6674acf..226d5b2 100644 +--- a/scipy/optimize/optimize.py ++++ b/scipy/optimize/optimize.py +@@ -30,7 +30,8 @@ __docformat__ = "restructuredtext en" + import warnings + import sys + import numpy +-from scipy._lib.six import callable, xrange ++from six import callable ++from six.moves import xrange + from numpy import (atleast_1d, eye, mgrid, argmin, zeros, shape, squeeze, + vectorize, asarray, sqrt, Inf, asfarray, isinf) + import numpy as np +diff --git a/scipy/optimize/tests/test_nonlin.py b/scipy/optimize/tests/test_nonlin.py +index 3c9f337..911c852 100644 +--- a/scipy/optimize/tests/test_nonlin.py ++++ b/scipy/optimize/tests/test_nonlin.py +@@ -7,7 +7,7 @@ from __future__ import division, print_function, absolute_import + from numpy.testing import assert_ + import pytest + +-from scipy._lib.six import xrange ++from six.moves import xrange + from scipy.optimize import nonlin, root + from numpy import matrix, diag, dot + from numpy.linalg import inv +diff --git a/scipy/signal/_peak_finding.py b/scipy/signal/_peak_finding.py +index 18690f2..e113dba 100644 +--- a/scipy/signal/_peak_finding.py ++++ b/scipy/signal/_peak_finding.py +@@ -5,7 +5,7 @@ from __future__ import division, print_function, absolute_import + + import numpy as np + +-from scipy._lib.six import xrange ++from six.moves import xrange + from scipy.signal.wavelets import cwt, ricker + from scipy.stats import scoreatpercentile + +diff --git a/scipy/signal/bsplines.py b/scipy/signal/bsplines.py +index 19c1b0f..9f05d56 100644 +--- a/scipy/signal/bsplines.py ++++ b/scipy/signal/bsplines.py +@@ -1,6 +1,6 @@ + from __future__ import division, print_function, absolute_import + +-from scipy._lib.six import xrange ++from six.moves import xrange + from numpy import (logical_and, asarray, pi, zeros_like, + piecewise, array, arctan2, tan, zeros, arange, floor) + from numpy.core.umath import (sqrt, exp, greater, less, cos, add, sin, +diff --git a/scipy/signal/fir_filter_design.py b/scipy/signal/fir_filter_design.py +index 5a57b71..99f955d 100644 +--- a/scipy/signal/fir_filter_design.py ++++ b/scipy/signal/fir_filter_design.py +@@ -9,7 +9,7 @@ import numpy as np + from numpy.fft import irfft, fft, ifft + from scipy.special import sinc + from scipy.linalg import toeplitz, hankel, pinv +-from scipy._lib.six import string_types ++from six import string_types + + from . import sigtools + +diff --git a/scipy/signal/ltisys.py b/scipy/signal/ltisys.py +index 4c31d80..8d103cc 100644 +--- a/scipy/signal/ltisys.py ++++ b/scipy/signal/ltisys.py +@@ -29,7 +29,7 @@ import warnings + from scipy.linalg import qr as s_qr + from scipy import integrate, interpolate, linalg + from scipy.interpolate import interp1d +-from scipy._lib.six import xrange ++from six.moves import xrange + from .filter_design import (tf2zpk, zpk2tf, normalize, freqs, freqz, freqs_zpk, + freqz_zpk) + from .lti_conversion import (tf2ss, abcd_normalize, ss2tf, zpk2ss, ss2zpk, +diff --git a/scipy/signal/signaltools.py b/scipy/signal/signaltools.py +index 370df6c..9b177e8 100644 +--- a/scipy/signal/signaltools.py ++++ b/scipy/signal/signaltools.py +@@ -10,7 +10,7 @@ import timeit + + from . import sigtools, dlti + from ._upfirdn import upfirdn, _output_len +-from scipy._lib.six import callable ++from six import callable + from scipy._lib._version import NumpyVersion + from scipy import fftpack, linalg + from numpy import (allclose, angle, arange, argsort, array, asarray, +diff --git a/scipy/signal/spectral.py b/scipy/signal/spectral.py +index d8febf3..3e10af3 100644 +--- a/scipy/signal/spectral.py ++++ b/scipy/signal/spectral.py +@@ -11,7 +11,7 @@ from ._spectral import _lombscargle + from ._arraytools import const_ext, even_ext, odd_ext, zero_ext + import warnings + +-from scipy._lib.six import string_types ++from six import string_types + + __all__ = ['periodogram', 'welch', 'lombscargle', 'csd', 'coherence', + 'spectrogram', 'stft', 'istft', 'check_COLA'] +diff --git a/scipy/signal/tests/test_peak_finding.py b/scipy/signal/tests/test_peak_finding.py +index bca2ee6..cb51c31 100644 +--- a/scipy/signal/tests/test_peak_finding.py ++++ b/scipy/signal/tests/test_peak_finding.py +@@ -7,7 +7,7 @@ from numpy.testing import (assert_equal, + assert_array_equal, assert_) + from scipy.signal._peak_finding import (argrelmax, argrelmin, + find_peaks_cwt, _identify_ridge_lines) +-from scipy._lib.six import xrange ++from six.moves import xrange + + + def _gen_gaussians(center_locs, sigmas, total_length): +diff --git a/scipy/signal/tests/test_wavelets.py b/scipy/signal/tests/test_wavelets.py +index 4f5dd6c..b94b54b 100644 +--- a/scipy/signal/tests/test_wavelets.py ++++ b/scipy/signal/tests/test_wavelets.py +@@ -3,7 +3,7 @@ from __future__ import division, print_function, absolute_import + import numpy as np + from numpy.testing import assert_equal, \ + assert_array_equal, assert_array_almost_equal, assert_array_less, assert_ +-from scipy._lib.six import xrange ++from six.moves import xrange + + from scipy.signal import wavelets + +diff --git a/scipy/signal/waveforms.py b/scipy/signal/waveforms.py +index b9a4eac..79368a9 100644 +--- a/scipy/signal/waveforms.py ++++ b/scipy/signal/waveforms.py +@@ -10,7 +10,7 @@ import numpy as np + from numpy import asarray, zeros, place, nan, mod, pi, extract, log, sqrt, \ + exp, cos, sin, polyval, polyint + +-from scipy._lib.six import string_types ++from six import string_types + + + __all__ = ['sawtooth', 'square', 'gausspulse', 'chirp', 'sweep_poly', +diff --git a/scipy/signal/windows.py b/scipy/signal/windows.py +index 21488d7..cafe0ec 100644 +--- a/scipy/signal/windows.py ++++ b/scipy/signal/windows.py +@@ -5,7 +5,7 @@ import warnings + + import numpy as np + from scipy import fftpack, linalg, special +-from scipy._lib.six import string_types ++from six import string_types + + __all__ = ['boxcar', 'triang', 'parzen', 'bohman', 'blackman', 'nuttall', + 'blackmanharris', 'flattop', 'bartlett', 'hanning', 'barthann', +diff --git a/scipy/sparse/base.py b/scipy/sparse/base.py +index e16c412..db331e4 100644 +--- a/scipy/sparse/base.py ++++ b/scipy/sparse/base.py +@@ -5,7 +5,7 @@ import sys + + import numpy as np + +-from scipy._lib.six import xrange ++from six.moves import xrange + from scipy._lib._numpy_compat import broadcast_to + from .sputils import (isdense, isscalarlike, isintlike, + get_sum_dtype, validateaxis) +diff --git a/scipy/sparse/compressed.py b/scipy/sparse/compressed.py +index fcd8f89..e9bc61e 100644 +--- a/scipy/sparse/compressed.py ++++ b/scipy/sparse/compressed.py +@@ -7,7 +7,7 @@ from warnings import warn + import operator + + import numpy as np +-from scipy._lib.six import zip as izip ++from six.moves import zip as izip + from scipy._lib._util import _prune_array + + from .base import spmatrix, isspmatrix, SparseEfficiencyWarning +diff --git a/scipy/sparse/construct.py b/scipy/sparse/construct.py +index b6d7887..3e11840 100644 +--- a/scipy/sparse/construct.py ++++ b/scipy/sparse/construct.py +@@ -10,7 +10,7 @@ __all__ = ['spdiags', 'eye', 'identity', 'kron', 'kronsum', + + import numpy as np + +-from scipy._lib.six import xrange ++from six.moves import xrange + + from .sputils import upcast, get_index_dtype, isscalarlike + +diff --git a/scipy/sparse/coo.py b/scipy/sparse/coo.py +index 2b05b58..281c0ab 100644 +--- a/scipy/sparse/coo.py ++++ b/scipy/sparse/coo.py +@@ -9,7 +9,7 @@ from warnings import warn + + import numpy as np + +-from scipy._lib.six import zip as izip ++from six.moves import zip as izip + + from ._sparsetools import coo_tocsr, coo_todense, coo_matvec + from .base import isspmatrix, SparseEfficiencyWarning, spmatrix +diff --git a/scipy/sparse/csr.py b/scipy/sparse/csr.py +index 4ec6337..d67969c 100644 +--- a/scipy/sparse/csr.py ++++ b/scipy/sparse/csr.py +@@ -8,7 +8,7 @@ __all__ = ['csr_matrix', 'isspmatrix_csr'] + + + import numpy as np +-from scipy._lib.six import xrange ++from six.moves import xrange + + from .base import spmatrix + +diff --git a/scipy/sparse/dok.py b/scipy/sparse/dok.py +index e97c85e..1d6db8e 100644 +--- a/scipy/sparse/dok.py ++++ b/scipy/sparse/dok.py +@@ -12,7 +12,8 @@ import itertools + + import numpy as np + +-from scipy._lib.six import zip as izip, xrange, iteritems, iterkeys, itervalues ++from six import iteritems, iterkeys, itervalues ++from six.moves import zip as izip, xrange + + from .base import spmatrix, isspmatrix + from .sputils import (isdense, getdtype, isshape, isintlike, isscalarlike, +diff --git a/scipy/sparse/lil.py b/scipy/sparse/lil.py +index 95f823f..9453d9d 100644 +--- a/scipy/sparse/lil.py ++++ b/scipy/sparse/lil.py +@@ -9,7 +9,7 @@ __all__ = ['lil_matrix','isspmatrix_lil'] + + import numpy as np + +-from scipy._lib.six import xrange ++from six.moves import xrange + from .base import spmatrix, isspmatrix + from .sputils import (getdtype, isshape, isscalarlike, IndexMixin, + upcast_scalar, get_index_dtype, isintlike) +diff --git a/scipy/sparse/linalg/eigen/lobpcg/lobpcg.py b/scipy/sparse/linalg/eigen/lobpcg/lobpcg.py +index 43bbe77..d7154f0 100644 +--- a/scipy/sparse/linalg/eigen/lobpcg/lobpcg.py ++++ b/scipy/sparse/linalg/eigen/lobpcg/lobpcg.py +@@ -16,7 +16,7 @@ import sys + + import numpy as np + from numpy.testing import assert_allclose +-from scipy._lib.six import xrange ++from six.moves import xrange + from scipy.linalg import inv, eigh, cho_factor, cho_solve, cholesky + from scipy.sparse.linalg import aslinearoperator, LinearOperator + +diff --git a/scipy/sparse/linalg/isolve/_gcrotmk.py b/scipy/sparse/linalg/isolve/_gcrotmk.py +index 7e50427..58d9a67 100644 +--- a/scipy/sparse/linalg/isolve/_gcrotmk.py ++++ b/scipy/sparse/linalg/isolve/_gcrotmk.py +@@ -5,7 +5,7 @@ from __future__ import division, print_function, absolute_import + + import numpy as np + from numpy.linalg import LinAlgError +-from scipy._lib.six import xrange ++from six.moves import xrange + from scipy.linalg import (get_blas_funcs, qr, solve, svd, qr_insert, lstsq) + from scipy.sparse.linalg.isolve.utils import make_system + +diff --git a/scipy/sparse/linalg/isolve/lgmres.py b/scipy/sparse/linalg/isolve/lgmres.py +index ac0eda0..4ee2cd4 100644 +--- a/scipy/sparse/linalg/isolve/lgmres.py ++++ b/scipy/sparse/linalg/isolve/lgmres.py +@@ -5,7 +5,7 @@ from __future__ import division, print_function, absolute_import + + import numpy as np + from numpy.linalg import LinAlgError +-from scipy._lib.six import xrange ++from six.moves import xrange + from scipy.linalg import get_blas_funcs, get_lapack_funcs + from .utils import make_system + +diff --git a/scipy/sparse/linalg/isolve/tests/test_lsqr.py b/scipy/sparse/linalg/isolve/tests/test_lsqr.py +index 61a929f..b0a23b5 100644 +--- a/scipy/sparse/linalg/isolve/tests/test_lsqr.py ++++ b/scipy/sparse/linalg/isolve/tests/test_lsqr.py +@@ -3,7 +3,7 @@ from __future__ import division, print_function, absolute_import + import numpy as np + from numpy.testing import (assert_, assert_equal, assert_almost_equal, + assert_array_almost_equal) +-from scipy._lib.six import xrange ++from six.moves import xrange + + import scipy.sparse + import scipy.sparse.linalg +diff --git a/scipy/sparse/tests/test_base.py b/scipy/sparse/tests/test_base.py +index 5d76f16..7439e07 100644 +--- a/scipy/sparse/tests/test_base.py ++++ b/scipy/sparse/tests/test_base.py +@@ -24,7 +24,7 @@ import contextlib + import functools + + import numpy as np +-from scipy._lib.six import xrange, zip as izip ++from six.moves import xrange, zip as izip + from numpy import (arange, zeros, array, dot, matrix, asmatrix, asarray, + vstack, ndarray, transpose, diag, kron, inf, conjugate, + int8, ComplexWarning) +diff --git a/scipy/spatial/distance.py b/scipy/spatial/distance.py +index b4dfe4c..235a089 100644 +--- a/scipy/spatial/distance.py ++++ b/scipy/spatial/distance.py +@@ -114,8 +114,8 @@ import numpy as np + + from functools import partial + from collections import namedtuple +-from scipy._lib.six import callable, string_types +-from scipy._lib.six import xrange ++from six import callable, string_types ++from six.moves import xrange + + from . import _distance_wrap + from . import _hausdorff +diff --git a/scipy/spatial/tests/test_distance.py b/scipy/spatial/tests/test_distance.py +index 14dabeb..1af93bb 100644 +--- a/scipy/spatial/tests/test_distance.py ++++ b/scipy/spatial/tests/test_distance.py +@@ -37,7 +37,8 @@ from __future__ import division, print_function, absolute_import + import os.path + + from functools import wraps, partial +-from scipy._lib.six import xrange, u ++from six import u ++from six.moves import xrange + + import numpy as np + import warnings +diff --git a/scipy/spatial/tests/test_qhull.py b/scipy/spatial/tests/test_qhull.py +index 1f49205..099a907 100644 +--- a/scipy/spatial/tests/test_qhull.py ++++ b/scipy/spatial/tests/test_qhull.py +@@ -8,7 +8,7 @@ from numpy.testing import (assert_equal, assert_almost_equal, + assert_, assert_allclose, assert_array_equal) + import pytest + from pytest import raises as assert_raises +-from scipy._lib.six import xrange ++from six.moves import xrange + + import scipy.spatial.qhull as qhull + from scipy.spatial import cKDTree as KDTree +diff --git a/scipy/special/_mptestutils.py b/scipy/special/_mptestutils.py +index 0e49eb4..6d52712 100644 +--- a/scipy/special/_mptestutils.py ++++ b/scipy/special/_mptestutils.py +@@ -8,7 +8,7 @@ import numpy as np + from numpy.testing import assert_ + import pytest + +-from scipy._lib.six import reraise ++from six import reraise + from scipy.special._testutils import assert_func_equal + + try: +diff --git a/scipy/special/basic.py b/scipy/special/basic.py +index 4c4827f..7b3e12e 100644 +--- a/scipy/special/basic.py ++++ b/scipy/special/basic.py +@@ -7,7 +7,7 @@ from __future__ import division, print_function, absolute_import + import operator + import numpy as np + import math +-from scipy._lib.six import xrange ++from six.moves import xrange + from numpy import (pi, asarray, floor, isscalar, iscomplex, real, + imag, sqrt, where, mgrid, sin, place, issubdtype, + extract, less, inexact, nan, zeros, sinc) +diff --git a/scipy/special/tests/test_cdflib.py b/scipy/special/tests/test_cdflib.py +index ed272cc..7f8f0c5 100644 +--- a/scipy/special/tests/test_cdflib.py ++++ b/scipy/special/tests/test_cdflib.py +@@ -28,7 +28,7 @@ from numpy.testing import assert_equal + import pytest + + import scipy.special as sp +-from scipy._lib.six import with_metaclass ++from six import with_metaclass + from scipy.special._testutils import ( + MissingModule, check_version, FuncData) + from scipy.special._mptestutils import ( +diff --git a/scipy/special/tests/test_mpmath.py b/scipy/special/tests/test_mpmath.py +index 3cbc9d7..4cdc1b3 100644 +--- a/scipy/special/tests/test_mpmath.py ++++ b/scipy/special/tests/test_mpmath.py +@@ -12,7 +12,7 @@ import pytest + from distutils.version import LooseVersion + + import scipy.special as sc +-from scipy._lib.six import with_metaclass ++from six import with_metaclass + from scipy.special._testutils import ( + MissingModule, check_version, FuncData, + assert_func_equal) +diff --git a/scipy/special/tests/test_orthogonal.py b/scipy/special/tests/test_orthogonal.py +index 8464932..4b6369b 100644 +--- a/scipy/special/tests/test_orthogonal.py ++++ b/scipy/special/tests/test_orthogonal.py +@@ -6,7 +6,7 @@ from numpy.testing import (assert_array_almost_equal, assert_equal, + assert_almost_equal, assert_allclose) + from pytest import raises as assert_raises + +-from scipy._lib.six import xrange ++from six.moves import xrange + from scipy import integrate + import scipy.special as sc + from scipy.special import gamma +diff --git a/scipy/stats/_binned_statistic.py b/scipy/stats/_binned_statistic.py +index 48c8f68..90f6775 100644 +--- a/scipy/stats/_binned_statistic.py ++++ b/scipy/stats/_binned_statistic.py +@@ -1,7 +1,8 @@ + from __future__ import division, print_function, absolute_import + + import numpy as np +-from scipy._lib.six import callable, xrange ++from six import callable ++from six.moves import xrange + from scipy._lib._numpy_compat import suppress_warnings + from collections import namedtuple + +diff --git a/scipy/stats/_distn_infrastructure.py b/scipy/stats/_distn_infrastructure.py +index 0e396b7..8fcd260 100644 +--- a/scipy/stats/_distn_infrastructure.py ++++ b/scipy/stats/_distn_infrastructure.py +@@ -4,7 +4,7 @@ + # + from __future__ import division, print_function, absolute_import + +-from scipy._lib.six import string_types, exec_, PY3 ++from six import string_types, exec_, PY3 + from scipy._lib._util import getargspec_no_self as _getargspec + + import sys +diff --git a/scipy/stats/kde.py b/scipy/stats/kde.py +index 9d63e67..6b36701 100644 +--- a/scipy/stats/kde.py ++++ b/scipy/stats/kde.py +@@ -23,7 +23,7 @@ from __future__ import division, print_function, absolute_import + import warnings + + # Scipy imports. +-from scipy._lib.six import callable, string_types ++from six import callable, string_types + from scipy import linalg, special + from scipy.special import logsumexp + +diff --git a/scipy/stats/morestats.py b/scipy/stats/morestats.py +index 926c436..319a2a6 100644 +--- a/scipy/stats/morestats.py ++++ b/scipy/stats/morestats.py +@@ -11,7 +11,7 @@ from numpy import (isscalar, r_, log, around, unique, asarray, + pi, exp, ravel, count_nonzero, sin, cos, arctan2, hypot) + from numpy.testing.decorators import setastest + +-from scipy._lib.six import string_types ++from six import string_types + from scipy import optimize + from scipy import special + from . import statlib +diff --git a/scipy/stats/mstats_basic.py b/scipy/stats/mstats_basic.py +index 2eddc1b..1b21c88 100644 +--- a/scipy/stats/mstats_basic.py ++++ b/scipy/stats/mstats_basic.py +@@ -38,7 +38,7 @@ from numpy import ndarray + import numpy.ma as ma + from numpy.ma import masked, nomask + +-from scipy._lib.six import iteritems ++from six import iteritems + + import itertools + import warnings +diff --git a/scipy/stats/stats.py b/scipy/stats/stats.py +index 2e77c21..34c1d7d 100644 +--- a/scipy/stats/stats.py ++++ b/scipy/stats/stats.py +@@ -164,7 +164,7 @@ from collections import namedtuple + import numpy as np + from numpy import array, asarray, ma, zeros + +-from scipy._lib.six import callable, string_types ++from six import callable, string_types + from scipy._lib._version import NumpyVersion + import scipy.special as special + import scipy.linalg as linalg +diff --git a/scipy/stats/tests/test_binned_statistic.py b/scipy/stats/tests/test_binned_statistic.py +index 2b42a37..68f63a1 100644 +--- a/scipy/stats/tests/test_binned_statistic.py ++++ b/scipy/stats/tests/test_binned_statistic.py +@@ -5,7 +5,7 @@ from numpy.testing import assert_allclose + from scipy.stats import (binned_statistic, binned_statistic_2d, + binned_statistic_dd) + +-from scipy._lib.six import u ++from six import u + from .common_tests import check_named_results + + +diff --git a/scipy/stats/tests/test_discrete_basic.py b/scipy/stats/tests/test_discrete_basic.py +index 9a63a99..453a361 100644 +--- a/scipy/stats/tests/test_discrete_basic.py ++++ b/scipy/stats/tests/test_discrete_basic.py +@@ -2,7 +2,7 @@ from __future__ import division, print_function, absolute_import + + import numpy.testing as npt + import numpy as np +-from scipy._lib.six import xrange ++from six.moves import xrange + import pytest + + from scipy import stats +diff --git a/scipy/stats/tests/test_stats.py b/scipy/stats/tests/test_stats.py +index 2766c29..02881a6 100644 +--- a/scipy/stats/tests/test_stats.py ++++ b/scipy/stats/tests/test_stats.py +@@ -28,7 +28,7 @@ import scipy.stats as stats + import scipy.stats.mstats as mstats + import scipy.stats.mstats_basic as mstats_basic + from scipy._lib._version import NumpyVersion +-from scipy._lib.six import xrange ++from six.moves import xrange + from .common_tests import check_named_results + + """ Numbers in docstrings beginning with 'W' refer to the section numbers +diff --git a/tools/authors.py b/tools/authors.py +index 52b065b..9f02933 100755 +--- a/tools/authors.py ++++ b/tools/authors.py +@@ -21,7 +21,7 @@ import io + import subprocess + + try: +- from scipy._lib.six import PY3 ++ from six import PY3 + except ImportError: + sys.path.insert(0, os.path.join(os.path.dirname(__file__), + os.pardir, 'scipy', 'lib')) diff --git a/SPECS/scipy.spec b/SPECS/scipy.spec new file mode 100644 index 0000000..407702c --- /dev/null +++ b/SPECS/scipy.spec @@ -0,0 +1,674 @@ +%bcond_with python36_module + +%bcond_without python2 +%bcond_without python3 +# Disabled docs due to missing BuildRequires: python2/3-numpydoc +%global with_doc 0 +%{?filter_setup: +%filter_provides_in %{python2_sitearch}.*\.so$ +%filter_provides_in %{python3_sitearch}.*\.so$ +%filter_setup +} + +# Set to pre-release version suffix if building pre-release, else %%{nil} +%global rcver %{nil} + +Summary: Scientific Tools for Python +Name: scipy +Version: 1.0.0 +Release: 18%{?dist} + +Group: Development/Libraries +# BSD -- whole package except: +# Boost -- scipy/special/cephes/scipy_iv.c +# Public Domain -- scipy/odr/__odrpack.c +License: BSD and Boost and Public Domain +Url: http://www.scipy.org/scipylib/index.html +Source0: https://github.com/scipy/scipy/releases/download/v%{version}/scipy-%{version}.tar.xz + +Patch0: scipy-1.0.0-six.patch + +%if %{with python2} +BuildRequires: python2-numpy, python2-devel, python2-numpy-f2py +BuildRequires: python2-pytest +BuildRequires: python2-six +# Disabled BR on pytest-xdist since it doesn't seem to be actually needed +# BuildRequires: python2-pytest-xdist +Requires: python2-six +%endif + +BuildRequires: fftw-devel, blas-devel, lapack-devel, suitesparse-devel +%ifarch %{openblas_arches} +BuildRequires: openblas-devel +%else +BuildRequires: atlas-devel +%endif +BuildRequires: gcc-gfortran, swig, gcc-c++ +BuildRequires: qhull-devel + +%if %{with python3} +%if %{with python36_module} +BuildRequires: python36-devel +BuildRequires: python36-rpm-macros +%else +BuildRequires: python3-devel +%endif +BuildRequires: python3-numpy, python3-f2py +BuildRequires: python3-setuptools +BuildRequires: python3-pytest +BuildRequires: python3-six +# Disabled BR on pytest-xdist since it doesn't seem to be actually needed +# BuildRequires: python3-pytest-xdist +Requires: python3-six +%endif +%if 0%{?with_doc} +%if %{with python2} +BuildRequires: python2-sphinx +BuildRequires: python2-matplotlib +BuildRequires: python2-numpydoc +%endif +%if %{with python3} +BuildRequires: python3-sphinx +BuildRequires: python3-matplotlib +BuildRequires: python3-numpydoc +%endif # with python3 +%endif # with_doc + +%description +Scipy is open-source software for mathematics, science, and +engineering. The core library is NumPy which provides convenient and +fast N-dimensional array manipulation. The SciPy library is built to +work with NumPy arrays, and provides many user-friendly and efficient +numerical routines such as routines for numerical integration and +optimization. Together, they run on all popular operating systems, are +quick to install, and are free of charge. NumPy and SciPy are easy to +use, but powerful enough to be depended upon by some of the world's +leading scientists and engineers. + + +%if %{with python2} +%package -n python2-scipy +Summary: Scientific Tools for Python +Requires: python2-numpy, python2-numpy-f2py +%{?python_provide:%python_provide python2-scipy} +Obsoletes: scipy <= 0.16.0 +%description -n python2-scipy +Scipy is open-source software for mathematics, science, and +engineering. The core library is NumPy which provides convenient and +fast N-dimensional array manipulation. The SciPy library is built to +work with NumPy arrays, and provides many user-friendly and efficient +numerical routines such as routines for numerical integration and +optimization. Together, they run on all popular operating systems, are +quick to install, and are free of charge. NumPy and SciPy are easy to +use, but powerful enough to be depended upon by some of the world's +leading scientists and engineers. + +%endif + +%if 0%{?with_doc} +%if %{with python2} +%package -n python2-scipy-doc +Summary: Scientific Tools for Python - documentation +Requires: python2-scipy = %{version}-%{release} +%description -n python2-scipy-doc +HTML documentation for Scipy +%endif # with python2 + +%if %{with python3} +%package -n python3-scipy-doc +Summary: Scientific Tools for Python - documentation +Requires: python3-scipy = %{version}-%{release} +%description -n python3-scipy-doc +HTML documentation for Scipy +%endif # with python3 +%endif # with_doc + +%if %{with python3} +%package -n python3-scipy +Summary: Scientific Tools for Python +Group: Development/Libraries +License: BSD and LGPLv2+ +Requires: python3-numpy, python3-f2py +%{?python_provide:%python_provide python3-scipy} +%description -n python3-scipy +Scipy is open-source software for mathematics, science, and +engineering. The core library is NumPy which provides convenient and +fast N-dimensional array manipulation. The SciPy library is built to +work with NumPy arrays, and provides many user-friendly and efficient +numerical routines such as routines for numerical integration and +optimization. Together, they run on all popular operating systems, are +quick to install, and are free of charge. NumPy and SciPy are easy to +use, but powerful enough to be depended upon by some of the world's +leading scientists and engineers. + +%endif # with _python3 + +%prep +%setup -q -n %{name}-%{version}%{?rcver} +%patch0 -p1 + +cat > site.cfg << EOF + +[amd] +library_dirs = %{_libdir} +include_dirs = /usr/include/suitesparse +amd_libs = amd + +[umfpack] +library_dirs = %{_libdir} +include_dirs = /usr/include/suitesparse +umfpack_libs = umfpack + +%ifarch %{openblas_arches} +[openblas] +library_dirs = %{_libdir} +openblas_libs = openblasp +%endif +EOF + + +%build +%if %{with python3} +env CFLAGS="$RPM_OPT_FLAGS -lm" \ + FFLAGS="$RPM_OPT_FLAGS -fPIC -cpp" \ + LDFLAGS="$RPM_LD_FLAGS -shared" \ +%ifarch %{openblas_arches} + OPENBLAS=%{_libdir} \ +%else + ATLAS=%{_libdir}/atlas \ +%endif + FFTW=%{_libdir} BLAS=%{_libdir} LAPACK=%{_libdir} \ + %__python3 setup.py config_fc \ + --fcompiler=gnu95 --noarch \ +%if 0%{?with_doc} + build_sphinx + rm -r build/sphinx/html/.buildinfo + mv build/sphinx build/sphinx-%{python3_version} +%else + build +%endif # with_doc +%endif # with _python3 + +%if %{with python2} +env CFLAGS="$RPM_OPT_FLAGS" \ + FFLAGS="$RPM_OPT_FLAGS -fPIC -cpp" \ + LDFLAGS="$RPM_LD_FLAGS -shared" \ +%ifarch %{openblas_arches} + OPENBLAS=%{_libdir} \ +%else + ATLAS=%{_libdir}/atlas \ +%endif + FFTW=%{_libdir} BLAS=%{_libdir} LAPACK=%{_libdir} \ + %__python2 setup.py config_fc \ + --fcompiler=gnu95 --noarch \ +%if 0%{?with_doc} + build_sphinx + rm -r build/sphinx/html/.buildinfo + mv build/sphinx build/sphinx-%{python2_version} +%else + build +%endif # with_doc +%endif # with python2 + + +%install +# first install python3 so the binaries are overwritten by the python2 ones +%if %{with python3} +env CFLAGS="$RPM_OPT_FLAGS -lm" \ + FFLAGS="$RPM_OPT_FLAGS -fPIC -cpp" \ + LDFLAGS="$RPM_LD_FLAGS -shared" \ +%ifarch %{openblas_arches} + OPENBLAS=%{_libdir} \ +%else + ATLAS=%{_libdir}/atlas \ +%endif + FFTW=%{_libdir} BLAS=%{_libdir} LAPACK=%{_libdir} \ + %__python3 setup.py install --root=$RPM_BUILD_ROOT +%endif # with python3 + +%if %{with python2} +env CFLAGS="$RPM_OPT_FLAGS" \ + FFLAGS="$RPM_OPT_FLAGS -fPIC -cpp" \ + LDFLAGS="$RPM_LD_FLAGS -shared" \ +%ifarch %{openblas_arches} + OPENBLAS=%{_libdir} \ +%else + ATLAS=%{_libdir}/atlas \ +%endif + FFTW=%{_libdir} BLAS=%{_libdir} LAPACK=%{_libdir} \ + %__python2 setup.py install --root=$RPM_BUILD_ROOT +%endif # with python2 + + +%check +# Skip all tests on s390x because they hangs unexpectedly and randomly +# and pytest-timeout has no effect. Note that the outcome of the tests +# is ignored anyway so by disabling the test for s390x we are not doing +# anything more dangerous. +%ifnarch s390x +%if %{with python3} +pushd %{buildroot}/%{python3_sitearch} +py.test-%{python3_version} -k "not test_denormals" scipy || : +popd +%endif # with python3 + +%if %{with python2} +pushd %{buildroot}/%{python2_sitearch} +py.test-%{python2_version} -k "not test_denormals" scipy || : +popd +%endif # with python2 +%endif # ifnarch s390x + +%if %{with python2} +%files -n python2-scipy +%doc LICENSE.txt +%{python2_sitearch}/scipy +%{python2_sitearch}/*.egg-info + +%if 0%{?with_doc} +%files -n python2-scipy-doc +%license LICENSE.txt +%doc build/sphinx-%{python2_version}/html +%endif # with_doc +%endif # with python2 + +%if %{with python3} +%files -n python3-scipy +%doc LICENSE.txt +%{python3_sitearch}/scipy +%{python3_sitearch}/*.egg-info + +%if 0%{?with_doc} +%files -n python3-scipy-doc +%license LICENSE.txt +%doc build/sphinx-%{python3_version}/html +%endif # with_doc +%endif # with python3 + +%changelog +* Thu Nov 15 2018 Nikola Forró - 1.0.0-18 +- Unbundle six +- Resolves: rhbz#1647341 + +* Wed Oct 10 2018 Tomas Orsava - 1.0.0-17 +- Fix f2py requires +- Resolves: rhbz#1628242 + +* Tue Oct 09 2018 Lumír Balhar - 1.0.0-16 +- Remove unversioned provides +- Resolves: rhbz#1628242 + +* Tue Oct 02 2018 Lumír Balhar - 1.0.0-15 +- Fix unversioned requires/buildrequires +- Resolves: rhbz#1628242 + +* Thu Sep 20 2018 Nikola Forró - 1.0.0-14 +- Build with $RPM_LD_FLAGS +- Related: rhbz#1624172 + +* Tue Sep 11 2018 Nikola Forró - 1.0.0-13 +- Force preprocessing of Fortran sources to make annobin record proper flags +- Resolves: rhbz#1624172 + +* Fri Aug 17 2018 Lumír Balhar - 1.0.0-12 +- Add bconds for python2 +- Resolves: rhbz#1615727 + +* Fri Aug 17 2018 Lumír Balhar - 1.0.0-11 +- Different BR for python36 module build +- Resolves: rhbz#1615727 + +* Tue Jul 31 2018 Lumír Balhar - 1.0.0-10 +- Switch Python 3 conditionals to bcond + +* Mon Jun 25 2018 Tomas Orsava - 1.0.0-9 +- Removed test dependency python2/3-pytest-timeout, since it's not strictly needed and it's not available in RHEL8 + +* Fri Apr 27 2018 Tomas Orsava - 1.0.0-8 +- Disabled docs building due to missing BuildRequires: python2/3-numpydoc +- Disabled BuildRequires on pytest-xdist since it's not available in RHEL8 + right now and doesn't seem to be actually needed for the build + +* Fri Feb 09 2018 Fedora Release Engineering - 1.0.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Feb 02 2018 Petr Viktorin - 1.0.0-6 +- Link with -lm to build with new stricter Fedora flags + https://bugzilla.redhat.com/show_bug.cgi?id=1541416 + +* Wed Jan 31 2018 Christian Dersch - 1.0.0-5 +- rebuilt for GCC 8.x (gfortran soname bump) + +* Mon Dec 11 2017 Lumír Balhar - 1.0.0-4 +- Disable tests on s390x + +* Mon Nov 20 2017 Lumír Balhar - 1.0.0-3 +- New subpackages with HTML documentation + +* Tue Oct 31 2017 Christian Dersch - 1.0.0-2 +- Use openblas where available https://fedoraproject.org/wiki/Changes/OpenBLAS_as_default_BLAS +- Remove ppc64 hackery for OpenBLAS +- Don't run tests in parallel as pytest crashes +- Don't run test_denormals as it tends to stuck + +* Thu Oct 26 2017 Thomas Spura - 1.0.0-1 +- update to 1.0.0 and use pytest instead of nose +- use timeout during parallel %%check + +* Wed Oct 04 2017 Christian Dersch - 0.19.1-5 +- Use openblas where available (except ppc64), to use same as numpy (BZ 1472318) + +* Thu Aug 03 2017 Fedora Release Engineering - 0.19.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.19.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jul 07 2017 Igor Gnatenko - 0.19.1-2 +- Rebuild due to bug in RPM (RHBZ #1468476) + +* Tue Jun 27 2017 Christian Dersch - 0.19.1-1 +- new version + +* Wed Jun 07 2017 Christian Dersch - 0.19.0-1 +- new version + +* Tue Jan 31 2017 Zbigniew Jędrzejewski-Szmek - 0.18.0-3 +- Rebuild for libgfortran.so.3 + +* Mon Dec 12 2016 Stratakis Charalampos - 0.18.0-2 +- Rebuild for Python 3.6 + +* Tue Jul 26 2016 Than Ngo - 0.18.0-1 +- 0.18.0 +- %%check: make non-fatal as temporary workaround for scipy build on arm + +* Tue Jul 19 2016 Fedora Release Engineering - 0.17.0-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Tue May 31 2016 Nils Philippsen +- fix source URL + +* Mon Feb 15 2016 Orion Poplawski - 0.17.0-1 +- Update to 0.17.0 +- Drop ctypes patch applied upstream + +* Thu Feb 04 2016 Fedora Release Engineering - 0.16.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Sat Nov 21 2015 Kalev Lember - 0.16.1-6 +- Add provides to satisfy scipy%%{_isa} requires in other packages + +* Sun Nov 15 2015 Björn Esser - 0.16.1-5 +- Revert "Discard results of testsuite on %%{arm} for now" + +* Sat Nov 14 2015 Björn Esser - 0.16.1-4 +- Discard results of testsuite on %%{arm} for now + Segfaults on non-aligned memory test (expected for arm) + +* Sat Nov 14 2015 Thomas Spura - 0.16.1-3 +- Add patch to fix ctypes test +- Move requires to correct python2 subpackage +- Add FFLAGS also in %%install + +* Tue Nov 10 2015 Fedora Release Engineering - 0.16.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Mon Oct 26 2015 Orion Poplawski - 0.16.1-1 +- Update to 0.16.1 + +* Wed Oct 14 2015 Thomas Spura - 0.16.0-1 +- Update to 0.16.0 +- Use python_provide macro + +* Fri Jun 19 2015 Fedora Release Engineering - 0.15.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Mar 31 2015 Orion Poplawski - 0.15.1-1 +- Update to 0.15.1 + +* Sun Jan 4 2015 Orion Poplawski - 0.14.1-1 +- Update to 0.14.1 + +* Wed Aug 20 2014 Kevin Fenzi - 0.14.0-5 +- Rebuild for rpm bug 1131892 + +* Mon Aug 18 2014 Fedora Release Engineering - 0.14.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 0.14.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat May 10 2014 Orion Poplawski - 0.14-2 +- Rebuild with Python 3.4 + +* Tue May 6 2014 Orion Poplawski - 0.14-1 +- Update to 0.14 +- Do not use system python-six (bug #1046817) + +* Thu Feb 20 2014 Thomas Spura - 0.13.3-2 +- use python2 macros everywhere (Requested by Han Boetes) + +* Tue Feb 4 2014 Thomas Spura - 0.13.3-1 +- Update to 0.13.3 + +* Mon Dec 9 2013 Orion Poplwski - 0.13.2-1 +- Update to 0.13.2 + +* Fri Dec 06 2013 Nils Philippsen - 0.13.1-2 +- rebuild (suitesparse) + +* Sun Nov 17 2013 Orion Poplwski - 0.13.1-1 +- Update to 0.13.1 + +* Wed Oct 23 2013 Tomas Tomecek - 0.13.0-2 +- Update to 0.13.0 final + +* Tue Oct 15 2013 Orion Poplwski - 0.13.0-0.4.rc1 +- Update to 0.13.0rc1 + +* Tue Oct 01 2013 Tomas Tomecek - 0.13.0-0.3.b1 +- rebuilt with atlas 3.10 + +* Mon Sep 9 2013 Orion Poplwski - 0.13.0-0.2.b1 +- Unbundle python-six (bug #1005350) + +* Thu Aug 29 2013 Orion Poplwski - 0.13.0-0.1.b1 +- Update to 0.13.0b1 +- Drop patches applied upstream +- Fixup changelog and summary + +* Sun Aug 04 2013 Fedora Release Engineering - 0.12.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jul 30 2013 Tomas Tomecek - 0.12.0-4 +- Fix rpmlint warnings +- License update +- Add patch to use build_dir argument in build_extension + +* Wed May 15 2013 Orion Poplawski - 0.12.0-3 +- Remove old ufsparse references, use suitesparse +- Spec cleanup + +* Mon Apr 15 2013 Orion Poplawski - 0.12.0-2 +- Add patch to fix segfaul in test of sgeqrf + +* Wed Apr 10 2013 Orion Poplawski - 0.12.0-1 +- Update to 0.12.0 final +- No longer remove weave from python3 build + +* Sat Feb 16 2013 Orion Poplawski - 0.12.0-0.1.b1 +- Update to 0.12.0b1 +- Drop upstreamed linalg patch + +* Wed Feb 13 2013 Orion Poplawski - 0.11.0-4 +- Add patch from upstream to fix python3.3 issues in linalg routines + +* Tue Feb 12 2013 Orion Poplawski - 0.11.0-3 +- Disable python3 tests for now + +* Mon Oct 8 2012 Orion Poplawski - 0.11.0-2 +- Add requires python3-numpy, python3-f2py for python3-scipy (bug 863755) + +* Sun Sep 30 2012 Orion Poplawski - 0.11.0-1 +- Update to 0.11.0 final + +* Thu Aug 23 2012 Orion Poplawski - 0.11.0-0.1.rc2 +- Update to 0.11.0rc2 + +* Mon Aug 6 2012 Orion Poplawski - 0.10.1-4 +- Rebuild for python 3.3 + +* Fri Aug 3 2012 David Malcolm - 0.10.1-3 +- remove rhel logic from with_python3 conditional + +* Sat Jul 21 2012 Fedora Release Engineering - 0.10.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Mar 16 2012 Orion Poplawski - 0.10.1-1 +- Update to 0.10.1 + +* Sat Jan 14 2012 Fedora Release Engineering - 0.10.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Nov 14 2011 Orion Poplawski - 0.10.0-1 +- Update to 0.10.0 + +* Sat Sep 3 2011 Thomas Spura - 0.9.0-2 +- little cosmetic changes +- filter provides in python_sitearch + +* Fri Sep 02 2011 Andrew McNabb +- add python3 subpackage + +* Fri Apr 1 2011 Orion Poplawski - 0.9.0-1 +- Update to 0.9.0 +- Drop all stsci sources and patches, dropped from upstream +- Drop gcc and py27 patches fixed upstream +- Add %%check section to run tests + +* Wed Feb 09 2011 Fedora Release Engineering - 0.7.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sat Jul 31 2010 Toshio Kuratomi - 0.7.2-3 +- Fix scipy build on python-2.7 + +* Thu Jul 22 2010 David Malcolm - 0.7.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Thu Jul 1 2010 Jef Spaleta - 0.7.2-1 +- New upstream release + +* Sun Apr 11 2010 Jef Spaleta - 0.7.1-3 +- Bump for rebuild against numpy 1.3 + +* Thu Apr 1 2010 Jef Spaleta - 0.7.1-2 +- Bump for rebuild against numpy 1.4.0 + +* Thu Dec 10 2009 Jon Ciesla - 0.7.1-1 +- Update to 0.7.1. + +* Sun Jul 26 2009 Fedora Release Engineering - 0.7.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sun Jun 14 2009 Jef Spaleta - 0.7.0-4 +- Fix for gcc34 weave blitz bug #505379 + +* Tue Apr 7 2009 Jef Spaleta - 0.7.0-3 +- Add f2py requires to prepared for numpy packaging split + +* Sun Mar 1 2009 Jef Spaleta - 0.7.0-2 +- Patch for stsci image function syntax fix. + +* Thu Feb 26 2009 Jef Spaleta - 0.7.0-1 +- Update to final 0.7 release + +* Wed Feb 25 2009 Fedora Release Engineering - 0.7.0-0.3.b1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Dec 15 2008 Deji Akingunola - 0.7.0-0.2.b1 +- Rebuild for atlas-3.8.2 + +* Mon Dec 01 2008 Jef Spaleta - 0.7.0-0.1.b1 +- Update to latest beta which lists python 2.6 support + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.6.0-8 +- Rebuild for Python 2.6 + +* Fri Oct 03 2008 Jef Spaleta - 0.6.0-7 +- fix the stsci fix + +* Thu Oct 02 2008 Jef Spaleta - 0.6.0-6 +- include missing setup files for stsci module + +* Tue Feb 19 2008 Fedora Release Engineering - 0.6.0-5 +- Autorebuild for GCC 4.3 + +* Fri Jan 04 2008 Jef Spaleta - 0.6.0-4 +- fix for egg-info file creation + +* Wed Oct 03 2007 Jef Spaleta - 0.6.0-3 +- include_dirs changes for ufsparse change in development + +* Tue Oct 02 2007 Jef Spaleta - 0.6.0-2 +- Fix licensing to match Fedora packaging guidance +- Remove unnecessary library deps + +* Tue Sep 25 2007 Jarrod Millman - 0.6.0-1 +- update to new upstream source +- update Summary, License, Url, and description +- added extra dependencies +- remove symlink since Lib has been renamed scipy + +* Tue Aug 21 2007 Jef Spaleta - 0.5.2.1-1 +- Update to new upstream source + +* Tue Aug 21 2007 Jef Spaleta - 0.5.2-3 +- fix licensing tag and bump for buildid rebuild + +* Wed Apr 18 2007 Jef Spaleta - 0.5.2-2.2 +- go back to using gfortran now that numpy is patched + +* Sat Apr 14 2007 Jef Spaleta - 0.5.2-2.1 +- minor correction for f77 usage + +* Sat Apr 14 2007 Jef Spaleta - 0.5.2-2 +- revert to f77 due to issue with numpy in development + +* Sat Apr 14 2007 Jef Spaleta - 0.5.2-1.1 +- remove arch specific optimizations + +* Wed Feb 21 2007 Jef Spaleta - 0.5.2-1 +- Update for new upstream release + +* Mon Dec 11 2006 Jef Spaleta - 0.5.1-5 +- Bump for rebuild against python 2.5 in devel tree + +* Sun Dec 3 2006 Jef Spaleta - 0.5.1-4 +- Minor adjustments to specfile for packaging guidelines. +- Changed buildrequires fftw version 3 from fftw2 + +* Sat Dec 2 2006 Jef Spaleta - 0.5.1-2 +- Updated spec for FE Packaging Guidelines and for upstream version 0.5.1 + +* Mon May 8 2006 Neal Becker - 0.4.8-4 +- Add BuildRequires gcc-c++ +- Add python-devel +- Add libstdc++ + +* Mon May 8 2006 Neal Becker - 0.4.8-3 +- Add BuildRequires gcc-gfortran + +* Sun May 7 2006 Neal Becker - 0.4.8-3 +- Add BuildRequires numpy + + +* Wed May 3 2006 Neal Becker - 0.4.8-2 +- Fix BuildRoot +- Add BuildRequires, Requires +- Test remove d1mach patch +- Fix defattr +- Add changelog +- Removed Prefix, Vendor +- Fix Source0 +