From ethan at stoneleaf.us Wed Mar 1 01:43:23 2017
From: ethan at stoneleaf.us (Ethan Furman)
Date: Tue, 28 Feb 2017 22:43:23 -0800
Subject: [ANN] Aenum 2.0
Message-ID: <58B66D8B.6050000@stoneleaf.us>
For those following the latest Python releases you may have noticed that Python 3.6 Enum got two new types:
- Flag
- IntFlag
Those classes have now been added to aenum (along with a bunch of bug fixes). aenum is available at:
https://pypi.python.org/pypi/aenum
Besides the four Enum types from the stdlib (Enum, IntEnum, Flag, IntFlag), there is also a class-based NamedTuple and a
NamedConstant (when you want named constants but don't need an Enum).
The README is included below.
-----------------------------
aenum --- support for advanced enumerations, namedtuples, and constants
===========================================================================
Advanced Enumerations (compatible with Python's stdlib Enum), NamedTuples,
and NamedConstants
aenum includes a Python stdlib Enum-compatible data type, as well as a
metaclass-based NamedTuple implementation and a NamedConstant class.
An Enum is a set of symbolic names (members) bound to unique, constant
values. Within an enumeration, the members can be compared by identity, and
the enumeration itself can be iterated over. If using Python 3 there is
built-in support for unique values, multiple values, auto-numbering, and
suspension of aliasing (members with the same value are not identical), plus
the ability to have values automatically bound to attributes.
A NamedTuple is a class-based, fixed-length tuple with a name for each
possible position accessible using attribute-access notation as well as the
standard index notation.
A NamedConstant is a class whose members cannot be rebound; it lacks all other
Enum capabilities, however; consequently, it can have duplicate values.
Module Contents
---------------
``NamedTuple``
^^^^^^^^^^^^^^
Base class for ``creating NamedTuples``, either by subclassing or via it's
functional API.
``NamedConstant``
^^^^^^^^^^^^
Constant class for creating groups of constants. These names cannot be rebound
to other values.
``Enum``
^^^^^^^^
Base class for creating enumerated constants. See section ``Enum Functional API``
for an alternate construction syntax.
``IntEnum``
^^^^^^^^^^^
Base class for creating enumerated constants that are also subclasses of ``int``.
``AutoNumberEnum``
^^^^^^^^^^^^^^^^^^
Derived class that automatically assigns an ``int`` value to each member.
``OrderedEnum``
^^^^^^^^^^^^^^^
Derived class that adds ``<``, ``<=``, ``>=``, and ``>`` methods to an ``Enum``.
``UniqueEnum``
^^^^^^^^^^^^^^
Derived class that ensures only one name is bound to any one value.
``IntFlag``
^^^^^^^^^^^
Base class for creating enumerated constants that can be combined using
the bitwise operators without losing their ``IntFlag`` membership.
``IntFlag`` members are also subclasses of ``int``.
``Flag``
^^^^^^^^
Base class for creating enumerated constants that can be combined using
the bitwise operations without losing their ``Flag`` membership.
``unique``
^^^^^^^^^^
Enum class decorator that ensures only one name is bound to any one value.
``constant``
^^^^^^^^^^^^
Descriptor to add constant values to an ``Enum``
``convert``
^^^^^^^^^^^
Helper to transform target global variables into an ``Enum``.
``enum``
^^^^^^^^
Helper for specifying keyword arguments when creating ``Enum`` members.
``export``
^^^^^^^^^^
Helper for inserting ``Enum`` members into a namespace (usually ``globals()``.
``extend_enum``
^^^^^^^^^^^^^^^
Helper for adding new ``Enum`` members after creation.
``module``
^^^^^^^^^^
Function to take a ``NamedConstant`` or ``Enum`` class and insert it into
``sys.modules`` with the affect of a module whose top-level constant and
member names cannot be rebound.
``skip``
^^^^^^^^
Descriptor to add a normal (non-``Enum`` member) attribute to an ``Enum``
or ``NamedConstant``.
Creating an Enum
----------------
Enumerations can be created using the ``class`` syntax, which makes them
easy to read and write. To define an enumeration, subclass ``Enum`` as
follows::
>>> from aenum import Enum
>>> class Color(Enum):
... RED = 1
... GREEN = 2
... BLUE = 3
The ``Enum`` class is also callable, providing the following functional API::
>>> Animal = Enum('Animal', 'ANT BEE CAT DOG')
>>> Animal
>>> Animal.ANT
>>> Animal.ANT.value
1
>>> list(Animal)
[, , , ]
Note that ``Enum`` members are boolean ``True`` unless the ``__nonzero__``
(Python 2) or ``__bool__`` (Python 3) method is overridden to provide
different semantics.
Creating a Flag
---------------
``Flag`` (and ``IntFlag``) has members that can be combined with each other
using the bitwise operators (&, |, ^, ~). ``IntFlag`` members can be combined
with ``int`` and other ``IntFlag`` members. While it is possible to specify
the values directly it is recommended to use ``auto`` as the value and let
``(Int)Flag`` select an appropriate value::
>>> from enum import Flag
>>> class Color(Flag):
... RED = auto()
... BLUE = auto()
... GREEN = auto()
...
>>> Color.RED & Color.GREEN
>>> bool(Color.RED & Color.GREEN)
False
>>> Color.RED | Color.BLUE
If you want to name the empty flag, or various combinations of flags, you may::
>>> class Color(Flag):
... BLACK = 0
... RED = auto()
... BLUE = auto()
... GREEN = auto()
... WHITE = RED | BLUE | GREEN
...
>>> Color.BLACK
>>> Color.WHITE
Note that ``(Int)Flag`` zero-value members have the usual boolean value of
``False``.
Creating NamedTuples
--------------------
Simple
^^^^^^
The most common way to create a new NamedTuple will be via the functional API::
>>> from aenum import NamedTuple
>>> Book = NamedTuple('Book', 'title author genre', module=__name__)
Advanced
^^^^^^^^
The simple method of creating ``NamedTuples`` requires always specifying all
possible arguments when creating instances; failure to do so will raise
exceptions.
However, it is possible to specify both docstrings and default values when
creating a ``NamedTuple`` using the class method::
>>> class Point(NamedTuple):
... x = 0, 'horizontal coordinate', 0
... y = 1, 'vertical coordinate', 0
...
>>> Point()
Point(x=0, y=0)
Creating Constants
------------------
``NamedConstant`` is similar to ``Enum``, but do not support the ``Enum``
protocols, and have no restrictions on duplications::
>>> class K(NamedConstant):
... PI = 3.141596
... TAU = 2 * PI
...
>>> K.TAU
6.283192
--
~Ethan~
From mal at europython.eu Fri Mar 3 07:58:24 2017
From: mal at europython.eu (M.-A. Lemburg)
Date: Fri, 3 Mar 2017 13:58:24 +0100
Subject: EuroPython 2017: Official dates available
Message-ID: <5bf3879a-aab1-2449-7ef0-fadae91e3d91@europython.eu>
We are very happy to officially announce the confirmed dates for
EuroPython 2017 in Rimini, Italy:
EuroPython 2017: July 9-16 2017
*** http://ep2017.europython.eu/ ***
The conference will be held at the Rimini PalaCongressi and structured
as follows:
* July 9 - Workshops and Beginners? Day
* July 10-14 - Conference and training days
* July 15-16 - Sprints
Conference tickets will allow attending Beginners? Day, keynotes,
talks, trainings, poster sessions, interactive sessions, panels and
sprints.
Please subscribe to our various EuroPython channels for updates on the
conference. We will start putting out more information about the
conference in the coming days.
Enjoy,
?
EuroPython 2017 Team
http://ep2017.europython.eu/
http://www.europython-society.org/
PS: Please forward or retweet to help us reach all interested parties:
https://twitter.com/europython/status/837641810994397184
Thanks.
From g.rodola at gmail.com Sat Mar 4 23:58:23 2017
From: g.rodola at gmail.com (Giampaolo Rodola')
Date: Sun, 5 Mar 2017 11:58:23 +0700
Subject: ANN: psutil 5.2.0 with sensors_fans() was released
Message-ID:
Hello all,
I'm glad to announce the release of psutil 5.2.0:
https://github.com/giampaolo/psutil
About
=====
psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, OSX, Sun Solaris, FreeBSD, OpenBSD and
NetBSD, both 32-bit and 64-bit architectures, with Python versions from 2.6
to 3.5 (users of Python 2.4 and 2.5 may use 2.1.3 version). PyPy is also
known to work.
What's new
==========
**Enhancements**
- #971: [Linux] Add psutil.sensors_fans() function. (patch by Nicolas
Hennion)
- #976: [Windows] Process.io_counters() has 2 new fields: *other_count* and
*other_bytes*.
- #976: [Linux] Process.io_counters() has 2 new fields: *read_chars* and
*write_chars*.
**Bug fixes**
- #872: [Linux] can now compile on Linux by using MUSL C library.
- #985: [Windows] Fix a crash in `Process.open_files` when the worker
thread for `NtQueryObject` times out.
- #986: [Linux] Process.cwd() may raise NoSuchProcess instead of
ZombieProcess.
Links
=====
- Home page: https://github.com/giampaolo/psutil
- Download: https://pypi.python.org/pypi/psutil
- Documentation: http://pythonhosted.org/psutil
- What's new: https://github.com/giampaolo/psutil/blob/master/HISTORY.rst
--
Giampaolo - http://grodola.blogspot.com
From nad at python.org Sun Mar 5 07:01:30 2017
From: nad at python.org (Ned Deily)
Date: Sun, 5 Mar 2017 07:01:30 -0500
Subject: [RELEASE] Python 3.6.1rc1 is now available
Message-ID: <50484B0A-BA03-42D0-B5EC-4D8E1CF1BC26@python.org>
On behalf of the Python development community and the Python 3.6 release
team, I would like to announce the availability of Python 3.6.1rc1.
3.6.1rc1 is the first release candidate for Python 3.6.1, the first
maintenance release of Python 3.6. 3.6.0 was released on 2017-12-22
to great interest and now, three months later, we are providing the
first set of bugfixes and documentation updates for it. While
3.6.1rc1 is a preview release and, thus, not intended for production
environments, we encourage you to explore it and provide feedback
via the Python bug tracker (https://bugs.python.org). Although it
should be transparent to users of Python, 3.6.1 is the first release
after some major changes to our development process so we ask users
who build Python from source to be on the lookout for any unexpected
differences.
3.6.1 is planned for final release on 2017-03-20 with the next
maintenance release expected to follow in about 3 months.
Please see "What?s New In Python 3.6" for more information:
https://docs.python.org/3.6/whatsnew/3.6.html
You can find Python 3.6.1rc1 here:
https://www.python.org/downloads/release/python-361rc1/
More information about the 3.6 release schedule can be found here:
https://www.python.org/dev/peps/pep-0494/
--
Ned Deily
nad at python.org -- []
From drnlmuller+python at gmail.com Mon Mar 6 04:36:18 2017
From: drnlmuller+python at gmail.com (Neil Muller)
Date: Mon, 6 Mar 2017 11:36:18 +0200
Subject: PyCon ZA 2017 - Call for Speakers
Message-ID:
PyCon ZA 2017 will take place 5th & 6th October at The River Club, in
Observatory, Cape Town, South Africa. There will also be tutorial
sessions the day before the conference (the 4th) and we will hold
sprints on the 8th & 9th of October.
We are currently accepting proposals for talks. If you would like to
give a presentation, please register at https://za.pycon.org/ and
submit your proposal, following the instructions at
https://za.pycon.org/talks/submit-talk . We hope to notify accepted
presenters by no later than the 8th of September 2017.
The presentation slots will be 30 minutes long, with an additional 10
minutes for discussion at the end. Shared sessions are also possible.
The presentations will be in English.
PyCon ZA offers a mentorship program for inexperienced speakers. If
you would like assistance preparing your submission, email
team at za.pycon.org with a rough draft of your talk proposal and we'll
find a suitable experienced speaker to act as a mentor.
In addition to talks, we are also looking for proposals for tutorials,
demos, sprints and open spaces.
Tutorials will be held before the conference, and are expected to
provided in-depth coverage of a topic. The number of attendees will be
also be limited. We are accepting proposals for either half-day (4
hours) or full-day (8 hours) tutorials .
Demos are cool things for attendees to see and interact with.
Open spaces are open discussion forums where communities with a common
interest gather to present views, ask questions and meet people
interested in the topic.
Sprints are coding efforts and hack days that happen after the conference.
There's no need to register a sprint or open space topic upfront, but
doing so allows us to advertise them during the conference.
--
Neil Muller
On behalf of the PyCon ZA organising committee
From charlesr.harris at gmail.com Mon Mar 6 22:57:25 2017
From: charlesr.harris at gmail.com (Charles R Harris)
Date: Mon, 6 Mar 2017 20:57:25 -0700
Subject: NumPy pre-release 1.12.1rc1
Message-ID:
Hi All,
I'm pleased to announce the release of NumPy 1.12.1rc1. NumPy 1.12.1rc1
supports
Python 2.7 and 3.4 - 3.6 and fixes bugs and regressions found in NumPy
1.12.0.
In particular, the regression in f2py constant parsing is fixed.
Wheels for Linux, Windows, and OSX can be found on pypi. Archives can be
downloaded
from github .
*Contributors*
A total of 10 people contributed to this release. People with a "+" by
their
names contributed a patch for the first time.
* Charles Harris
* Eric Wieser
* Greg Young
* Joerg Behrmann +
* John Kirkham
* Julian Taylor
* Marten van Kerkwijk
* Matthew Brett
* Shota Kawabuchi
* Jean Utke +
*Fixes Backported*
* #8483: BUG: Fix wrong future nat warning and equiv type logic error...
* #8489: BUG: Fix wrong masked median for some special cases
* #8490: DOC: Place np.average in inline code
* #8491: TST: Work around isfinite inconsistency on i386
* #8494: BUG: Guard against replacing constants without `'_'` spec in f2py.
* #8524: BUG: Fix mean for float 16 non-array inputs for 1.12
* #8571: BUG: Fix calling python api with error set and minor leaks for...
* #8602: BUG: Make iscomplexobj compatible with custom dtypes again
* #8618: BUG: Fix undefined behaviour induced by bad `__array_wrap__`
* #8648: BUG: Fix `MaskedArray.__setitem__`
* #8659: BUG: PPC64el machines are POWER for Fortran in f2py
* #8665: BUG: Look up methods on MaskedArray in `_frommethod`
* #8674: BUG: Remove extra digit in `binary_repr` at limit
* #8704: BUG: Fix deepcopy regression for empty arrays.
* #8707: BUG: Fix ma.median for empty ndarrays
Cheers,
Chuck
From jendrikseipp at web.de Tue Mar 7 04:18:33 2017
From: jendrikseipp at web.de (Jendrik Seipp)
Date: Tue, 7 Mar 2017 10:18:33 +0100
Subject: Vulture 0.13
Message-ID:
vulture - Find dead code
========================
Vulture finds unused classes, functions and variables in your code.
This helps you cleanup and find errors in your programs. If you run it
on both your library and test suite you can find untested code.
Due to Python's dynamic nature, static code analyzers like vulture are
likely to miss some dead code. Also, code that is only called
implicitly may be reported as unused. Nonetheless, vulture can be a
helpful tool for higher code quality.
Download
========
https://github.com/jendrikseipp/vulture
http://pypi.python.org/pypi/vulture
Features
========
* fast: static code analysis
* lightweight: only one module
* tested: tests itself and has complete test coverage
* complements pyflakes and has the same output syntax
* supports Python 2.6, 2.7 and 3.x
News
====
* Ignore star-imported names since we cannot detect whether they are used.
* Move repository to GitHub.
Cheers,
Jendrik
From evgeny.burovskiy at gmail.com Thu Mar 9 10:54:31 2017
From: evgeny.burovskiy at gmail.com (Evgeni Burovski)
Date: Thu, 9 Mar 2017 18:54:31 +0300
Subject: ANN: SciPy 0.19.0
Message-ID:
On behalf of the Scipy development team I am pleased to announce the
availability of Scipy 0.19.0. This release contains several great new
features and a large number of bug fixes and various improvements, as
detailed in the release notes below.
121 people contributed to this release over the course of seven months.
Thanks to everyone who contributed!
This release requires Python 2.7 or 3.4-3.6 and NumPy 1.8.2 or
greater. Source tarballs and release notes can be found at
https://github.com/scipy/scipy/releases/tag/v0.19.0.
OS X and Linux wheels are available from PyPI. For security-conscious,
the wheels themselves are signed with my GPG key. Additionally, you
can checksum the wheels and verify the checksums with those listed
below or in the README file at
https://github.com/scipy/scipy/releases/tag/v0.19.0.
Cheers,
Evgeni
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
==========================
SciPy 0.19.0 Release Notes
==========================
.. contents::
SciPy 0.19.0 is the culmination of 7 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and
better documentation. There have been a number of deprecations and
API changes in this release, which are documented below. All users
are encouraged to upgrade to this release, as there are a large number
of bug-fixes and optimizations. Moreover, our development attention
will now shift to bug-fix releases on the 0.19.x branch, and on adding
new features on the master branch.
This release requires Python 2.7 or 3.4-3.6 and NumPy 1.8.2 or greater.
Highlights of this release include:
- - A unified foreign function interface layer, `scipy.LowLevelCallable`.
- - Cython API for scalar, typed versions of the universal functions from
the `scipy.special` module, via `cimport scipy.special.cython_special`.
New features
============
Foreign function interface improvements
- ---------------------------------------
`scipy.LowLevelCallable` provides a new unified interface for wrapping
low-level compiled callback functions in the Python space. It supports
Cython imported "api" functions, ctypes function pointers, CFFI function
pointers, ``PyCapsules``, Numba jitted functions and more.
See `gh-6509 `_ for details.
`scipy.linalg` improvements
- ---------------------------
The function `scipy.linalg.solve` obtained two more keywords ``assume_a`` and
``transposed``. The underlying LAPACK routines are replaced with "expert"
versions and now can also be used to solve symmetric, hermitian and positive
definite coefficient matrices. Moreover, ill-conditioned matrices now cause
a warning to be emitted with the estimated condition number information. Old
``sym_pos`` keyword is kept for backwards compatibility reasons however it
is identical to using ``assume_a='pos'``. Moreover, the ``debug`` keyword,
which had no function but only printing the ``overwrite_`` values, is
deprecated.
The function `scipy.linalg.matrix_balance` was added to perform the so-called
matrix balancing using the LAPACK xGEBAL routine family. This can be used to
approximately equate the row and column norms through diagonal similarity
transformations.
The functions `scipy.linalg.solve_continuous_are` and
`scipy.linalg.solve_discrete_are` have numerically more stable algorithms.
These functions can also solve generalized algebraic matrix Riccati equations.
Moreover, both gained a ``balanced`` keyword to turn balancing on and off.
`scipy.spatial` improvements
- ----------------------------
`scipy.spatial.SphericalVoronoi.sort_vertices_of_regions` has been re-written in
Cython to improve performance.
`scipy.spatial.SphericalVoronoi` can handle > 200 k points (at least 10 million)
and has improved performance.
The function `scipy.spatial.distance.directed_hausdorff` was
added to calculate the directed Hausdorff distance.
``count_neighbors`` method of `scipy.spatial.cKDTree` gained an ability to
perform weighted pair counting via the new keywords ``weights`` and
``cumulative``. See `gh-5647 `_ for
details.
`scipy.spatial.distance.pdist` and `scipy.spatial.distance.cdist` now support
non-double custom metrics.
`scipy.ndimage` improvements
- ----------------------------
The callback function C API supports PyCapsules in Python 2.7
Multidimensional filters now allow having different extrapolation modes for
different axes.
`scipy.optimize` improvements
- -----------------------------
The `scipy.optimize.basinhopping` global minimizer obtained a new keyword,
`seed`, which can be used to seed the random number generator and obtain
repeatable minimizations.
The keyword `sigma` in `scipy.optimize.curve_fit` was overloaded to also accept
the covariance matrix of errors in the data.
`scipy.signal` improvements
- ---------------------------
The function `scipy.signal.correlate` and `scipy.signal.convolve` have a new
optional parameter `method`. The default value of `auto` estimates the fastest
of two computation methods, the direct approach and the Fourier transform
approach.
A new function has been added to choose the convolution/correlation method,
`scipy.signal.choose_conv_method` which may be appropriate if convolutions or
correlations are performed on many arrays of the same size.
New functions have been added to calculate complex short time fourier
transforms of an input signal, and to invert the transform to recover the
original signal: `scipy.signal.stft` and `scipy.signal.istft`. This
implementation also fixes the previously incorrect ouput of
`scipy.signal.spectrogram` when complex output data were requested.
The function `scipy.signal.sosfreqz` was added to compute the frequency
response from second-order sections.
The function `scipy.signal.unit_impulse` was added to conveniently
generate an impulse function.
The function `scipy.signal.iirnotch` was added to design second-order
IIR notch filters that can be used to remove a frequency component from
a signal. The dual function `scipy.signal.iirpeak` was added to
compute the coefficients of a second-order IIR peak (resonant) filter.
The function `scipy.signal.minimum_phase` was added to convert linear-phase
FIR filters to minimum phase.
The functions `scipy.signal.upfirdn` and `scipy.signal.resample_poly` are now
substantially faster when operating on some n-dimensional arrays when n > 1.
The largest reduction in computation time is realized in cases where the size
of the array is small (<1k samples or so) along the axis to be filtered.
`scipy.fftpack` improvements
- ----------------------------
Fast Fourier transform routines now accept `np.float16` inputs and upcast
them to `np.float32`. Previously, they would raise an error.
`scipy.cluster` improvements
- ----------------------------
Methods ``"centroid"`` and ``"median"`` of `scipy.cluster.hierarchy.linkage`
have been significantly sped up. Long-standing issues with using ``linkage`` on
large input data (over 16 GB) have been resolved.
`scipy.sparse` improvements
- ---------------------------
The functions `scipy.sparse.save_npz` and `scipy.sparse.load_npz` were added,
providing simple serialization for some sparse formats.
The `prune` method of classes `bsr_matrix`, `csc_matrix`, and `csr_matrix`
was updated to reallocate backing arrays under certain conditions, reducing
memory usage.
The methods `argmin` and `argmax` were added to classes `coo_matrix`,
`csc_matrix`, `csr_matrix`, and `bsr_matrix`.
New function `scipy.sparse.csgraph.structural_rank` computes the structural
rank of a graph with a given sparsity pattern.
New function `scipy.sparse.linalg.spsolve_triangular` solves a sparse linear
system with a triangular left hand side matrix.
`scipy.special` improvements
- ----------------------------
Scalar, typed versions of universal functions from `scipy.special` are available
in the Cython space via ``cimport`` from the new module
`scipy.special.cython_special`. These scalar functions can be expected to be
significantly faster then the universal functions for scalar arguments. See
the `scipy.special` tutorial for details.
Better control over special-function errors is offered by the
functions `scipy.special.geterr` and `scipy.special.seterr` and the
context manager `scipy.special.errstate`.
The names of orthogonal polynomial root functions have been changed to
be consistent with other functions relating to orthogonal
polynomials. For example, `scipy.special.j_roots` has been renamed
`scipy.special.roots_jacobi` for consistency with the related
functions `scipy.special.jacobi` and `scipy.special.eval_jacobi`. To
preserve back-compatibility the old names have been left as aliases.
Wright Omega function is implemented as `scipy.special.wrightomega`.
`scipy.stats` improvements
- --------------------------
The function `scipy.stats.weightedtau` was added. It provides a weighted
version of Kendall's tau.
New class `scipy.stats.multinomial` implements the multinomial distribution.
New class `scipy.stats.rv_histogram` constructs a continuous univariate
distribution with a piecewise linear CDF from a binned data sample.
New class `scipy.stats.argus` implements the Argus distribution.
`scipy.interpolate` improvements
- --------------------------------
New class `scipy.interpolate.BSpline` represents splines. ``BSpline`` objects
contain knots and coefficients and can evaluate the spline. The format is
consistent with FITPACK, so that one can do, for example::
>>> t, c, k = splrep(x, y, s=0)
>>> spl = BSpline(t, c, k)
>>> np.allclose(spl(x), y)
``spl*`` functions, `scipy.interpolate.splev`, `scipy.interpolate.splint`,
`scipy.interpolate.splder` and `scipy.interpolate.splantider`, accept both
``BSpline`` objects and ``(t, c, k)`` tuples for backwards compatibility.
For multidimensional splines, ``c.ndim > 1``, ``BSpline`` objects are consistent
with piecewise polynomials, `scipy.interpolate.PPoly`. This means that
``BSpline`` objects are not immediately consistent with
`scipy.interpolate.splprep`, and one *cannot* do
``>>> BSpline(*splprep([x, y])[0])``. Consult the `scipy.interpolate` test suite
for examples of the precise equivalence.
In new code, prefer using ``scipy.interpolate.BSpline`` objects instead of
manipulating ``(t, c, k)`` tuples directly.
New function `scipy.interpolate.make_interp_spline` constructs an interpolating
spline given data points and boundary conditions.
New function `scipy.interpolate.make_lsq_spline` constructs a least-squares
spline approximation given data points.
`scipy.integrate` improvements
- ------------------------------
Now `scipy.integrate.fixed_quad` supports vector-valued functions.
Deprecated features
===================
`scipy.interpolate.splmake`, `scipy.interpolate.spleval` and
`scipy.interpolate.spline` are deprecated. The format used by `splmake/spleval`
was inconsistent with `splrep/splev` which was confusing to users.
`scipy.special.errprint` is deprecated. Improved functionality is
available in `scipy.special.seterr`.
calling `scipy.spatial.distance.pdist` or `scipy.spatial.distance.cdist` with
arguments not needed by the chosen metric is deprecated. Also, metrics
`"old_cosine"` and `"old_cos"` are deprecated.
Backwards incompatible changes
==============================
The deprecated ``scipy.weave`` submodule was removed.
`scipy.spatial.distance.squareform` now returns arrays of the same dtype as
the input, instead of always float64.
`scipy.special.errprint` now returns a boolean.
The function `scipy.signal.find_peaks_cwt` now returns an array instead of
a list.
`scipy.stats.kendalltau` now computes the correct p-value in case the
input contains ties. The p-value is also identical to that computed by
`scipy.stats.mstats.kendalltau` and by R. If the input does not
contain ties there is no change w.r.t. the previous implementation.
The function `scipy.linalg.block_diag` will not ignore zero-sized
matrices anymore.
Instead it will insert rows or columns of zeros of the appropriate size.
See gh-4908 for more details.
Other changes
=============
SciPy wheels will now report their dependency on ``numpy`` on all platforms.
This change was made because Numpy wheels are available, and because the pip
upgrade behavior is finally changing for the better (use
``--upgrade-strategy=only-if-needed`` for ``pip >= 8.2``; that behavior will
become the default in the next major version of ``pip``).
Numerical values returned by `scipy.interpolate.interp1d` with ``kind="cubic"``
and ``"quadratic"`` may change relative to previous scipy versions. If your
code depended on specific numeric values (i.e., on implementation
details of the interpolators), you may want to double-check your results.
Authors
=======
* @endolith
* Max Argus +
* Herv? Audren
* Alessandro Pietro Bardelli +
* Michael Benfield +
* Felix Berkenkamp
* Matthew Brett
* Per Brodtkorb
* Evgeni Burovski
* Pierre de Buyl
* CJ Carey
* Brandon Carter +
* Tim Cera
* Klesk Chonkin
* Christian H?ggstr?m +
* Luca Citi
* Peadar Coyle +
* Daniel da Silva +
* Greg Dooper +
* John Draper +
* drlvk +
* David Ellis +
* Yu Feng
* Baptiste Fontaine +
* Jed Frey +
* Siddhartha Gandhi +
* Wim Glenn +
* Akash Goel +
* Christoph Gohlke
* Ralf Gommers
* Alexander Goncearenco +
* Richard Gowers +
* Alex Griffing
* Radoslaw Guzinski +
* Charles Harris
* Callum Jacob Hays +
* Ian Henriksen
* Randy Heydon +
* Lindsey Hiltner +
* Gerrit Holl +
* Hiroki IKEDA +
* jfinkels +
* Mher Kazandjian +
* Thomas Keck +
* keuj6 +
* Kornel Kielczewski +
* Sergey B Kirpichev +
* Vasily Kokorev +
* Eric Larson
* Denis Laxalde
* Gregory R. Lee
* Josh Lefler +
* Julien Lhermitte +
* Evan Limanto +
* Jin-Guo Liu +
* Nikolay Mayorov
* Geordie McBain +
* Josue Melka +
* Matthieu Melot
* michaelvmartin15 +
* Surhud More +
* Brett M. Morris +
* Chris Mutel +
* Paul Nation
* Andrew Nelson
* David Nicholson +
* Aaron Nielsen +
* Joel Nothman
* nrnrk +
* Juan Nunez-Iglesias
* Mikhail Pak +
* Gavin Parnaby +
* Thomas Pingel +
* Ilhan Polat +
* Aman Pratik +
* Sebastian Pucilowski
* Ted Pudlik
* puenka +
* Eric Quintero
* Tyler Reddy
* Joscha Reimer
* Antonio Horta Ribeiro +
* Edward Richards +
* Roman Ring +
* Rafael Rossi +
* Colm Ryan +
* Sami Salonen +
* Alvaro Sanchez-Gonzalez +
* Johannes Schmitz
* Kari Schoonbee
* Yurii Shevchuk +
* Jonathan Siebert +
* Jonathan Tammo Siebert +
* Scott Sievert +
* Sourav Singh
* Byron Smith +
* Srikiran +
* Samuel St-Jean +
* Yoni Teitelbaum +
* Bhavika Tekwani
* Martin Thoma
* timbalam +
* Svend Vanderveken +
* Sebastiano Vigna +
* Aditya Vijaykumar +
* Santi Villalba +
* Ze Vinicius
* Pauli Virtanen
* Matteo Visconti
* Yusuke Watanabe +
* Warren Weckesser
* Phillip Weinberg +
* Nils Werner
* Jakub Wilk
* Josh Wilson
* wirew0rm +
* David Wolever +
* Nathan Woods
* ybeltukov +
* G Young
* Evgeny Zhurko +
A total of 121 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully complete.
Issues closed for 0.19.0
- ------------------------
- - `#1767 `__: Function
definitions in __fitpack.h should be moved. (Trac #1240)
- - `#1774 `__: _kmeans
chokes on large thresholds (Trac #1247)
- - `#2089 `__: Integer
overflows cause segfault in linkage function with large...
- - `#2190 `__: Are
odd-length window functions supposed to be always symmetrical?...
- - `#2251 `__:
solve_discrete_are in scipy.linalg does (sometimes) not solve...
- - `#2580 `__:
scipy.interpolate.UnivariateSpline (or a new superclass of it)...
- - `#2592 `__:
scipy.stats.anderson assumes gumbel_l
- - `#3054 `__:
scipy.linalg.eig does not handle infinite eigenvalues
- - `#3160 `__:
multinomial pmf / logpmf
- - `#3904 `__:
scipy.special.ellipj dn wrong values at quarter period
- - `#4044 `__:
Inconsistent code book initialization in kmeans
- - `#4234 `__:
scipy.signal.flattop documentation doesn't list a source for...
- - `#4831 `__: Bugs in C
code in __quadpack.h
- - `#4908 `__: bug:
unnessesary validity check for block dimension in
scipy.sparse.block_diag
- - `#4917 `__: BUG:
indexing error for sparse matrix with ix_
- - `#4938 `__: Docs on
extending ndimage need to be updated.
- - `#5056 `__: sparse
matrix element-wise multiplying dense matrix returns dense...
- - `#5337 `__: Formula in
documentation for correlate is wrong
- - `#5537 `__: use
OrderedDict in io.netcdf
- - `#5750 `__: [doc]
missing data index value in KDTree, cKDTree
- - `#5755 `__: p-value
computation in scipy.stats.kendalltau() in broken in...
- - `#5757 `__: BUG:
Incorrect complex output of signal.spectrogram
- - `#5964 `__: ENH:
expose scalar versions of scipy.special functions to cython
- - `#6107 `__:
scipy.cluster.hierarchy.single segmentation fault with 2**16...
- - `#6278 `__:
optimize.basinhopping should take a RandomState object
- - `#6296 `__:
InterpolatedUnivariateSpline: check_finite fails when w is unspecified
- - `#6306 `__:
Anderson-Darling bad results
- - `#6314 `__:
scipy.stats.kendaltau() p value not in agreement with R, SPSS...
- - `#6340 `__: Curve_fit
bounds and maxfev
- - `#6377 `__:
expm_multiply, complex matrices not working using start,stop,ect...
- - `#6382 `__:
optimize.differential_evolution stopping criterion has unintuitive...
- - `#6391 `__: Global
Benchmarking times out at 600s.
- - `#6397 `__: mmwrite
errors with large (but still 64-bit) integers
- - `#6413 `__:
scipy.stats.dirichlet computes multivariate gaussian differential...
- - `#6428 `__:
scipy.stats.mstats.mode modifies input
- - `#6440 `__: Figure out
ABI break policy for scipy.special Cython API
- - `#6441 `__: Using
Qhull for halfspace intersection : segfault
- - `#6442 `__:
scipy.spatial : In incremental mode volume is not recomputed
- - `#6451 `__:
Documentation for scipy.cluster.hierarchy.to_tree is confusing...
- - `#6490 `__: interp1d
(kind=zero) returns wrong value for rightmost interpolation...
- - `#6521 `__:
scipy.stats.entropy does *not* calculate the KL divergence
- - `#6530 `__:
scipy.stats.spearmanr unexpected NaN handling
- - `#6541 `__: Test
runner does not run scipy._lib/tests?
- - `#6552 `__: BUG:
misc.bytescale returns unexpected results when using cmin/cmax...
- - `#6556 `__:
RectSphereBivariateSpline(u, v, r) fails if min(v) >= pi
- - `#6559 `__:
Differential_evolution maxiter causing memory overflow
- - `#6565 `__: Coverage
of spectral functions could be improved
- - `#6628 `__: Incorrect
parameter name in binomial documentation
- - `#6634 `__: Expose
LAPACK's xGESVX family for linalg.solve ill-conditioned...
- - `#6657 `__: Confusing
documentation for `scipy.special.sph_harm`
- - `#6676 `__: optimize:
Incorrect size of Jacobian returned by `minimize(...,...
- - `#6681 `__: add a new
context manager to wrap `scipy.special.seterr`
- - `#6700 `__: BUG:
scipy.io.wavfile.read stays in infinite loop, warns on wav...
- - `#6721 `__:
scipy.special.chebyt(N) throw a 'TypeError' when N > 64
- - `#6727 `__:
Documentation for scipy.stats.norm.fit is incorrect
- - `#6764 `__:
Documentation for scipy.spatial.Delaunay is partially incorrect
- - `#6811 `__:
scipy.spatial.SphericalVoronoi fails for large number of points
- - `#6841 `__: spearmanr
fails when nan_policy='omit' is set
- - `#6869 `__: Currently
in gaussian_kde, the logpdf function is calculated...
- - `#6875 `__: SLSQP
inconsistent handling of invalid bounds
- - `#6876 `__: Python
stopped working (Segfault?) with minimum/maximum filter...
- - `#6889 `__: dblquad
gives different results under scipy 0.17.1 and 0.18.1
- - `#6898 `__: BUG:
dblquad ignores error tolerances
- - `#6901 `__: Solving
sparse linear systems in CSR format with complex values
- - `#6903 `__: issue in
spatial.distance.pdist docstring
- - `#6917 `__: Problem in
passing drop_rule to scipy.sparse.linalg.spilu
- - `#6926 `__: signature
mismatches for LowLevelCallable
- - `#6961 `__: Scipy
contains shebang pointing to /usr/bin/python and /bin/bash...
- - `#6972 `__: BUG:
special: `generate_ufuncs.py` is broken
- - `#6984 `__: Assert
raises test failure for test_ill_condition_warning
- - `#6990 `__: BUG:
sparse: Bad documentation of the `k` argument in `sparse.linalg.eigs`
- - `#6991 `__: Division
by zero in linregress()
- - `#7011 `__: possible
speed improvment in rv_continuous.fit()
- - `#7015 `__: Test
failure with Python 3.5 and numpy master
- - `#7055 `__: SciPy
0.19.0rc1 test errors and failures on Windows
- - `#7096 `__: macOS test
failues for test_solve_continuous_are
- - `#7100 `__:
test_distance.test_Xdist_deprecated_args test error in 0.19.0rc2
Pull requests for 0.19.0
- ------------------------
- - `#2908 `__: Scipy 1.0 Roadmap
- - `#3174 `__: add b-splines
- - `#4606 `__: ENH: Add a
unit impulse waveform function
- - `#5608 `__: Adds keyword
argument to choose faster convolution method
- - `#5647 `__: ENH: Faster
count_neighour in cKDTree / + weighted input data
- - `#6021 `__: Netcdf append
- - `#6058 `__: ENH:
scipy.signal - Add stft and istft
- - `#6059 `__: ENH: More
accurate signal.freqresp for zpk systems
- - `#6195 `__: ENH: Cython
interface for special
- - `#6234 `__: DOC: Fixed a
typo in ward() help
- - `#6261 `__: ENH: add
docstring and clean up code for signal.normalize
- - `#6270 `__: MAINT:
special: add tests for cdflib
- - `#6271 `__: Fix for
scipy.cluster.hierarchy.is_isomorphic
- - `#6273 `__: optimize:
rewrite while loops as for loops
- - `#6279 `__: MAINT: Bessel tweaks
- - `#6291 `__: Fixes
gh-6219: remove runtime warning from genextreme distribution
- - `#6294 `__: STY: Some
PEP8 and cleaning up imports in stats/_continuous_distns.py
- - `#6297 `__: Clarify docs
in misc/__init__.py
- - `#6300 `__: ENH: sparse:
Loosen input validation for `diags` with empty inputs
- - `#6301 `__: BUG:
standardizes check_finite behavior re optional weights,...
- - `#6303 `__: Fixing
example in _lazyselect docstring.
- - `#6307 `__: MAINT: more
improvements to gammainc/gammaincc
- - `#6308 `__: Clarified
documentation of hypergeometric distribution.
- - `#6309 `__: BUG: stats:
Improve calculation of the Anderson-Darling statistic.
- - `#6315 `__: ENH:
Descending order of x in PPoly
- - `#6317 `__: ENH: stats:
Add support for nan_policy to stats.median_test
- - `#6321 `__: TST: fix a
typo in test name
- - `#6328 `__: ENH: sosfreqz
- - `#6335 `__: Define
LinregressResult outside of linregress
- - `#6337 `__: In anderson
test, added support for right skewed gumbel distribution.
- - `#6341 `__: Accept
several spellings for the curve_fit max number of function...
- - `#6342 `__: DOC:
cluster: clarify hierarchy.linkage usage
- - `#6352 `__: DOC: removed
brentq from its own 'see also'
- - `#6362 `__: ENH: stats:
Use explicit formulas for sf, logsf, etc in weibull...
- - `#6369 `__: MAINT:
special: add a comment to hyp0f1_complex
- - `#6375 `__: Added the
multinomial distribution.
- - `#6387 `__: MAINT:
special: improve accuracy of ellipj's `dn` at quarter...
- - `#6388 `__:
BenchmarkGlobal - getting it to work in Python3
- - `#6394 `__: ENH:
scipy.sparse: add save and load functions for sparse matrices
- - `#6400 `__: MAINT: moves
global benchmark run from setup_cache to track_all
- - `#6403 `__: ENH: seed
kwd for basinhopping. Closes #6278
- - `#6404 `__: ENH: signal:
added irrnotch and iirpeak functions.
- - `#6406 `__: ENH:
special: extend `sici`/`shichi` to complex arguments
- - `#6407 `__: ENH: Window
functions should not accept non-integer or negative...
- - `#6408 `__: MAINT:
_differentialevolution now uses _lib._util.check_random_state
- - `#6427 `__: MAINT: Fix
gmpy build & test that mpmath uses gmpy
- - `#6439 `__: MAINT:
ndimage: update callback function c api
- - `#6443 `__: BUG: Fix
volume computation in incremental mode
- - `#6447 `__: Fixes issue
#6413 - Minor documentation fix in the entropy function...
- - `#6448 `__: ENH: Add
halfspace mode to Qhull
- - `#6449 `__: ENH: rtol
and atol for differential_evolution termination fixes...
- - `#6453 `__: DOC: Add
some See Also links between similar functions
- - `#6454 `__: DOC: linalg:
clarify callable signature in `ordqz`
- - `#6457 `__: ENH:
spatial: enable non-double dtypes in squareform
- - `#6459 `__: BUG: Complex
matrices not handled correctly by expm_multiply...
- - `#6465 `__: TST DOC
Window docs, tests, etc.
- - `#6469 `__: ENH: linalg:
better handling of infinite eigenvalues in `eig`/`eigvals`
- - `#6475 `__: DOC: calling
interp1d/interp2d with NaNs is undefined
- - `#6477 `__: Document
magic numbers in optimize.py
- - `#6481 `__: TST: Supress
some warnings from test_windows
- - `#6485 `__: DOC:
spatial: correct typo in procrustes
- - `#6487 `__: Fix
Bray-Curtis formula in pdist docstring
- - `#6493 `__: ENH: Add
covariance functionality to scipy.optimize.curve_fit
- - `#6494 `__: ENH: stats:
Use log1p() to improve some calculations.
- - `#6495 `__: BUG: Use MST
algorithm instead of SLINK for single linkage clustering
- - `#6497 `__: MRG: Add
minimum_phase filter function
- - `#6505 `__: reset
scipy.signal.resample window shape to 1-D
- - `#6507 `__: BUG:
linkage: Raise exception if y contains non-finite elements
- - `#6509 `__: ENH: _lib:
add common machinery for low-level callback functions
- - `#6520 `__:
scipy.sparse.base.__mul__ non-numpy/scipy objects with 'shape'...
- - `#6522 `__: Replace
kl_div by rel_entr in entropy
- - `#6524 `__: DOC: add
next_fast_len to list of functions
- - `#6527 `__: DOC: Release
notes to reflect the new covariance feature in optimize.curve_fit
- - `#6532 `__: ENH:
Simplify _cos_win, document it, add symmetric/periodic arg
- - `#6535 `__: MAINT:
sparse.csgraph: updating old cython loops
- - `#6540 `__: DOC: add to
documentation of orthogonal polynomials
- - `#6544 `__: TST: Ensure
tests for scipy._lib are run by scipy.test()
- - `#6546 `__: updated
docstring of stats.linregress
- - `#6553 `__: commited
changes that I originally submitted for scipy.signal.cspline?
- - `#6561 `__: BUG: modify
signal.find_peaks_cwt() to return array and accept...
- - `#6562 `__: DOC:
Negative binomial distribution clarification
- - `#6563 `__: MAINT: be
more liberal in requiring numpy
- - `#6567 `__: MAINT: use
xrange for iteration in differential_evolution fixes...
- - `#6572 `__: BUG:
"sp.linalg.solve_discrete_are" fails for random data
- - `#6578 `__: BUG: misc:
allow both cmin/cmax and low/high params in bytescale
- - `#6581 `__: Fix some
unfortunate typos
- - `#6582 `__: MAINT:
linalg: make handling of infinite eigenvalues in `ordqz`...
- - `#6585 `__: DOC:
interpolate: correct seealso links to ndimage
- - `#6588 `__: Update
docstring of scipy.spatial.distance_matrix
- - `#6592 `__: DOC: Replace
'first' by 'smallest' in mode
- - `#6593 `__: MAINT:
remove scipy.weave submodule
- - `#6594 `__: DOC:
distance.squareform: fix html docs, add note about dtype...
- - `#6598 `__: [DOC] Fix
incorrect error message in medfilt2d
- - `#6599 `__: MAINT:
linalg: turn a `solve_discrete_are` test back on
- - `#6600 `__: DOC: Add SOS
goals to roadmap
- - `#6601 `__: DEP: Raise
minimum numpy version to 1.8.2
- - `#6605 `__: MAINT: 'new'
module is deprecated, don't use it
- - `#6607 `__: DOC: add
note on change in wheel dependency on numpy and pip...
- - `#6609 `__: Fixes #6602
- Typo in docs
- - `#6616 `__: ENH:
generalization of continuous and discrete Riccati solvers...
- - `#6621 `__: DOC: improve
cluster.hierarchy docstrings.
- - `#6623 `__: CS matrix
prune method should copy data from large unpruned arrays
- - `#6625 `__: DOC:
special: complete documentation of `eval_*` functions
- - `#6626 `__: TST:
special: silence some deprecation warnings
- - `#6631 `__: fix
parameter name doc for discrete distributions
- - `#6632 `__: MAINT:
stats: change some instances of `special` to `sc`
- - `#6633 `__: MAINT:
refguide: py2k long integers are equal to py3k integers
- - `#6638 `__: MAINT:
change type declaration in cluster.linkage, prevent overflow
- - `#6640 `__: BUG: fix
issue with duplicate values used in cluster.vq.kmeans
- - `#6641 `__: BUG: fix
corner case in cluster.vq.kmeans for large thresholds
- - `#6643 `__: MAINT: clean
up truncation modes of dendrogram
- - `#6645 `__: MAINT:
special: rename `*_roots` functions
- - `#6646 `__: MAINT: clean
up mpmath imports
- - `#6647 `__: DOC: add
sqrt to Mahalanobis description for pdist
- - `#6648 `__: DOC:
special: add a section on `cython_special` to the tutorial
- - `#6649 `__: ENH: Added
scipy.spatial.distance.directed_hausdorff
- - `#6650 `__: DOC: add
Sphinx roles for DOI and arXiv links
- - `#6651 `__: BUG: mstats:
make sure mode(..., None) does not modify its input
- - `#6652 `__: DOC:
special: add section to tutorial on functions not in special
- - `#6653 `__: ENH:
special: add the Wright Omega function
- - `#6656 `__: ENH: don't
coerce input to double with custom metric in cdist...
- - `#6658 `__:
Faster/shorter code for computation of discordances
- - `#6659 `__: DOC:
special: make __init__ summaries and html summaries match
- - `#6661 `__: general.rst:
Fix a typo
- - `#6664 `__: TST:
Spectral functions' window correction factor
- - `#6665 `__: [DOC]
Conditions on v in RectSphereBivariateSpline
- - `#6668 `__: DOC: Mention
negative masses for center of mass
- - `#6675 `__: MAINT:
special: remove outdated README
- - `#6677 `__: BUG: Fixes
computation of p-values.
- - `#6679 `__: BUG:
optimize: return correct Jacobian for method 'SLSQP' in...
- - `#6680 `__: ENH: Add
structural rank to sparse.csgraph
- - `#6686 `__: TST: Added
Airspeed Velocity benchmarks for SphericalVoronoi
- - `#6687 `__: DOC: add
section "deciding on new features" to developer guide.
- - `#6691 `__: ENH: Clearer
error when fmin_slsqp obj doesn't return scalar
- - `#6702 `__: TST: Added
airspeed velocity benchmarks for scipy.spatial.distance.cdist
- - `#6707 `__: TST:
interpolate: test fitpack wrappers, not _impl
- - `#6709 `__: TST: fix a
number of test failures on 32-bit systems
- - `#6711 `__: MAINT: move
function definitions from __fitpack.h to _fitpackmodule.c
- - `#6712 `__: MAINT: clean
up wishlist in stats.morestats, and copyright statement.
- - `#6715 `__: DOC: update
the release notes with BSpline et al.
- - `#6716 `__: MAINT:
scipy.io.wavfile: No infinite loop when trying to read...
- - `#6717 `__: some style cleanup
- - `#6723 `__: BUG:
special: cast to float before in-place multiplication in...
- - `#6726 `__: address
performance regressions in interp1d
- - `#6728 `__: DOC: made
code examples in `integrate` tutorial copy-pasteable
- - `#6731 `__: DOC:
scipy.optimize: Added an example for wrapping complex-valued...
- - `#6732 `__: MAINT:
cython_special: remove `errprint`
- - `#6733 `__: MAINT:
special: fix some pyflakes warnings
- - `#6734 `__: DOC:
sparse.linalg: fixed matrix description in `bicgstab` doc
- - `#6737 `__: BLD: update
`cythonize.py` to detect changes in pxi files
- - `#6740 `__: DOC:
special: some small fixes to docstrings
- - `#6741 `__: MAINT:
remove dead code in interpolate.py
- - `#6742 `__: BUG: fix
``linalg.block_diag`` to support zero-sized matrices.
- - `#6744 `__: ENH:
interpolate: make PPoly.from_spline accept BSpline objects
- - `#6746 `__: DOC:
special: clarify use of Condon-Shortley phase in `sph_harm`/`lpmv`
- - `#6750 `__: ENH: sparse:
avoid densification on broadcasted elem-wise mult
- - `#6751 `__: sinm doc
explained cosm
- - `#6753 `__: ENH:
special: allow for more fine-tuned error handling
- - `#6759 `__: Move
logsumexp and pade from scipy.misc to scipy.special and...
- - `#6761