Skip to content

Commit

Permalink
Merge branch 'master' into sparse-row-slice
Browse files Browse the repository at this point in the history
  • Loading branch information
perimosocordiae authored Dec 17, 2018
2 parents aadcd92 + 3de68d9 commit 60a268a
Show file tree
Hide file tree
Showing 163 changed files with 1,984 additions and 3,297 deletions.
8 changes: 5 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,10 +112,10 @@ jobs:
export CCACHE_COMPRESS=1
export NPY_NUM_BUILD_JOBS=`pypy3 -c 'import multiprocessing as mp; print(mp.cpu_count())'`
export PATH=/usr/lib/ccache:$PATH
# XXX: use "numpy>=1.15.0" when it's released
pypy3 -mpip install --upgrade pip setuptools wheel
pypy3 -mpip install --no-build-isolation --extra-index https://antocuni.github.io/pypy-wheels/ubuntu pytest pytest-xdist Tempita "Cython>=0.28.2" mpmath
pypy3 -mpip install --no-build-isolation git+https://github.com/numpy/numpy.git@db552b5b6b37f2ff085b304751d7a2ebed26adc9
pypy3 -mpip install Cython>=0.28.5
pypy3 -mpip install numpy>=1.15.0
pypy3 -mpip install --no-build-isolation --extra-index https://antocuni.github.io/pypy-wheels/ubuntu pytest pytest-xdist Tempita mpmath
- run:
name: build
command: |
Expand All @@ -137,6 +137,8 @@ jobs:
command: |
# CircleCI has 4G memory limit, play it safe
export SCIPY_AVAILABLE_MEM=1G
# Try to limit per-process GC memory usage
export PYPY_GC_MAX=900MB
pypy3 runtests.py -- -rfEX -n 3 --durations=30
Expand Down
1 change: 1 addition & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ Behzad Nouri <behzadnouri@gmail.com> behzad nouri <behzadnouri@gmail.com>
Benjamin Root <> weathergod <>
Benny Malengier <benny.malengier@gmail.com> Benny <benny.malengier@gmail.com>
Bhavika Tekwani <bhavicka.7992@gmail.com> bhavikat <bhavicka.7992@gmail.com>
Blair Azzopardi <blairuk@gmail.com> bsdz <blairuk@gmail.com>
Brett R. Murphy <bmurphy@enthought.com> brettrmurphy <bmurphy@enthought.com>
Brian Hawthorne <brian.hawthorne@localhost> brian.hawthorne <brian.hawthorne@localhost>
Brian Newsom <brian.newsom@colorado.edu> Brian Newsom <Brian.Newsom@Colorado.edu>
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
SciPy pull request guidelines
=============================

Pull requests are always welcome, and the Scipy community appreciates
Pull requests are always welcome, and the SciPy community appreciates
any help you give. Note that a code of conduct applies to all spaces
managed by the SciPy project, including issues and pull requests:
https://github.com/scipy/scipy/blob/master/doc/source/dev/conduct/code_of_conduct.rst.
Expand Down
6 changes: 3 additions & 3 deletions HACKING.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ following, a *SciPy module* is defined as a Python package, say
for instance ``yyy/_somemodule.py``.

* User-visible functions should have good documentation following
the Numpy documentation style, see `how to document`_
the NumPy documentation style, see `how to document`_

* The ``__init__.py`` of the module should contain the main reference
documentation in its docstring. This is connected to the Sphinx
Expand All @@ -277,7 +277,7 @@ following, a *SciPy module* is defined as a Python package, say

See the existing Scipy submodules for guidance.

For further details on Numpy distutils, see:
For further details on NumPy distutils, see:

https://github.com/numpy/numpy/blob/master/doc/DISTUTILS.rst.txt

Expand Down Expand Up @@ -356,7 +356,7 @@ command ``source scipy-dev/bin/activate``, and ``deactivate`` to exit from the
virtual environment and back to your previous shell. With scipy-dev
activated, install first Scipy's dependencies::

$ pip install Numpy pytest Cython
$ pip install NumPy pytest Cython

After that, you can install a development version of Scipy, for example via::

Expand Down
3 changes: 3 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ SciPy
.. image:: https://codecov.io/gh/scipy/scipy/branch/master/graph/badge.svg
:target: https://codecov.io/gh/scipy/scipy

.. image:: https://dev.azure.com/scipy-org/SciPy/_apis/build/status/scipy.scipy?branchName=master
:target: https://dev.azure.com/scipy-org/SciPy/_build/latest?definitionId=1?branchName=master

SciPy (pronounced "Sigh Pie") is open-source software for mathematics,
science, and engineering. It includes modules for statistics, optimization,
integration, linear algebra, Fourier transforms, signal and image processing,
Expand Down
2 changes: 1 addition & 1 deletion THANKS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ Martin Teichmann for improving scipy.special.ellipk & agm accuracy,
and for linalg.qr_multiply.
Jeff Armstrong for discrete state-space and linear time-invariant functionality
in scipy.signal, and sylvester/riccati/lyapunov solvers in scipy.linalg.
Mark Wiebe for fixing type casting after changes in Numpy.
Mark Wiebe for fixing type casting after changes in NumPy.
Andrey Smirnov for improvements to FIR filter design.
Anthony Scopatz for help with code review and merging.
Lars Buitinck for improvements to scipy.sparse and various other modules.
Expand Down
126 changes: 126 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
trigger:
# start a new build for every push
batch: False
branches:
include:
- master
- maintenance/*

jobs:
- job: Linux_Python_36_32bit_full
pool:
vmIMage: 'ubuntu-16.04'
steps:
- script: |
docker pull i386/ubuntu:bionic
docker run -v $(pwd):/scipy i386/ubuntu:bionic /bin/bash -c "cd scipy && \
apt-get -y update && \
apt-get -y install python3.6-dev python3-pip pkg-config libpng-dev libjpeg8-dev libfreetype6-dev && \
pip3 install setuptools wheel numpy cython==0.29 pytest pytest-timeout pytest-xdist pytest-env pytest-faulthandler Pillow mpmath matplotlib && \
apt-get -y install gfortran-5 wget && \
cd .. && \
mkdir openblas && cd openblas && \
wget https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/openblas-0.3.0-Linux-i686.tar.gz && \
tar zxvf openblas-0.3.0-Linux-i686.tar.gz && \
cp -r ./usr/local/lib/* /usr/lib && \
cp ./usr/local/include/* /usr/include && \
cd ../scipy && \
F77=gfortran-5 F90=gfortran-5 python3 runtests.py --mode=full -- -n auto -rsx --junitxml=junit/test-results.xml"
displayName: 'Run 32-bit Ubuntu Docker Build / Tests'
- task: PublishTestResults@2
inputs:
testResultsFiles: '**/test-*.xml'
testRunTitle: 'Publish test results for Python 3.6-32 bit full Linux'
- job: Windows
pool:
vmIMage: 'VS2017-Win2016'
variables:
OPENBLAS_32: https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/openblas-5f998ef_gcc7_1_0_win32.zip
OPENBLAS_64: https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/openblas-5f998ef_gcc7_1_0_win64.zip
strategy:
maxParallel: 4
matrix:
Python36-32bit-full:
PYTHON_VERSION: '3.6'
PYTHON_ARCH: 'x86'
TEST_MODE: full
OPENBLAS: $(OPENBLAS_32)
BITS: 32
Python35-64bit-full:
PYTHON_VERSION: '3.5'
PYTHON_ARCH: 'x64'
TEST_MODE: full
OPENBLAS: $(OPENBLAS_64)
BITS: 64
Python36-64bit-full:
PYTHON_VERSION: '3.6'
PYTHON_ARCH: 'x64'
TEST_MODE: full
OPENBLAS: $(OPENBLAS_64)
BITS: 64
Python37-64bit-full:
PYTHON_VERSION: '3.7'
PYTHON_ARCH: 'x64'
TEST_MODE: full
OPENBLAS: $(OPENBLAS_64)
BITS: 64
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: $(PYTHON_VERSION)
addToPath: true
architecture: $(PYTHON_ARCH)
- script: python -m pip install --upgrade pip setuptools wheel
displayName: 'Install tools'
- powershell: |
$wc = New-Object net.webclient;
$wc.Downloadfile("$(OPENBLAS)", "openblas.zip")
$tmpdir = New-TemporaryFile | %{ rm $_; mkdir $_ }
Expand-Archive "openblas.zip" $tmpdir
$pyversion = python -c "from __future__ import print_function; import sys; print(sys.version.split()[0])"
Write-Host "Python Version: $pyversion"
$target = "C:\\hostedtoolcache\\windows\\Python\\$pyversion\\$(PYTHON_ARCH)\\lib\\openblas.a"
Write-Host "target path: $target"
cp $tmpdir\$(BITS)\lib\libopenblas_5f998ef_gcc7_1_0.a $target
displayName: 'Download / Install OpenBLAS'
- powershell: |
# NOTE: can probably (eventually) abstract this
# upstream in Microsoft repo to support x86 natively
choco install -y mingw --forcex86 --force
displayName: 'Install 32-bit mingw for 32-bit builds'
condition: eq(variables['BITS'], 32)
- script: python -m pip install numpy cython==0.28.5 pytest pytest-timeout pytest-xdist pytest-env pytest-faulthandler Pillow mpmath matplotlib
displayName: 'Install dependencies'
- powershell: |
# need a version of NumPy distutils that can build
# with msvc + mingw-gfortran
$NumpyDir = $((python -c 'import os; import numpy; print(os.path.dirname(numpy.__file__))') | Out-String).Trim()
rm -r -Force "$NumpyDir\distutils"
$tmpdir = New-TemporaryFile | %{ rm $_; mkdir $_ }
git clone -q --depth=1 -b master https://github.com/numpy/numpy.git $tmpdir
mv $tmpdir\numpy\distutils $NumpyDir
displayName: 'Replace NumPy distutils'
- powershell: |
If ($(BITS) -eq 32) {
# 32-bit build requires careful adjustments
# until Microsoft has a switch we can use
# directly for i686 mingw
$env:NPY_DISTUTILS_APPEND_FLAGS = 1
$env:CFLAGS = "-m32"
$env:LDFLAGS = "-m32"
$env:PATH = "C:\\tools\\mingw32\\bin;" + $env:PATH
refreshenv
}
mkdir dist
pip wheel --no-build-isolation -v -v -v --wheel-dir=dist .
ls dist -r | Foreach-Object {
pip install $_.FullName
}
displayName: 'Build SciPy'
- script: python runtests.py -n --mode=$(TEST_MODE) -- -n auto -rsx --junitxml=junit/test-results.xml
displayName: 'Run SciPy Test Suite'
- task: PublishTestResults@2
inputs:
testResultsFiles: '**/test-*.xml'
testRunTitle: 'Publish test results for Python $(python.version)'
12 changes: 6 additions & 6 deletions benchmarks/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@
SciPy benchmarks
================

Benchmarking Scipy with Airspeed Velocity.
Benchmarking SciPy with Airspeed Velocity.


Usage
-----

Airspeed Velocity manages building and Python virtualenvs by itself,
unless told otherwise. Some of the benchmarking features in
``runtests.py`` also tell ASV to use the Scipy compiled by
``runtests.py`` also tell ASV to use the SciPy compiled by
``runtests.py``. To run the benchmarks, you do not need to install a
development version of Scipy to your current Python environment.
development version of SciPy to your current Python environment.

Run a benchmark against currently checked out Scipy version (don't record the
Run a benchmark against currently checked out SciPy version (don't record the
result)::

python runtests.py --bench sparse.Arithmetic
Expand Down Expand Up @@ -54,15 +54,15 @@ See `ASV documentation`_ for basics on how to write benchmarks.

Some things to consider:

- When importing things from Scipy on the top of the test files, do it as::
- When importing things from SciPy on the top of the test files, do it as::

try:
from scipy.sparse.linalg import onenormest
except ImportError:
pass

The benchmark files need to be importable also when benchmarking old versions
of Scipy. The benchmarks themselves don't need any guarding against missing
of SciPy. The benchmarks themselves don't need any guarding against missing
features --- only the top-level imports.

- Try to keep the runtime of the benchmark reasonable.
Expand Down
12 changes: 6 additions & 6 deletions doc/API.rst.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
API - importing from Scipy
API - importing from SciPy
==========================

In Python the distinction between what is the public API of a library and what
Expand All @@ -25,12 +25,12 @@ rules for what is and isn't public in Python are:
case; the presence of underscores do mark something as private, but
the absence of underscores do not mark something as public.

In Scipy there are modules whose names don't start with an underscore, but that
In SciPy there are modules whose names don't start with an underscore, but that
should be considered private. To clarify which modules these are we define
below what the public API is for Scipy, and give some recommendations for how
to import modules/functions/objects from Scipy.
below what the public API is for SciPy, and give some recommendations for how
to import modules/functions/objects from SciPy.

Guidelines for importing functions from Scipy
Guidelines for importing functions from SciPy
---------------------------------------------

The scipy namespace itself only contains functions imported from numpy. These
Expand Down Expand Up @@ -77,7 +77,7 @@ API definition

Every submodule listed below is public. That means that these submodules are
unlikely to be renamed or changed in an incompatible way, and if that is
necessary a deprecation warning will be raised for one Scipy release before the
necessary a deprecation warning will be raised for one SciPy release before the
change is made.

* `scipy.cluster`
Expand Down
4 changes: 2 additions & 2 deletions doc/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The easy way to build the documentation is to run

python setup.py build_sphinx

This will first build Scipy in-place, and then generate documentation for it.
This will first build SciPy in-place, and then generate documentation for it.

Another way
-----------
Expand All @@ -16,5 +16,5 @@ Another way
2. Run ``make html`` or ``make dist``

Note that ``make html`` builds the documentation for the currently installed
version of Scipy, not the one corresponding to the source code here.
version of SciPy, not the one corresponding to the source code here.

Loading

0 comments on commit 60a268a

Please sign in to comment.