./math/py-scipy, Scientific Algorithms Library for Python

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.14.1, Package name: py312-scipy-1.14.1, Maintainer: pkgsrc-users

SciPy is an open source library of scientific tools for Python. SciPy
supplements the popular Numeric module, gathering a variety of high level
science and engineering modules together as a single package.

SciPy includes modules for graphics and plotting, optimization, integration,
special functions, signal and image processing, genetic algorithms, ODE
solvers, and others.


Required to run:
[math/fftw] [math/lapack] [math/blas] [math/py-numpy] [devel/py-cython] [lang/gcc7] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 57246.635 KB

Version history: (Expand)


CVS history: (Expand)


   2024-04-19 21:24:25 by Adam Ciarcinski | Files touched by this commit (7) | Package updated
Log message:
py-scipy: updated to 1.13.0

SciPy 1.13.0 is the culmination of 3 months of hard work. This
out-of-band release aims to support NumPy ``2.0.0``, and is backwards
compatible to NumPy ``1.22.4``. The version of OpenBLAS used to build
the PyPI wheels has been increased to ``0.3.26.dev``.

This release requires Python 3.9+ and NumPy 1.22.4 or greater.

For running on PyPy, PyPy3 6.0+ is required.

**************************
Highlights of this release
**************************
- Support for NumPy ``2.0.0``.
- Interactive examples have been added to the documentation, allowing users
  to run the examples locally on embedded Jupyterlite notebooks in their
  browser.
- Preliminary 1D array support for the COO and DOK sparse formats.
- Several `scipy.stats` functions have gained support for additional
  ``axis``, ``nan_policy``, and ``keepdims`` arguments. `scipy.stats` also
  has several performance and accuracy improvements.

************
New features
************

`scipy.integrate` improvements
==============================
- The ``terminal`` attribute of `scipy.integrate.solve_ivp` ``events``
  callables now additionally accepts integer values to specify a number
  of occurrences required for termination, rather than the previous restriction
  of only accepting a ``bool`` value to terminate on the first registered
  event.

`scipy.io` improvements
=======================
- `scipy.io.wavfile.write` has improved ``dtype`` input validation.

`scipy.interpolate` improvements
================================
- The Modified Akima Interpolation has been added to
  ``interpolate.Akima1DInterpolator``, available via the new ``method``
  argument.
- New method ``BSpline.insert_knot`` inserts a knot into a ``BSpline`` instance.
  This routine is similar to the module-level `scipy.interpolate.insert`
  function, and works with the BSpline objects instead of ``tck`` tuples.
- ``RegularGridInterpolator`` gained the functionality to compute derivatives
  in place. For instance, ``RegularGridInterolator((x, y), values,
  method="cubic")(xi, nu=(1, 1))`` evaluates the mixed second derivative,
  :math:`\partial^2 / \partial x \partial y` at ``xi``.
- Performance characteristics of tensor-product spline methods of
  ``RegularGridInterpolator`` have been changed: evaluations should be
  significantly faster, while construction might be slower. If you experience
  issues with construction times, you may need to experiment with optional
  keyword arguments ``solver`` and ``solver_args``. Previous behavior (fast
  construction, slow evaluations) can be obtained via `"*_legacy"` methods:
  ``method="cubic_legacy"`` is exactly equivalent to \ 
``method="cubic"`` in
  previous releases. See ``gh-19633`` for details.

`scipy.signal` improvements
===========================
- Many filter design functions now have improved input validation for the
  sampling frequency (``fs``).

`scipy.sparse` improvements
===========================
- ``coo_array`` now supports 1D shapes, and has additional 1D support for
  ``min``, ``max``, ``argmin``, and ``argmax``. The DOK format now has
  preliminary 1D support as well, though only supports simple integer indices
  at the time of writing.
- Experimental support has been added for ``pydata/sparse`` array inputs to
  `scipy.sparse.csgraph`.
- ``dok_array`` and ``dok_matrix`` now have proper implementations of
  ``fromkeys``.
- ``csr`` and ``csc`` formats now have improved ``setdiag`` performance.

`scipy.spatial` improvements
============================
- ``voronoi_plot_2d`` now draws Voronoi edges to infinity more clearly
  when the aspect ratio is skewed.

`scipy.special` improvements
============================
- All Fortran code, namely, ``AMOS``, ``specfun``, and ``cdflib`` libraries
  that the majority of special functions depend on, is ported to Cython/C.
- The function ``factorialk`` now also supports faster, approximate
  calculation using ``exact=False``.

`scipy.stats` improvements
==========================
- `scipy.stats.rankdata` and `scipy.stats.wilcoxon` have been vectorized,
  improving their performance and the performance of hypothesis tests that
  depend on them.
- ``stats.mannwhitneyu`` should now be faster due to a vectorized statistic
  calculation, improved caching, improved exploitation of symmetry, and a
  memory reduction. ``PermutationMethod`` support was also added.
- `scipy.stats.mood` now has ``nan_policy`` and ``keepdims`` support.
- `scipy.stats.brunnermunzel` now has ``axis`` and ``keepdims`` support.
- `scipy.stats.friedmanchisquare`, `scipy.stats.shapiro`,
  `scipy.stats.normaltest`, `scipy.stats.skewtest`,
  `scipy.stats.kurtosistest`, `scipy.stats.f_oneway`,
  `scipy.stats.alexandergovern`, `scipy.stats.combine_pvalues`, and
  `scipy.stats.kstest` have gained ``axis``, ``nan_policy`` and
  ``keepdims`` support.
- `scipy.stats.boxcox_normmax` has gained a ``ymax`` parameter to allow user
  specification of the maximum value of the transformed data.
- `scipy.stats.vonmises` ``pdf`` method has been extended to support
  ``kappa=0``. The ``fit`` method is also more performant due to the use of
  non-trivial bounds to solve for ``kappa``.
- High order ``moment`` calculations for `scipy.stats.powerlaw` are now more
  accurate.
- The ``fit`` methods of  `scipy.stats.gamma` (with ``method='mm'``) and
  `scipy.stats.loglaplace` are faster and more reliable.
- `scipy.stats.goodness_of_fit` now supports the use of a custom ``statistic``
  provided by the user.
- `scipy.stats.wilcoxon` now supports ``PermutationMethod``, enabling
  calculation of accurate p-values in the presence of ties and zeros.
- `scipy.stats.monte_carlo_test` now has improved robustness in the face of
  numerical noise.
- `scipy.stats.wasserstein_distance_nd` was introduced to compute the
  Wasserstein-1 distance between two N-D discrete distributions.

*******************
Deprecated features
*******************
- Complex dtypes in ``PchipInterpolator`` and ``Akima1DInterpolator`` have
  been deprecated and will raise an error in SciPy 1.15.0. If you are trying
  to use the real components of the passed array, use ``np.real`` on ``y``.

******************************
Backwards incompatible changes
******************************

*************
Other changes
*************
- The second argument of `scipy.stats.moment` has been renamed to ``order``
  while maintaining backward compatibility.
   2024-04-04 23:17:52 by Thomas Klausner | Files touched by this commit (1)
Log message:
py-scipy: fix previous: use 1 if not job limit defined
   2024-04-03 21:36:38 by Dr. Thomas Orgis | Files touched by this commit (1)
Log message:
math/py-scipy: pass -j$MAKE_JOBS to ninja

This avoids hogging all (virtual) CPU cores during build. This should be
set generically in wheel.mk or such, though.
   2023-12-27 23:42:02 by Dr. Thomas Orgis | Files touched by this commit (1)
Log message:
math/py-scipy: correct linking with netlib BLAS

This fixes _superlu.so ending up without liblas linkage, which rendered parts
of scipy defunct. This features subtle interaction with the meson build logic.
Hopefully a new version handles distinct BLAS and CBLAS explictly.

Netlib and openblas variants are the only supported choices right now. It is
open how we'd interface with the custom logic regarding framework.accelerate
or mkl. This is work in progress upstream, and I am trying to influence it
so that a blaswrap package approach based on pkg-config files would work.
   2023-12-07 21:47:13 by Dr. Thomas Orgis | Files touched by this commit (1)
Log message:
py-scipy: Fix BLAS usage, using WHEEL_ARGS

See py-numpy. Also drop the bad fixed openblas dependency.
   2023-11-19 18:06:18 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-scipy: updated to 1.11.4

Issues closed for 1.11.4

Contradiction in \`pyproject.toml\` requirements?
Doc build fails with Python 3.11
BUG: upcasting of indices dtype from DIA to COO/CSR/BSR arrays
BUG: Regression in 1.11.3 can still fail for \`optimize.least_squares\`...
BUG: build failure with Xcode 15 linker
BUG: DiscreteAliasUrn construction fails with UNURANError for...
BUG: problem importing libgfortran.5.dylib on macOS Sonoma
BUG: scipy.sparse.lil_matrix division by complex number leads...
BUG: can't install scipy on mac m1 with poetry due to incompatible...
DOC: doc build failing
BUG: Python version constraints in releases causes issues for...

Pull requests for 1.11.4

DOC, MAINT: workaround for py311 docs
set idx_dtype in sparse dia_array.tocoo
MAINT: Prep 1.11.4
BLD: fix up version parsing issue in cythonize.py for setup.py...
DOC: stats.chisquare: result object contains attribute 'statistic'
BUG: fix pow method for sparrays with power zero
MAINT, BUG: stats: update the UNU.RAN submodule with DAU fix
BUG: Restore the original behavior of 'trf' from least_squares...
BLD: use classic linker on macOS 14 (Sonoma), the new linker...
BUG: Fix typecasting problem in scipy.sparse.lil_matrix truediv
DOC, MAINT: Bump CircleCI Python version to 3.11
MAINT, REL: unpin Python 1.11.x branch
MAINT, BLD: poetry loongarch shims
   2023-10-28 21:57:26 by Thomas Klausner | Files touched by this commit (516) | Package updated
Log message:
python/wheel.mk: simplify a lot, and switch to 'installer' for installation

This follows the recommended bootstrap method (flit_core, build, installer).

However, installer installs different files than pip, so update PLISTs
for all packages using wheel.mk and bump their PKGREVISIONs.
   2023-10-15 02:11:20 by David H. Gutteridge | Files touched by this commit (1)
Log message:
py-scipy: fix minimum meson dependency pattern

We need to force a minimum with the most recent Python multi-version
patching.