Added numpy
This commit is contained in:
parent
171e72efd8
commit
43c9aa1cac
|
@ -0,0 +1,123 @@
|
|||
# Python CircleCI 2.0 configuration file
|
||||
#
|
||||
# Check https://circleci.com/docs/2.0/language-python/ for more details
|
||||
#
|
||||
version: 2
|
||||
jobs:
|
||||
build:
|
||||
docker:
|
||||
# CircleCI maintains a library of pre-built images
|
||||
# documented at https://circleci.com/docs/2.0/circleci-images/
|
||||
- image: circleci/python:3.6.6
|
||||
|
||||
working_directory: ~/repo
|
||||
|
||||
steps:
|
||||
- checkout
|
||||
|
||||
- run:
|
||||
name: install dependencies
|
||||
command: |
|
||||
python3 -m venv venv
|
||||
ln -s $(which python3) venv/bin/python3.6
|
||||
. venv/bin/activate
|
||||
pip install cython sphinx==2.3.1 matplotlib ipython
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y graphviz texlive-fonts-recommended texlive-latex-recommended texlive-latex-extra texlive-generic-extra latexmk texlive-xetex
|
||||
|
||||
- run:
|
||||
name: build numpy
|
||||
command: |
|
||||
. venv/bin/activate
|
||||
pip install --upgrade pip 'setuptools<49.2.0'
|
||||
pip install cython
|
||||
pip install .
|
||||
pip install scipy
|
||||
pip install pandas
|
||||
|
||||
- run:
|
||||
name: create release notes
|
||||
command: |
|
||||
. venv/bin/activate
|
||||
pip install git+https://github.com/hawkowl/towncrier.git@master
|
||||
VERSION=$(python -c "import setup; print(setup.VERSION)")
|
||||
towncrier --version $VERSION --yes
|
||||
./tools/ci/test_all_newsfragments_used.py
|
||||
|
||||
- run:
|
||||
name: run doctests on documentation
|
||||
command: |
|
||||
. venv/bin/activate
|
||||
(cd doc ; git submodule update --init)
|
||||
python tools/refguide_check.py --rst
|
||||
|
||||
- run:
|
||||
name: build devdocs
|
||||
command: |
|
||||
. venv/bin/activate
|
||||
cd doc
|
||||
SPHINXOPTS=-q make -e html
|
||||
|
||||
- run:
|
||||
name: build neps
|
||||
command: |
|
||||
. venv/bin/activate
|
||||
cd doc/neps
|
||||
SPHINXOPTS=-q make -e html
|
||||
|
||||
- store_artifacts:
|
||||
path: doc/build/html/
|
||||
|
||||
|
||||
# - store_artifacts:
|
||||
# path: doc/neps/_build/html/
|
||||
# destination: neps
|
||||
|
||||
- add_ssh_keys:
|
||||
fingerprints:
|
||||
- "9f:8c:e5:3f:53:40:0b:ee:c9:c3:0f:fd:0f:3c:cc:55"
|
||||
|
||||
- run:
|
||||
name: deploy devdocs
|
||||
command: |
|
||||
if [ "${CIRCLE_BRANCH}" == "master" ]; then
|
||||
touch doc/build/html/.nojekyll
|
||||
|
||||
./tools/ci/push_docs_to_repo.py doc/build/html \
|
||||
git@github.com:numpy/devdocs.git \
|
||||
--committer "numpy-circleci-bot" \
|
||||
--email "numpy-circleci-bot@nomail" \
|
||||
--message "Docs build of $CIRCLE_SHA1" \
|
||||
--force
|
||||
else
|
||||
echo "Not on the master branch; skipping deployment"
|
||||
fi
|
||||
|
||||
- add_ssh_keys:
|
||||
fingerprints:
|
||||
- "11:fb:19:69:80:3a:6d:37:9c:d1:ac:20:17:cd:c8:17"
|
||||
|
||||
- run:
|
||||
name: select SSH key for neps repo
|
||||
command: |
|
||||
cat <<\EOF > ~/.ssh/config
|
||||
Host github.com
|
||||
IdentitiesOnly yes
|
||||
IdentityFile /home/circleci/.ssh/id_rsa_11fb1969803a6d379cd1ac2017cdc817
|
||||
EOF
|
||||
|
||||
- run:
|
||||
name: deploy neps
|
||||
command: |
|
||||
if [ "${CIRCLE_BRANCH}" == "master" ]; then
|
||||
touch doc/neps/_build/html/.nojekyll
|
||||
|
||||
./tools/ci/push_docs_to_repo.py doc/neps/_build/html \
|
||||
git@github.com:numpy/neps.git \
|
||||
--committer "numpy-circleci-bot" \
|
||||
--email "numpy-circleci-bot@nomail" \
|
||||
--message "Docs build of $CIRCLE_SHA1" \
|
||||
--force
|
||||
else
|
||||
echo "Not on the master branch; skipping deployment"
|
||||
fi
|
|
@ -0,0 +1,13 @@
|
|||
codecov:
|
||||
notify:
|
||||
require_ci_to_pass: no
|
||||
after_n_builds: 1
|
||||
coverage:
|
||||
status:
|
||||
project:
|
||||
default:
|
||||
# Require 1% coverage, i.e., always succeed
|
||||
target: 1
|
||||
patch: false
|
||||
changes: false
|
||||
comment: off
|
|
@ -0,0 +1,4 @@
|
|||
[run]
|
||||
branch = True
|
||||
include = */numpy/*
|
||||
disable_warnings = include-ignored
|
|
@ -0,0 +1 @@
|
|||
--langmaps=c:+.src
|
|
@ -0,0 +1,9 @@
|
|||
version: 1
|
||||
update_configs:
|
||||
- package_manager: "python"
|
||||
directory: "/"
|
||||
update_schedule: "weekly"
|
||||
commit_message:
|
||||
prefix: "MAINT"
|
||||
default_labels:
|
||||
- "03 - Maintenance"
|
|
@ -0,0 +1,5 @@
|
|||
# Numerical data files
|
||||
numpy/lib/tests/data/*.npy binary
|
||||
|
||||
# Release notes, reduce number of conflicts.
|
||||
doc/release/*.rst merge=union
|
|
@ -0,0 +1 @@
|
|||
NumPy has a Code of Conduct, please see: https://www.numpy.org/devdocs/dev/conduct/code_of_conduct.html
|
|
@ -0,0 +1,31 @@
|
|||
# Contributing to numpy
|
||||
|
||||
## Reporting issues
|
||||
|
||||
When reporting issues please include as much detail as possible about your
|
||||
operating system, numpy version and python version. Whenever possible, please
|
||||
also include a brief, self-contained code example that demonstrates the problem.
|
||||
|
||||
If you are reporting a segfault please include a GDB traceback, which you can
|
||||
generate by following
|
||||
[these instructions.](https://github.com/numpy/numpy/blob/master/doc/source/dev/development_environment.rst#debugging)
|
||||
|
||||
## Contributing code
|
||||
|
||||
Thanks for your interest in contributing code to numpy!
|
||||
|
||||
+ If this is your first time contributing to a project on GitHub, please read
|
||||
through our
|
||||
[guide to contributing to numpy](https://numpy.org/devdocs/dev/index.html)
|
||||
+ If you have contributed to other projects on GitHub you can go straight to our
|
||||
[development workflow](https://numpy.org/devdocs/dev/development_workflow.html)
|
||||
|
||||
Either way, please be sure to follow our
|
||||
[convention for commit messages](https://numpy.org/devdocs/dev/development_workflow.html#writing-the-commit-message).
|
||||
|
||||
If you are writing new C code, please follow the style described in
|
||||
``doc/C_STYLE_GUIDE``.
|
||||
|
||||
Suggested ways to work on your development version (compile and run
|
||||
the tests without interfering with system packages) are described in
|
||||
``doc/source/dev/development_environment.rst``.
|
|
@ -0,0 +1,3 @@
|
|||
github: [numfocus]
|
||||
tidelift: pypi/numpy
|
||||
custom: https://www.numpy.org/#support-numpy
|
|
@ -0,0 +1,27 @@
|
|||
|
||||
<!-- Please describe the issue in detail here, and fill in the fields below -->
|
||||
|
||||
### Reproducing code example:
|
||||
|
||||
<!-- A short code example that reproduces the problem/missing feature. It should be
|
||||
self-contained, i.e., possible to run as-is via 'python myproblem.py' -->
|
||||
|
||||
```python
|
||||
import numpy as np
|
||||
<< your code here >>
|
||||
```
|
||||
|
||||
<!-- Remove these sections for a feature request -->
|
||||
|
||||
### Error message:
|
||||
|
||||
<!-- If you are reporting a segfault please include a GDB traceback, which you
|
||||
can generate by following
|
||||
https://github.com/numpy/numpy/blob/master/doc/source/dev/development_environment.rst#debugging -->
|
||||
|
||||
<!-- Full error message, if any (starting from line Traceback: ...) -->
|
||||
|
||||
### Numpy/Python version information:
|
||||
|
||||
<!-- Output from 'import sys, numpy; print(numpy.__version__, sys.version)' -->
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<!-- Please be sure you are following the instructions in the dev guidelines
|
||||
http://www.numpy.org/devdocs/dev/development_workflow.html
|
||||
-->
|
||||
|
||||
<!-- We'd appreciate it if your commit message is properly formatted
|
||||
http://www.numpy.org/devdocs/dev/development_workflow.html#writing-the-commit-message
|
||||
-->
|
|
@ -0,0 +1,195 @@
|
|||
# Editor temporary/working/backup files #
|
||||
#########################################
|
||||
.#*
|
||||
[#]*#
|
||||
*~
|
||||
*$
|
||||
*.bak
|
||||
*.diff
|
||||
.idea/
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
*.org
|
||||
.project
|
||||
pmip
|
||||
*.rej
|
||||
.settings/
|
||||
.*.sw[nop]
|
||||
.sw[nop]
|
||||
*.tmp
|
||||
*.vim
|
||||
.vscode
|
||||
tags
|
||||
cscope.out
|
||||
# gnu global
|
||||
GPATH
|
||||
GRTAGS
|
||||
GSYMS
|
||||
GTAGS
|
||||
.cache
|
||||
|
||||
# Compiled source #
|
||||
###################
|
||||
*.a
|
||||
*.com
|
||||
*.class
|
||||
*.dll
|
||||
*.exe
|
||||
*.o
|
||||
*.o.d
|
||||
*.py[ocd]
|
||||
*.so
|
||||
|
||||
# Packages #
|
||||
############
|
||||
# it's better to unpack these files and commit the raw source
|
||||
# git has its own built in compression methods
|
||||
*.7z
|
||||
*.bz2
|
||||
*.bzip2
|
||||
*.dmg
|
||||
*.gz
|
||||
*.iso
|
||||
*.jar
|
||||
*.rar
|
||||
*.tar
|
||||
*.tbz2
|
||||
*.tgz
|
||||
*.zip
|
||||
|
||||
# Python files #
|
||||
################
|
||||
# setup.py working directory
|
||||
build
|
||||
# sphinx build directory
|
||||
_build
|
||||
# setup.py dist directory
|
||||
dist
|
||||
doc/build
|
||||
doc/cdoc/build
|
||||
# Egg metadata
|
||||
*.egg-info
|
||||
# The shelf plugin uses this dir
|
||||
./.shelf
|
||||
MANIFEST
|
||||
.cache
|
||||
|
||||
# Paver generated files #
|
||||
#########################
|
||||
/release
|
||||
|
||||
# Logs and databases #
|
||||
######################
|
||||
*.log
|
||||
*.sql
|
||||
*.sqlite
|
||||
|
||||
# Patches #
|
||||
###########
|
||||
*.patch
|
||||
*.diff
|
||||
|
||||
# OS generated files #
|
||||
######################
|
||||
.DS_Store*
|
||||
.VolumeIcon.icns
|
||||
.fseventsd
|
||||
Icon?
|
||||
.gdb_history
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
.directory
|
||||
|
||||
# pytest generated files #
|
||||
##########################
|
||||
/.pytest_cache
|
||||
|
||||
# Things specific to this project #
|
||||
###################################
|
||||
numpy/core/__svn_version__.py
|
||||
doc/numpy.scipy.org/_build
|
||||
numpy/__config__.py
|
||||
numpy/core/include/numpy/__multiarray_api.h
|
||||
numpy/core/include/numpy/__ufunc_api.h
|
||||
numpy/core/include/numpy/_numpyconfig.h
|
||||
numpy/version.py
|
||||
site.cfg
|
||||
setup.cfg
|
||||
.tox
|
||||
numpy/core/include/numpy/__multiarray_api.c
|
||||
numpy/core/include/numpy/__ufunc_api.c
|
||||
numpy/core/include/numpy/__umath_generated.c
|
||||
numpy/core/include/numpy/config.h
|
||||
numpy/core/include/numpy/multiarray_api.txt
|
||||
numpy/core/include/numpy/ufunc_api.txt
|
||||
numpy/core/lib/
|
||||
numpy/core/src/common/npy_binsearch.h
|
||||
numpy/core/src/common/npy_cpu_features.c
|
||||
numpy/core/src/common/npy_partition.h
|
||||
numpy/core/src/common/npy_sort.h
|
||||
numpy/core/src/common/templ_common.h
|
||||
numpy/core/src/multiarray/_multiarray_tests.c
|
||||
numpy/core/src/multiarray/arraytypes.c
|
||||
numpy/core/src/multiarray/einsum.c
|
||||
numpy/core/src/multiarray/lowlevel_strided_loops.c
|
||||
numpy/core/src/multiarray/multiarray_tests.c
|
||||
numpy/core/src/multiarray/nditer_templ.c
|
||||
numpy/core/src/multiarray/scalartypes.c
|
||||
numpy/core/src/npymath/ieee754.c
|
||||
numpy/core/src/npymath/npy_math_complex.c
|
||||
numpy/core/src/npymath/npy_math_internal.h
|
||||
numpy/core/src/npysort/binsearch.c
|
||||
numpy/core/src/npysort/heapsort.c
|
||||
numpy/core/src/npysort/mergesort.c
|
||||
numpy/core/src/npysort/quicksort.c
|
||||
numpy/core/src/npysort/radixsort.c
|
||||
numpy/core/src/npysort/selection.c
|
||||
numpy/core/src/npysort/timsort.c
|
||||
numpy/core/src/npysort/sort.c
|
||||
numpy/core/src/private/npy_binsearch.h
|
||||
numpy/core/src/private/npy_partition.h
|
||||
numpy/core/src/private/templ_common.h
|
||||
numpy/core/src/umath/_operand_flag_tests.c
|
||||
numpy/core/src/umath/_rational_tests.c
|
||||
numpy/core/src/umath/_struct_ufunc_tests.c
|
||||
numpy/core/src/umath/_umath_tests.c
|
||||
numpy/core/src/umath/scalarmath.c
|
||||
numpy/core/src/umath/funcs.inc
|
||||
numpy/core/src/umath/clip.[ch]
|
||||
numpy/core/src/umath/loops.[ch]
|
||||
numpy/core/src/umath/matmul.[ch]
|
||||
numpy/core/src/umath/operand_flag_tests.c
|
||||
numpy/core/src/umath/simd.inc
|
||||
numpy/core/src/umath/struct_ufunc_test.c
|
||||
numpy/core/src/umath/test_rational.c
|
||||
numpy/core/src/umath/umath_tests.c
|
||||
numpy/distutils/__config__.py
|
||||
numpy/linalg/umath_linalg.c
|
||||
doc/source/**/generated/
|
||||
benchmarks/results
|
||||
benchmarks/html
|
||||
benchmarks/env
|
||||
benchmarks/numpy
|
||||
# cythonized files
|
||||
cythonize.dat
|
||||
numpy/random/_mtrand/_mtrand.c
|
||||
numpy/random/*.c
|
||||
numpy/random/legacy/*.c
|
||||
numpy/random/_mtrand/randint_helpers.pxi
|
||||
numpy/random/bounded_integers.pyx
|
||||
numpy/random/bounded_integers.pxd
|
||||
tools/swig/test/Array_wrap.cxx
|
||||
tools/swig/test/Farray_wrap.cxx
|
||||
tools/swig/test/Farray.py
|
||||
tools/swig/test/Flat_wrap.cxx
|
||||
tools/swig/test/Flat.py
|
||||
tools/swig/test/Fortran_wrap.cxx
|
||||
tools/swig/test/Fortran.py
|
||||
tools/swig/test/Matrix_wrap.cxx
|
||||
tools/swig/test/Matrix.py
|
||||
tools/swig/test/Tensor_wrap.cxx
|
||||
tools/swig/test/Tensor.py
|
||||
tools/swig/test/Vector.py
|
||||
tools/swig/test/Vector_wrap.cxx
|
||||
tools/swig/test/Array.py
|
|
@ -0,0 +1,6 @@
|
|||
[submodule "doc/scipy-sphinx-theme"]
|
||||
path = doc/scipy-sphinx-theme
|
||||
url = https://github.com/scipy/scipy-sphinx-theme.git
|
||||
[submodule "doc/sphinxext"]
|
||||
path = doc/sphinxext
|
||||
url = https://github.com/numpy/numpydoc.git
|
|
@ -0,0 +1,24 @@
|
|||
path_classifiers:
|
||||
library:
|
||||
- tools
|
||||
generated:
|
||||
# The exports defined in __init__.py are defined in the Cython module
|
||||
# np.random.mtrand. By excluding this file we suppress a number of
|
||||
# "undefined export" alerts
|
||||
- numpy/random/__init__.py
|
||||
|
||||
extraction:
|
||||
python:
|
||||
python_setup:
|
||||
requirements:
|
||||
- cython>=0.29
|
||||
cpp:
|
||||
index:
|
||||
build_command:
|
||||
- python3 setup.py build
|
||||
after_prepare:
|
||||
- pip3 install --upgrade --user cython
|
||||
- export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
queries:
|
||||
- include: py/file-not-closed
|
|
@ -0,0 +1,272 @@
|
|||
# Prevent git from showing duplicate names with commands like "git shortlog"
|
||||
# See the manpage of git-shortlog for details.
|
||||
# The syntax is:
|
||||
# Name that should be used <email that should be used> Bad name <bad email>
|
||||
#
|
||||
# You can skip Bad name if it is the same as the one that should be used, and is unique.
|
||||
#
|
||||
# This file is up-to-date if the command git log --format="%aN <%aE>" | sort -u
|
||||
# gives no duplicates.
|
||||
|
||||
Aaron Baecker <abaecker@localhost> abaecker <abaecker@localhost>
|
||||
Alan Fontenot <logeaux@yahoo.com> logeaux <logeaux@yahoo.com>
|
||||
Alan Fontenot <logeaux@yahoo.com> logeaux <36168460+logeaux@users.noreply.github.com>
|
||||
Abdul Muneer <abdulmuneer@gmail.com> abdulmuneer <abdulmuneer@gmail.com>
|
||||
Adam Ginsburg <adam.g.ginsburg@gmail.com> Adam Ginsburg <keflavich@gmail.com>
|
||||
Albert Jornet Puig <albert.jornet@ic3.cat> jurnix <albert.jornet@ic3.cat>
|
||||
Alex Griffing <argriffi@ncsu.edu> alex <argriffi@ncsu.edu>
|
||||
Alex Griffing <argriffi@ncsu.edu> argriffing <argriffi@ncsu.edu>
|
||||
Alex Griffing <argriffi@ncsu.edu> argriffing <argriffing@gmail.com>
|
||||
Alex Griffing <argriffi@ncsu.edu> argriffing <argriffing@users.noreply.github.com>
|
||||
Alex Thomas <alexthomas93@users.noreply.github.com> alexthomas93 <alexthomas93@users.noreply.github.com>
|
||||
Alexander Belopolsky <abalkin@enlnt.com> Alexander Belopolsky <a@enlnt.com>
|
||||
Alexander Belopolsky <abalkin@enlnt.com> Alexander Belopolsky <a@enlnt.com>
|
||||
Alexander Belopolsky <abalkin@enlnt.com> sasha <sasha@localhost>
|
||||
Alexander Jung <kontakt@ajung.name> aleju <kontakt@ajung.name>
|
||||
Alexander Shadchin <alexandr.shadchin@gmail.com> Alexandr Shadchin <alexandr.shadchin@gmail.com>
|
||||
Alexander Shadchin <alexandr.shadchin@gmail.com> shadchin <alexandr.shadchin@gmail.com>
|
||||
Allan Haldane <allan.haldane@gmail.com> ahaldane <ealloc@gmail.com>
|
||||
Alok Singhal <gandalf013@gmail.com> Alok Singhal <alok@merfinllc.com>
|
||||
Alyssa Quek <alyssaquek@gmail.com> alyssaq <alyssaquek@gmail.com>
|
||||
Amir Sarabadani <ladsgroup@gmail.com> amir <ladsgroup@gmail.com>
|
||||
Anatoly Techtonik <techtonik@gmail.com> anatoly techtonik <techtonik@gmail.com>
|
||||
Andras Deak <deak.andris@gmail.com> adeak <adeak@users.noreply.github.com>
|
||||
Andrea Pattori <andrea.pattori@gmail.com> patto90 <andrea.pattori@gmail.com>
|
||||
Andrea Sangalli <and-sang@outlook.com> and-sang <53617841+and-sang@users.noreply.github.com>
|
||||
Andrei Kucharavy <ank@andreikucharavy.com> chiffa <ank@andreikucharavy.com>
|
||||
Anne Archibald <peridot.faceted@gmail.com> aarchiba <peridot.faceted@gmail.com>
|
||||
Anne Archibald <peridot.faceted@gmail.com> Anne Archibald <archibald@astron.nl>
|
||||
Anže Starič <anze.staric@gmail.com> astaric <anze.staric@gmail.com>
|
||||
Aron Ahmadia <aron@ahmadia.net> ahmadia <aron@ahmadia.net>
|
||||
Aarthi Agurusa <agurusa@gmail.com> agurusa <agurusa@gmail.com>
|
||||
Arun Persaud <apersaud@lbl.gov> Arun Persaud <arun@nubati.net>
|
||||
Åsmund Hjulstad <ahju@statoil.com> Åsmund Hjulstad <asmund@hjulstad.com>
|
||||
Auke Wiggers <wiggers.auke@gmail.com> auke <wiggers.auke@gmail.com>
|
||||
Badhri Narayanan Krishnakumar <badhrinarayanan.k@gmail.com> badhrink <badhrinarayanan.k@gmail.com>
|
||||
Behzad Nouri <behzadnouri@gmail.com> behzad nouri <behzadnouri@gmail.com>
|
||||
Benjamin Root <ben.v.root@gmail.com> Ben Root <ben.v.root@gmail.com>
|
||||
Benjamin Root <ben.v.root@gmail.com> weathergod <?@?>
|
||||
Bernardt Duvenhage <bernardt.duvenhage@gmail.com> bduvenhage <bernardt.duvenhage@gmail.com>
|
||||
Bertrand Lefebvre <bertrand.l3f@gmail.com> bertrand <bertrand.l3f@gmail.com>
|
||||
Bertrand Lefebvre <bertrand.l3f@gmail.com> Bertrand <bertrand.l3f@gmail.com>
|
||||
Bharat Raghunathan <bharatr@symphonyai.com> Bharat123Rox <bharatr@symphonyai.com>
|
||||
Bill Spotz <wfspotz@sandia.gov> William Spotz <wfspotz@sandia.gov@localhost>
|
||||
Bill Spotz <wfspotz@sandia.gov> wfspotz@sandia.gov <wfspotz@sandia.gov@localhost>
|
||||
Bob Eldering <eldering@jive.eu> bobeldering <eldering@jive.eu>
|
||||
Brett R Murphy <bmurphy@enthought.com> brettrmurphy <bmurphy@enthought.com>
|
||||
Bryan Van de Ven <bryanv@continuum.io> Bryan Van de Ven <bryan@Laptop-3.local>
|
||||
Bryan Van de Ven <bryanv@continuum.io> Bryan Van de Ven <bryan@laptop.local>
|
||||
Bui Duc Minh <buiducminh287@gmail.com> Mibu287 <41239569+Mibu287@users.noreply.github.com>
|
||||
Carl Kleffner <cmkleffner@gmail.com> carlkl <cmkleffner@gmail.com>
|
||||
Chris Burns <chris.burns@localhost> chris.burns <chris.burns@localhost>
|
||||
Chris Kerr <debdepba@dasganma.tk> Chris Kerr <cjk34@cam.ac.uk>
|
||||
Christian Clauss <cclauss@bluewin.ch> cclauss <cclauss@bluewin.ch>
|
||||
Christopher Hanley <chanley@gmail.com> chanley <chanley@gmail.com>
|
||||
Christoph Gohlke <cgohlke@uci.edu> cgholke <?@?>
|
||||
Christoph Gohlke <cgohlke@uci.edu> cgohlke <cgohlke@uci.edu>
|
||||
Christoph Gohlke <cgohlke@uci.edu> Christolph Gohlke <cgohlke@uci.edu>
|
||||
Chunlin Fang <fangchunlin@huawei.com> Qiyu8 <fangchunlin@huawei.com>
|
||||
Chunlin Fang <fangchunlin@huawei.com> Chunlin <fangchunlin@huawei.com>
|
||||
Colin Snyder <47012605+colinsnyder@users.noreply.github.com> colinsnyder <47012605+colinsnyder@users.noreply.github.com>
|
||||
Daniel B Allan <daniel.b.allan@gmail.com> danielballan <daniel.b.allan@gmail.com>
|
||||
Daniel da Silva <mail@danieldasilva.org> Daniel da Silva <daniel@meltingwax.net>
|
||||
Daniel da Silva <mail@danieldasilva.org> Daniel da Silva <var.mail.daniel@gmail.com>
|
||||
Daniel Hrisca <daniel.hrisca@gmail.com> danielhrisca <daniel.hrisca@gmail.com>
|
||||
Daniel J Farrell <danieljfarrel@me.com> danieljfarrell <danieljfarrel@me.com>
|
||||
Daniel Müllner <Daniel Müllner muellner@math.stanford.edu> Daniel <muellner@localhost.localdomain>
|
||||
Daniel Müllner <Daniel Müllner muellner@math.stanford.edu> dmuellner <Daniel Müllner muellner@math.stanford.edu>
|
||||
Daniel Rasmussen <daniel.rasmussen@appliedbrainresearch.com> drasmuss <daniel.rasmussen@appliedbrainresearch.com>
|
||||
David Huard <david.huard@gmail.com> dhuard <dhuard@localhost>
|
||||
David M Cooke <cookedm@localhost> cookedm <cookedm@localhost>
|
||||
David Nicholson <davidjn@google.com> davidjn <dnic12345@gmail.com>
|
||||
David Ochoa <ochoadavid@gmail.com> ochoadavid <ochoadavid@gmail.com>
|
||||
Dawid Zych <dawid.zych@yandex.com> silenc3r <dawid.zych@yandex.com>
|
||||
Dennis Zollo <dzollo@swift-nav.com> denniszollo <dzollo@swift-nav.com>
|
||||
Derek Homeier <derek@astro.physik.uni-goettingen.de> Derek Homeier <dhomeie@gwdg.de>
|
||||
Derek Homeier <derek@astro.physik.uni-goettingen.de> Derek Homeir <derek@astro.phsik.uni-goettingen.de>
|
||||
Derek Homeier <derek@astro.physik.uni-goettingen.de> Derek Homier <derek@astro.physik.uni-goettingen.de>
|
||||
Derrick Williams <myutat@gmail.com> derrick <myutat@gmail.com>
|
||||
Dmitriy Shalyga <zuko3d@gmail.com> zuko3d <zuko3d@gmail.com>
|
||||
Dustan Levenstein <dlevenstein@gmail.com> dustanlevenstein <43019642+dustanlevenstein@users.noreply.github.com>
|
||||
Ed Schofield <edschofield@localhost> edschofield <edschofield@localhost>
|
||||
Egor Zindy <ezindy@gmail.com> zindy <ezindy@gmail.com>
|
||||
Endolith <endolith@gmail.com>
|
||||
Erik M. Bray <erik.bray@lri.fr> E. M. Bray <erik.bray@lri.fr>
|
||||
Erik M. Bray <erik.bray@lri.fr> Erik Bray <erik.m.bray@gmail.com>
|
||||
Eric Fode <ericfode@gmail.com> Eric Fode <ericfode@linuxlaptop.(none)>
|
||||
Eric Quintero <eric.antonio.quintero@gmail.com> e-q <eric.antonio.quintero@gmail.com>
|
||||
Ernest N. Mamikonyan <ernest.mamikonyan@gmail.com> mamikony <ernest.mamikonyan@sig.com>
|
||||
Etienne Guesnet <etienne.guesnet.external@atos.net> EGuesnet <51407514+EGuesnet@users.noreply.github.com>
|
||||
Evgeni Burovski <evgeny.burovskiy@gmail.com> Evgeni Burovski <evgeni@burovski.me>
|
||||
Evgeny Toder <evgeny.toder@jpmorgan.com> eltjpm <evgeny.toder@jpmorgan.com>
|
||||
Fernando Perez <Fernando.Perez@berkeley.edu> Fernando Perez <fperez@fperez.org>
|
||||
Friedrich Dunne <dunneff@tcd.ie> dunneff <dunneff@tcd.ie>
|
||||
Frederic Bastien <nouiz@nouiz.org> Frederic <nouiz@nouiz.org>
|
||||
Gael Varoquaux <gael.varoquaux@normalesup.org> GaelVaroquaux <gael.varoquaux@normalesup.org>
|
||||
Gerrit Holl <gerrit.holl@utoronto.ca> Gerrit Holl <g.holl@reading.ac.uk>
|
||||
Giuseppe Venturini <ggventurini@users.noreply.github.com> ggventurini <ggventurini@users.noreply.github.com>
|
||||
Golnaz Irannejad <golnazirannejad@gmail.com> golnazir <golnazirannejad@gmail.com>
|
||||
Gopal Singh Meena <gopalmeena94@gmail.com> gopalmeena <gopalmeena94@gmail.com>
|
||||
Greg Knoll <gregory@bccn-berlin.de> gkBCCN <gregory@bccn-berlin.de>
|
||||
Greg Yang <sorcererofdm@gmail.com> eulerreich <sorcererofdm@gmail.com>
|
||||
Greg Young <gfyoung17@gmail.com> gfyoung <gfyoung17@gmail.com>
|
||||
Greg Young <gfyoung17@gmail.com> gfyoung <gfyoung@mit.edu>
|
||||
Guo Ci <zguoci@gmail.com> guoci <zguoci@gmail.com>
|
||||
Han Genuit <hangenuit@gmail.com> 87 <hangenuit@gmail.com>
|
||||
Han Genuit <hangenuit@gmail.com> hangenuit@gmail.com <hangenuit@gmail.com>
|
||||
Han Genuit <hangenuit@gmail.com> Han <hangenuit@gmail.com>
|
||||
Hanno Klemm <hanno.klemm@maerskoil.com> hklemm <hanno.klemm@maerskoil.com>
|
||||
Hemil Desai <desai38@purdue.edu> hemildesai <desai38@purdue.edu>
|
||||
Hiroyuki V. Yamazaki <hiroyuki.vincent.yamazaki@gmail.com> hvy <hiroyuki.vincent.yamazaki@gmail.com>
|
||||
Gerhard Hobler <gerhard.hobler@tuwien.ac.at> hobler <gerhard.hobler@tuwien.ac.at>
|
||||
Guillaume Peillex <guillaume.peillex@gmail.com> hippo91 <guillaume.peillex@gmail.com>
|
||||
Irvin Probst <irvin.probst@ensta-bretagne.fr> I--P <irvin.probst@ensta-bretagne.fr>
|
||||
Jaime Fernandez <jaime.frio@gmail.com> Jaime Fernandez <jaime.fernandez@hp.com>
|
||||
Jaime Fernandez <jaime.frio@gmail.com> jaimefrio <jaime.frio@gmail.com>
|
||||
Jaime Fernandez <jaime.frio@gmail.com> Jaime <jaime.frio@gmail.com>
|
||||
James Webber <jamestwebber@gmail.com> jamestwebber <jamestwebber@gmail.com>
|
||||
Jarrod Millman <millman@berkeley.edu> Jarrod Millman <jarrod.millman@gmail.com>
|
||||
Jason Grout <jason-github@creativetrax.com> Jason Grout <jason.grout@drake.edu>
|
||||
Jason King <pizza@netspace.net.au> jason king <pizza@netspace.net.au>
|
||||
Jay Bourque <jay.bourque@continuum.io> jayvius <jay.bourque@continuum.io>
|
||||
Jean Utke <jutke@allstate.com> jutke <jutke@allstate.com>
|
||||
Jeffrey Yancey <jeffrey@octane5.com> Jeff <3820914+jeffyancey@users.noreply.github.com>
|
||||
Jeremy Lay <jlay80@gmail.com> jeremycl01 <jlay80@gmail.com>
|
||||
Jérémie du Boisberranger <jeremie.du-boisberranger@inria.fr> jeremiedbb <34657725+jeremiedbb@users.noreply.github.com>
|
||||
Jerome Kelleher <jerome.kelleher@ed.ac.uk> jeromekelleher <jerome.kelleher@ed.ac.uk>
|
||||
Johannes Hampp <johannes.hampp@zeu.uni-giessen.de> euronion <42553970+euronion@users.noreply.github.com>
|
||||
Johannes Schönberger <hannesschoenberger@gmail.com> Johannes Schönberger <jschoenberger@demuc.de>
|
||||
Johann Faouzi <johann.faouzi@gmail.com> johann.faouzi <johann.faouzi@icm-institute.org>
|
||||
John Darbyshire <24256554+attack68@users.noreply.github.com> attack68 <24256554+attack68@users.noreply.github.com>
|
||||
John Kirkham <kirkhamj@janelia.hhmi.org> jakirkham <jakirkham@gmail.com>
|
||||
Joseph Fox-Rabinovitz <jfoxrabinovitz@gmail.com> Joseph Fox-Rabinovitz <joseph.r.fox-rabinovitz@nasa.gov>
|
||||
Joseph Fox-Rabinovitz <jfoxrabinovitz@gmail.com> Joseph Fox-Rabinovitz <madphysicist@users.noreply.github.com>
|
||||
Joseph Fox-Rabinovitz <jfoxrabinovitz@gmail.com> Mad Physicist <madphysicist@users.noreply.github.com>
|
||||
Joseph Martinot-Lagarde <contrebasse@gmail.com> Joseph Martinot-Lagarde <joseph.martinot-lagarde@onera.fr>
|
||||
Julian Taylor <juliantaylor108@gmail.com> Julian Taylor <jtaylor.debian@googlemail.com>
|
||||
Julian Taylor <juliantaylor108@gmail.com> Julian Taylor <juliantaylor108@googlemail.com>
|
||||
Julien Lhermitte <jrmlhermitte@gmail.com> Julien Lhermitte <lhermitte@bnl.gov>
|
||||
Julien Schueller <julien.schueller@gmail.com> jschueller <julien.schueller@gmail.com>
|
||||
Justus Magin <keewis@posteo.de> keewis <keewis@users.noreply.github.com>
|
||||
Justus Magin <keewis@posteo.de> Keewis <keewis@posteo.de>
|
||||
Kai Striega <kaistriega@gmail.com> kai <kaistriega@gmail.com>
|
||||
Kai Striega <kaistriega@gmail.com> kai-striega <kaistriega@gmail.com>
|
||||
Kai Striega <kaistriega@gmail.com> kai-striega <kaistriega+github@gmail.com>
|
||||
Khaled Ben Abdallah Okuda <khaled.ben.okuda@gmail.com> KhaledTo <khaled.ben.okuda@gmail.com>
|
||||
Kiko Correoso <kachine@protonmail.com> kikocorreoso <kikocorreoso@gmail.com>
|
||||
Kiko Correoso <kachine@protonmail.com> kikocorreoso <kikocorreoso@users.noreply.github.com>
|
||||
Konrad Kapp <k_kapp@yahoo.com> k_kapp@yahoo.com <k_kapp@yahoo.com>
|
||||
Kriti Singh <kritisingh1.ks@gmail.com> kritisingh1 <kritisingh1.ks@gmail.com>
|
||||
Kmol Yuan <pyslvs@gmail.com> Yuan <pyslvs@gmail.com>
|
||||
Lars Buitinck <larsmans@gmail.com> Lars Buitinck <l.buitinck@esciencecenter.nl>
|
||||
Lars Buitinck <larsmans@gmail.com> Lars Buitinck <L.J.Buitinck@uva.nl>
|
||||
Lars Grüter <lagru@mailbox.org> Lars G <lagru@mailbox.org>
|
||||
Luis Pedro Coelho <luis@luispedro.org> Luis Pedro Coelho <lpc@cmu.edu>
|
||||
Luke Zoltan Kelley <lkelley@cfa.harvard.edu> lzkelley <lkelley@cfa.harvard.edu>
|
||||
Magdalena Proszewska <magdalena.proszewska@gmail.com> mpro <magdalena.proszewska@gmail.com>
|
||||
Magdalena Proszewska <magdalena.proszewska@gmail.com> mproszewska <38814059+mproszewska@users.noreply.github.com>
|
||||
Manoj Kumar <manojkumarsivaraj334@gmail.com> MechCoder <manojkumarsivaraj334@gmail.com>
|
||||
Marcin Podhajski <podhajskimarcin@gmail.com> m-podhajski <36967358+m-podhajski@users.noreply.github.com>
|
||||
Mark DePristo <mdepristo@synapdx.com> markdepristo <mdepristo@synapdx.com>
|
||||
Mark Weissman <mw9050@gmail.com> m-d-w <mw9050@gmail.com>
|
||||
Mark Wiebe <mwwiebe@gmail.com> Mark <mwwiebe@gmail.com>
|
||||
Mark Wiebe <mwwiebe@gmail.com> Mark Wiebe <mwiebe@continuum.io>
|
||||
Mark Wiebe <mwwiebe@gmail.com> Mark Wiebe <mwiebe@enthought.com>
|
||||
Mark Wiebe <mwwiebe@gmail.com> Mark Wiebe <mwiebe@georg.(none)>
|
||||
Martin Goodson <martingoodson@gmail.com> martingoodson <martingoodson@gmail.com>
|
||||
Martin Reinecke <martin@mpa-garching.mpg.de> mreineck <martin@mpa-garching.mpg.de>
|
||||
Martin Teichmann <martin.teichmann@xfel.eu> Martin Teichmann <lkb.teichmann@gmail.com>
|
||||
Matt Hancock <not.matt.hancock@gmail.com> matt <mhancock743@gmail.com>
|
||||
Martino Sorbaro <martino.sorbaro@ed.ac.uk> martinosorb <martino.sorbaro@ed.ac.uk>
|
||||
Mattheus Ueckermann <empeeu@yahoo.com> empeeu <empeeu@yahoo.com>
|
||||
Matthew Harrigan <harrigan.matthew@gmail.com> MattHarrigan <harrigan.matthew@gmail.com>
|
||||
Matti Picus <matti.picus@gmail.com> mattip <matti.picus@gmail.com>
|
||||
Maximilian Konrad <maximilianlukaskonrad@hotmail.de> MLK97 <maximilianlukaskonrad@hotmail.de>
|
||||
Melissa Weber Mendonça <melissawm@gmail.com> Melissa Weber Mendonca <melissawm@gmail.com>
|
||||
Melissa Weber Mendonça <melissawm@gmail.com> melissawm <melissawm@gmail.com>
|
||||
Michael Behrisch <oss@behrisch.de> behrisch <behrisch@users.sourceforge.net>
|
||||
Michael Droettboom <mdboom@gmail.com> mdroe <mdroe@localhost>
|
||||
Michael K. Tran <trankmichael@gmail.com> mtran <trankmichael@gmail.com>
|
||||
Michael Martin <mmartin4242@gmail.com> mmartin <mmartin4242@gmail.com>
|
||||
Michael Schnaitter <schnaitterm@knights.ucf.edu> schnaitterm <schnaitterm@users.noreply.github.com>
|
||||
Muhammad Kasim <firman.kasim@gmail.com> mfkasim91 <firman.kasim@gmail.com>
|
||||
Masashi Kishimoto <drehbleistift@gmail.com> kishimoto-banana <drehbleistift@gmail.com>
|
||||
Nathaniel J. Smith <njs@pobox.com> njsmith <njs@pobox.com>
|
||||
Naveen Arunachalam <notatroll.troll@gmail.com> naveenarun <notatroll.troll@gmail.com>
|
||||
Nicolas Scheffer <nicolas.scheffer@sri.com> Nicolas Scheffer <scheffer@speech.sri.com>
|
||||
Nicholas A. Del Grosso <delgrosso@bio.lmu.de> nickdg <delgrosso@bio.lmu.de>
|
||||
Nick Minkyu Lee <mknicklee@protonmail.com> fivemok <9394929+fivemok@users.noreply.github.com>
|
||||
Ondřej Čertík <ondrej.certik@gmail.com> Ondrej Certik <ondrej.certik@gmail.com>
|
||||
Óscar Villellas Guillén <oscar.villellas@continuum.io> ovillellas <oscar.villellas@continuum.io>
|
||||
Pat Miller <patmiller@localhost> patmiller <patmiller@localhost>
|
||||
Paul Ivanov <pi@berkeley.edu> Paul Ivanov <paul.ivanov@local>
|
||||
Paul Jacobson <hpj3@myuw.net> hpaulj <hpj3@myuw.net>
|
||||
Pearu Peterson <pearu.peterson@gmail.com> Pearu Peterson <pearu@pearu-laptop.(none)>
|
||||
Pete Peeradej Tanruangporn <pete.tanru@gmail.com> petetanru <pete.tanru@gmail.com>
|
||||
Peter J Cock <p.j.a.cock@googlemail.com> peterjc <p.j.a.cock@googlemail.com>
|
||||
Phil Elson <pelson.pub@gmail.com>
|
||||
Pierre GM <pierregmcode@gmail.com> pierregm <pierregmcode@gmail.com>
|
||||
Pierre GM <pierregmcode@gmail.com> pierregm <pierregm@localhost>
|
||||
Piotr Gaiński <dociebieaniuszlem@gmail.com> panpiort8 <dociebieaniuszlem@gmail.com>
|
||||
Prabhu Ramachandran <prabhu@localhost> prabhu <prabhu@localhost>
|
||||
Przemyslaw Bartosik <sendthenote@gmail.com> przemb <sendthenote@gmail.com>
|
||||
Ralf Gommers <ralf.gommers@gmail.com> Ralf Gommers <ralf.gommers@googlemail.com>
|
||||
Ralf Gommers <ralf.gommers@gmail.com> rgommers <ralf.gommers@googlemail.com>
|
||||
Rehas Sachdeva <aquannie@gmail.com> rehassachdeva <aquannie@gmail.com>
|
||||
Ritta Narita <narittan@gmail.com> RittaNarita <narittan@gmail.com>
|
||||
Riya Sharma <navneet.nmk@gmail.com> ayir <navneet.nmk@gmail.com>
|
||||
Robert Kern <rkern@enthought.com> Robert Kern <robert.kern@gmail.com>
|
||||
Robert LU <robberphex@gmail.com> RobberPhex <robberphex@gmail.com>
|
||||
Ronan Lamy <ronan.lamy@gmail.com> Ronan Lamy <Ronan.Lamy@normalesup.org>
|
||||
Russell Hewett <rhewett@mit.edu> rhewett <rhewett@mit.edu>
|
||||
Ryan Blakemore <rbtnet@gmail.com> ryanblak <rbtnet@gmail.com>
|
||||
Sam Preston <j.sam.preston@gmail.com> jspreston <j.sam.preston@gmail.com>
|
||||
Sam Radhakrishnan <sk09idm@gmail.com> = <=>
|
||||
Sam Radhakrishnan <sk09idm@gmail.com> sam09 <sk09idm@gmail.com>
|
||||
Sanchez Gonzalez Alvaro <as12513@imperial.ac.uk> alvarosg <as12513@imperial.ac.uk>
|
||||
Saullo Giovani <saullogiovani@gmail.com> saullogiovani <saullogiovani@gmail.com>
|
||||
Saurabh Mehta <e.samehta@gmail.com>
|
||||
Sebastian Berg <sebastian@sipsolutions.net> seberg <sebastian@sipsolutions.net>
|
||||
Shekhar Prasad Rajak <shekharrajak@live.com> shekharrajak <shekharrajak@live.com>
|
||||
Shota Kawabuchi <shota.kawabuchi+GitHub@gmail.com> skwbc <shota.kawabuchi+GitHub@gmail.com>
|
||||
Siavash Eliasi <siavashserver@gmail.com> siavashserver <siavashserver@gmail.com>
|
||||
Simon Gasse <simon.gasse@gmail.com> sgasse <sgasse@users.noreply.github.com>
|
||||
Søren Rasmussen <soren.rasmussen@alexandra.dk> sorenrasmussenai <47032123+sorenrasmussenai@users.noreply.github.com>
|
||||
Stefan Behnel <stefan_ml@behnel.de> scoder <stefan_ml@behnel.de>
|
||||
Stefan van der Walt <stefanv@berkeley.edu> Stefan van der Walt <sjvdwalt@gmail.com>
|
||||
Stefan van der Walt <stefanv@berkeley.edu> Stefan van der Walt <stefan@sun.ac.za>
|
||||
Stephan Hoyer <shoyer@gmail.com> Stephan Hoyer <shoyer@climate.com>
|
||||
Steven J Kern <kern.steven0@gmail.com>
|
||||
SuryaChand P <psschand@gmail.com> Surya P <psschand@gmail.com>
|
||||
SuryaChand P <psschand@gmail.com> psschand <psschand@gmail.com>
|
||||
Thomas A Caswell <tcaswell@gmail.com> Thomas A Caswell <tcaswell@bnl.gov>
|
||||
Tim Cera <tim@cerazone.net> tim cera <tcera@sjrwmd.com>
|
||||
Tim Teichmann <t.teichmann@dashdos.com> tteichmann <t.teichmann@dashdos.com>
|
||||
Tim Teichmann <t.teichmann@dashdos.com> tteichmann <44259103+tteichmann@users.noreply.github.com>
|
||||
Tom Boyd <pezcore@users.noreply.github.com> pezcore <pezcore@users.noreply.github.com>
|
||||
Tom Poole <t.b.poole@gmail.com> tpoole <t.b.poole@gmail.com>
|
||||
Tony LaTorre <tlatorre@uchicago.edu> tlatorre <tlatorre@uchicago.edu>
|
||||
Travis Oliphant <travis@continuum.io> Travis E. Oliphant <teoliphant@gmail.com>
|
||||
Travis Oliphant <travis@continuum.io> Travis Oliphant <oliphant@enthought.com>
|
||||
Valentin Haenel <valentin@haenel.co> Valentin Haenel <valentin.haenel@gmx.de>
|
||||
Rakesh Vasudevan <rakesh.nvasudev@gmail.com> vrakesh <rakesh.nvasudev@gmail.com>
|
||||
Vrinda Narayan <talk2vrinda@gmail.com> vrindaaa <48102157+vrindaaa@users.noreply.github.com>
|
||||
Warren Weckesser <warren.weckesser@enthought.com> Warren Weckesser <warren.weckesser@gmail.com>
|
||||
Weitang Li <liwt31@163.com> wtli@Dirac <liwt31@163.com>
|
||||
Weitang Li <liwt31@163.com> wtli <liwt31@163.com>
|
||||
Wendell Smith <wendellwsmith@gmail.com> Wendell Smith <wackywendell@gmail.com>
|
||||
Wim Glenn <wim.glenn@melbourneit.com.au> wim glenn <wim.glenn@melbourneit.com.au>
|
||||
Wojtek Ruszczewski <git@wr.waw.pl> wrwrwr <git@wr.waw.pl>
|
||||
Yuji Kanagawa <yuji.kngw.80s.revive@gmail.com> kngwyu <yuji.kngw.80s.revive@gmail.com>
|
||||
Yury Kirienko <yury.kirienko@gmail.com> kirienko <yury.kirienko@gmail.com>
|
||||
Zac Hatfield-Dodds <zac.hatfield.dodds@gmail.com> Zac-HD <zac.hatfield.dodds@gmail.com>
|
||||
Zixu Zhao <zixu.zhao.tireless@gmail.com> ZZhaoTireless <zixu.zhao.tireless@gmail.com>
|
||||
Ziyan Zhou <ziyan.zhou@mujin.co.jp> Ziyan <ziyan.zhou@mujin.co.jp>
|
||||
Zieji Pohz <poh.ziji@gmail.com> jpoh <poh.zijie@gmail.com>
|
||||
Zieji Pohz <poh.ziji@gmail.com> zjpoh <poh.zijie@gmail.com>
|
||||
Zieji Pohz <poh.ziji@gmail.com> Zijie (ZJ) Poh <8103276+zjpoh@users.noreply.github.com>
|
||||
Zolisa Bleki <zolisa.bleki@gmail.com> zoj613 <44142765+zoj613@users.noreply.github.com>
|
||||
Zolisa Bleki <zolisa.bleki@gmail.com> RedRuM <44142765+zoj613@users.noreply.github.com>
|
||||
luzpaz <kunda@scribus.net> luz.paz <luzpaz@users.noreply.github.com>
|
||||
luzpaz <kunda@scribus.net> luzpaz <luzpaz@users.noreply.github.com>
|
||||
spacescientist <aspacescientist@protonmail.com> spacescientist <spacescientist@pm.me>
|
|
@ -0,0 +1,139 @@
|
|||
# After changing this file, check it on:
|
||||
# http://lint.travis-ci.org/
|
||||
language: python
|
||||
group: travis_latest
|
||||
os: linux
|
||||
dist: bionic
|
||||
|
||||
# Travis whitelists the installable packages, additions can be requested
|
||||
# https://github.com/travis-ci/apt-package-whitelist
|
||||
addons:
|
||||
apt:
|
||||
packages: &common_packages
|
||||
- gfortran
|
||||
- libgfortran5
|
||||
- libgfortran3
|
||||
- libatlas-base-dev
|
||||
# Speedup builds, particularly when USE_CHROOT=1
|
||||
- eatmydata
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.cache/pip
|
||||
|
||||
stages:
|
||||
# Do the style check and a single test job, don't proceed if it fails
|
||||
- name: Initial tests
|
||||
# Do the rest of the tests
|
||||
- name: Comprehensive tests
|
||||
|
||||
env:
|
||||
global:
|
||||
- WHEELHOUSE_UPLOADER_USERNAME=travis.numpy
|
||||
# The following is generated with the command:
|
||||
# travis encrypt -r numpy/numpy WHEELHOUSE_UPLOADER_SECRET=tH3AP1KeY
|
||||
- secure: "IEicLPrP2uW+jW51GRwkONQpdPqMVtQL5bdroqR/U8r9Tr\
|
||||
XrbCVRhp4AP8JYZT0ptoBpmZWWGjmKBndB68QlMiUjQPow\
|
||||
iFWt9Ka92CaqYdU7nqfWp9VImSndPmssjmCXJ1v1IjZPAM\
|
||||
ahp7Qnm0rWRmA0z9SomuRUQOJQ6s684vU="
|
||||
|
||||
jobs:
|
||||
include:
|
||||
# Do all python versions without environment variables set
|
||||
- stage: Initial tests
|
||||
python: 3.8
|
||||
|
||||
- stage: Comprehensive tests
|
||||
python: 3.6
|
||||
- python: 3.7
|
||||
- python: 3.9
|
||||
|
||||
- python: 3.6
|
||||
env: USE_DEBUG=1
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- *common_packages
|
||||
- cython3-dbg
|
||||
- python3-dbg
|
||||
- python3-dev
|
||||
- python3-setuptools
|
||||
|
||||
- python: 3.7
|
||||
env: USE_WHEEL=1 RUN_FULL_TESTS=1 RUN_COVERAGE=1 INSTALL_PICKLE5=1
|
||||
|
||||
- python: 3.7
|
||||
env: USE_SDIST=1
|
||||
|
||||
- python: 3.7
|
||||
env:
|
||||
- PYTHONOPTIMIZE=2
|
||||
- BLAS=None
|
||||
- LAPACK=None
|
||||
- ATLAS=None
|
||||
- NPY_BLAS_ORDER=mkl,blis,openblas,atlas,accelerate,blas
|
||||
- NPY_LAPACK_ORDER=MKL,OPENBLAS,ATLAS,ACCELERATE,LAPACK
|
||||
- USE_ASV=1
|
||||
|
||||
- python: 3.7
|
||||
env:
|
||||
- NPY_RELAXED_STRIDES_CHECKING=0
|
||||
# use custom symbol-suffixed openblas build, not system ATLAS
|
||||
- DOWNLOAD_OPENBLAS=1
|
||||
- CHECK_BLAS=1
|
||||
- NPY_USE_BLAS_ILP64=1
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- gfortran
|
||||
- eatmydata
|
||||
- libgfortran5
|
||||
- libgfortran3
|
||||
|
||||
- python: 3.7
|
||||
env: USE_WHEEL=1 NPY_RELAXED_STRIDES_DEBUG=1
|
||||
|
||||
- python: 3.7
|
||||
env: NUMPY_EXPERIMENTAL_ARRAY_FUNCTION=0
|
||||
|
||||
- python: 3.7
|
||||
env:
|
||||
- BLAS=None
|
||||
- LAPACK=None
|
||||
- ATLAS=None
|
||||
|
||||
- python: 3.7
|
||||
os: linux
|
||||
arch: ppc64le
|
||||
env:
|
||||
# use OpenBLAS build, not system ATLAS
|
||||
- DOWNLOAD_OPENBLAS=1
|
||||
- ATLAS=None
|
||||
|
||||
- python: 3.7
|
||||
os: linux
|
||||
arch: s390x
|
||||
env:
|
||||
# use OpenBLAS build, not system ATLAS
|
||||
- DOWNLOAD_OPENBLAS=1
|
||||
- NPY_USE_BLAS_ILP64=1
|
||||
- ATLAS=None
|
||||
|
||||
- python: 3.7
|
||||
os: linux
|
||||
arch: arm64
|
||||
env:
|
||||
# use OpenBLAS build, not system ATLAS
|
||||
- DOWNLOAD_OPENBLAS=1
|
||||
- ATLAS=None
|
||||
|
||||
|
||||
|
||||
before_install:
|
||||
- ./tools/travis-before-install.sh
|
||||
|
||||
script:
|
||||
- ./tools/travis-test.sh
|
||||
|
||||
after_success:
|
||||
- ./tools/travis-upload-wheel.sh
|
|
@ -0,0 +1,157 @@
|
|||
Building and installing NumPy
|
||||
+++++++++++++++++++++++++++++
|
||||
|
||||
**IMPORTANT**: the below notes are about building NumPy, which for most users
|
||||
is *not* the recommended way to install NumPy. Instead, use either a complete
|
||||
scientific Python distribution (recommended) or a binary installer - see
|
||||
https://scipy.org/install.html.
|
||||
|
||||
|
||||
.. Contents::
|
||||
|
||||
Prerequisites
|
||||
=============
|
||||
|
||||
Building NumPy requires the following installed software:
|
||||
|
||||
1) Python__ 3.6.x or newer.
|
||||
|
||||
Please note that the Python development headers also need to be installed,
|
||||
e.g., on Debian/Ubuntu one needs to install both `python3` and
|
||||
`python3-dev`. On Windows and macOS this is normally not an issue.
|
||||
|
||||
2) Cython >= 0.29.21
|
||||
|
||||
3) pytest__ (optional) 1.15 or later
|
||||
|
||||
This is required for testing NumPy, but not for using it.
|
||||
|
||||
4) Hypothesis__ (optional) 5.3.0 or later
|
||||
|
||||
This is required for testing NumPy, but not for using it.
|
||||
|
||||
Python__ http://www.python.org
|
||||
pytest__ http://pytest.readthedocs.io
|
||||
Hypothesis__ https://hypothesis.readthedocs.io/en/latest/
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
If you want to build NumPy in order to work on NumPy itself, use
|
||||
``runtests.py``. For more details, see
|
||||
https://docs.scipy.org/doc/numpy/dev/development_environment.html
|
||||
|
||||
.. note::
|
||||
|
||||
More extensive information on building NumPy (and SciPy) is maintained at
|
||||
https://scipy.github.io/devdocs/building/
|
||||
|
||||
|
||||
Basic Installation
|
||||
==================
|
||||
|
||||
To install NumPy, run::
|
||||
|
||||
python setup.py build -j 4 install --prefix $HOME/.local
|
||||
|
||||
This will compile numpy on 4 CPUs and install it into the specified prefix.
|
||||
To perform an inplace build that can be run from the source folder run::
|
||||
|
||||
python setup.py build_ext --inplace -j 4
|
||||
|
||||
See `Requirements for Installing Packages <https://packaging.python.org/tutorials/installing-packages/>`_
|
||||
for more details.
|
||||
|
||||
The number of build jobs can also be specified via the environment variable
|
||||
NPY_NUM_BUILD_JOBS.
|
||||
|
||||
|
||||
Choosing compilers
|
||||
==================
|
||||
|
||||
NumPy needs a C compiler, and for development versions also Cython. A Fortran
|
||||
compiler isn't needed to build NumPy itself; the ``numpy.f2py`` tests will be
|
||||
skipped when running the test suite if no Fortran compiler is available. For
|
||||
building Scipy a Fortran compiler is needed though, so we include some details
|
||||
on Fortran compilers in the rest of this section.
|
||||
|
||||
On OS X and Linux, all common compilers will work.
|
||||
|
||||
For Fortran, ``gfortran`` works, ``g77`` does not. In case ``g77`` is
|
||||
installed then ``g77`` will be detected and used first. To explicitly select
|
||||
``gfortran`` in that case, do::
|
||||
|
||||
python setup.py build --fcompiler=gnu95
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
||||
On Windows, building from source can be difficult (in particular if you need to
|
||||
build SciPy as well, because that requires a Fortran compiler). Currently, the
|
||||
most robust option is to use MSVC (for NumPy only). If you also need SciPy,
|
||||
you can either use MSVC + Intel Fortran or the Intel compiler suite.
|
||||
Intel itself maintains a good `application note
|
||||
<https://software.intel.com/en-us/articles/numpyscipy-with-intel-mkl>`_
|
||||
on this.
|
||||
|
||||
If you want to use a free compiler toolchain, our current recommendation is to
|
||||
use Docker or Windows subsystem for Linux (WSL). See
|
||||
https://scipy.github.io/devdocs/dev/contributor/contributor_toc.html#development-environment
|
||||
for more details.
|
||||
|
||||
|
||||
Building with optimized BLAS support
|
||||
====================================
|
||||
|
||||
Configuring which BLAS/LAPACK is used if you have multiple libraries installed,
|
||||
or you have only one installed but in a non-standard location, is done via a
|
||||
``site.cfg`` file. See the ``site.cfg.example`` shipped with NumPy for more
|
||||
details.
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
||||
The Intel compilers work with Intel MKL, see the application note linked above.
|
||||
|
||||
For an overview of the state of BLAS/LAPACK libraries on Windows, see
|
||||
`here <https://mingwpy.github.io/blas_lapack.html>`_.
|
||||
|
||||
macOS
|
||||
-----
|
||||
|
||||
You will need to install a BLAS/LAPACK library. We recommend using OpenBLAS or
|
||||
Intel MKL. Apple's Accelerate also still works, however it has bugs and we are
|
||||
likely to drop support for it in the near future.
|
||||
|
||||
Ubuntu/Debian
|
||||
-------------
|
||||
|
||||
For best performance, a development package providing BLAS and CBLAS should be
|
||||
installed. Some of the options available are:
|
||||
|
||||
- ``libblas-dev``: reference BLAS (not very optimized)
|
||||
- ``libatlas-base-dev``: generic tuned ATLAS, it is recommended to tune it to
|
||||
the available hardware, see /usr/share/doc/libatlas3-base/README.Debian for
|
||||
instructions
|
||||
- ``libopenblas-base``: fast and runtime detected so no tuning required but a
|
||||
very recent version is needed (>=0.2.15 is recommended). Older versions of
|
||||
OpenBLAS suffered from correctness issues on some CPUs.
|
||||
|
||||
The package linked to when numpy is loaded can be chosen after installation via
|
||||
the alternatives mechanism::
|
||||
|
||||
update-alternatives --config libblas.so.3
|
||||
update-alternatives --config liblapack.so.3
|
||||
|
||||
Or by preloading a specific BLAS library with::
|
||||
|
||||
LD_PRELOAD=/usr/lib/atlas-base/atlas/libblas.so.3 python ...
|
||||
|
||||
|
||||
Build issues
|
||||
============
|
||||
|
||||
If you run into build issues and need help, the NumPy
|
||||
`mailing list <https://scipy.org/scipylib/mailing-lists.html>`_ is the best
|
||||
place to ask. If the issue is clearly a bug in NumPy, please file an issue (or
|
||||
even better, a pull request) at https://github.com/numpy/numpy.
|
|
@ -0,0 +1,30 @@
|
|||
Copyright (c) 2005-2020, NumPy Developers.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following
|
||||
disclaimer in the documentation and/or other materials provided
|
||||
with the distribution.
|
||||
|
||||
* Neither the name of the NumPy Developers nor the names of any
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@ -0,0 +1,27 @@
|
|||
The NumPy repository and source distributions bundle several libraries that are
|
||||
compatibly licensed. We list these here.
|
||||
|
||||
Name: Numpydoc
|
||||
Files: doc/sphinxext/numpydoc/*
|
||||
License: BSD-2-Clause
|
||||
For details, see doc/sphinxext/LICENSE.txt
|
||||
|
||||
Name: scipy-sphinx-theme
|
||||
Files: doc/scipy-sphinx-theme/*
|
||||
License: BSD-3-Clause AND PSF-2.0 AND Apache-2.0
|
||||
For details, see doc/scipy-sphinx-theme/LICENSE.txt
|
||||
|
||||
Name: lapack-lite
|
||||
Files: numpy/linalg/lapack_lite/*
|
||||
License: BSD-3-Clause
|
||||
For details, see numpy/linalg/lapack_lite/LICENSE.txt
|
||||
|
||||
Name: tempita
|
||||
Files: tools/npy_tempita/*
|
||||
License: MIT
|
||||
For details, see tools/npy_tempita/license.txt
|
||||
|
||||
Name: dragon4
|
||||
Files: numpy/core/src/multiarray/dragon4.c
|
||||
License: MIT
|
||||
For license text, see numpy/core/src/multiarray/dragon4.c
|
|
@ -0,0 +1,50 @@
|
|||
#
|
||||
# Use .add_data_files and .add_data_dir methods in a appropriate
|
||||
# setup.py files to include non-python files such as documentation,
|
||||
# data, etc files to distribution (*for installation*).
|
||||
# Avoid using MANIFEST.in for that.
|
||||
#
|
||||
include MANIFEST.in
|
||||
include pyproject.toml
|
||||
include pytest.ini
|
||||
include *.txt
|
||||
include README.md
|
||||
include site.cfg.example
|
||||
include runtests.py
|
||||
include tox.ini
|
||||
include .coveragerc
|
||||
include test_requirements.txt
|
||||
recursive-include numpy/random *.pyx *.pxd *.pyx.in *.pxd.in
|
||||
include numpy/random/include/*
|
||||
include numpy/*.pxd
|
||||
# Add build support that should go in sdist, but not go in bdist/be installed
|
||||
# Note that sub-directories that don't have __init__ are apparently not
|
||||
# included by 'recursive-include', so list those separately
|
||||
recursive-include numpy *
|
||||
recursive-include numpy/_build_utils *
|
||||
recursive-include numpy/linalg/lapack_lite *
|
||||
recursive-include tools *
|
||||
# Add sdist files whose use depends on local configuration.
|
||||
include numpy/core/src/common/cblasfuncs.c
|
||||
include numpy/core/src/common/python_xerbla.c
|
||||
# Adding build related files not found by distutils
|
||||
recursive-include numpy/core/code_generators *.py *.txt
|
||||
recursive-include numpy/core *.in *.h
|
||||
# Add documentation and benchmarks: we don't use add_data_dir since we do not
|
||||
# want to include this at installation, only for sdist-generated tarballs
|
||||
# Docs:
|
||||
recursive-include doc *
|
||||
prune doc/build
|
||||
prune doc/source/generated
|
||||
# Benchmarks:
|
||||
recursive-include benchmarks *
|
||||
prune benchmarks/env
|
||||
prune benchmarks/results
|
||||
prune benchmarks/html
|
||||
prune benchmarks/numpy
|
||||
# Exclude generated files
|
||||
prune */__pycache__
|
||||
global-exclude *.pyc *.pyo *.pyd *.swp *.bak *~
|
||||
# Exclude license file that we append to the main license when running
|
||||
# `python setup.py sdist`
|
||||
exclude LICENSES_bundled.txt
|
|
@ -0,0 +1,49 @@
|
|||
# <img alt="NumPy" src="https://cdn.rawgit.com/numpy/numpy/master/branding/icons/numpylogo.svg" height="60">
|
||||
|
||||
[![Travis](https://img.shields.io/travis/numpy/numpy/master.svg?label=Travis%20CI)](
|
||||
https://travis-ci.org/numpy/numpy)
|
||||
[![Azure](https://dev.azure.com/numpy/numpy/_apis/build/status/azure-pipeline%20numpy.numpy)](
|
||||
https://dev.azure.com/numpy/numpy/_build/latest?definitionId=5)
|
||||
[![codecov](https://codecov.io/gh/numpy/numpy/branch/master/graph/badge.svg)](
|
||||
https://codecov.io/gh/numpy/numpy)
|
||||
|
||||
NumPy is the fundamental package needed for scientific computing with Python.
|
||||
|
||||
- **Website:** https://www.numpy.org
|
||||
- **Documentation:** https://numpy.org/doc
|
||||
- **Mailing list:** https://mail.python.org/mailman/listinfo/numpy-discussion
|
||||
- **Source code:** https://github.com/numpy/numpy
|
||||
- **Contributing:** https://www.numpy.org/devdocs/dev/index.html
|
||||
- **Bug reports:** https://github.com/numpy/numpy/issues
|
||||
- **Report a security vulnerability:** https://tidelift.com/docs/security
|
||||
|
||||
It provides:
|
||||
|
||||
- a powerful N-dimensional array object
|
||||
- sophisticated (broadcasting) functions
|
||||
- tools for integrating C/C++ and Fortran code
|
||||
- useful linear algebra, Fourier transform, and random number capabilities
|
||||
|
||||
Testing:
|
||||
|
||||
- NumPy versions ≥ 1.15 require `pytest`
|
||||
- NumPy versions < 1.15 require `nose`
|
||||
|
||||
Tests can then be run after installation with:
|
||||
|
||||
python -c 'import numpy; numpy.test()'
|
||||
|
||||
|
||||
Call for Contributions
|
||||
----------------------
|
||||
|
||||
NumPy appreciates help from a wide range of different backgrounds.
|
||||
Work such as high level documentation or website improvements are valuable
|
||||
and we would like to grow our team with people filling these roles.
|
||||
Small improvements or fixes are always appreciated and issues labeled as easy
|
||||
may be a good starting point.
|
||||
If you are considering larger contributions outside the traditional coding work,
|
||||
please contact us through the mailing list.
|
||||
|
||||
|
||||
[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org)
|
|
@ -0,0 +1,64 @@
|
|||
Travis Oliphant for the NumPy core, the NumPy guide, various
|
||||
bug-fixes and code contributions.
|
||||
Paul Dubois, who implemented the original Masked Arrays.
|
||||
Pearu Peterson for f2py, numpy.distutils and help with code
|
||||
organization.
|
||||
Robert Kern for mtrand, bug fixes, help with distutils, code
|
||||
organization, strided tricks and much more.
|
||||
Eric Jones for planning and code contributions.
|
||||
Fernando Perez for code snippets, ideas, bugfixes, and testing.
|
||||
Ed Schofield for matrix.py patches, bugfixes, testing, and docstrings.
|
||||
Robert Cimrman for array set operations and numpy.distutils help.
|
||||
John Hunter for code snippets from matplotlib.
|
||||
Chris Hanley for help with records.py, testing, and bug fixes.
|
||||
Travis Vaught for administration, community coordination and
|
||||
marketing.
|
||||
Joe Cooper, Jeff Strunk for administration.
|
||||
Eric Firing for bugfixes.
|
||||
Arnd Baecker for 64-bit testing.
|
||||
David Cooke for many code improvements including the auto-generated C-API,
|
||||
and optimizations.
|
||||
Andrew Straw for help with the web-page, documentation, packaging and
|
||||
testing.
|
||||
Alexander Belopolsky (Sasha) for Masked array bug-fixes and tests,
|
||||
rank-0 array improvements, scalar math help and other code additions.
|
||||
Francesc Altet for unicode, work on nested record arrays, and bug-fixes.
|
||||
Tim Hochberg for getting the build working on MSVC, optimization
|
||||
improvements, and code review.
|
||||
Charles (Chuck) Harris for the sorting code originally written for
|
||||
Numarray and for improvements to polyfit, many bug fixes, delving
|
||||
into the C code, release management, and documentation.
|
||||
David Huard for histogram improvements including 2-D and d-D code and
|
||||
other bug-fixes.
|
||||
Stefan van der Walt for numerous bug-fixes, testing and documentation.
|
||||
Albert Strasheim for documentation, bug-fixes, regression tests and
|
||||
Valgrind expertise.
|
||||
David Cournapeau for build support, doc-and-bug fixes, and code
|
||||
contributions including fast_clipping.
|
||||
Jarrod Millman for release management, community coordination, and code
|
||||
clean up.
|
||||
Chris Burns for work on memory mapped arrays and bug-fixes.
|
||||
Pauli Virtanen for documentation, bug-fixes, lookfor and the
|
||||
documentation editor.
|
||||
A.M. Archibald for no-copy-reshape code, strided array tricks,
|
||||
documentation and bug-fixes.
|
||||
Pierre Gerard-Marchant for rewriting masked array functionality.
|
||||
Roberto de Almeida for the buffered array iterator.
|
||||
Alan McIntyre for updating the NumPy test framework to use nose, improve
|
||||
the test coverage, and enhancing the test system documentation.
|
||||
Joe Harrington for administering the 2008 Documentation Sprint.
|
||||
Mark Wiebe for the new NumPy iterator, the float16 data type, improved
|
||||
low-level data type operations, and other NumPy core improvements.
|
||||
|
||||
NumPy is based on the Numeric (Jim Hugunin, Paul Dubois, Konrad
|
||||
Hinsen, and David Ascher) and NumArray (Perry Greenfield, J Todd
|
||||
Miller, Rick White and Paul Barrett) projects. We thank them for
|
||||
paving the way ahead.
|
||||
|
||||
Institutions
|
||||
------------
|
||||
|
||||
Enthought for providing resources and finances for development of NumPy.
|
||||
UC Berkeley for providing travel money and hosting numerous sprints.
|
||||
The University of Central Florida for funding the 2008 Documentation Marathon.
|
||||
The University of Stellenbosch for hosting the buildbot.
|
|
@ -0,0 +1,277 @@
|
|||
trigger:
|
||||
# start a new build for every push
|
||||
batch: False
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- maintenance/*
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- '*' # must quote since "*" is a YAML reserved character; we want a string
|
||||
|
||||
stages:
|
||||
- stage: InitialTests
|
||||
jobs:
|
||||
- job: WindowsFast
|
||||
pool:
|
||||
vmImage: 'VS2017-Win2016'
|
||||
strategy:
|
||||
matrix:
|
||||
Python36-64bit-fast:
|
||||
PYTHON_VERSION: '3.6'
|
||||
PYTHON_ARCH: 'x64'
|
||||
TEST_MODE: fast
|
||||
BITS: 64
|
||||
steps:
|
||||
- template: azure-steps-windows.yml
|
||||
|
||||
- stage: ComprehensiveTests
|
||||
jobs:
|
||||
- job: Linux_Python_38_32bit_full_with_asserts
|
||||
pool:
|
||||
vmImage: 'ubuntu-18.04'
|
||||
steps:
|
||||
- script: |
|
||||
docker pull quay.io/pypa/manylinux2010_i686
|
||||
docker run -v $(pwd):/numpy -e CFLAGS="-msse2 -std=c99 -UNDEBUG" \
|
||||
-e F77=gfortran-5 -e F90=gfortran-5 quay.io/pypa/manylinux2010_i686 \
|
||||
/bin/bash -xc "cd numpy && \
|
||||
/opt/python/cp38-cp38/bin/python -mvenv venv &&\
|
||||
source venv/bin/activate && \
|
||||
target=\$(python3 tools/openblas_support.py) && \
|
||||
cp -r \$target/lib/* /usr/lib && \
|
||||
cp \$target/include/* /usr/include && \
|
||||
python3 -m pip install -r test_requirements.txt && \
|
||||
echo CFLAGS \$CFLAGS && \
|
||||
python3 -m pip install -v . && \
|
||||
python3 runtests.py -n --debug-info --mode=full -- -rsx --junitxml=junit/test-results.xml && \
|
||||
python3 tools/openblas_support.py --check_version"
|
||||
displayName: 'Run 32-bit manylinux2010 Docker Build / Tests'
|
||||
- task: PublishTestResults@2
|
||||
condition: succeededOrFailed()
|
||||
inputs:
|
||||
testResultsFiles: '**/test-*.xml'
|
||||
failTaskOnFailedTests: true
|
||||
testRunTitle: 'Publish test results for Python 3.8-32 bit full Linux'
|
||||
- job: macOS
|
||||
pool:
|
||||
# NOTE: at time of writing, there is a danger
|
||||
# that using an invalid vmIMage string for macOS
|
||||
# image silently redirects to a Windows build on Azure;
|
||||
# for now, use the only image name officially present in
|
||||
# the docs even though i.e., numba uses another in their
|
||||
# azure config for mac os -- Microsoft has indicated
|
||||
# they will patch this issue
|
||||
vmImage: macOS-10.14
|
||||
strategy:
|
||||
maxParallel: 3
|
||||
matrix:
|
||||
Python36:
|
||||
PYTHON_VERSION: '3.6'
|
||||
USE_OPENBLAS: '1'
|
||||
Python39:
|
||||
PYTHON_VERSION: '3.9'
|
||||
USE_OPENBLAS: '1'
|
||||
Python36-ILP64:
|
||||
PYTHON_VERSION: '3.6'
|
||||
NPY_USE_BLAS_ILP64: '1'
|
||||
USE_OPENBLAS: '1'
|
||||
USE_XCODE_10: '1'
|
||||
Accelerate:
|
||||
PYTHON_VERSION: '3.6'
|
||||
USE_OPENBLAS: '0'
|
||||
|
||||
steps:
|
||||
# the @0 refers to the (major) version of the *task* on Microsoft's
|
||||
# end, not the order in the build matrix nor anything to do
|
||||
# with version of Python selected
|
||||
- task: UsePythonVersion@0
|
||||
inputs:
|
||||
versionSpec: $(PYTHON_VERSION)
|
||||
addToPath: true
|
||||
architecture: 'x64'
|
||||
- script: |
|
||||
set -xe
|
||||
[ -n "$USE_XCODE_10" ] && /bin/bash -c "sudo xcode-select -s /Applications/Xcode_10.app/Contents/Developer"
|
||||
clang --version
|
||||
displayName: 'report clang version'
|
||||
# NOTE: might be better if we could avoid installing
|
||||
# two C compilers, but with homebrew looks like we're
|
||||
# now stuck getting the full gcc toolchain instead of
|
||||
# just pulling in gfortran
|
||||
- script: |
|
||||
set -xe
|
||||
# same version of gfortran as the open-libs and numpy-wheel builds
|
||||
curl -L https://github.com/MacPython/gfortran-install/raw/master/archives/gfortran-4.9.0-Mavericks.dmg -o gfortran.dmg
|
||||
GFORTRAN_SHA256=$(shasum -a 256 gfortran.dmg)
|
||||
KNOWN_SHA256="d2d5ca5ba8332d63bbe23a07201c4a0a5d7e09ee56f0298a96775f928c3c4b30 gfortran.dmg"
|
||||
if [ "$GFORTRAN_SHA256" != "$KNOWN_SHA256" ]; then
|
||||
echo sha256 mismatch
|
||||
exit 1
|
||||
fi
|
||||
hdiutil attach -mountpoint /Volumes/gfortran gfortran.dmg
|
||||
sudo installer -pkg /Volumes/gfortran/gfortran.pkg -target /
|
||||
otool -L /usr/local/gfortran/lib/libgfortran.3.dylib
|
||||
# Manually symlink gfortran-4.9 to plain gfortran for f2py.
|
||||
# No longer needed after Feb 13 2020 as gfortran is already present
|
||||
# and the attempted link errors. Keep this for future reference.
|
||||
# ln -s /usr/local/bin/gfortran-4.9 /usr/local/bin/gfortran
|
||||
displayName: 'make libgfortran available on mac os for openblas'
|
||||
# use the pre-built openblas binary that most closely
|
||||
# matches our MacOS wheel builds -- currently based
|
||||
# primarily on file size / name details
|
||||
- script: |
|
||||
set -xe
|
||||
target=$(python tools/openblas_support.py)
|
||||
ls -lR $target
|
||||
# manually link to appropriate system paths
|
||||
cp $target/lib/lib* /usr/local/lib/
|
||||
cp $target/include/* /usr/local/include/
|
||||
otool -L /usr/local/lib/libopenblas*
|
||||
displayName: 'install pre-built openblas'
|
||||
condition: eq(variables['USE_OPENBLAS'], '1')
|
||||
- script: python -m pip install --upgrade pip 'setuptools<49.2.0' wheel
|
||||
displayName: 'Install tools'
|
||||
- script: |
|
||||
python -m pip install -r test_requirements.txt
|
||||
python -m pip install vulture docutils sphinx==2.2.0 numpydoc
|
||||
displayName: 'Install dependencies; some are optional to avoid test skips'
|
||||
- script: /bin/bash -c "! vulture . --min-confidence 100 --exclude doc/,numpy/distutils/ | grep 'unreachable'"
|
||||
displayName: 'Check for unreachable code paths in Python modules'
|
||||
# prefer usage of clang over gcc proper
|
||||
# to match likely scenario on many user mac machines
|
||||
- script: python setup.py build -j 4 build_src --verbose-cfg install
|
||||
displayName: 'Build NumPy'
|
||||
env:
|
||||
BLAS: None
|
||||
LAPACK: None
|
||||
ATLAS: None
|
||||
ACCELERATE: None
|
||||
CC: /usr/bin/clang
|
||||
condition: eq(variables['USE_OPENBLAS'], '1')
|
||||
- script: python setup.py build -j 4 build_ext --inplace install
|
||||
displayName: 'Build NumPy without OpenBLAS'
|
||||
env:
|
||||
BLAS: None
|
||||
LAPACK: None
|
||||
ATLAS: None
|
||||
CC: /usr/bin/clang
|
||||
condition: eq(variables['USE_OPENBLAS'], '0')
|
||||
# wait until after dev build of NumPy to pip
|
||||
# install matplotlib to avoid pip install of older numpy
|
||||
- script: python -m pip install matplotlib
|
||||
displayName: 'Install matplotlib before refguide run'
|
||||
- script: python runtests.py -g --refguide-check
|
||||
displayName: 'Run Refuide Check'
|
||||
condition: eq(variables['USE_OPENBLAS'], '1')
|
||||
- script: python runtests.py -n --mode=full -- -rsx --junitxml=junit/test-results.xml
|
||||
displayName: 'Run Full NumPy Test Suite'
|
||||
condition: eq(variables['USE_OPENBLAS'], '1')
|
||||
- bash: python tools/openblas_support.py --check_version
|
||||
displayName: 'Verify OpenBLAS version'
|
||||
condition: eq(variables['USE_OPENBLAS'], '1')
|
||||
# import doesn't work when in numpy src directory , so do a pip dev install of build lib to test
|
||||
- script: |
|
||||
#!/bin/bash -v
|
||||
set +e
|
||||
python -c "import numpy as np" > test_output.log 2>&1
|
||||
check_output_code=$?
|
||||
cat test_output.log
|
||||
grep "buggy Accelerate backend" test_output.log
|
||||
check_message=$?
|
||||
if [ $check_output_code == 1 ] && [ $check_message == 0 ]; then exit 0; else exit 1;fi
|
||||
displayName: "Check if numpy import fails with accelerate"
|
||||
condition: eq(variables['USE_OPENBLAS'], '0')
|
||||
- task: PublishTestResults@2
|
||||
condition: succeededOrFailed()
|
||||
inputs:
|
||||
testResultsFiles: '**/test-*.xml'
|
||||
failTaskOnFailedTests: true
|
||||
testRunTitle: 'Publish test results for Python 3.6 64-bit full Mac OS'
|
||||
- job: Windows
|
||||
pool:
|
||||
vmImage: 'VS2017-Win2016'
|
||||
strategy:
|
||||
maxParallel: 6
|
||||
matrix:
|
||||
Python36-32bit-fast:
|
||||
PYTHON_VERSION: '3.6'
|
||||
PYTHON_ARCH: 'x86'
|
||||
TEST_MODE: fast
|
||||
BITS: 32
|
||||
Python37-32bit-fast:
|
||||
PYTHON_VERSION: '3.7'
|
||||
PYTHON_ARCH: 'x86'
|
||||
TEST_MODE: fast
|
||||
BITS: 32
|
||||
Python38-32bit-fast:
|
||||
PYTHON_VERSION: '3.8'
|
||||
PYTHON_ARCH: 'x86'
|
||||
TEST_MODE: fast
|
||||
BITS: 32
|
||||
Python39-32bit-fast:
|
||||
PYTHON_VERSION: '3.9'
|
||||
PYTHON_ARCH: 'x86'
|
||||
TEST_MODE: fast
|
||||
BITS: 32
|
||||
Python36-64bit-full:
|
||||
PYTHON_VERSION: '3.6'
|
||||
PYTHON_ARCH: 'x64'
|
||||
TEST_MODE: full
|
||||
BITS: 64
|
||||
Python37-64bit-full:
|
||||
PYTHON_VERSION: '3.7'
|
||||
PYTHON_ARCH: 'x64'
|
||||
TEST_MODE: full
|
||||
BITS: 64
|
||||
Python38-64bit-full:
|
||||
PYTHON_VERSION: '3.8'
|
||||
PYTHON_ARCH: 'x64'
|
||||
TEST_MODE: full
|
||||
BITS: 64
|
||||
Python39-64bit-full:
|
||||
PYTHON_VERSION: '3.9'
|
||||
PYTHON_ARCH: 'x64'
|
||||
TEST_MODE: full
|
||||
BITS: 64
|
||||
NPY_USE_BLAS_ILP64: '1'
|
||||
OPENBLAS_SUFFIX: '64_'
|
||||
steps:
|
||||
- template: azure-steps-windows.yml
|
||||
- job: Linux_PyPy3
|
||||
pool:
|
||||
vmIMage: 'ubuntu-18.04'
|
||||
steps:
|
||||
- script: source tools/pypy-test.sh
|
||||
displayName: 'Run PyPy3 Build / Tests'
|
||||
- task: PublishTestResults@2
|
||||
condition: succeededOrFailed()
|
||||
inputs:
|
||||
testResultsFiles: '**/test-*.xml'
|
||||
testRunTitle: 'Publish test results for PyPy3'
|
||||
failTaskOnFailedTests: true
|
||||
- job: Linux_gcc48
|
||||
pool:
|
||||
vmImage: 'ubuntu-18.04'
|
||||
steps:
|
||||
- script: |
|
||||
if ! `gcc-4.8 2>/dev/null`; then
|
||||
sudo apt install gcc-4.8
|
||||
fi
|
||||
displayName: 'add gcc 4.8'
|
||||
- script: |
|
||||
# python3 has no setuptools, so install one to get us going
|
||||
python3 -m pip install --user --upgrade pip 'setuptools<49.2.0'
|
||||
python3 -m pip install --user -r test_requirements.txt
|
||||
CPPFLAGS='' CC=gcc-4.8 F77=gfortran-5 F90=gfortran-5 \
|
||||
python3 runtests.py --debug-info --mode=full -- -rsx --junitxml=junit/test-results.xml
|
||||
displayName: 'Run gcc4.8 Build / Tests'
|
||||
- task: PublishTestResults@2
|
||||
condition: succeededOrFailed()
|
||||
inputs:
|
||||
testResultsFiles: '**/test-*.xml'
|
||||
failTaskOnFailedTests: true
|
||||
testRunTitle: 'Publish test results for gcc 4.8'
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
steps:
|
||||
- task: UsePythonVersion@0
|
||||
inputs:
|
||||
versionSpec: $(PYTHON_VERSION)
|
||||
addToPath: true
|
||||
architecture: $(PYTHON_ARCH)
|
||||
|
||||
- script: python -m pip install --upgrade pip wheel
|
||||
displayName: 'Install tools'
|
||||
|
||||
- script: python -m pip install -r test_requirements.txt
|
||||
displayName: 'Install dependencies; some are optional to avoid test skips'
|
||||
|
||||
- powershell: |
|
||||
$ErrorActionPreference = "Stop"
|
||||
# Download and get the path to "openblas.a". We cannot copy it
|
||||
# to $PYTHON_EXE's directory since that is on a different drive which
|
||||
# mingw does not like. Instead copy it to a directory and set OPENBLAS,
|
||||
# since OPENBLAS will be picked up by the openblas discovery
|
||||
$target = $(python tools/openblas_support.py)
|
||||
mkdir openblas
|
||||
echo "Copying $target to openblas/openblas$env:OPENBLAS_SUFFIX.a"
|
||||
cp $target openblas/openblas$env:OPENBLAS_SUFFIX.a
|
||||
If ( Test-Path env:NPY_USE_BLAS_ILP64 ){
|
||||
echo "##vso[task.setvariable variable=OPENBLAS64_]$pwd\openblas"
|
||||
} else {
|
||||
echo "##vso[task.setvariable variable=OPENBLAS]$pwd\openblas"
|
||||
}
|
||||
displayName: 'Download / Install OpenBLAS'
|
||||
|
||||
- powershell: |
|
||||
choco install -y mingw --forcex86 --force --version=7.3.0
|
||||
refreshenv
|
||||
displayName: 'Install 32-bit mingw for 32-bit builds'
|
||||
condition: eq(variables['BITS'], 32)
|
||||
# NOTE: for Windows builds it seems much more tractable to use runtests.py
|
||||
# vs. manual setup.py and then runtests.py for testing only
|
||||
|
||||
- powershell: |
|
||||
If ($(BITS) -eq 32) {
|
||||
$env:CFLAGS = "-m32"
|
||||
$env:LDFLAGS = "-m32"
|
||||
$env:PATH = "C:\\ProgramData\\chocolatey\\lib\\mingw\\tools\\install\\mingw$(BITS)\\bin;" + $env:PATH
|
||||
}
|
||||
python -c "from tools import openblas_support; openblas_support.make_init('numpy')"
|
||||
python -m pip wheel -v -v -v --no-build-isolation --no-use-pep517 --wheel-dir=dist .
|
||||
|
||||
ls dist -r | Foreach-Object {
|
||||
python -m pip install $_.FullName
|
||||
}
|
||||
displayName: 'Build NumPy'
|
||||
|
||||
- bash: |
|
||||
pushd . && cd .. && target=$(python -c "import numpy, os; print(os.path.abspath(os.path.join(os.path.dirname(numpy.__file__), '.libs')))") && popd
|
||||
python -m pip download -d destination --only-binary :all: --no-deps numpy==1.14
|
||||
cd destination && unzip numpy*.whl && cp numpy/.libs/*.dll $target
|
||||
ls $target
|
||||
displayName: 'Add extraneous & older DLL to numpy/.libs to probe DLL handling robustness'
|
||||
condition: eq(variables['PYTHON_VERSION'], '3.6')
|
||||
- script: pushd . && cd .. && python -c "from ctypes import windll; windll.kernel32.SetDefaultDllDirectories(0x00000800); import numpy" && popd
|
||||
displayName: 'For gh-12667; Windows DLL resolution'
|
||||
condition: eq(variables['PYTHON_VERSION'], '3.6')
|
||||
|
||||
- script: python runtests.py -n --show-build-log --mode=$(TEST_MODE) -- -rsx --junitxml=junit/test-results.xml
|
||||
displayName: 'Run NumPy Test Suite'
|
||||
|
||||
- task: PublishTestResults@2
|
||||
condition: succeededOrFailed()
|
||||
inputs:
|
||||
testResultsFiles: '**/test-*.xml'
|
||||
failTaskOnFailedTests: true
|
||||
testRunTitle: 'Publish test results for Python $(PYTHON_VERSION) $(BITS)-bit $(TEST_MODE) Windows'
|
|
@ -0,0 +1,101 @@
|
|||
.. -*- rst -*-
|
||||
|
||||
================
|
||||
NumPy benchmarks
|
||||
================
|
||||
|
||||
Benchmarking NumPy 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 NumPy compiled by
|
||||
``runtests.py``. To run the benchmarks, you do not need to install a
|
||||
development version of NumPy to your current Python environment.
|
||||
|
||||
Before beginning, ensure that *airspeed velocity* is installed.
|
||||
By default, `asv` ships with support for anaconda and virtualenv::
|
||||
|
||||
pip install asv
|
||||
pip install virtualenv
|
||||
|
||||
After contributing new benchmarks, you should test them locally
|
||||
before submitting a pull request.
|
||||
|
||||
To run all benchmarks, navigate to the root NumPy directory at
|
||||
the command line and execute::
|
||||
|
||||
python runtests.py --bench
|
||||
|
||||
where ``--bench`` activates the benchmark suite instead of the
|
||||
test suite. This builds NumPy and runs all available benchmarks
|
||||
defined in ``benchmarks/``. (Note: this could take a while. Each
|
||||
benchmark is run multiple times to measure the distribution in
|
||||
execution times.)
|
||||
|
||||
To run benchmarks from a particular benchmark module, such as
|
||||
``bench_core.py``, simply append the filename without the extension::
|
||||
|
||||
python runtests.py --bench bench_core
|
||||
|
||||
To run a benchmark defined in a class, such as ``Mandelbrot``
|
||||
from ``bench_avx.py``::
|
||||
|
||||
python runtests.py --bench bench_avx.Mandelbrot
|
||||
|
||||
Compare change in benchmark results to another version/commit/branch::
|
||||
|
||||
python runtests.py --bench-compare v1.6.2 bench_core
|
||||
python runtests.py --bench-compare 8bf4e9b bench_core
|
||||
python runtests.py --bench-compare master bench_core
|
||||
|
||||
All of the commands above display the results in plain text in
|
||||
the console, and the results are not saved for comparison with
|
||||
future commits. For greater control, a graphical view, and to
|
||||
have results saved for future comparison you can run ASV commands
|
||||
(record results and generate HTML)::
|
||||
|
||||
cd benchmarks
|
||||
asv run -n -e --python=same
|
||||
asv publish
|
||||
asv preview
|
||||
|
||||
More on how to use ``asv`` can be found in `ASV documentation`_
|
||||
Command-line help is available as usual via ``asv --help`` and
|
||||
``asv run --help``.
|
||||
|
||||
.. _ASV documentation: https://asv.readthedocs.io/
|
||||
|
||||
|
||||
Writing benchmarks
|
||||
------------------
|
||||
|
||||
See `ASV documentation`_ for basics on how to write benchmarks.
|
||||
|
||||
Some things to consider:
|
||||
|
||||
- The benchmark suite should be importable with any NumPy version.
|
||||
|
||||
- The benchmark parameters etc. should not depend on which NumPy version
|
||||
is installed.
|
||||
|
||||
- Try to keep the runtime of the benchmark reasonable.
|
||||
|
||||
- Prefer ASV's ``time_`` methods for benchmarking times rather than cooking up
|
||||
time measurements via ``time.clock``, even if it requires some juggling when
|
||||
writing the benchmark.
|
||||
|
||||
- Preparing arrays etc. should generally be put in the ``setup`` method rather
|
||||
than the ``time_`` methods, to avoid counting preparation time together with
|
||||
the time of the benchmarked operation.
|
||||
|
||||
- Be mindful that large arrays created with ``np.empty`` or ``np.zeros`` might
|
||||
not be allocated in physical memory until the memory is accessed. If this is
|
||||
desired behaviour, make sure to comment it in your setup function. If
|
||||
you are benchmarking an algorithm, it is unlikely that a user will be
|
||||
executing said algorithm on a newly created empty/zero array. One can force
|
||||
pagefaults to occur in the setup phase either by calling ``np.ones`` or
|
||||
``arr.fill(value)`` after creating the array,
|
|
@ -0,0 +1,85 @@
|
|||
{
|
||||
// The version of the config file format. Do not change, unless
|
||||
// you know what you are doing.
|
||||
"version": 1,
|
||||
|
||||
// The name of the project being benchmarked
|
||||
"project": "numpy",
|
||||
|
||||
// The project's homepage
|
||||
"project_url": "https://www.numpy.org/",
|
||||
|
||||
// The URL or local path of the source code repository for the
|
||||
// project being benchmarked
|
||||
"repo": "..",
|
||||
|
||||
// List of branches to benchmark. If not provided, defaults to "master"
|
||||
// (for git) or "tip" (for mercurial).
|
||||
"branches": ["HEAD"],
|
||||
|
||||
// The DVCS being used. If not set, it will be automatically
|
||||
// determined from "repo" by looking at the protocol in the URL
|
||||
// (if remote), or by looking for special directories, such as
|
||||
// ".git" (if local).
|
||||
"dvcs": "git",
|
||||
|
||||
// The tool to use to create environments. May be "conda",
|
||||
// "virtualenv" or other value depending on the plugins in use.
|
||||
// If missing or the empty string, the tool will be automatically
|
||||
// determined by looking for tools on the PATH environment
|
||||
// variable.
|
||||
"environment_type": "virtualenv",
|
||||
|
||||
// the base URL to show a commit for the project.
|
||||
"show_commit_url": "https://github.com/numpy/numpy/commit/",
|
||||
|
||||
// The Pythons you'd like to test against. If not provided, defaults
|
||||
// to the current version of Python used to run `asv`.
|
||||
"pythons": ["3.7"],
|
||||
|
||||
// The matrix of dependencies to test. Each key is the name of a
|
||||
// package (in PyPI) and the values are version numbers. An empty
|
||||
// list indicates to just test against the default (latest)
|
||||
// version.
|
||||
"matrix": {
|
||||
"Cython": [],
|
||||
},
|
||||
|
||||
// The directory (relative to the current directory) that benchmarks are
|
||||
// stored in. If not provided, defaults to "benchmarks"
|
||||
"benchmark_dir": "benchmarks",
|
||||
|
||||
// The directory (relative to the current directory) to cache the Python
|
||||
// environments in. If not provided, defaults to "env"
|
||||
"env_dir": "env",
|
||||
|
||||
|
||||
// The directory (relative to the current directory) that raw benchmark
|
||||
// results are stored in. If not provided, defaults to "results".
|
||||
"results_dir": "results",
|
||||
|
||||
// The directory (relative to the current directory) that the html tree
|
||||
// should be written to. If not provided, defaults to "html".
|
||||
"html_dir": "html",
|
||||
|
||||
// The number of characters to retain in the commit hashes.
|
||||
// "hash_length": 8,
|
||||
|
||||
// `asv` will cache wheels of the recent builds in each
|
||||
// environment, making them faster to install next time. This is
|
||||
// number of builds to keep, per environment.
|
||||
"build_cache_size": 8,
|
||||
|
||||
// The commits after which the regression search in `asv publish`
|
||||
// should start looking for regressions. Dictionary whose keys are
|
||||
// regexps matching to benchmark names, and values corresponding to
|
||||
// the commit (exclusive) after which to start looking for
|
||||
// regressions. The default is to start from the first commit
|
||||
// with results. If the commit is `null`, regression detection is
|
||||
// skipped for the matching benchmark.
|
||||
//
|
||||
// "regressions_first_commits": {
|
||||
// "some_benchmark": "352cdf", // Consider regressions only after this commit
|
||||
// "another_benchmark": null, // Skip regression detection altogether
|
||||
// }
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
from . import common
|
|
@ -0,0 +1,85 @@
|
|||
from .common import Benchmark
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
class LaplaceInplace(Benchmark):
|
||||
params = ['inplace', 'normal']
|
||||
param_names = ['update']
|
||||
|
||||
def setup(self, update):
|
||||
N = 150
|
||||
Niter = 1000
|
||||
dx = 0.1
|
||||
dy = 0.1
|
||||
dx2 = (dx * dx)
|
||||
dy2 = (dy * dy)
|
||||
|
||||
def num_update(u, dx2, dy2):
|
||||
u[1:(-1), 1:(-1)] = ((((u[2:, 1:(-1)] + u[:(-2), 1:(-1)]) * dy2) +
|
||||
((u[1:(-1), 2:] + u[1:(-1), :(-2)]) * dx2))
|
||||
/ (2 * (dx2 + dy2)))
|
||||
|
||||
def num_inplace(u, dx2, dy2):
|
||||
tmp = u[:(-2), 1:(-1)].copy()
|
||||
np.add(tmp, u[2:, 1:(-1)], out=tmp)
|
||||
np.multiply(tmp, dy2, out=tmp)
|
||||
tmp2 = u[1:(-1), 2:].copy()
|
||||
np.add(tmp2, u[1:(-1), :(-2)], out=tmp2)
|
||||
np.multiply(tmp2, dx2, out=tmp2)
|
||||
np.add(tmp, tmp2, out=tmp)
|
||||
np.multiply(tmp, (1.0 / (2.0 * (dx2 + dy2))),
|
||||
out=u[1:(-1), 1:(-1)])
|
||||
|
||||
def laplace(N, Niter=100, func=num_update, args=()):
|
||||
u = np.zeros([N, N], order='C')
|
||||
u[0] = 1
|
||||
for i in range(Niter):
|
||||
func(u, *args)
|
||||
return u
|
||||
|
||||
func = {'inplace': num_inplace, 'normal': num_update}[update]
|
||||
|
||||
def run():
|
||||
laplace(N, Niter, func, args=(dx2, dy2))
|
||||
|
||||
self.run = run
|
||||
|
||||
def time_it(self, update):
|
||||
self.run()
|
||||
|
||||
|
||||
class MaxesOfDots(Benchmark):
|
||||
def setup(self):
|
||||
np.random.seed(1)
|
||||
nsubj = 5
|
||||
nfeat = 100
|
||||
ntime = 200
|
||||
|
||||
self.arrays = [np.random.normal(size=(ntime, nfeat))
|
||||
for i in range(nsubj)]
|
||||
|
||||
def maxes_of_dots(self, arrays):
|
||||
"""
|
||||
A magical feature score for each feature in each dataset
|
||||
:ref:`Haxby et al., Neuron (2011) <HGC+11>`.
|
||||
If arrays are column-wise zscore-d before computation it
|
||||
results in characterizing each column in each array with
|
||||
sum of maximal correlations of that column with columns
|
||||
in other arrays.
|
||||
|
||||
Arrays must agree only on the first dimension.
|
||||
|
||||
For numpy it a join benchmark of dot products and max()
|
||||
on a set of arrays.
|
||||
"""
|
||||
feature_scores = ([0] * len(arrays))
|
||||
for (i, sd) in enumerate(arrays):
|
||||
for (j, sd2) in enumerate(arrays[(i + 1):]):
|
||||
corr_temp = np.dot(sd.T, sd2)
|
||||
feature_scores[i] += np.max(corr_temp, axis=1)
|
||||
feature_scores[((j + i) + 1)] += np.max(corr_temp, axis=0)
|
||||
return feature_scores
|
||||
|
||||
def time_it(self):
|
||||
self.maxes_of_dots(self.arrays)
|
|
@ -0,0 +1,57 @@
|
|||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
from .common import Benchmark
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
class ArrayCoercionSmall(Benchmark):
|
||||
# More detailed benchmarks for array coercion,
|
||||
# some basic benchmarks are in `bench_core.py`.
|
||||
params = [[range(3), [1], 1, np.array([5], dtype=np.int64), np.int64(5)]]
|
||||
param_names = ['array_like']
|
||||
int64 = np.dtype(np.int64)
|
||||
|
||||
def time_array_invalid_kwarg(self, array_like):
|
||||
try:
|
||||
np.array(array_like, ndmin="not-integer")
|
||||
except TypeError:
|
||||
pass
|
||||
|
||||
def time_array(self, array_like):
|
||||
np.array(array_like)
|
||||
|
||||
def time_array_dtype_not_kwargs(self, array_like):
|
||||
np.array(array_like, self.int64)
|
||||
|
||||
def time_array_no_copy(self, array_like):
|
||||
np.array(array_like, copy=False)
|
||||
|
||||
def time_array_subok(self, array_like):
|
||||
np.array(array_like, subok=True)
|
||||
|
||||
def time_array_all_kwargs(self, array_like):
|
||||
np.array(array_like, dtype=self.int64, copy=False, order="F",
|
||||
subok=False, ndmin=2)
|
||||
|
||||
def time_asarray(self, array_like):
|
||||
np.asarray(array_like)
|
||||
|
||||
def time_asarray_dtype(self, array_like):
|
||||
np.array(array_like, dtype=self.int64)
|
||||
|
||||
def time_asarray_dtype(self, array_like):
|
||||
np.array(array_like, dtype=self.int64, order="F")
|
||||
|
||||
def time_asanyarray(self, array_like):
|
||||
np.asarray(array_like)
|
||||
|
||||
def time_asanyarray_dtype(self, array_like):
|
||||
np.array(array_like, dtype=self.int64)
|
||||
|
||||
def time_asanyarray_dtype(self, array_like):
|
||||
np.array(array_like, dtype=self.int64, order="F")
|
||||
|
||||
def time_ascontiguousarray(self, array_like):
|
||||
np.ascontiguousarray(array_like)
|
||||
|
|
@ -0,0 +1,159 @@
|
|||
from .common import Benchmark
|
||||
|
||||
import numpy as np
|
||||
|
||||
avx_ufuncs = ['sin',
|
||||
'cos',
|
||||
'exp',
|
||||
'log',
|
||||
'sqrt',
|
||||
'absolute',
|
||||
'reciprocal',
|
||||
'square',
|
||||
'rint',
|
||||
'floor',
|
||||
'ceil' ,
|
||||
'trunc']
|
||||
stride = [1, 2, 4]
|
||||
dtype = ['f', 'd']
|
||||
|
||||
class AVX_UFunc(Benchmark):
|
||||
params = [avx_ufuncs, stride, dtype]
|
||||
param_names = ['avx_based_ufunc', 'stride', 'dtype']
|
||||
timeout = 10
|
||||
|
||||
def setup(self, ufuncname, stride, dtype):
|
||||
np.seterr(all='ignore')
|
||||
try:
|
||||
self.f = getattr(np, ufuncname)
|
||||
except AttributeError:
|
||||
raise NotImplementedError()
|
||||
N = 10000
|
||||
self.arr = np.ones(stride*N, dtype)
|
||||
|
||||
def time_ufunc(self, ufuncname, stride, dtype):
|
||||
self.f(self.arr[::stride])
|
||||
|
||||
avx_bfuncs = ['maximum',
|
||||
'minimum']
|
||||
|
||||
class AVX_BFunc(Benchmark):
|
||||
|
||||
params = [avx_bfuncs, dtype, stride]
|
||||
param_names = ['avx_based_bfunc', 'dtype', 'stride']
|
||||
timeout = 10
|
||||
|
||||
def setup(self, ufuncname, dtype, stride):
|
||||
np.seterr(all='ignore')
|
||||
try:
|
||||
self.f = getattr(np, ufuncname)
|
||||
except AttributeError:
|
||||
raise NotImplementedError()
|
||||
N = 10000
|
||||
self.arr1 = np.array(np.random.rand(stride*N), dtype=dtype)
|
||||
self.arr2 = np.array(np.random.rand(stride*N), dtype=dtype)
|
||||
|
||||
def time_ufunc(self, ufuncname, dtype, stride):
|
||||
self.f(self.arr1[::stride], self.arr2[::stride])
|
||||
|
||||
cmplx_bfuncs = ['add',
|
||||
'subtract',
|
||||
'multiply',
|
||||
'divide']
|
||||
cmplxstride = [1, 2, 4]
|
||||
cmplxdtype = ['F', 'D']
|
||||
|
||||
class AVX_cmplx_arithmetic(Benchmark):
|
||||
params = [cmplx_bfuncs, cmplxstride, cmplxdtype]
|
||||
param_names = ['bfunc', 'stride', 'dtype']
|
||||
timeout = 10
|
||||
|
||||
def setup(self, bfuncname, stride, dtype):
|
||||
np.seterr(all='ignore')
|
||||
try:
|
||||
self.f = getattr(np, bfuncname)
|
||||
except AttributeError:
|
||||
raise NotImplementedError()
|
||||
N = 10000
|
||||
self.arr1 = np.ones(stride*N, dtype)
|
||||
self.arr2 = np.ones(stride*N, dtype)
|
||||
|
||||
def time_ufunc(self, bfuncname, stride, dtype):
|
||||
self.f(self.arr1[::stride], self.arr2[::stride])
|
||||
|
||||
cmplx_ufuncs = ['reciprocal',
|
||||
'absolute',
|
||||
'square',
|
||||
'conjugate']
|
||||
|
||||
class AVX_cmplx_funcs(Benchmark):
|
||||
params = [cmplx_ufuncs, cmplxstride, cmplxdtype]
|
||||
param_names = ['bfunc', 'stride', 'dtype']
|
||||
timeout = 10
|
||||
|
||||
def setup(self, bfuncname, stride, dtype):
|
||||
np.seterr(all='ignore')
|
||||
try:
|
||||
self.f = getattr(np, bfuncname)
|
||||
except AttributeError:
|
||||
raise NotImplementedError()
|
||||
N = 10000
|
||||
self.arr1 = np.ones(stride*N, dtype)
|
||||
|
||||
def time_ufunc(self, bfuncname, stride, dtype):
|
||||
self.f(self.arr1[::stride])
|
||||
|
||||
class Mandelbrot(Benchmark):
|
||||
def f(self,z):
|
||||
return np.abs(z) < 4.0
|
||||
|
||||
def g(self,z,c):
|
||||
return np.sum(np.multiply(z,z) + c)
|
||||
|
||||
def mandelbrot_numpy(self, c, maxiter):
|
||||
output = np.zeros(c.shape, np.int)
|
||||
z = np.empty(c.shape, np.complex64)
|
||||
for it in range(maxiter):
|
||||
notdone = self.f(z)
|
||||
output[notdone] = it
|
||||
z[notdone] = self.g(z[notdone],c[notdone])
|
||||
output[output == maxiter-1] = 0
|
||||
return output
|
||||
|
||||
def mandelbrot_set(self,xmin,xmax,ymin,ymax,width,height,maxiter):
|
||||
r1 = np.linspace(xmin, xmax, width, dtype=np.float32)
|
||||
r2 = np.linspace(ymin, ymax, height, dtype=np.float32)
|
||||
c = r1 + r2[:,None]*1j
|
||||
n3 = self.mandelbrot_numpy(c,maxiter)
|
||||
return (r1,r2,n3.T)
|
||||
|
||||
def time_mandel(self):
|
||||
self.mandelbrot_set(-0.74877,-0.74872,0.06505,0.06510,1000,1000,2048)
|
||||
|
||||
class LogisticRegression(Benchmark):
|
||||
param_names = ['dtype']
|
||||
params = [np.float32, np.float64]
|
||||
|
||||
timeout = 1000
|
||||
def train(self, max_epoch):
|
||||
for epoch in range(max_epoch):
|
||||
z = np.matmul(self.X_train, self.W)
|
||||
A = 1 / (1 + np.exp(-z)) # sigmoid(z)
|
||||
loss = -np.mean(self.Y_train * np.log(A) + (1-self.Y_train) * np.log(1-A))
|
||||
dz = A - self.Y_train
|
||||
dw = (1/self.size) * np.matmul(self.X_train.T, dz)
|
||||
self.W = self.W - self.alpha*dw
|
||||
|
||||
def setup(self, dtype):
|
||||
np.random.seed(42)
|
||||
self.size = 250
|
||||
features = 16
|
||||
self.X_train = np.random.rand(self.size,features).astype(dtype)
|
||||
self.Y_train = np.random.choice(2,self.size).astype(dtype)
|
||||
# Initialize weights
|
||||
self.W = np.zeros((features,1), dtype=dtype)
|
||||
self.b = np.zeros((1,1), dtype=dtype)
|
||||
self.alpha = 0.1
|
||||
|
||||
def time_train(self, dtype):
|
||||
self.train(1000)
|
|
@ -0,0 +1,193 @@
|
|||
from .common import Benchmark
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
class Core(Benchmark):
|
||||
def setup(self):
|
||||
self.l100 = range(100)
|
||||
self.l50 = range(50)
|
||||
self.l = [np.arange(1000), np.arange(1000)]
|
||||
self.l_view = [memoryview(a) for a in self.l]
|
||||
self.l10x10 = np.ones((10, 10))
|
||||
|
||||
def time_array_1(self):
|
||||
np.array(1)
|
||||
|
||||
def time_array_empty(self):
|
||||
np.array([])
|
||||
|
||||
def time_array_l1(self):
|
||||
np.array([1])
|
||||
|
||||
def time_array_l100(self):
|
||||
np.array(self.l100)
|
||||
|
||||
def time_array_l(self):
|
||||
np.array(self.l)
|
||||
|
||||
def time_array_l_view(self):
|
||||
np.array(self.l_view)
|
||||
|
||||
def time_vstack_l(self):
|
||||
np.vstack(self.l)
|
||||
|
||||
def time_hstack_l(self):
|
||||
np.hstack(self.l)
|
||||
|
||||
def time_dstack_l(self):
|
||||
np.dstack(self.l)
|
||||
|
||||
def time_arange_100(self):
|
||||
np.arange(100)
|
||||
|
||||
def time_zeros_100(self):
|
||||
np.zeros(100)
|
||||
|
||||
def time_ones_100(self):
|
||||
np.ones(100)
|
||||
|
||||
def time_empty_100(self):
|
||||
np.empty(100)
|
||||
|
||||
def time_eye_100(self):
|
||||
np.eye(100)
|
||||
|
||||
def time_identity_100(self):
|
||||
np.identity(100)
|
||||
|
||||
def time_eye_3000(self):
|
||||
np.eye(3000)
|
||||
|
||||
def time_identity_3000(self):
|
||||
np.identity(3000)
|
||||
|
||||
def time_diag_l100(self):
|
||||
np.diag(self.l100)
|
||||
|
||||
def time_diagflat_l100(self):
|
||||
np.diagflat(self.l100)
|
||||
|
||||
def time_diagflat_l50_l50(self):
|
||||
np.diagflat([self.l50, self.l50])
|
||||
|
||||
def time_triu_l10x10(self):
|
||||
np.triu(self.l10x10)
|
||||
|
||||
def time_tril_l10x10(self):
|
||||
np.tril(self.l10x10)
|
||||
|
||||
|
||||
class Temporaries(Benchmark):
|
||||
def setup(self):
|
||||
self.amid = np.ones(50000)
|
||||
self.bmid = np.ones(50000)
|
||||
self.alarge = np.ones(1000000)
|
||||
self.blarge = np.ones(1000000)
|
||||
|
||||
def time_mid(self):
|
||||
(self.amid * 2) + self.bmid
|
||||
|
||||
def time_mid2(self):
|
||||
(self.amid + self.bmid) - 2
|
||||
|
||||
def time_large(self):
|
||||
(self.alarge * 2) + self.blarge
|
||||
|
||||
def time_large2(self):
|
||||
(self.alarge + self.blarge) - 2
|
||||
|
||||
|
||||
class CorrConv(Benchmark):
|
||||
params = [[50, 1000, int(1e5)],
|
||||
[10, 100, 1000, int(1e4)],
|
||||
['valid', 'same', 'full']]
|
||||
param_names = ['size1', 'size2', 'mode']
|
||||
|
||||
def setup(self, size1, size2, mode):
|
||||
self.x1 = np.linspace(0, 1, num=size1)
|
||||
self.x2 = np.cos(np.linspace(0, 2*np.pi, num=size2))
|
||||
|
||||
def time_correlate(self, size1, size2, mode):
|
||||
np.correlate(self.x1, self.x2, mode=mode)
|
||||
|
||||
def time_convolve(self, size1, size2, mode):
|
||||
np.convolve(self.x1, self.x2, mode=mode)
|
||||
|
||||
|
||||
class CountNonzero(Benchmark):
|
||||
param_names = ['numaxes', 'size', 'dtype']
|
||||
params = [
|
||||
[1, 2, 3],
|
||||
[100, 10000, 1000000],
|
||||
[bool, int, str, object]
|
||||
]
|
||||
|
||||
def setup(self, numaxes, size, dtype):
|
||||
self.x = np.arange(numaxes * size).reshape(numaxes, size)
|
||||
self.x = (self.x % 3).astype(dtype)
|
||||
|
||||
def time_count_nonzero(self, numaxes, size, dtype):
|
||||
np.count_nonzero(self.x)
|
||||
|
||||
def time_count_nonzero_axis(self, numaxes, size, dtype):
|
||||
np.count_nonzero(self.x, axis=self.x.ndim - 1)
|
||||
|
||||
def time_count_nonzero_multi_axis(self, numaxes, size, dtype):
|
||||
if self.x.ndim >= 2:
|
||||
np.count_nonzero(self.x, axis=(
|
||||
self.x.ndim - 1, self.x.ndim - 2))
|
||||
|
||||
|
||||
class PackBits(Benchmark):
|
||||
param_names = ['dtype']
|
||||
params = [[bool, np.uintp]]
|
||||
def setup(self, dtype):
|
||||
self.d = np.ones(10000, dtype=dtype)
|
||||
self.d2 = np.ones((200, 1000), dtype=dtype)
|
||||
|
||||
def time_packbits(self, dtype):
|
||||
np.packbits(self.d)
|
||||
|
||||
def time_packbits_axis0(self, dtype):
|
||||
np.packbits(self.d2, axis=0)
|
||||
|
||||
def time_packbits_axis1(self, dtype):
|
||||
np.packbits(self.d2, axis=1)
|
||||
|
||||
|
||||
class UnpackBits(Benchmark):
|
||||
def setup(self):
|
||||
self.d = np.ones(10000, dtype=np.uint8)
|
||||
self.d2 = np.ones((200, 1000), dtype=np.uint8)
|
||||
|
||||
def time_unpackbits(self):
|
||||
np.unpackbits(self.d)
|
||||
|
||||
def time_unpackbits_little(self):
|
||||
np.unpackbits(self.d, bitorder="little")
|
||||
|
||||
def time_unpackbits_axis0(self):
|
||||
np.unpackbits(self.d2, axis=0)
|
||||
|
||||
def time_unpackbits_axis1(self):
|
||||
np.unpackbits(self.d2, axis=1)
|
||||
|
||||
def time_unpackbits_axis1_little(self):
|
||||
np.unpackbits(self.d2, bitorder="little", axis=1)
|
||||
|
||||
|
||||
class Indices(Benchmark):
|
||||
def time_indices(self):
|
||||
np.indices((1000, 500))
|
||||
|
||||
class VarComplex(Benchmark):
|
||||
params = [10**n for n in range(1, 9)]
|
||||
def setup(self, n):
|
||||
self.arr = np.random.randn(n) + 1j * np.random.randn(n)
|
||||
|
||||
def teardown(self, n):
|
||||
del self.arr
|
||||
|
||||
def time_var(self, n):
|
||||
self.arr.var()
|
|
@ -0,0 +1,287 @@
|
|||
from .common import Benchmark
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
class Histogram1D(Benchmark):
|
||||
def setup(self):
|
||||
self.d = np.linspace(0, 100, 100000)
|
||||
|
||||
def time_full_coverage(self):
|
||||
np.histogram(self.d, 200, (0, 100))
|
||||
|
||||
def time_small_coverage(self):
|
||||
np.histogram(self.d, 200, (50, 51))
|
||||
|
||||
def time_fine_binning(self):
|
||||
np.histogram(self.d, 10000, (0, 100))
|
||||
|
||||
|
||||
class Histogram2D(Benchmark):
|
||||
def setup(self):
|
||||
self.d = np.linspace(0, 100, 200000).reshape((-1,2))
|
||||
|
||||
def time_full_coverage(self):
|
||||
np.histogramdd(self.d, (200, 200), ((0, 100), (0, 100)))
|
||||
|
||||
def time_small_coverage(self):
|
||||
np.histogramdd(self.d, (200, 200), ((50, 51), (50, 51)))
|
||||
|
||||
def time_fine_binning(self):
|
||||
np.histogramdd(self.d, (10000, 10000), ((0, 100), (0, 100)))
|
||||
|
||||
|
||||
class Bincount(Benchmark):
|
||||
def setup(self):
|
||||
self.d = np.arange(80000, dtype=np.intp)
|
||||
self.e = self.d.astype(np.float64)
|
||||
|
||||
def time_bincount(self):
|
||||
np.bincount(self.d)
|
||||
|
||||
def time_weights(self):
|
||||
np.bincount(self.d, weights=self.e)
|
||||
|
||||
|
||||
class Median(Benchmark):
|
||||
def setup(self):
|
||||
self.e = np.arange(10000, dtype=np.float32)
|
||||
self.o = np.arange(10001, dtype=np.float32)
|
||||
|
||||
def time_even(self):
|
||||
np.median(self.e)
|
||||
|
||||
def time_odd(self):
|
||||
np.median(self.o)
|
||||
|
||||
def time_even_inplace(self):
|
||||
np.median(self.e, overwrite_input=True)
|
||||
|
||||
def time_odd_inplace(self):
|
||||
np.median(self.o, overwrite_input=True)
|
||||
|
||||
def time_even_small(self):
|
||||
np.median(self.e[:500], overwrite_input=True)
|
||||
|
||||
def time_odd_small(self):
|
||||
np.median(self.o[:500], overwrite_input=True)
|
||||
|
||||
|
||||
class Percentile(Benchmark):
|
||||
def setup(self):
|
||||
self.e = np.arange(10000, dtype=np.float32)
|
||||
self.o = np.arange(10001, dtype=np.float32)
|
||||
|
||||
def time_quartile(self):
|
||||
np.percentile(self.e, [25, 75])
|
||||
|
||||
def time_percentile(self):
|
||||
np.percentile(self.e, [25, 35, 55, 65, 75])
|
||||
|
||||
|
||||
class Select(Benchmark):
|
||||
def setup(self):
|
||||
self.d = np.arange(20000)
|
||||
self.e = self.d.copy()
|
||||
self.cond = [(self.d > 4), (self.d < 2)]
|
||||
self.cond_large = [(self.d > 4), (self.d < 2)] * 10
|
||||
|
||||
def time_select(self):
|
||||
np.select(self.cond, [self.d, self.e])
|
||||
|
||||
def time_select_larger(self):
|
||||
np.select(self.cond_large, ([self.d, self.e] * 10))
|
||||
|
||||
|
||||
def memoize(f):
|
||||
_memoized = {}
|
||||
def wrapped(*args):
|
||||
if args not in _memoized:
|
||||
_memoized[args] = f(*args)
|
||||
|
||||
return _memoized[args].copy()
|
||||
|
||||
return f
|
||||
|
||||
|
||||
class SortGenerator:
|
||||
# The size of the unsorted area in the "random unsorted area"
|
||||
# benchmarks
|
||||
AREA_SIZE = 100
|
||||
# The size of the "partially ordered" sub-arrays
|
||||
BUBBLE_SIZE = 100
|
||||
|
||||
@staticmethod
|
||||
@memoize
|
||||
def random(size, dtype):
|
||||
"""
|
||||
Returns a randomly-shuffled array.
|
||||
"""
|
||||
arr = np.arange(size, dtype=dtype)
|
||||
np.random.shuffle(arr)
|
||||
return arr
|
||||
|
||||
@staticmethod
|
||||
@memoize
|
||||
def ordered(size, dtype):
|
||||
"""
|
||||
Returns an ordered array.
|
||||
"""
|
||||
return np.arange(size, dtype=dtype)
|
||||
|
||||
@staticmethod
|
||||
@memoize
|
||||
def reversed(size, dtype):
|
||||
"""
|
||||
Returns an array that's in descending order.
|
||||
"""
|
||||
return np.arange(size-1, -1, -1, dtype=dtype)
|
||||
|
||||
@staticmethod
|
||||
@memoize
|
||||
def uniform(size, dtype):
|
||||
"""
|
||||
Returns an array that has the same value everywhere.
|
||||
"""
|
||||
return np.ones(size, dtype=dtype)
|
||||
|
||||
@staticmethod
|
||||
@memoize
|
||||
def swapped_pair(size, dtype, swap_frac):
|
||||
"""
|
||||
Returns an ordered array, but one that has ``swap_frac * size``
|
||||
pairs swapped.
|
||||
"""
|
||||
a = np.arange(size, dtype=dtype)
|
||||
for _ in range(int(size * swap_frac)):
|
||||
x, y = np.random.randint(0, size, 2)
|
||||
a[x], a[y] = a[y], a[x]
|
||||
return a
|
||||
|
||||
@staticmethod
|
||||
@memoize
|
||||
def sorted_block(size, dtype, block_size):
|
||||
"""
|
||||
Returns an array with blocks that are all sorted.
|
||||
"""
|
||||
a = np.arange(size, dtype=dtype)
|
||||
b = []
|
||||
if size < block_size:
|
||||
return a
|
||||
block_num = size // block_size
|
||||
for i in range(block_num):
|
||||
b.extend(a[i::block_num])
|
||||
return np.array(b)
|
||||
|
||||
@classmethod
|
||||
@memoize
|
||||
def random_unsorted_area(cls, size, dtype, frac, area_size=None):
|
||||
"""
|
||||
This type of array has random unsorted areas such that they
|
||||
compose the fraction ``frac`` of the original array.
|
||||
"""
|
||||
if area_size is None:
|
||||
area_size = cls.AREA_SIZE
|
||||
|
||||
area_num = int(size * frac / area_size)
|
||||
a = np.arange(size, dtype=dtype)
|
||||
for _ in range(area_num):
|
||||
start = np.random.randint(size-area_size)
|
||||
end = start + area_size
|
||||
np.random.shuffle(a[start:end])
|
||||
return a
|
||||
|
||||
@classmethod
|
||||
@memoize
|
||||
def random_bubble(cls, size, dtype, bubble_num, bubble_size=None):
|
||||
"""
|
||||
This type of array has ``bubble_num`` random unsorted areas.
|
||||
"""
|
||||
if bubble_size is None:
|
||||
bubble_size = cls.BUBBLE_SIZE
|
||||
frac = bubble_size * bubble_num / size
|
||||
|
||||
return cls.random_unsorted_area(size, dtype, frac, bubble_size)
|
||||
|
||||
|
||||
class Sort(Benchmark):
|
||||
"""
|
||||
This benchmark tests sorting performance with several
|
||||
different types of arrays that are likely to appear in
|
||||
real-world applications.
|
||||
"""
|
||||
params = [
|
||||
# In NumPy 1.17 and newer, 'merge' can be one of several
|
||||
# stable sorts, it isn't necessarily merge sort.
|
||||
['quick', 'merge', 'heap'],
|
||||
['float64', 'int64', 'int16'],
|
||||
[
|
||||
('random',),
|
||||
('ordered',),
|
||||
('reversed',),
|
||||
('uniform',),
|
||||
('sorted_block', 10),
|
||||
('sorted_block', 100),
|
||||
('sorted_block', 1000),
|
||||
# ('swapped_pair', 0.01),
|
||||
# ('swapped_pair', 0.1),
|
||||
# ('swapped_pair', 0.5),
|
||||
# ('random_unsorted_area', 0.5),
|
||||
# ('random_unsorted_area', 0.1),
|
||||
# ('random_unsorted_area', 0.01),
|
||||
# ('random_bubble', 1),
|
||||
# ('random_bubble', 5),
|
||||
# ('random_bubble', 10),
|
||||
],
|
||||
]
|
||||
param_names = ['kind', 'dtype', 'array_type']
|
||||
|
||||
# The size of the benchmarked arrays.
|
||||
ARRAY_SIZE = 10000
|
||||
|
||||
def setup(self, kind, dtype, array_type):
|
||||
np.random.seed(1234)
|
||||
array_class = array_type[0]
|
||||
self.arr = getattr(SortGenerator, array_class)(self.ARRAY_SIZE, dtype, *array_type[1:])
|
||||
|
||||
def time_sort(self, kind, dtype, array_type):
|
||||
# Using np.sort(...) instead of arr.sort(...) because it makes a copy.
|
||||
# This is important because the data is prepared once per benchmark, but
|
||||
# used across multiple runs.
|
||||
np.sort(self.arr, kind=kind)
|
||||
|
||||
def time_argsort(self, kind, dtype, array_type):
|
||||
np.argsort(self.arr, kind=kind)
|
||||
|
||||
|
||||
class SortWorst(Benchmark):
|
||||
def setup(self):
|
||||
# quicksort median of 3 worst case
|
||||
self.worst = np.arange(1000000)
|
||||
x = self.worst
|
||||
while x.size > 3:
|
||||
mid = x.size // 2
|
||||
x[mid], x[-2] = x[-2], x[mid]
|
||||
x = x[:-2]
|
||||
|
||||
def time_sort_worst(self):
|
||||
np.sort(self.worst)
|
||||
|
||||
# Retain old benchmark name for backward compatibility
|
||||
time_sort_worst.benchmark_name = "bench_function_base.Sort.time_sort_worst"
|
||||
|
||||
|
||||
class Where(Benchmark):
|
||||
def setup(self):
|
||||
self.d = np.arange(20000)
|
||||
self.e = self.d.copy()
|
||||
self.cond = (self.d > 5000)
|
||||
|
||||
def time_1(self):
|
||||
np.where(self.cond)
|
||||
|
||||
def time_2(self):
|
||||
np.where(self.cond, self.d, self.e)
|
||||
|
||||
def time_2_broadcast(self):
|
||||
np.where(self.cond, self.d, 0)
|
|
@ -0,0 +1,34 @@
|
|||
from subprocess import call
|
||||
from sys import executable
|
||||
from timeit import default_timer
|
||||
|
||||
from .common import Benchmark
|
||||
|
||||
|
||||
class Import(Benchmark):
|
||||
timer = default_timer
|
||||
|
||||
def execute(self, command):
|
||||
call((executable, '-c', command))
|
||||
|
||||
def time_numpy(self):
|
||||
self.execute('import numpy')
|
||||
|
||||
def time_numpy_inspect(self):
|
||||
# What are the savings from avoiding to import the inspect module?
|
||||
self.execute('import numpy, inspect')
|
||||
|
||||
def time_fft(self):
|
||||
self.execute('from numpy import fft')
|
||||
|
||||
def time_linalg(self):
|
||||
self.execute('from numpy import linalg')
|
||||
|
||||
def time_ma(self):
|
||||
self.execute('from numpy import ma')
|
||||
|
||||
def time_matlib(self):
|
||||
self.execute('from numpy import matlib')
|
||||
|
||||
def time_random(self):
|
||||
self.execute('from numpy import random')
|
|
@ -0,0 +1,74 @@
|
|||
from .common import Benchmark, get_squares_, get_indexes_, get_indexes_rand_
|
||||
|
||||
from os.path import join as pjoin
|
||||
import shutil
|
||||
from numpy import memmap, float32, array
|
||||
import numpy as np
|
||||
from tempfile import mkdtemp
|
||||
|
||||
|
||||
class Indexing(Benchmark):
|
||||
params = [["indexes_", "indexes_rand_"],
|
||||
['I', ':,I', 'np.ix_(I, I)'],
|
||||
['', '=1']]
|
||||
param_names = ['indexes', 'sel', 'op']
|
||||
|
||||
def setup(self, indexes, sel, op):
|
||||
sel = sel.replace('I', indexes)
|
||||
|
||||
ns = {'squares_': get_squares_(),
|
||||
'np': np,
|
||||
'indexes_': get_indexes_(),
|
||||
'indexes_rand_': get_indexes_rand_()}
|
||||
|
||||
code = "def run():\n for a in squares_.values(): a[%s]%s"
|
||||
code = code % (sel, op)
|
||||
|
||||
exec(code, ns)
|
||||
self.func = ns['run']
|
||||
|
||||
def time_op(self, indexes, sel, op):
|
||||
self.func()
|
||||
|
||||
|
||||
class IndexingSeparate(Benchmark):
|
||||
def setup(self):
|
||||
self.tmp_dir = mkdtemp()
|
||||
self.fp = memmap(pjoin(self.tmp_dir, 'tmp.dat'),
|
||||
dtype=float32, mode='w+', shape=(50, 60))
|
||||
self.indexes = array([3, 4, 6, 10, 20])
|
||||
|
||||
def teardown(self):
|
||||
del self.fp
|
||||
shutil.rmtree(self.tmp_dir)
|
||||
|
||||
def time_mmap_slicing(self):
|
||||
for i in range(1000):
|
||||
self.fp[5:10]
|
||||
|
||||
def time_mmap_fancy_indexing(self):
|
||||
for i in range(1000):
|
||||
self.fp[self.indexes]
|
||||
|
||||
|
||||
class IndexingStructured0D(Benchmark):
|
||||
def setup(self):
|
||||
self.dt = np.dtype([('a', 'f4', 256)])
|
||||
|
||||
self.A = np.zeros((), self.dt)
|
||||
self.B = self.A.copy()
|
||||
|
||||
self.a = np.zeros(1, self.dt)[0]
|
||||
self.b = self.a.copy()
|
||||
|
||||
def time_array_slice(self):
|
||||
self.B['a'][:] = self.A['a']
|
||||
|
||||
def time_array_all(self):
|
||||
self.B['a'] = self.A['a']
|
||||
|
||||
def time_scalar_slice(self):
|
||||
self.b['a'][:] = self.a['a']
|
||||
|
||||
def time_scalar_all(self):
|
||||
self.b['a'] = self.a['a']
|
|
@ -0,0 +1,244 @@
|
|||
from .common import Benchmark, get_squares
|
||||
|
||||
import numpy as np
|
||||
from io import StringIO
|
||||
|
||||
|
||||
class Copy(Benchmark):
|
||||
params = ["int8", "int16", "float32", "float64",
|
||||
"complex64", "complex128"]
|
||||
param_names = ['type']
|
||||
|
||||
def setup(self, typename):
|
||||
dtype = np.dtype(typename)
|
||||
self.d = np.arange((50 * 500), dtype=dtype).reshape((500, 50))
|
||||
self.e = np.arange((50 * 500), dtype=dtype).reshape((50, 500))
|
||||
self.e_d = self.e.reshape(self.d.shape)
|
||||
self.dflat = np.arange((50 * 500), dtype=dtype)
|
||||
|
||||
def time_memcpy(self, typename):
|
||||
self.d[...] = self.e_d
|
||||
|
||||
def time_memcpy_large_out_of_place(self, typename):
|
||||
l = np.ones(1024**2, dtype=np.dtype(typename))
|
||||
l.copy()
|
||||
|
||||
def time_cont_assign(self, typename):
|
||||
self.d[...] = 1
|
||||
|
||||
def time_strided_copy(self, typename):
|
||||
self.d[...] = self.e.T
|
||||
|
||||
def time_strided_assign(self, typename):
|
||||
self.dflat[::2] = 2
|
||||
|
||||
|
||||
class CopyTo(Benchmark):
|
||||
def setup(self):
|
||||
self.d = np.ones(50000)
|
||||
self.e = self.d.copy()
|
||||
self.m = (self.d == 1)
|
||||
self.im = (~ self.m)
|
||||
self.m8 = self.m.copy()
|
||||
self.m8[::8] = (~ self.m[::8])
|
||||
self.im8 = (~ self.m8)
|
||||
|
||||
def time_copyto(self):
|
||||
np.copyto(self.d, self.e)
|
||||
|
||||
def time_copyto_sparse(self):
|
||||
np.copyto(self.d, self.e, where=self.m)
|
||||
|
||||
def time_copyto_dense(self):
|
||||
np.copyto(self.d, self.e, where=self.im)
|
||||
|
||||
def time_copyto_8_sparse(self):
|
||||
np.copyto(self.d, self.e, where=self.m8)
|
||||
|
||||
def time_copyto_8_dense(self):
|
||||
np.copyto(self.d, self.e, where=self.im8)
|
||||
|
||||
|
||||
class Savez(Benchmark):
|
||||
def setup(self):
|
||||
self.squares = get_squares()
|
||||
|
||||
def time_vb_savez_squares(self):
|
||||
np.savez('tmp.npz', **self.squares)
|
||||
|
||||
|
||||
class LoadtxtCSVComments(Benchmark):
|
||||
# benchmarks for np.loadtxt comment handling
|
||||
# when reading in CSV files
|
||||
|
||||
params = [10, int(1e2), int(1e4), int(1e5)]
|
||||
param_names = ['num_lines']
|
||||
|
||||
def setup(self, num_lines):
|
||||
data = [u'1,2,3 # comment'] * num_lines
|
||||
# unfortunately, timeit will only run setup()
|
||||
# between repeat events, but not for iterations
|
||||
# within repeats, so the StringIO object
|
||||
# will have to be rewinded in the benchmark proper
|
||||
self.data_comments = StringIO(u'\n'.join(data))
|
||||
|
||||
def time_comment_loadtxt_csv(self, num_lines):
|
||||
# benchmark handling of lines with comments
|
||||
# when loading in from csv files
|
||||
|
||||
# inspired by similar benchmark in pandas
|
||||
# for read_csv
|
||||
|
||||
# need to rewind StringIO object (unfortunately
|
||||
# confounding timing result somewhat) for every
|
||||
# call to timing test proper
|
||||
np.loadtxt(self.data_comments,
|
||||
delimiter=u',')
|
||||
self.data_comments.seek(0)
|
||||
|
||||
class LoadtxtCSVdtypes(Benchmark):
|
||||
# benchmarks for np.loadtxt operating with
|
||||
# different dtypes parsed / cast from CSV files
|
||||
|
||||
params = (['float32', 'float64', 'int32', 'int64',
|
||||
'complex128', 'str', 'object'],
|
||||
[10, int(1e2), int(1e4), int(1e5)])
|
||||
param_names = ['dtype', 'num_lines']
|
||||
|
||||
def setup(self, dtype, num_lines):
|
||||
data = [u'5, 7, 888'] * num_lines
|
||||
self.csv_data = StringIO(u'\n'.join(data))
|
||||
|
||||
def time_loadtxt_dtypes_csv(self, dtype, num_lines):
|
||||
# benchmark loading arrays of various dtypes
|
||||
# from csv files
|
||||
|
||||
# state-dependent timing benchmark requires
|
||||
# rewind of StringIO object
|
||||
|
||||
np.loadtxt(self.csv_data,
|
||||
delimiter=u',',
|
||||
dtype=dtype)
|
||||
self.csv_data.seek(0)
|
||||
|
||||
class LoadtxtCSVStructured(Benchmark):
|
||||
# benchmarks for np.loadtxt operating with
|
||||
# a structured data type & CSV file
|
||||
|
||||
def setup(self):
|
||||
num_lines = 50000
|
||||
data = [u"M, 21, 72, X, 155"] * num_lines
|
||||
self.csv_data = StringIO(u'\n'.join(data))
|
||||
|
||||
def time_loadtxt_csv_struct_dtype(self):
|
||||
# obligate rewind of StringIO object
|
||||
# between iterations of a repeat:
|
||||
|
||||
np.loadtxt(self.csv_data,
|
||||
delimiter=u',',
|
||||
dtype=[('category_1', 'S1'),
|
||||
('category_2', 'i4'),
|
||||
('category_3', 'f8'),
|
||||
('category_4', 'S1'),
|
||||
('category_5', 'f8')])
|
||||
self.csv_data.seek(0)
|
||||
|
||||
|
||||
class LoadtxtCSVSkipRows(Benchmark):
|
||||
# benchmarks for loadtxt row skipping when
|
||||
# reading in csv file data; a similar benchmark
|
||||
# is present in the pandas asv suite
|
||||
|
||||
params = [0, 500, 10000]
|
||||
param_names = ['skiprows']
|
||||
|
||||
def setup(self, skiprows):
|
||||
np.random.seed(123)
|
||||
test_array = np.random.rand(100000, 3)
|
||||
self.fname = 'test_array.csv'
|
||||
np.savetxt(fname=self.fname,
|
||||
X=test_array,
|
||||
delimiter=',')
|
||||
|
||||
def time_skiprows_csv(self, skiprows):
|
||||
np.loadtxt(self.fname,
|
||||
delimiter=',',
|
||||
skiprows=skiprows)
|
||||
|
||||
class LoadtxtReadUint64Integers(Benchmark):
|
||||
# pandas has a similar CSV reading benchmark
|
||||
# modified to suit np.loadtxt
|
||||
|
||||
params = [550, 1000, 10000]
|
||||
param_names = ['size']
|
||||
|
||||
def setup(self, size):
|
||||
arr = np.arange(size).astype('uint64') + 2**63
|
||||
self.data1 = StringIO(u'\n'.join(arr.astype(str).tolist()))
|
||||
arr = arr.astype(object)
|
||||
arr[500] = -1
|
||||
self.data2 = StringIO(u'\n'.join(arr.astype(str).tolist()))
|
||||
|
||||
def time_read_uint64(self, size):
|
||||
# mandatory rewind of StringIO object
|
||||
# between iterations of a repeat:
|
||||
np.loadtxt(self.data1)
|
||||
self.data1.seek(0)
|
||||
|
||||
def time_read_uint64_neg_values(self, size):
|
||||
# mandatory rewind of StringIO object
|
||||
# between iterations of a repeat:
|
||||
np.loadtxt(self.data2)
|
||||
self.data2.seek(0)
|
||||
|
||||
class LoadtxtUseColsCSV(Benchmark):
|
||||
# benchmark selective column reading from CSV files
|
||||
# using np.loadtxt
|
||||
|
||||
params = [2, [1, 3], [1, 3, 5, 7]]
|
||||
param_names = ['usecols']
|
||||
|
||||
def setup(self, usecols):
|
||||
num_lines = 5000
|
||||
data = [u'0, 1, 2, 3, 4, 5, 6, 7, 8, 9'] * num_lines
|
||||
self.csv_data = StringIO(u'\n'.join(data))
|
||||
|
||||
def time_loadtxt_usecols_csv(self, usecols):
|
||||
# must rewind StringIO because of state
|
||||
# dependence of file reading
|
||||
np.loadtxt(self.csv_data,
|
||||
delimiter=u',',
|
||||
usecols=usecols)
|
||||
self.csv_data.seek(0)
|
||||
|
||||
class LoadtxtCSVDateTime(Benchmark):
|
||||
# benchmarks for np.loadtxt operating with
|
||||
# datetime data in a CSV file
|
||||
|
||||
params = [20, 200, 2000, 20000]
|
||||
param_names = ['num_lines']
|
||||
|
||||
def setup(self, num_lines):
|
||||
# create the equivalent of a two-column CSV file
|
||||
# with date strings in the first column and random
|
||||
# floating point data in the second column
|
||||
dates = np.arange('today', 20, dtype=np.datetime64)
|
||||
np.random.seed(123)
|
||||
values = np.random.rand(20)
|
||||
date_line = u''
|
||||
|
||||
for date, value in zip(dates, values):
|
||||
date_line += (str(date) + ',' + str(value) + '\n')
|
||||
|
||||
# expand data to specified number of lines
|
||||
data = date_line * (num_lines // 20)
|
||||
self.csv_data = StringIO(data)
|
||||
|
||||
def time_loadtxt_csv_datetime(self, num_lines):
|
||||
# rewind StringIO object -- the timing iterations
|
||||
# are state-dependent
|
||||
X = np.loadtxt(self.csv_data,
|
||||
delimiter=u',',
|
||||
dtype=([('dates', 'M8[us]'),
|
||||
('values', 'float64')]))
|
||||
self.csv_data.seek(0)
|
|
@ -0,0 +1,45 @@
|
|||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
from .common import Benchmark, TYPES1
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
class Take(Benchmark):
|
||||
params = [
|
||||
[(1000, 1), (1000, 2), (2, 1000, 1), (1000, 3)],
|
||||
["raise", "wrap", "clip"],
|
||||
TYPES1]
|
||||
param_names = ["shape", "mode", "dtype"]
|
||||
|
||||
def setup(self, shape, mode, dtype):
|
||||
self.arr = np.ones(shape, dtype)
|
||||
self.indices = np.arange(1000)
|
||||
|
||||
def time_contiguous(self, shape, mode, dtype):
|
||||
self.arr.take(self.indices, axis=-2, mode=mode)
|
||||
|
||||
|
||||
class PutMask(Benchmark):
|
||||
params = [
|
||||
[True, False],
|
||||
TYPES1]
|
||||
param_names = ["values_is_scalar", "dtype"]
|
||||
|
||||
def setup(self, values_is_scalar, dtype):
|
||||
if values_is_scalar:
|
||||
self.vals = np.array(1., dtype=dtype)
|
||||
else:
|
||||
self.vals = np.ones(1000, dtype=dtype)
|
||||
|
||||
self.arr = np.ones(1000, dtype=dtype)
|
||||
|
||||
self.dense_mask = np.ones(1000, dtype="bool")
|
||||
self.sparse_mask = np.zeros(1000, dtype="bool")
|
||||
|
||||
def time_dense(self, values_is_scalar, dtype):
|
||||
np.putmask(self.arr, self.dense_mask, self.vals)
|
||||
|
||||
def time_sparse(self, values_is_scalar, dtype):
|
||||
np.putmask(self.arr, self.sparse_mask, self.vals)
|
||||
|
|
@ -0,0 +1,115 @@
|
|||
"""Benchmarks for `numpy.lib`."""
|
||||
|
||||
|
||||
from .common import Benchmark
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
class Pad(Benchmark):
|
||||
"""Benchmarks for `numpy.pad`.
|
||||
|
||||
When benchmarking the pad function it is useful to cover scenarios where
|
||||
the ratio between the size of the input array and the output array differs
|
||||
significantly (original area vs. padded area). This allows to evaluate for
|
||||
which scenario a padding algorithm is optimized. Furthermore involving
|
||||
large range of array sizes ensures that the effects of CPU-bound caching is
|
||||
visible.
|
||||
|
||||
The table below shows the sizes of the arrays involved in this benchmark:
|
||||
|
||||
+-----------------+----------+-----------+-----------+-----------------+
|
||||
| shape | original | padded: 1 | padded: 8 | padded: (0, 32) |
|
||||
+=================+==========+===========+===========+=================+
|
||||
| (2 ** 22,) | 32 MiB | 32.0 MiB | 32.0 MiB | 32.0 MiB |
|
||||
+-----------------+----------+-----------+-----------+-----------------+
|
||||
| (1024, 1024) | 8 MiB | 8.03 MiB | 8.25 MiB | 8.51 MiB |
|
||||
+-----------------+----------+-----------+-----------+-----------------+
|
||||
| (256, 256, 1) | 256 KiB | 786 KiB | 5.08 MiB | 11.6 MiB |
|
||||
+-----------------+----------+-----------+-----------+-----------------+
|
||||
| (4, 4, 4, 4) | 2 KiB | 10.1 KiB | 1.22 MiB | 12.8 MiB |
|
||||
+-----------------+----------+-----------+-----------+-----------------+
|
||||
| (1, 1, 1, 1, 1) | 8 B | 1.90 MiB | 10.8 MiB | 299 MiB |
|
||||
+-----------------+----------+-----------+-----------+-----------------+
|
||||
"""
|
||||
|
||||
param_names = ["shape", "pad_width", "mode"]
|
||||
params = [
|
||||
# Shape of the input arrays
|
||||
[(2 ** 22,), (1024, 1024), (256, 128, 1),
|
||||
(4, 4, 4, 4), (1, 1, 1, 1, 1)],
|
||||
# Tested pad widths
|
||||
[1, 8, (0, 32)],
|
||||
# Tested modes: mean, median, minimum & maximum use the same code path
|
||||
# reflect & symmetric share a lot of their code path
|
||||
["constant", "edge", "linear_ramp", "mean", "reflect", "wrap"],
|
||||
]
|
||||
|
||||
def setup(self, shape, pad_width, mode):
|
||||
# Make sure to fill the array to make the OS page fault
|
||||
# in the setup phase and not the timed phase
|
||||
self.array = np.full(shape, fill_value=1, dtype=np.float64)
|
||||
|
||||
def time_pad(self, shape, pad_width, mode):
|
||||
np.pad(self.array, pad_width, mode)
|
||||
|
||||
class Nan(Benchmark):
|
||||
"""Benchmarks for nan functions"""
|
||||
|
||||
param_names = ["array_size", "percent_nans"]
|
||||
params = [
|
||||
# sizes of the 1D arrays
|
||||
[200, int(2e5)],
|
||||
# percent of np.nan in arrays
|
||||
[0, 0.1, 2., 50., 90.],
|
||||
]
|
||||
|
||||
def setup(self, array_size, percent_nans):
|
||||
np.random.seed(123)
|
||||
# produce a randomly shuffled array with the
|
||||
# approximate desired percentage np.nan content
|
||||
base_array = np.random.uniform(size=array_size)
|
||||
base_array[base_array < percent_nans / 100.] = np.nan
|
||||
self.arr = base_array
|
||||
|
||||
def time_nanmin(self, array_size, percent_nans):
|
||||
np.nanmin(self.arr)
|
||||
|
||||
def time_nanmax(self, array_size, percent_nans):
|
||||
np.nanmax(self.arr)
|
||||
|
||||
def time_nanargmin(self, array_size, percent_nans):
|
||||
np.nanargmin(self.arr)
|
||||
|
||||
def time_nanargmax(self, array_size, percent_nans):
|
||||
np.nanargmax(self.arr)
|
||||
|
||||
def time_nansum(self, array_size, percent_nans):
|
||||
np.nansum(self.arr)
|
||||
|
||||
def time_nanprod(self, array_size, percent_nans):
|
||||
np.nanprod(self.arr)
|
||||
|
||||
def time_nancumsum(self, array_size, percent_nans):
|
||||
np.nancumsum(self.arr)
|
||||
|
||||
def time_nancumprod(self, array_size, percent_nans):
|
||||
np.nancumprod(self.arr)
|
||||
|
||||
def time_nanmean(self, array_size, percent_nans):
|
||||
np.nanmean(self.arr)
|
||||
|
||||
def time_nanvar(self, array_size, percent_nans):
|
||||
np.nanvar(self.arr)
|
||||
|
||||
def time_nanstd(self, array_size, percent_nans):
|
||||
np.nanstd(self.arr)
|
||||
|
||||
def time_nanmedian(self, array_size, percent_nans):
|
||||
np.nanmedian(self.arr)
|
||||
|
||||
def time_nanquantile(self, array_size, percent_nans):
|
||||
np.nanquantile(self.arr, q=0.2)
|
||||
|
||||
def time_nanpercentile(self, array_size, percent_nans):
|
||||
np.nanpercentile(self.arr, q=50)
|
|
@ -0,0 +1,107 @@
|
|||
from .common import Benchmark, get_squares_, get_indexes_rand, TYPES1
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
class Eindot(Benchmark):
|
||||
def setup(self):
|
||||
self.a = np.arange(60000.0).reshape(150, 400)
|
||||
self.ac = self.a.copy()
|
||||
self.at = self.a.T
|
||||
self.atc = self.a.T.copy()
|
||||
self.b = np.arange(240000.0).reshape(400, 600)
|
||||
self.c = np.arange(600)
|
||||
self.d = np.arange(400)
|
||||
|
||||
self.a3 = np.arange(480000.).reshape(60, 80, 100)
|
||||
self.b3 = np.arange(192000.).reshape(80, 60, 40)
|
||||
|
||||
def time_dot_a_b(self):
|
||||
np.dot(self.a, self.b)
|
||||
|
||||
def time_dot_d_dot_b_c(self):
|
||||
np.dot(self.d, np.dot(self.b, self.c))
|
||||
|
||||
def time_dot_trans_a_at(self):
|
||||
np.dot(self.a, self.at)
|
||||
|
||||
def time_dot_trans_a_atc(self):
|
||||
np.dot(self.a, self.atc)
|
||||
|
||||
def time_dot_trans_at_a(self):
|
||||
np.dot(self.at, self.a)
|
||||
|
||||
def time_dot_trans_atc_a(self):
|
||||
np.dot(self.atc, self.a)
|
||||
|
||||
def time_einsum_i_ij_j(self):
|
||||
np.einsum('i,ij,j', self.d, self.b, self.c)
|
||||
|
||||
def time_einsum_ij_jk_a_b(self):
|
||||
np.einsum('ij,jk', self.a, self.b)
|
||||
|
||||
def time_einsum_ijk_jil_kl(self):
|
||||
np.einsum('ijk,jil->kl', self.a3, self.b3)
|
||||
|
||||
def time_inner_trans_a_a(self):
|
||||
np.inner(self.a, self.a)
|
||||
|
||||
def time_inner_trans_a_ac(self):
|
||||
np.inner(self.a, self.ac)
|
||||
|
||||
def time_matmul_a_b(self):
|
||||
np.matmul(self.a, self.b)
|
||||
|
||||
def time_matmul_d_matmul_b_c(self):
|
||||
np.matmul(self.d, np.matmul(self.b, self.c))
|
||||
|
||||
def time_matmul_trans_a_at(self):
|
||||
np.matmul(self.a, self.at)
|
||||
|
||||
def time_matmul_trans_a_atc(self):
|
||||
np.matmul(self.a, self.atc)
|
||||
|
||||
def time_matmul_trans_at_a(self):
|
||||
np.matmul(self.at, self.a)
|
||||
|
||||
def time_matmul_trans_atc_a(self):
|
||||
np.matmul(self.atc, self.a)
|
||||
|
||||
def time_tensordot_a_b_axes_1_0_0_1(self):
|
||||
np.tensordot(self.a3, self.b3, axes=([1, 0], [0, 1]))
|
||||
|
||||
|
||||
class Linalg(Benchmark):
|
||||
params = [['svd', 'pinv', 'det', 'norm'],
|
||||
TYPES1]
|
||||
param_names = ['op', 'type']
|
||||
|
||||
def setup(self, op, typename):
|
||||
np.seterr(all='ignore')
|
||||
|
||||
self.func = getattr(np.linalg, op)
|
||||
|
||||
if op == 'cholesky':
|
||||
# we need a positive definite
|
||||
self.a = np.dot(get_squares_()[typename],
|
||||
get_squares_()[typename].T)
|
||||
else:
|
||||
self.a = get_squares_()[typename]
|
||||
|
||||
# check that dtype is supported at all
|
||||
try:
|
||||
self.func(self.a[:2, :2])
|
||||
except TypeError:
|
||||
raise NotImplementedError()
|
||||
|
||||
def time_op(self, op, typename):
|
||||
self.func(self.a)
|
||||
|
||||
|
||||
class Lstsq(Benchmark):
|
||||
def setup(self):
|
||||
self.a = get_squares_()['float64']
|
||||
self.b = get_indexes_rand()[:100].astype(np.float64)
|
||||
|
||||
def time_numpy_linalg_lstsq_a__b_float64(self):
|
||||
np.linalg.lstsq(self.a, self.b, rcond=-1)
|
|
@ -0,0 +1,113 @@
|
|||
from .common import Benchmark
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
class MA(Benchmark):
|
||||
def setup(self):
|
||||
self.l100 = range(100)
|
||||
self.t100 = ([True] * 100)
|
||||
|
||||
def time_masked_array(self):
|
||||
np.ma.masked_array()
|
||||
|
||||
def time_masked_array_l100(self):
|
||||
np.ma.masked_array(self.l100)
|
||||
|
||||
def time_masked_array_l100_t100(self):
|
||||
np.ma.masked_array(self.l100, self.t100)
|
||||
|
||||
|
||||
class Indexing(Benchmark):
|
||||
param_names = ['masked', 'ndim', 'size']
|
||||
params = [[True, False],
|
||||
[1, 2],
|
||||
[10, 100, 1000]]
|
||||
def setup(self, masked, ndim, size):
|
||||
x = np.arange(size**ndim).reshape(ndim * (size,))
|
||||
|
||||
if masked:
|
||||
self.m = np.ma.array(x, mask=x%2 == 0)
|
||||
else:
|
||||
self.m = np.ma.array(x)
|
||||
|
||||
self.idx_scalar = (size//2,) * ndim
|
||||
self.idx_0d = (size//2,) * ndim + (Ellipsis,)
|
||||
self.idx_1d = (size//2,) * (ndim - 1)
|
||||
|
||||
def time_scalar(self, masked, ndim, size):
|
||||
self.m[self.idx_scalar]
|
||||
|
||||
def time_0d(self, masked, ndim, size):
|
||||
self.m[self.idx_0d]
|
||||
|
||||
def time_1d(self, masked, ndim, size):
|
||||
self.m[self.idx_1d]
|
||||
|
||||
|
||||
class UFunc(Benchmark):
|
||||
param_names = ['a_masked', 'b_masked', 'size']
|
||||
params = [[True, False],
|
||||
[True, False],
|
||||
[10, 100, 1000]]
|
||||
|
||||
def setup(self, a_masked, b_masked, size):
|
||||
x = np.arange(size).astype(np.uint8)
|
||||
|
||||
self.a_scalar = np.ma.masked if a_masked else 5
|
||||
self.b_scalar = np.ma.masked if b_masked else 3
|
||||
|
||||
self.a_1d = np.ma.array(x, mask=x%2 == 0 if a_masked else np.ma.nomask)
|
||||
self.b_1d = np.ma.array(x, mask=x%3 == 0 if b_masked else np.ma.nomask)
|
||||
|
||||
self.a_2d = self.a_1d.reshape(1, -1)
|
||||
self.b_2d = self.a_1d.reshape(-1, 1)
|
||||
|
||||
def time_scalar(self, a_masked, b_masked, size):
|
||||
np.ma.add(self.a_scalar, self.b_scalar)
|
||||
|
||||
def time_scalar_1d(self, a_masked, b_masked, size):
|
||||
np.ma.add(self.a_scalar, self.b_1d)
|
||||
|
||||
def time_1d(self, a_masked, b_masked, size):
|
||||
np.ma.add(self.a_1d, self.b_1d)
|
||||
|
||||
def time_2d(self, a_masked, b_masked, size):
|
||||
# broadcasting happens this time
|
||||
np.ma.add(self.a_2d, self.b_2d)
|
||||
|
||||
|
||||
class Concatenate(Benchmark):
|
||||
param_names = ['mode', 'n']
|
||||
params = [
|
||||
['ndarray', 'unmasked',
|
||||
'ndarray+masked', 'unmasked+masked',
|
||||
'masked'],
|
||||
[2, 100, 2000]
|
||||
]
|
||||
|
||||
def setup(self, mode, n):
|
||||
# avoid np.zeros's lazy allocation that cause page faults during benchmark.
|
||||
# np.fill will cause pagefaults to happen during setup.
|
||||
normal = np.full((n, n), 0, int)
|
||||
unmasked = np.ma.zeros((n, n), int)
|
||||
masked = np.ma.array(normal, mask=True)
|
||||
|
||||
mode_parts = mode.split('+')
|
||||
base = mode_parts[0]
|
||||
promote = 'masked' in mode_parts[1:]
|
||||
|
||||
if base == 'ndarray':
|
||||
args = 10 * (normal,)
|
||||
elif base == 'unmasked':
|
||||
args = 10 * (unmasked,)
|
||||
else:
|
||||
args = 10 * (masked,)
|
||||
|
||||
if promote:
|
||||
args = args[:-1] + (masked,)
|
||||
|
||||
self.args = args
|
||||
|
||||
def time_it(self, mode, n):
|
||||
np.ma.concatenate(self.args)
|
|
@ -0,0 +1,67 @@
|
|||
from .common import Benchmark
|
||||
|
||||
try:
|
||||
from numpy.core.overrides import array_function_dispatch
|
||||
except ImportError:
|
||||
# Don't fail at import time with old Numpy versions
|
||||
def array_function_dispatch(*args, **kwargs):
|
||||
def wrap(*args, **kwargs):
|
||||
return None
|
||||
return wrap
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
def _broadcast_to_dispatcher(array, shape, subok=None):
|
||||
return (array,)
|
||||
|
||||
|
||||
@array_function_dispatch(_broadcast_to_dispatcher)
|
||||
def mock_broadcast_to(array, shape, subok=False):
|
||||
pass
|
||||
|
||||
|
||||
def _concatenate_dispatcher(arrays, axis=None, out=None):
|
||||
if out is not None:
|
||||
arrays = list(arrays)
|
||||
arrays.append(out)
|
||||
return arrays
|
||||
|
||||
|
||||
@array_function_dispatch(_concatenate_dispatcher)
|
||||
def mock_concatenate(arrays, axis=0, out=None):
|
||||
pass
|
||||
|
||||
|
||||
class DuckArray:
|
||||
def __array_function__(self, func, types, args, kwargs):
|
||||
pass
|
||||
|
||||
|
||||
class ArrayFunction(Benchmark):
|
||||
|
||||
def setup(self):
|
||||
self.numpy_array = np.array(1)
|
||||
self.numpy_arrays = [np.array(1), np.array(2)]
|
||||
self.many_arrays = 500 * self.numpy_arrays
|
||||
self.duck_array = DuckArray()
|
||||
self.duck_arrays = [DuckArray(), DuckArray()]
|
||||
self.mixed_arrays = [np.array(1), DuckArray()]
|
||||
|
||||
def time_mock_broadcast_to_numpy(self):
|
||||
mock_broadcast_to(self.numpy_array, ())
|
||||
|
||||
def time_mock_broadcast_to_duck(self):
|
||||
mock_broadcast_to(self.duck_array, ())
|
||||
|
||||
def time_mock_concatenate_numpy(self):
|
||||
mock_concatenate(self.numpy_arrays, axis=0)
|
||||
|
||||
def time_mock_concatenate_many(self):
|
||||
mock_concatenate(self.many_arrays, axis=0)
|
||||
|
||||
def time_mock_concatenate_duck(self):
|
||||
mock_concatenate(self.duck_arrays, axis=0)
|
||||
|
||||
def time_mock_concatenate_mixed(self):
|
||||
mock_concatenate(self.mixed_arrays, axis=0)
|
|
@ -0,0 +1,184 @@
|
|||
from .common import Benchmark
|
||||
|
||||
import numpy as np
|
||||
|
||||
try:
|
||||
from numpy.random import Generator
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
|
||||
class Random(Benchmark):
|
||||
params = ['normal', 'uniform', 'weibull 1', 'binomial 10 0.5',
|
||||
'poisson 10']
|
||||
|
||||
def setup(self, name):
|
||||
items = name.split()
|
||||
name = items.pop(0)
|
||||
params = [float(x) for x in items]
|
||||
|
||||
self.func = getattr(np.random, name)
|
||||
self.params = tuple(params) + ((100, 100),)
|
||||
|
||||
def time_rng(self, name):
|
||||
self.func(*self.params)
|
||||
|
||||
|
||||
class Shuffle(Benchmark):
|
||||
def setup(self):
|
||||
self.a = np.arange(100000)
|
||||
|
||||
def time_100000(self):
|
||||
np.random.shuffle(self.a)
|
||||
|
||||
|
||||
class Randint(Benchmark):
|
||||
|
||||
def time_randint_fast(self):
|
||||
"""Compare to uint32 below"""
|
||||
np.random.randint(0, 2**30, size=10**5)
|
||||
|
||||
def time_randint_slow(self):
|
||||
"""Compare to uint32 below"""
|
||||
np.random.randint(0, 2**30 + 1, size=10**5)
|
||||
|
||||
|
||||
class Randint_dtype(Benchmark):
|
||||
high = {
|
||||
'bool': 1,
|
||||
'uint8': 2**7,
|
||||
'uint16': 2**15,
|
||||
'uint32': 2**31,
|
||||
'uint64': 2**63
|
||||
}
|
||||
|
||||
param_names = ['dtype']
|
||||
params = ['bool', 'uint8', 'uint16', 'uint32', 'uint64']
|
||||
|
||||
def setup(self, name):
|
||||
from numpy.lib import NumpyVersion
|
||||
if NumpyVersion(np.__version__) < '1.11.0.dev0':
|
||||
raise NotImplementedError
|
||||
|
||||
def time_randint_fast(self, name):
|
||||
high = self.high[name]
|
||||
np.random.randint(0, high, size=10**5, dtype=name)
|
||||
|
||||
def time_randint_slow(self, name):
|
||||
high = self.high[name]
|
||||
np.random.randint(0, high + 1, size=10**5, dtype=name)
|
||||
|
||||
|
||||
class Permutation(Benchmark):
|
||||
def setup(self):
|
||||
self.n = 10000
|
||||
self.a_1d = np.random.random(self.n)
|
||||
self.a_2d = np.random.random((self.n, 2))
|
||||
|
||||
def time_permutation_1d(self):
|
||||
np.random.permutation(self.a_1d)
|
||||
|
||||
def time_permutation_2d(self):
|
||||
np.random.permutation(self.a_2d)
|
||||
|
||||
def time_permutation_int(self):
|
||||
np.random.permutation(self.n)
|
||||
|
||||
nom_size = 100000
|
||||
|
||||
class RNG(Benchmark):
|
||||
param_names = ['rng']
|
||||
params = ['PCG64', 'MT19937', 'Philox', 'SFC64', 'numpy']
|
||||
|
||||
def setup(self, bitgen):
|
||||
if bitgen == 'numpy':
|
||||
self.rg = np.random.RandomState()
|
||||
else:
|
||||
self.rg = Generator(getattr(np.random, bitgen)())
|
||||
self.rg.random()
|
||||
self.int32info = np.iinfo(np.int32)
|
||||
self.uint32info = np.iinfo(np.uint32)
|
||||
self.uint64info = np.iinfo(np.uint64)
|
||||
|
||||
def time_raw(self, bitgen):
|
||||
if bitgen == 'numpy':
|
||||
self.rg.random_integers(self.int32info.max, size=nom_size)
|
||||
else:
|
||||
self.rg.integers(self.int32info.max, size=nom_size, endpoint=True)
|
||||
|
||||
def time_32bit(self, bitgen):
|
||||
min, max = self.uint32info.min, self.uint32info.max
|
||||
if bitgen == 'numpy':
|
||||
self.rg.randint(min, max + 1, nom_size, dtype=np.uint32)
|
||||
else:
|
||||
self.rg.integers(min, max + 1, nom_size, dtype=np.uint32)
|
||||
|
||||
def time_64bit(self, bitgen):
|
||||
min, max = self.uint64info.min, self.uint64info.max
|
||||
if bitgen == 'numpy':
|
||||
self.rg.randint(min, max + 1, nom_size, dtype=np.uint64)
|
||||
else:
|
||||
self.rg.integers(min, max + 1, nom_size, dtype=np.uint64)
|
||||
|
||||
def time_normal_zig(self, bitgen):
|
||||
self.rg.standard_normal(nom_size)
|
||||
|
||||
class Bounded(Benchmark):
|
||||
u8 = np.uint8
|
||||
u16 = np.uint16
|
||||
u32 = np.uint32
|
||||
u64 = np.uint64
|
||||
param_names = ['rng', 'dt_max']
|
||||
params = [['PCG64', 'MT19937', 'Philox', 'SFC64', 'numpy'],
|
||||
[[u8, 95],
|
||||
[u8, 64], # Worst case for legacy
|
||||
[u8, 127], # Best case for legacy
|
||||
[u16, 95],
|
||||
[u16, 1024], # Worst case for legacy
|
||||
[u16, 1535], # Typ. avg. case for legacy
|
||||
[u16, 2047], # Best case for legacy
|
||||
[u32, 1024], # Worst case for legacy
|
||||
[u32, 1535], # Typ. avg. case for legacy
|
||||
[u32, 2047], # Best case for legacy
|
||||
[u64, 95],
|
||||
[u64, 1024], # Worst case for legacy
|
||||
[u64, 1535], # Typ. avg. case for legacy
|
||||
[u64, 2047], # Best case for legacy
|
||||
]]
|
||||
|
||||
def setup(self, bitgen, args):
|
||||
if bitgen == 'numpy':
|
||||
self.rg = np.random.RandomState()
|
||||
else:
|
||||
self.rg = Generator(getattr(np.random, bitgen)())
|
||||
self.rg.random()
|
||||
|
||||
def time_bounded(self, bitgen, args):
|
||||
"""
|
||||
Timer for 8-bit bounded values.
|
||||
|
||||
Parameters (packed as args)
|
||||
----------
|
||||
dt : {uint8, uint16, uint32, unit64}
|
||||
output dtype
|
||||
max : int
|
||||
Upper bound for range. Lower is always 0. Must be <= 2**bits.
|
||||
"""
|
||||
dt, max = args
|
||||
if bitgen == 'numpy':
|
||||
self.rg.randint(0, max + 1, nom_size, dtype=dt)
|
||||
else:
|
||||
self.rg.integers(0, max + 1, nom_size, dtype=dt)
|
||||
|
||||
class Choice(Benchmark):
|
||||
params = [1e3, 1e6, 1e8]
|
||||
|
||||
def setup(self, v):
|
||||
self.a = np.arange(v)
|
||||
self.rng = np.random.default_rng()
|
||||
|
||||
def time_legacy_choice(self, v):
|
||||
np.random.choice(self.a, 1000, replace=False)
|
||||
|
||||
def time_choice(self, v):
|
||||
self.rng.choice(self.a, 1000, replace=False)
|
|
@ -0,0 +1,40 @@
|
|||
from .common import Benchmark
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
class Records(Benchmark):
|
||||
def setup(self):
|
||||
self.l50 = np.arange(1000)
|
||||
self.fields_number = 10000
|
||||
self.arrays = [self.l50 for _ in range(self.fields_number)]
|
||||
self.formats = [self.l50.dtype.str for _ in range(self.fields_number)]
|
||||
self.formats_str = ','.join(self.formats)
|
||||
self.dtype_ = np.dtype(
|
||||
[
|
||||
('field_{}'.format(i), self.l50.dtype.str)
|
||||
for i in range(self.fields_number)
|
||||
]
|
||||
)
|
||||
self.buffer = self.l50.tostring() * self.fields_number
|
||||
|
||||
def time_fromarrays_w_dtype(self):
|
||||
np.core.records.fromarrays(self.arrays, dtype=self.dtype_)
|
||||
|
||||
def time_fromarrays_wo_dtype(self):
|
||||
np.core.records.fromarrays(self.arrays)
|
||||
|
||||
def time_fromarrays_formats_as_list(self):
|
||||
np.core.records.fromarrays(self.arrays, formats=self.formats)
|
||||
|
||||
def time_fromarrays_formats_as_string(self):
|
||||
np.core.records.fromarrays(self.arrays, formats=self.formats_str)
|
||||
|
||||
def time_fromstring_w_dtype(self):
|
||||
np.core.records.fromstring(self.buffer, dtype=self.dtype_)
|
||||
|
||||
def time_fromstring_formats_as_list(self):
|
||||
np.core.records.fromstring(self.buffer, formats=self.formats)
|
||||
|
||||
def time_fromstring_formats_as_string(self):
|
||||
np.core.records.fromstring(self.buffer, formats=self.formats_str)
|
|
@ -0,0 +1,67 @@
|
|||
from .common import Benchmark, TYPES1, get_squares
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
class AddReduce(Benchmark):
|
||||
def setup(self):
|
||||
self.squares = get_squares().values()
|
||||
|
||||
def time_axis_0(self):
|
||||
[np.add.reduce(a, axis=0) for a in self.squares]
|
||||
|
||||
def time_axis_1(self):
|
||||
[np.add.reduce(a, axis=1) for a in self.squares]
|
||||
|
||||
|
||||
class AddReduceSeparate(Benchmark):
|
||||
params = [[0, 1], TYPES1]
|
||||
param_names = ['axis', 'type']
|
||||
|
||||
def setup(self, axis, typename):
|
||||
self.a = get_squares()[typename]
|
||||
|
||||
def time_reduce(self, axis, typename):
|
||||
np.add.reduce(self.a, axis=axis)
|
||||
|
||||
|
||||
class AnyAll(Benchmark):
|
||||
def setup(self):
|
||||
# avoid np.zeros's lazy allocation that would
|
||||
# cause page faults during benchmark
|
||||
self.zeros = np.full(100000, 0, bool)
|
||||
self.ones = np.full(100000, 1, bool)
|
||||
|
||||
def time_all_fast(self):
|
||||
self.zeros.all()
|
||||
|
||||
def time_all_slow(self):
|
||||
self.ones.all()
|
||||
|
||||
def time_any_fast(self):
|
||||
self.ones.any()
|
||||
|
||||
def time_any_slow(self):
|
||||
self.zeros.any()
|
||||
|
||||
|
||||
class MinMax(Benchmark):
|
||||
params = [np.float32, np.float64, np.intp]
|
||||
param_names = ['dtype']
|
||||
|
||||
def setup(self, dtype):
|
||||
self.d = np.ones(20000, dtype=dtype)
|
||||
|
||||
def time_min(self, dtype):
|
||||
np.min(self.d)
|
||||
|
||||
def time_max(self, dtype):
|
||||
np.max(self.d)
|
||||
|
||||
|
||||
class SmallReduction(Benchmark):
|
||||
def setup(self):
|
||||
self.d = np.ones(100, dtype=np.float32)
|
||||
|
||||
def time_small(self):
|
||||
np.sum(self.d)
|
|
@ -0,0 +1,136 @@
|
|||
from .common import Benchmark
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
class Block(Benchmark):
|
||||
params = [1, 10, 100]
|
||||
param_names = ['size']
|
||||
|
||||
def setup(self, n):
|
||||
self.a_2d = np.ones((2 * n, 2 * n))
|
||||
self.b_1d = np.ones(2 * n)
|
||||
self.b_2d = 2 * self.a_2d
|
||||
|
||||
self.a = np.ones(3 * n)
|
||||
self.b = np.ones(3 * n)
|
||||
|
||||
self.one_2d = np.ones((1 * n, 3 * n))
|
||||
self.two_2d = np.ones((1 * n, 3 * n))
|
||||
self.three_2d = np.ones((1 * n, 6 * n))
|
||||
self.four_1d = np.ones(6 * n)
|
||||
self.five_0d = np.ones(1 * n)
|
||||
self.six_1d = np.ones(5 * n)
|
||||
# avoid np.zeros's lazy allocation that might cause
|
||||
# page faults during benchmark
|
||||
self.zero_2d = np.full((2 * n, 6 * n), 0)
|
||||
|
||||
self.one = np.ones(3 * n)
|
||||
self.two = 2 * np.ones((3, 3 * n))
|
||||
self.three = 3 * np.ones(3 * n)
|
||||
self.four = 4 * np.ones(3 * n)
|
||||
self.five = 5 * np.ones(1 * n)
|
||||
self.six = 6 * np.ones(5 * n)
|
||||
# avoid np.zeros's lazy allocation that might cause
|
||||
# page faults during benchmark
|
||||
self.zero = np.full((2 * n, 6 * n), 0)
|
||||
|
||||
def time_block_simple_row_wise(self, n):
|
||||
np.block([self.a_2d, self.b_2d])
|
||||
|
||||
def time_block_simple_column_wise(self, n):
|
||||
np.block([[self.a_2d], [self.b_2d]])
|
||||
|
||||
def time_block_complicated(self, n):
|
||||
np.block([[self.one_2d, self.two_2d],
|
||||
[self.three_2d],
|
||||
[self.four_1d],
|
||||
[self.five_0d, self.six_1d],
|
||||
[self.zero_2d]])
|
||||
|
||||
def time_nested(self, n):
|
||||
np.block([
|
||||
[
|
||||
np.block([
|
||||
[self.one],
|
||||
[self.three],
|
||||
[self.four]
|
||||
]),
|
||||
self.two
|
||||
],
|
||||
[self.five, self.six],
|
||||
[self.zero]
|
||||
])
|
||||
|
||||
def time_no_lists(self, n):
|
||||
np.block(1)
|
||||
np.block(np.eye(3 * n))
|
||||
|
||||
|
||||
class Block2D(Benchmark):
|
||||
params = [[(16, 16), (32, 32), (64, 64), (128, 128), (256, 256), (512, 512), (1024, 1024)],
|
||||
['uint8', 'uint16', 'uint32', 'uint64'],
|
||||
[(2, 2), (4, 4)]]
|
||||
param_names = ['shape', 'dtype', 'n_chunks']
|
||||
|
||||
def setup(self, shape, dtype, n_chunks):
|
||||
|
||||
self.block_list = [
|
||||
[np.full(shape=[s//n_chunk for s, n_chunk in zip(shape, n_chunks)],
|
||||
fill_value=1, dtype=dtype) for _ in range(n_chunks[1])]
|
||||
for _ in range(n_chunks[0])
|
||||
]
|
||||
|
||||
def time_block2d(self, shape, dtype, n_chunks):
|
||||
np.block(self.block_list)
|
||||
|
||||
|
||||
class Block3D(Benchmark):
|
||||
"""This benchmark concatenates an array of size ``(5n)^3``"""
|
||||
# Having copy as a `mode` of the block3D
|
||||
# allows us to directly compare the benchmark of block
|
||||
# to that of a direct memory copy into new buffers with
|
||||
# the ASV framework.
|
||||
# block and copy will be plotted on the same graph
|
||||
# as opposed to being displayed as separate benchmarks
|
||||
params = [[1, 10, 100],
|
||||
['block', 'copy']]
|
||||
param_names = ['n', 'mode']
|
||||
|
||||
def setup(self, n, mode):
|
||||
# Slow setup method: hence separated from the others above
|
||||
self.a000 = np.ones((2 * n, 2 * n, 2 * n), int) * 1
|
||||
|
||||
self.a100 = np.ones((3 * n, 2 * n, 2 * n), int) * 2
|
||||
self.a010 = np.ones((2 * n, 3 * n, 2 * n), int) * 3
|
||||
self.a001 = np.ones((2 * n, 2 * n, 3 * n), int) * 4
|
||||
|
||||
self.a011 = np.ones((2 * n, 3 * n, 3 * n), int) * 5
|
||||
self.a101 = np.ones((3 * n, 2 * n, 3 * n), int) * 6
|
||||
self.a110 = np.ones((3 * n, 3 * n, 2 * n), int) * 7
|
||||
|
||||
self.a111 = np.ones((3 * n, 3 * n, 3 * n), int) * 8
|
||||
|
||||
self.block = [
|
||||
[
|
||||
[self.a000, self.a001],
|
||||
[self.a010, self.a011],
|
||||
],
|
||||
[
|
||||
[self.a100, self.a101],
|
||||
[self.a110, self.a111],
|
||||
]
|
||||
]
|
||||
self.arr_list = [a
|
||||
for two_d in self.block
|
||||
for one_d in two_d
|
||||
for a in one_d]
|
||||
|
||||
def time_3d(self, n, mode):
|
||||
if mode == 'block':
|
||||
np.block(self.block)
|
||||
else: # mode == 'copy'
|
||||
[arr.copy() for arr in self.arr_list]
|
||||
|
||||
# Retain old benchmark name for backward compat
|
||||
time_3d.benchmark_name = "bench_shape_base.Block.time_3d"
|
|
@ -0,0 +1,209 @@
|
|||
from .common import Benchmark, get_squares_
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
ufuncs = ['abs', 'absolute', 'add', 'arccos', 'arccosh', 'arcsin', 'arcsinh',
|
||||
'arctan', 'arctan2', 'arctanh', 'bitwise_and', 'bitwise_not',
|
||||
'bitwise_or', 'bitwise_xor', 'cbrt', 'ceil', 'conj', 'conjugate',
|
||||
'copysign', 'cos', 'cosh', 'deg2rad', 'degrees', 'divide', 'divmod',
|
||||
'equal', 'exp', 'exp2', 'expm1', 'fabs', 'float_power', 'floor',
|
||||
'floor_divide', 'fmax', 'fmin', 'fmod', 'frexp', 'gcd', 'greater',
|
||||
'greater_equal', 'heaviside', 'hypot', 'invert', 'isfinite',
|
||||
'isinf', 'isnan', 'isnat', 'lcm', 'ldexp', 'left_shift', 'less',
|
||||
'less_equal', 'log', 'log10', 'log1p', 'log2', 'logaddexp',
|
||||
'logaddexp2', 'logical_and', 'logical_not', 'logical_or',
|
||||
'logical_xor', 'matmul', 'maximum', 'minimum', 'mod', 'modf', 'multiply',
|
||||
'negative', 'nextafter', 'not_equal', 'positive', 'power',
|
||||
'rad2deg', 'radians', 'reciprocal', 'remainder', 'right_shift',
|
||||
'rint', 'sign', 'signbit', 'sin', 'sinh', 'spacing', 'sqrt',
|
||||
'square', 'subtract', 'tan', 'tanh', 'true_divide', 'trunc']
|
||||
|
||||
|
||||
for name in dir(np):
|
||||
if isinstance(getattr(np, name, None), np.ufunc) and name not in ufuncs:
|
||||
print("Missing ufunc %r" % (name,))
|
||||
|
||||
|
||||
class Broadcast(Benchmark):
|
||||
def setup(self):
|
||||
self.d = np.ones((50000, 100), dtype=np.float64)
|
||||
self.e = np.ones((100,), dtype=np.float64)
|
||||
|
||||
def time_broadcast(self):
|
||||
self.d - self.e
|
||||
|
||||
|
||||
class UFunc(Benchmark):
|
||||
params = [ufuncs]
|
||||
param_names = ['ufunc']
|
||||
timeout = 10
|
||||
|
||||
def setup(self, ufuncname):
|
||||
np.seterr(all='ignore')
|
||||
try:
|
||||
self.f = getattr(np, ufuncname)
|
||||
except AttributeError:
|
||||
raise NotImplementedError()
|
||||
self.args = []
|
||||
for t, a in get_squares_().items():
|
||||
arg = (a,) * self.f.nin
|
||||
try:
|
||||
self.f(*arg)
|
||||
except TypeError:
|
||||
continue
|
||||
self.args.append(arg)
|
||||
|
||||
def time_ufunc_types(self, ufuncname):
|
||||
[self.f(*arg) for arg in self.args]
|
||||
|
||||
|
||||
class Custom(Benchmark):
|
||||
def setup(self):
|
||||
self.b = np.ones(20000, dtype=bool)
|
||||
|
||||
def time_nonzero(self):
|
||||
np.nonzero(self.b)
|
||||
|
||||
def time_not_bool(self):
|
||||
(~self.b)
|
||||
|
||||
def time_and_bool(self):
|
||||
(self.b & self.b)
|
||||
|
||||
def time_or_bool(self):
|
||||
(self.b | self.b)
|
||||
|
||||
|
||||
class CustomInplace(Benchmark):
|
||||
def setup(self):
|
||||
self.c = np.ones(500000, dtype=np.int8)
|
||||
self.i = np.ones(150000, dtype=np.int32)
|
||||
self.f = np.zeros(150000, dtype=np.float32)
|
||||
self.d = np.zeros(75000, dtype=np.float64)
|
||||
# fault memory
|
||||
self.f *= 1.
|
||||
self.d *= 1.
|
||||
|
||||
def time_char_or(self):
|
||||
np.bitwise_or(self.c, 0, out=self.c)
|
||||
np.bitwise_or(0, self.c, out=self.c)
|
||||
|
||||
def time_char_or_temp(self):
|
||||
0 | self.c | 0
|
||||
|
||||
def time_int_or(self):
|
||||
np.bitwise_or(self.i, 0, out=self.i)
|
||||
np.bitwise_or(0, self.i, out=self.i)
|
||||
|
||||
def time_int_or_temp(self):
|
||||
0 | self.i | 0
|
||||
|
||||
def time_float_add(self):
|
||||
np.add(self.f, 1., out=self.f)
|
||||
np.add(1., self.f, out=self.f)
|
||||
|
||||
def time_float_add_temp(self):
|
||||
1. + self.f + 1.
|
||||
|
||||
def time_double_add(self):
|
||||
np.add(self.d, 1., out=self.d)
|
||||
np.add(1., self.d, out=self.d)
|
||||
|
||||
def time_double_add_temp(self):
|
||||
1. + self.d + 1.
|
||||
|
||||
|
||||
class CustomScalar(Benchmark):
|
||||
params = [np.float32, np.float64]
|
||||
param_names = ['dtype']
|
||||
|
||||
def setup(self, dtype):
|
||||
self.d = np.ones(20000, dtype=dtype)
|
||||
|
||||
def time_add_scalar2(self, dtype):
|
||||
np.add(self.d, 1)
|
||||
|
||||
def time_divide_scalar2(self, dtype):
|
||||
np.divide(self.d, 1)
|
||||
|
||||
def time_divide_scalar2_inplace(self, dtype):
|
||||
np.divide(self.d, 1, out=self.d)
|
||||
|
||||
def time_less_than_scalar2(self, dtype):
|
||||
(self.d < 1)
|
||||
|
||||
|
||||
class Scalar(Benchmark):
|
||||
def setup(self):
|
||||
self.x = np.asarray(1.0)
|
||||
self.y = np.asarray((1.0 + 1j))
|
||||
self.z = complex(1.0, 1.0)
|
||||
|
||||
def time_add_scalar(self):
|
||||
(self.x + self.x)
|
||||
|
||||
def time_add_scalar_conv(self):
|
||||
(self.x + 1.0)
|
||||
|
||||
def time_add_scalar_conv_complex(self):
|
||||
(self.y + self.z)
|
||||
|
||||
|
||||
class ArgPack:
|
||||
__slots__ = ['args', 'kwargs']
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.args = args
|
||||
self.kwargs = kwargs
|
||||
def __repr__(self):
|
||||
return '({})'.format(', '.join(
|
||||
[repr(a) for a in self.args] +
|
||||
['{}={}'.format(k, repr(v)) for k, v in self.kwargs.items()]
|
||||
))
|
||||
|
||||
|
||||
class ArgParsing(Benchmark):
|
||||
# In order to benchmark the speed of argument parsing, all but the
|
||||
# out arguments are chosen such that they have no effect on the
|
||||
# calculation. In particular, subok=True and where=True are
|
||||
# defaults, and the dtype is the correct one (the latter will
|
||||
# still have some effect on the search for the correct inner loop).
|
||||
x = np.array(1.)
|
||||
y = np.array(2.)
|
||||
out = np.array(3.)
|
||||
param_names = ['arg_kwarg']
|
||||
params = [[
|
||||
ArgPack(x, y),
|
||||
ArgPack(x, y, out),
|
||||
ArgPack(x, y, out=out),
|
||||
ArgPack(x, y, out=(out,)),
|
||||
ArgPack(x, y, out=out, subok=True, where=True),
|
||||
ArgPack(x, y, subok=True),
|
||||
ArgPack(x, y, subok=True, where=True),
|
||||
ArgPack(x, y, out, subok=True, where=True)
|
||||
]]
|
||||
|
||||
def time_add_arg_parsing(self, arg_pack):
|
||||
np.add(*arg_pack.args, **arg_pack.kwargs)
|
||||
|
||||
|
||||
class ArgParsingReduce(Benchmark):
|
||||
# In order to benchmark the speed of argument parsing, all but the
|
||||
# out arguments are chosen such that they have minimal effect on the
|
||||
# calculation.
|
||||
a = np.arange(2.)
|
||||
out = np.array(0.)
|
||||
param_names = ['arg_kwarg']
|
||||
params = [[
|
||||
ArgPack(a,),
|
||||
ArgPack(a, 0),
|
||||
ArgPack(a, axis=0),
|
||||
ArgPack(a, 0, None),
|
||||
ArgPack(a, axis=0, dtype=None),
|
||||
ArgPack(a, 0, None, out),
|
||||
ArgPack(a, axis=0, dtype=None, out=out),
|
||||
ArgPack(a, out=out)
|
||||
]]
|
||||
|
||||
def time_add_reduce_arg_parsing(self, arg_pack):
|
||||
np.add.reduce(*arg_pack.args, **arg_pack.kwargs)
|
|
@ -0,0 +1,114 @@
|
|||
import numpy
|
||||
import random
|
||||
|
||||
# Various pre-crafted datasets/variables for testing
|
||||
# !!! Must not be changed -- only appended !!!
|
||||
# while testing numpy we better not rely on numpy to produce random
|
||||
# sequences
|
||||
random.seed(1)
|
||||
# but will seed it nevertheless
|
||||
numpy.random.seed(1)
|
||||
|
||||
nx, ny = 1000, 1000
|
||||
# reduced squares based on indexes_rand, primarily for testing more
|
||||
# time-consuming functions (ufunc, linalg, etc)
|
||||
nxs, nys = 100, 100
|
||||
|
||||
# a set of interesting types to test
|
||||
TYPES1 = [
|
||||
'int16', 'float16',
|
||||
'int32', 'float32',
|
||||
'int64', 'float64', 'complex64',
|
||||
'longfloat', 'complex128',
|
||||
]
|
||||
if 'complex256' in numpy.typeDict:
|
||||
TYPES1.append('complex256')
|
||||
|
||||
|
||||
def memoize(func):
|
||||
result = []
|
||||
def wrapper():
|
||||
if not result:
|
||||
result.append(func())
|
||||
return result[0]
|
||||
return wrapper
|
||||
|
||||
|
||||
# values which will be used to construct our sample data matrices
|
||||
# replicate 10 times to speed up initial imports of this helper
|
||||
# and generate some redundancy
|
||||
|
||||
@memoize
|
||||
def get_values():
|
||||
rnd = numpy.random.RandomState(1)
|
||||
values = numpy.tile(rnd.uniform(0, 100, size=nx*ny//10), 10)
|
||||
return values
|
||||
|
||||
|
||||
@memoize
|
||||
def get_squares():
|
||||
values = get_values()
|
||||
squares = {t: numpy.array(values,
|
||||
dtype=getattr(numpy, t)).reshape((nx, ny))
|
||||
for t in TYPES1}
|
||||
|
||||
# adjust complex ones to have non-degenerated imagery part -- use
|
||||
# original data transposed for that
|
||||
for t, v in squares.items():
|
||||
if t.startswith('complex'):
|
||||
v += v.T*1j
|
||||
return squares
|
||||
|
||||
|
||||
@memoize
|
||||
def get_squares_():
|
||||
# smaller squares
|
||||
squares_ = {t: s[:nxs, :nys] for t, s in get_squares().items()}
|
||||
return squares_
|
||||
|
||||
|
||||
@memoize
|
||||
def get_vectors():
|
||||
# vectors
|
||||
vectors = {t: s[0] for t, s in get_squares().items()}
|
||||
return vectors
|
||||
|
||||
|
||||
@memoize
|
||||
def get_indexes():
|
||||
indexes = list(range(nx))
|
||||
# so we do not have all items
|
||||
indexes.pop(5)
|
||||
indexes.pop(95)
|
||||
|
||||
indexes = numpy.array(indexes)
|
||||
return indexes
|
||||
|
||||
|
||||
@memoize
|
||||
def get_indexes_rand():
|
||||
rnd = random.Random(1)
|
||||
|
||||
indexes_rand = get_indexes().tolist() # copy
|
||||
rnd.shuffle(indexes_rand) # in-place shuffle
|
||||
indexes_rand = numpy.array(indexes_rand)
|
||||
return indexes_rand
|
||||
|
||||
|
||||
@memoize
|
||||
def get_indexes_():
|
||||
# smaller versions
|
||||
indexes = get_indexes()
|
||||
indexes_ = indexes[indexes < nxs]
|
||||
return indexes_
|
||||
|
||||
|
||||
@memoize
|
||||
def get_indexes_rand_():
|
||||
indexes_rand = get_indexes_rand()
|
||||
indexes_rand_ = indexes_rand[indexes_rand < nxs]
|
||||
return indexes_rand_
|
||||
|
||||
|
||||
class Benchmark:
|
||||
goal_time = 0.25
|
|
@ -0,0 +1,211 @@
|
|||
===================
|
||||
NumPy C Style Guide
|
||||
===================
|
||||
|
||||
The NumPy C coding conventions are based on Python PEP-0007 by Guido van
|
||||
Rossum with a few added strictures. There are many C coding conventions and
|
||||
it must be emphasized that the primary goal of the NumPy conventions isn't
|
||||
to choose the 'best', about which there is certain to be disagreement, but
|
||||
to achieve uniformity. Because the NumPy conventions are very close to
|
||||
those in PEP-0007, that PEP is used as a template below with the NumPy
|
||||
additions and variations in the appropriate spots.
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
This document gives coding conventions for the C code comprising
|
||||
the C implementation of NumPy. Note, rules are there to be broken.
|
||||
Two good reasons to break a particular rule:
|
||||
|
||||
1. When applying the rule would make the code less readable, even
|
||||
for someone who is used to reading code that follows the rules.
|
||||
|
||||
2. To be consistent with surrounding code that also breaks it
|
||||
(maybe for historic reasons) -- although this is also an
|
||||
opportunity to clean up someone else's mess.
|
||||
|
||||
|
||||
C dialect
|
||||
---------
|
||||
|
||||
* Use C99 (that is, the standard defined by ISO/IEC 9899:1999).
|
||||
|
||||
* Don't use GCC extensions (e.g. don't write multi-line strings
|
||||
without trailing backslashes). Preferably break long strings
|
||||
up onto separate lines like so::
|
||||
|
||||
"blah blah"
|
||||
"blah blah"
|
||||
|
||||
This will work with MSVC, which otherwise chokes on very long
|
||||
strings.
|
||||
|
||||
* All function declarations and definitions must use full
|
||||
prototypes (i.e. specify the types of all arguments).
|
||||
|
||||
* No compiler warnings with major compilers (gcc, VC++, a few others).
|
||||
Note: NumPy still produces compiler warnings that need to be addressed.
|
||||
|
||||
|
||||
Code lay-out
|
||||
------------
|
||||
|
||||
* Use 4-space indents and no tabs at all.
|
||||
|
||||
* No line should be longer than 80 characters. If this and the
|
||||
previous rule together don't give you enough room to code, your code is
|
||||
too complicated, consider using subroutines.
|
||||
|
||||
* No line should end in whitespace. If you think you need
|
||||
significant trailing whitespace, think again, somebody's editor might
|
||||
delete it as a matter of routine.
|
||||
|
||||
* Function definition style: function name in column 1, outermost
|
||||
curly braces in column 1, blank line after local variable declarations::
|
||||
|
||||
static int
|
||||
extra_ivars(PyTypeObject *type, PyTypeObject *base)
|
||||
{
|
||||
int t_size = PyType_BASICSIZE(type);
|
||||
int b_size = PyType_BASICSIZE(base);
|
||||
|
||||
assert(t_size >= b_size); /* type smaller than base! */
|
||||
...
|
||||
return 1;
|
||||
}
|
||||
|
||||
If the transition to C++ goes through it is possible that this form will
|
||||
be relaxed so that short class methods meant to be inlined can have the
|
||||
return type on the same line as the function name. However, that is yet to
|
||||
be determined.
|
||||
|
||||
* Code structure: one space between keywords like ``if``, ``for`` and
|
||||
the following left parenthesis; no spaces inside the parenthesis; braces
|
||||
around all ``if`` branches and no statements on the same line as the
|
||||
``if``. They should be formatted as shown::
|
||||
|
||||
if (mro != NULL) {
|
||||
one_line_statement;
|
||||
}
|
||||
else {
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
one_line_statement;
|
||||
}
|
||||
|
||||
|
||||
while (isstuff) {
|
||||
dostuff;
|
||||
}
|
||||
|
||||
|
||||
do {
|
||||
stuff;
|
||||
} while (isstuff);
|
||||
|
||||
|
||||
switch (kind) {
|
||||
/* Boolean kind */
|
||||
case 'b':
|
||||
return 0;
|
||||
/* Unsigned int kind */
|
||||
case 'u':
|
||||
...
|
||||
/* Anything else */
|
||||
default:
|
||||
return 3;
|
||||
}
|
||||
|
||||
|
||||
* The return statement should *not* get redundant parentheses::
|
||||
|
||||
return Py_None; /* correct */
|
||||
return(Py_None); /* incorrect */
|
||||
|
||||
* Function and macro call style: ``foo(a, b, c)``, no space before
|
||||
the open paren, no spaces inside the parens, no spaces before
|
||||
commas, one space after each comma.
|
||||
|
||||
* Always put spaces around the assignment, Boolean and comparison
|
||||
operators. In expressions using a lot of operators, add spaces
|
||||
around the outermost (lowest priority) operators.
|
||||
|
||||
* Breaking long lines: if you can, break after commas in the
|
||||
outermost argument list. Always indent continuation lines
|
||||
appropriately, e.g., ::
|
||||
|
||||
PyErr_SetString(PyExc_TypeError,
|
||||
"Oh dear, you messed up.");
|
||||
|
||||
Here appropriately means at least two tabs. It isn't necessary to
|
||||
line everything up with the opening parenthesis of the function
|
||||
call.
|
||||
|
||||
* When you break a long expression at a binary operator, the
|
||||
operator goes at the end of the previous line, e.g., ::
|
||||
|
||||
if (type > tp_dictoffset != 0 &&
|
||||
base > tp_dictoffset == 0 &&
|
||||
type > tp_dictoffset == b_size &&
|
||||
(size_t)t_size == b_size + sizeof(PyObject *)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
Note that the terms in the multi-line Boolean expression are indented so
|
||||
as to make the beginning of the code block clearly visible.
|
||||
|
||||
* Put blank lines around functions, structure definitions, and
|
||||
major sections inside functions.
|
||||
|
||||
* Comments go before the code they describe. Multi-line comments should
|
||||
be like so::
|
||||
|
||||
/*
|
||||
* This would be a long
|
||||
* explanatory comment.
|
||||
*/
|
||||
|
||||
Trailing comments should be used sparingly. Instead of ::
|
||||
|
||||
if (yes) { // Success!
|
||||
|
||||
do ::
|
||||
|
||||
if (yes) {
|
||||
// Success!
|
||||
|
||||
* All functions and global variables should be declared static
|
||||
when they aren't needed outside the current compilation unit.
|
||||
|
||||
* Declare external functions and variables in a header file.
|
||||
|
||||
|
||||
Naming conventions
|
||||
------------------
|
||||
|
||||
* There has been no consistent prefix for NumPy public functions, but
|
||||
they all begin with a prefix of some sort, followed by an underscore, and
|
||||
are in camel case: ``PyArray_DescrAlignConverter``, ``NpyIter_GetIterNext``.
|
||||
In the future the names should be of the form ``Npy*_PublicFunction``,
|
||||
where the star is something appropriate.
|
||||
|
||||
* Public Macros should have a ``NPY_`` prefix and then use upper case,
|
||||
for example, ``NPY_DOUBLE``.
|
||||
|
||||
* Private functions should be lower case with underscores, for example:
|
||||
``array_real_get``. Single leading underscores should not be used, but
|
||||
some current function names violate that rule due to historical accident.
|
||||
Those functions should be renamed at some point.
|
||||
|
||||
|
||||
Function documentation
|
||||
----------------------
|
||||
|
||||
NumPy doesn't have a C function documentation standard at this time, but
|
||||
needs one. Most numpy functions are not documented in the code and that
|
||||
should change. One possibility is Doxygen with a plugin so that the same
|
||||
NumPy style used for Python functions can also be used for documenting
|
||||
C functions, see the files in doc/cdoc/.
|
|
@ -0,0 +1,626 @@
|
|||
.. -*- rest -*-
|
||||
|
||||
NumPy Distutils - Users Guide
|
||||
=============================
|
||||
|
||||
.. contents::
|
||||
|
||||
SciPy structure
|
||||
'''''''''''''''
|
||||
|
||||
Currently SciPy project consists of two packages:
|
||||
|
||||
- NumPy --- it provides packages like:
|
||||
|
||||
+ numpy.distutils - extension to Python distutils
|
||||
+ numpy.f2py - a tool to bind Fortran/C codes to Python
|
||||
+ numpy.core - future replacement of Numeric and numarray packages
|
||||
+ numpy.lib - extra utility functions
|
||||
+ numpy.testing - numpy-style tools for unit testing
|
||||
+ etc
|
||||
|
||||
- SciPy --- a collection of scientific tools for Python.
|
||||
|
||||
The aim of this document is to describe how to add new tools to SciPy.
|
||||
|
||||
|
||||
Requirements for SciPy packages
|
||||
'''''''''''''''''''''''''''''''
|
||||
|
||||
SciPy consists of Python packages, called SciPy packages, that are
|
||||
available to Python users via the ``scipy`` namespace. Each SciPy package
|
||||
may contain other SciPy packages. And so on. Therefore, the SciPy
|
||||
directory tree is a tree of packages with arbitrary depth and width.
|
||||
Any SciPy package may depend on NumPy packages but the dependence on other
|
||||
SciPy packages should be kept minimal or zero.
|
||||
|
||||
A SciPy package contains, in addition to its sources, the following
|
||||
files and directories:
|
||||
|
||||
+ ``setup.py`` --- building script
|
||||
+ ``__init__.py`` --- package initializer
|
||||
+ ``tests/`` --- directory of unittests
|
||||
|
||||
Their contents are described below.
|
||||
|
||||
The ``setup.py`` file
|
||||
'''''''''''''''''''''
|
||||
|
||||
In order to add a Python package to SciPy, its build script (``setup.py``)
|
||||
must meet certain requirements. The most important requirement is that the
|
||||
package define a ``configuration(parent_package='',top_path=None)`` function
|
||||
which returns a dictionary suitable for passing to
|
||||
``numpy.distutils.core.setup(..)``. To simplify the construction of
|
||||
this dictionary, ``numpy.distutils.misc_util`` provides the
|
||||
``Configuration`` class, described below.
|
||||
|
||||
SciPy pure Python package example
|
||||
---------------------------------
|
||||
|
||||
Below is an example of a minimal ``setup.py`` file for a pure SciPy package::
|
||||
|
||||
#!/usr/bin/env python3
|
||||
def configuration(parent_package='',top_path=None):
|
||||
from numpy.distutils.misc_util import Configuration
|
||||
config = Configuration('mypackage',parent_package,top_path)
|
||||
return config
|
||||
|
||||
if __name__ == "__main__":
|
||||
from numpy.distutils.core import setup
|
||||
#setup(**configuration(top_path='').todict())
|
||||
setup(configuration=configuration)
|
||||
|
||||
The arguments of the ``configuration`` function specify the name of
|
||||
parent SciPy package (``parent_package``) and the directory location
|
||||
of the main ``setup.py`` script (``top_path``). These arguments,
|
||||
along with the name of the current package, should be passed to the
|
||||
``Configuration`` constructor.
|
||||
|
||||
The ``Configuration`` constructor has a fourth optional argument,
|
||||
``package_path``, that can be used when package files are located in
|
||||
a different location than the directory of the ``setup.py`` file.
|
||||
|
||||
Remaining ``Configuration`` arguments are all keyword arguments that will
|
||||
be used to initialize attributes of ``Configuration``
|
||||
instance. Usually, these keywords are the same as the ones that
|
||||
``setup(..)`` function would expect, for example, ``packages``,
|
||||
``ext_modules``, ``data_files``, ``include_dirs``, ``libraries``,
|
||||
``headers``, ``scripts``, ``package_dir``, etc. However, the direct
|
||||
specification of these keywords is not recommended as the content of
|
||||
these keyword arguments will not be processed or checked for the
|
||||
consistency of SciPy building system.
|
||||
|
||||
Finally, ``Configuration`` has ``.todict()`` method that returns all
|
||||
the configuration data as a dictionary suitable for passing on to the
|
||||
``setup(..)`` function.
|
||||
|
||||
``Configuration`` instance attributes
|
||||
-------------------------------------
|
||||
|
||||
In addition to attributes that can be specified via keyword arguments
|
||||
to ``Configuration`` constructor, ``Configuration`` instance (let us
|
||||
denote as ``config``) has the following attributes that can be useful
|
||||
in writing setup scripts:
|
||||
|
||||
+ ``config.name`` - full name of the current package. The names of parent
|
||||
packages can be extracted as ``config.name.split('.')``.
|
||||
|
||||
+ ``config.local_path`` - path to the location of current ``setup.py`` file.
|
||||
|
||||
+ ``config.top_path`` - path to the location of main ``setup.py`` file.
|
||||
|
||||
``Configuration`` instance methods
|
||||
----------------------------------
|
||||
|
||||
+ ``config.todict()`` --- returns configuration dictionary suitable for
|
||||
passing to ``numpy.distutils.core.setup(..)`` function.
|
||||
|
||||
+ ``config.paths(*paths) --- applies ``glob.glob(..)`` to items of
|
||||
``paths`` if necessary. Fixes ``paths`` item that is relative to
|
||||
``config.local_path``.
|
||||
|
||||
+ ``config.get_subpackage(subpackage_name,subpackage_path=None)`` ---
|
||||
returns a list of subpackage configurations. Subpackage is looked in the
|
||||
current directory under the name ``subpackage_name`` but the path
|
||||
can be specified also via optional ``subpackage_path`` argument.
|
||||
If ``subpackage_name`` is specified as ``None`` then the subpackage
|
||||
name will be taken the basename of ``subpackage_path``.
|
||||
Any ``*`` used for subpackage names are expanded as wildcards.
|
||||
|
||||
+ ``config.add_subpackage(subpackage_name,subpackage_path=None)`` ---
|
||||
add SciPy subpackage configuration to the current one. The meaning
|
||||
and usage of arguments is explained above, see
|
||||
``config.get_subpackage()`` method.
|
||||
|
||||
+ ``config.add_data_files(*files)`` --- prepend ``files`` to ``data_files``
|
||||
list. If ``files`` item is a tuple then its first element defines
|
||||
the suffix of where data files are copied relative to package installation
|
||||
directory and the second element specifies the path to data
|
||||
files. By default data files are copied under package installation
|
||||
directory. For example,
|
||||
|
||||
::
|
||||
|
||||
config.add_data_files('foo.dat',
|
||||
('fun',['gun.dat','nun/pun.dat','/tmp/sun.dat']),
|
||||
'bar/car.dat'.
|
||||
'/full/path/to/can.dat',
|
||||
)
|
||||
|
||||
will install data files to the following locations
|
||||
|
||||
::
|
||||
|
||||
<installation path of config.name package>/
|
||||
foo.dat
|
||||
fun/
|
||||
gun.dat
|
||||
pun.dat
|
||||
sun.dat
|
||||
bar/
|
||||
car.dat
|
||||
can.dat
|
||||
|
||||
Path to data files can be a function taking no arguments and
|
||||
returning path(s) to data files -- this is a useful when data files
|
||||
are generated while building the package. (XXX: explain the step
|
||||
when this function are called exactly)
|
||||
|
||||
+ ``config.add_data_dir(data_path)`` --- add directory ``data_path``
|
||||
recursively to ``data_files``. The whole directory tree starting at
|
||||
``data_path`` will be copied under package installation directory.
|
||||
If ``data_path`` is a tuple then its first element defines
|
||||
the suffix of where data files are copied relative to package installation
|
||||
directory and the second element specifies the path to data directory.
|
||||
By default, data directory are copied under package installation
|
||||
directory under the basename of ``data_path``. For example,
|
||||
|
||||
::
|
||||
|
||||
config.add_data_dir('fun') # fun/ contains foo.dat bar/car.dat
|
||||
config.add_data_dir(('sun','fun'))
|
||||
config.add_data_dir(('gun','/full/path/to/fun'))
|
||||
|
||||
will install data files to the following locations
|
||||
|
||||
::
|
||||
|
||||
<installation path of config.name package>/
|
||||
fun/
|
||||
foo.dat
|
||||
bar/
|
||||
car.dat
|
||||
sun/
|
||||
foo.dat
|
||||
bar/
|
||||
car.dat
|
||||
gun/
|
||||
foo.dat
|
||||
bar/
|
||||
car.dat
|
||||
|
||||
+ ``config.add_include_dirs(*paths)`` --- prepend ``paths`` to
|
||||
``include_dirs`` list. This list will be visible to all extension
|
||||
modules of the current package.
|
||||
|
||||
+ ``config.add_headers(*files)`` --- prepend ``files`` to ``headers``
|
||||
list. By default, headers will be installed under
|
||||
``<prefix>/include/pythonX.X/<config.name.replace('.','/')>/``
|
||||
directory. If ``files`` item is a tuple then it's first argument
|
||||
specifies the installation suffix relative to
|
||||
``<prefix>/include/pythonX.X/`` path. This is a Python distutils
|
||||
method; its use is discouraged for NumPy and SciPy in favour of
|
||||
``config.add_data_files(*files)``.
|
||||
|
||||
+ ``config.add_scripts(*files)`` --- prepend ``files`` to ``scripts``
|
||||
list. Scripts will be installed under ``<prefix>/bin/`` directory.
|
||||
|
||||
+ ``config.add_extension(name,sources,**kw)`` --- create and add an
|
||||
``Extension`` instance to ``ext_modules`` list. The first argument
|
||||
``name`` defines the name of the extension module that will be
|
||||
installed under ``config.name`` package. The second argument is
|
||||
a list of sources. ``add_extension`` method takes also keyword
|
||||
arguments that are passed on to the ``Extension`` constructor.
|
||||
The list of allowed keywords is the following: ``include_dirs``,
|
||||
``define_macros``, ``undef_macros``, ``library_dirs``, ``libraries``,
|
||||
``runtime_library_dirs``, ``extra_objects``, ``extra_compile_args``,
|
||||
``extra_link_args``, ``export_symbols``, ``swig_opts``, ``depends``,
|
||||
``language``, ``f2py_options``, ``module_dirs``, ``extra_info``,
|
||||
``extra_f77_compile_args``, ``extra_f90_compile_args``.
|
||||
|
||||
Note that ``config.paths`` method is applied to all lists that
|
||||
may contain paths. ``extra_info`` is a dictionary or a list
|
||||
of dictionaries that content will be appended to keyword arguments.
|
||||
The list ``depends`` contains paths to files or directories
|
||||
that the sources of the extension module depend on. If any path
|
||||
in the ``depends`` list is newer than the extension module, then
|
||||
the module will be rebuilt.
|
||||
|
||||
The list of sources may contain functions ('source generators')
|
||||
with a pattern ``def <funcname>(ext, build_dir): return
|
||||
<source(s) or None>``. If ``funcname`` returns ``None``, no sources
|
||||
are generated. And if the ``Extension`` instance has no sources
|
||||
after processing all source generators, no extension module will
|
||||
be built. This is the recommended way to conditionally define
|
||||
extension modules. Source generator functions are called by the
|
||||
``build_src`` sub-command of ``numpy.distutils``.
|
||||
|
||||
For example, here is a typical source generator function::
|
||||
|
||||
def generate_source(ext,build_dir):
|
||||
import os
|
||||
from distutils.dep_util import newer
|
||||
target = os.path.join(build_dir,'somesource.c')
|
||||
if newer(target,__file__):
|
||||
# create target file
|
||||
return target
|
||||
|
||||
The first argument contains the Extension instance that can be
|
||||
useful to access its attributes like ``depends``, ``sources``,
|
||||
etc. lists and modify them during the building process.
|
||||
The second argument gives a path to a build directory that must
|
||||
be used when creating files to a disk.
|
||||
|
||||
+ ``config.add_library(name, sources, **build_info)`` --- add a
|
||||
library to ``libraries`` list. Allowed keywords arguments are
|
||||
``depends``, ``macros``, ``include_dirs``, ``extra_compiler_args``,
|
||||
``f2py_options``, ``extra_f77_compile_args``,
|
||||
``extra_f90_compile_args``. See ``.add_extension()`` method for
|
||||
more information on arguments.
|
||||
|
||||
+ ``config.have_f77c()`` --- return True if Fortran 77 compiler is
|
||||
available (read: a simple Fortran 77 code compiled successfully).
|
||||
|
||||
+ ``config.have_f90c()`` --- return True if Fortran 90 compiler is
|
||||
available (read: a simple Fortran 90 code compiled successfully).
|
||||
|
||||
+ ``config.get_version()`` --- return version string of the current package,
|
||||
``None`` if version information could not be detected. This methods
|
||||
scans files ``__version__.py``, ``<packagename>_version.py``,
|
||||
``version.py``, ``__svn_version__.py`` for string variables
|
||||
``version``, ``__version__``, ``<packagename>_version``.
|
||||
|
||||
+ ``config.make_svn_version_py()`` --- appends a data function to
|
||||
``data_files`` list that will generate ``__svn_version__.py`` file
|
||||
to the current package directory. The file will be removed from
|
||||
the source directory when Python exits.
|
||||
|
||||
+ ``config.get_build_temp_dir()`` --- return a path to a temporary
|
||||
directory. This is the place where one should build temporary
|
||||
files.
|
||||
|
||||
+ ``config.get_distribution()`` --- return distutils ``Distribution``
|
||||
instance.
|
||||
|
||||
+ ``config.get_config_cmd()`` --- returns ``numpy.distutils`` config
|
||||
command instance.
|
||||
|
||||
+ ``config.get_info(*names)`` ---
|
||||
|
||||
|
||||
.. _templating:
|
||||
|
||||
Conversion of ``.src`` files using Templates
|
||||
--------------------------------------------
|
||||
|
||||
NumPy distutils supports automatic conversion of source files named
|
||||
<somefile>.src. This facility can be used to maintain very similar
|
||||
code blocks requiring only simple changes between blocks. During the
|
||||
build phase of setup, if a template file named <somefile>.src is
|
||||
encountered, a new file named <somefile> is constructed from the
|
||||
template and placed in the build directory to be used instead. Two
|
||||
forms of template conversion are supported. The first form occurs for
|
||||
files named <file>.ext.src where ext is a recognized Fortran
|
||||
extension (f, f90, f95, f77, for, ftn, pyf). The second form is used
|
||||
for all other cases.
|
||||
|
||||
.. index::
|
||||
single: code generation
|
||||
|
||||
Fortran files
|
||||
-------------
|
||||
|
||||
This template converter will replicate all **function** and
|
||||
**subroutine** blocks in the file with names that contain '<...>'
|
||||
according to the rules in '<...>'. The number of comma-separated words
|
||||
in '<...>' determines the number of times the block is repeated. What
|
||||
these words are indicates what that repeat rule, '<...>', should be
|
||||
replaced with in each block. All of the repeat rules in a block must
|
||||
contain the same number of comma-separated words indicating the number
|
||||
of times that block should be repeated. If the word in the repeat rule
|
||||
needs a comma, leftarrow, or rightarrow, then prepend it with a
|
||||
backslash ' \'. If a word in the repeat rule matches ' \\<index>' then
|
||||
it will be replaced with the <index>-th word in the same repeat
|
||||
specification. There are two forms for the repeat rule: named and
|
||||
short.
|
||||
|
||||
Named repeat rule
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
A named repeat rule is useful when the same set of repeats must be
|
||||
used several times in a block. It is specified using <rule1=item1,
|
||||
item2, item3,..., itemN>, where N is the number of times the block
|
||||
should be repeated. On each repeat of the block, the entire
|
||||
expression, '<...>' will be replaced first with item1, and then with
|
||||
item2, and so forth until N repeats are accomplished. Once a named
|
||||
repeat specification has been introduced, the same repeat rule may be
|
||||
used **in the current block** by referring only to the name
|
||||
(i.e. <rule1>).
|
||||
|
||||
|
||||
Short repeat rule
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
A short repeat rule looks like <item1, item2, item3, ..., itemN>. The
|
||||
rule specifies that the entire expression, '<...>' should be replaced
|
||||
first with item1, and then with item2, and so forth until N repeats
|
||||
are accomplished.
|
||||
|
||||
|
||||
Pre-defined names
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
The following predefined named repeat rules are available:
|
||||
|
||||
- <prefix=s,d,c,z>
|
||||
|
||||
- <_c=s,d,c,z>
|
||||
|
||||
- <_t=real, double precision, complex, double complex>
|
||||
|
||||
- <ftype=real, double precision, complex, double complex>
|
||||
|
||||
- <ctype=float, double, complex_float, complex_double>
|
||||
|
||||
- <ftypereal=float, double precision, \\0, \\1>
|
||||
|
||||
- <ctypereal=float, double, \\0, \\1>
|
||||
|
||||
|
||||
Other files
|
||||
------------
|
||||
|
||||
Non-Fortran files use a separate syntax for defining template blocks
|
||||
that should be repeated using a variable expansion similar to the
|
||||
named repeat rules of the Fortran-specific repeats.
|
||||
|
||||
NumPy Distutils preprocesses C source files (extension: :file:`.c.src`) written
|
||||
in a custom templating language to generate C code. The :c:data:`@` symbol is
|
||||
used to wrap macro-style variables to empower a string substitution mechanism
|
||||
that might describe (for instance) a set of data types.
|
||||
|
||||
The template language blocks are delimited by :c:data:`/**begin repeat`
|
||||
and :c:data:`/**end repeat**/` lines, which may also be nested using
|
||||
consecutively numbered delimiting lines such as :c:data:`/**begin repeat1`
|
||||
and :c:data:`/**end repeat1**/`:
|
||||
|
||||
1. "/\**begin repeat "on a line by itself marks the beginning of
|
||||
a segment that should be repeated.
|
||||
|
||||
2. Named variable expansions are defined using ``#name=item1, item2, item3,
|
||||
..., itemN#`` and placed on successive lines. These variables are
|
||||
replaced in each repeat block with corresponding word. All named
|
||||
variables in the same repeat block must define the same number of
|
||||
words.
|
||||
|
||||
3. In specifying the repeat rule for a named variable, ``item*N`` is short-
|
||||
hand for ``item, item, ..., item`` repeated N times. In addition,
|
||||
parenthesis in combination with \*N can be used for grouping several
|
||||
items that should be repeated. Thus, #name=(item1, item2)*4# is
|
||||
equivalent to #name=item1, item2, item1, item2, item1, item2, item1,
|
||||
item2#
|
||||
|
||||
4. "\*/ "on a line by itself marks the end of the variable expansion
|
||||
naming. The next line is the first line that will be repeated using
|
||||
the named rules.
|
||||
|
||||
5. Inside the block to be repeated, the variables that should be expanded
|
||||
are specified as ``@name@``
|
||||
|
||||
6. "/\**end repeat**/ "on a line by itself marks the previous line
|
||||
as the last line of the block to be repeated.
|
||||
|
||||
7. A loop in the NumPy C source code may have a ``@TYPE@`` variable, targeted
|
||||
for string substitution, which is preprocessed to a number of otherwise
|
||||
identical loops with several strings such as INT, LONG, UINT, ULONG. The
|
||||
``@TYPE@`` style syntax thus reduces code duplication and maintenance burden by
|
||||
mimicking languages that have generic type support.
|
||||
|
||||
The above rules may be clearer in the following template source example:
|
||||
|
||||
.. code-block:: NumPyC
|
||||
:linenos:
|
||||
:emphasize-lines: 3, 13, 29, 31
|
||||
|
||||
/* TIMEDELTA to non-float types */
|
||||
|
||||
/**begin repeat
|
||||
*
|
||||
* #TOTYPE = BYTE, UBYTE, SHORT, USHORT, INT, UINT, LONG, ULONG,
|
||||
* LONGLONG, ULONGLONG, DATETIME,
|
||||
* TIMEDELTA#
|
||||
* #totype = npy_byte, npy_ubyte, npy_short, npy_ushort, npy_int, npy_uint,
|
||||
* npy_long, npy_ulong, npy_longlong, npy_ulonglong,
|
||||
* npy_datetime, npy_timedelta#
|
||||
*/
|
||||
|
||||
/**begin repeat1
|
||||
*
|
||||
* #FROMTYPE = TIMEDELTA#
|
||||
* #fromtype = npy_timedelta#
|
||||
*/
|
||||
static void
|
||||
@FROMTYPE@_to_@TOTYPE@(void *input, void *output, npy_intp n,
|
||||
void *NPY_UNUSED(aip), void *NPY_UNUSED(aop))
|
||||
{
|
||||
const @fromtype@ *ip = input;
|
||||
@totype@ *op = output;
|
||||
|
||||
while (n--) {
|
||||
*op++ = (@totype@)*ip++;
|
||||
}
|
||||
}
|
||||
/**end repeat1**/
|
||||
|
||||
/**end repeat**/
|
||||
|
||||
The preprocessing of generically typed C source files (whether in NumPy
|
||||
proper or in any third party package using NumPy Distutils) is performed
|
||||
by `conv_template.py`_.
|
||||
The type specific C files generated (extension: .c)
|
||||
by these modules during the build process are ready to be compiled. This
|
||||
form of generic typing is also supported for C header files (preprocessed
|
||||
to produce .h files).
|
||||
|
||||
.. _conv_template.py: https://github.com/numpy/numpy/blob/master/numpy/distutils/conv_template.py
|
||||
|
||||
Useful functions in ``numpy.distutils.misc_util``
|
||||
-------------------------------------------------
|
||||
|
||||
+ ``get_numpy_include_dirs()`` --- return a list of NumPy base
|
||||
include directories. NumPy base include directories contain
|
||||
header files such as ``numpy/arrayobject.h``, ``numpy/funcobject.h``
|
||||
etc. For installed NumPy the returned list has length 1
|
||||
but when building NumPy the list may contain more directories,
|
||||
for example, a path to ``config.h`` file that
|
||||
``numpy/base/setup.py`` file generates and is used by ``numpy``
|
||||
header files.
|
||||
|
||||
+ ``append_path(prefix,path)`` --- smart append ``path`` to ``prefix``.
|
||||
|
||||
+ ``gpaths(paths, local_path='')`` --- apply glob to paths and prepend
|
||||
``local_path`` if needed.
|
||||
|
||||
+ ``njoin(*path)`` --- join pathname components + convert ``/``-separated path
|
||||
to ``os.sep``-separated path and resolve ``..``, ``.`` from paths.
|
||||
Ex. ``njoin('a',['b','./c'],'..','g') -> os.path.join('a','b','g')``.
|
||||
|
||||
+ ``minrelpath(path)`` --- resolves dots in ``path``.
|
||||
|
||||
+ ``rel_path(path, parent_path)`` --- return ``path`` relative to ``parent_path``.
|
||||
|
||||
+ ``def get_cmd(cmdname,_cache={})`` --- returns ``numpy.distutils``
|
||||
command instance.
|
||||
|
||||
+ ``all_strings(lst)``
|
||||
|
||||
+ ``has_f_sources(sources)``
|
||||
|
||||
+ ``has_cxx_sources(sources)``
|
||||
|
||||
+ ``filter_sources(sources)`` --- return ``c_sources, cxx_sources,
|
||||
f_sources, fmodule_sources``
|
||||
|
||||
+ ``get_dependencies(sources)``
|
||||
|
||||
+ ``is_local_src_dir(directory)``
|
||||
|
||||
+ ``get_ext_source_files(ext)``
|
||||
|
||||
+ ``get_script_files(scripts)``
|
||||
|
||||
+ ``get_lib_source_files(lib)``
|
||||
|
||||
+ ``get_data_files(data)``
|
||||
|
||||
+ ``dot_join(*args)`` --- join non-zero arguments with a dot.
|
||||
|
||||
+ ``get_frame(level=0)`` --- return frame object from call stack with given level.
|
||||
|
||||
+ ``cyg2win32(path)``
|
||||
|
||||
+ ``mingw32()`` --- return ``True`` when using mingw32 environment.
|
||||
|
||||
+ ``terminal_has_colors()``, ``red_text(s)``, ``green_text(s)``,
|
||||
``yellow_text(s)``, ``blue_text(s)``, ``cyan_text(s)``
|
||||
|
||||
+ ``get_path(mod_name,parent_path=None)`` --- return path of a module
|
||||
relative to parent_path when given. Handles also ``__main__`` and
|
||||
``__builtin__`` modules.
|
||||
|
||||
+ ``allpath(name)`` --- replaces ``/`` with ``os.sep`` in ``name``.
|
||||
|
||||
+ ``cxx_ext_match``, ``fortran_ext_match``, ``f90_ext_match``,
|
||||
``f90_module_name_match``
|
||||
|
||||
``numpy.distutils.system_info`` module
|
||||
--------------------------------------
|
||||
|
||||
+ ``get_info(name,notfound_action=0)``
|
||||
+ ``combine_paths(*args,**kws)``
|
||||
+ ``show_all()``
|
||||
|
||||
``numpy.distutils.cpuinfo`` module
|
||||
----------------------------------
|
||||
|
||||
+ ``cpuinfo``
|
||||
|
||||
``numpy.distutils.log`` module
|
||||
------------------------------
|
||||
|
||||
+ ``set_verbosity(v)``
|
||||
|
||||
|
||||
``numpy.distutils.exec_command`` module
|
||||
---------------------------------------
|
||||
|
||||
+ ``get_pythonexe()``
|
||||
+ ``find_executable(exe, path=None)``
|
||||
+ ``exec_command( command, execute_in='', use_shell=None, use_tee=None, **env )``
|
||||
|
||||
The ``__init__.py`` file
|
||||
''''''''''''''''''''''''
|
||||
|
||||
The header of a typical SciPy ``__init__.py`` is::
|
||||
|
||||
"""
|
||||
Package docstring, typically with a brief description and function listing.
|
||||
"""
|
||||
|
||||
# import functions into module namespace
|
||||
from .subpackage import *
|
||||
...
|
||||
|
||||
__all__ = [s for s in dir() if not s.startswith('_')]
|
||||
|
||||
from numpy.testing import Tester
|
||||
test = Tester().test
|
||||
bench = Tester().bench
|
||||
|
||||
Note that NumPy submodules still use a file named ``info.py`` in which the
|
||||
module docstring and ``__all__`` dict are defined. These files will be removed
|
||||
at some point.
|
||||
|
||||
Extra features in NumPy Distutils
|
||||
'''''''''''''''''''''''''''''''''
|
||||
|
||||
Specifying config_fc options for libraries in setup.py script
|
||||
-------------------------------------------------------------
|
||||
|
||||
It is possible to specify config_fc options in setup.py scripts.
|
||||
For example, using
|
||||
|
||||
config.add_library('library',
|
||||
sources=[...],
|
||||
config_fc={'noopt':(__file__,1)})
|
||||
|
||||
will compile the ``library`` sources without optimization flags.
|
||||
|
||||
It's recommended to specify only those config_fc options in such a way
|
||||
that are compiler independent.
|
||||
|
||||
Getting extra Fortran 77 compiler options from source
|
||||
-----------------------------------------------------
|
||||
|
||||
Some old Fortran codes need special compiler options in order to
|
||||
work correctly. In order to specify compiler options per source
|
||||
file, ``numpy.distutils`` Fortran compiler looks for the following
|
||||
pattern::
|
||||
|
||||
CF77FLAGS(<fcompiler type>) = <fcompiler f77flags>
|
||||
|
||||
in the first 20 lines of the source and use the ``f77flags`` for
|
||||
specified type of the fcompiler (the first character ``C`` is optional).
|
||||
|
||||
TODO: This feature can be easily extended for Fortran 90 codes as
|
||||
well. Let us know if you would need such a feature.
|
|
@ -0,0 +1,103 @@
|
|||
.. Here follows an example docstring for a C-function. Note that the
|
||||
signature is given. This is done only for functions written is C,
|
||||
since Python cannot find their signature by inspection. For all
|
||||
other functions, start with the one line description.
|
||||
|
||||
|
||||
multivariate_normal(mean, cov[, shape])
|
||||
|
||||
Draw samples from a multivariate normal distribution.
|
||||
|
||||
The multivariate normal, multinormal or Gaussian distribution is a
|
||||
generalisation of the one-dimensional normal distribution to higher
|
||||
dimensions.
|
||||
|
||||
Such a distribution is specified by its mean and covariance matrix,
|
||||
which are analogous to the mean (average or "centre") and variance
|
||||
(standard deviation squared or "width") of the one-dimensional normal
|
||||
distribution.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
mean : (N,) ndarray
|
||||
Mean of the N-dimensional distribution.
|
||||
cov : (N,N) ndarray
|
||||
Covariance matrix of the distribution.
|
||||
shape : tuple of ints, optional
|
||||
Given a shape of, for example, (m,n,k), m*n*k samples are
|
||||
generated, and packed in an m-by-n-by-k arrangement. Because each
|
||||
sample is N-dimensional, the output shape is (m,n,k,N). If no
|
||||
shape is specified, a single sample is returned.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out : ndarray
|
||||
The drawn samples, arranged according to `shape`. If the
|
||||
shape given is (m,n,...), then the shape of `out` is
|
||||
(m,n,...,N).
|
||||
|
||||
In other words, each entry ``out[i,j,...,:]`` is an N-dimensional
|
||||
value drawn from the distribution.
|
||||
|
||||
See Also
|
||||
--------
|
||||
normal
|
||||
scipy.stats.norm : Provides random variates, as well as probability density
|
||||
function, cumulative density function, etc.
|
||||
|
||||
Notes
|
||||
-----
|
||||
The mean is a coordinate in N-dimensional space, which represents the
|
||||
location where samples are most likely to be generated. This is
|
||||
analogous to the peak of the bell curve for the one-dimensional or
|
||||
univariate normal distribution.
|
||||
|
||||
Covariance indicates the level to which two variables vary together.
|
||||
From the multivariate normal distribution, we draw N-dimensional
|
||||
samples, :math:`X = [x_1, x_2, ... x_N]`. The covariance matrix
|
||||
element :math:`C_ij` is the covariance of :math:`x_i` and :math:`x_j`.
|
||||
The element :math:`C_ii` is the variance of :math:`x_i` (i.e. its
|
||||
"spread").
|
||||
|
||||
Instead of specifying the full covariance matrix, popular
|
||||
approximations include:
|
||||
|
||||
- Spherical covariance (`cov` is a multiple of the identity matrix)
|
||||
- Diagonal covariance (`cov` has non-negative elements, and only on
|
||||
the diagonal)
|
||||
|
||||
This geometrical property can be seen in two dimensions by plotting
|
||||
generated data-points:
|
||||
|
||||
>>> mean = [0,0]
|
||||
>>> cov = [[1,0],[0,100]] # diagonal covariance, points lie on x or y-axis
|
||||
>>> x,y = np.random.multivariate_normal(mean,cov,5000).T
|
||||
|
||||
>>> import matplotlib.pyplot as plt
|
||||
>>> plt.plot(x,y,'x'); plt.axis('equal'); pyplot.show()
|
||||
|
||||
Note that the covariance matrix must be non-negative definite.
|
||||
|
||||
References
|
||||
----------
|
||||
.. [1] A. Papoulis, "Probability, Random Variables, and Stochastic
|
||||
Processes," 3rd ed., McGraw-Hill Companies, 1991
|
||||
.. [2] R.O. Duda, P.E. Hart, and D.G. Stork, "Pattern Classification,"
|
||||
2nd ed., Wiley, 2001.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> mean = (1,2)
|
||||
>>> cov = [[1,0],[1,0]]
|
||||
>>> x = np.random.multivariate_normal(mean,cov,(3,3))
|
||||
>>> x.shape
|
||||
(3, 3, 2)
|
||||
|
||||
The following is probably true, given that 0.6 is roughly twice the
|
||||
standard deviation:
|
||||
|
||||
>>> print list( (x[0,0,:] - mean) < 0.6 )
|
||||
[True, True]
|
||||
|
||||
.. index:
|
||||
:refguide: random:distributions
|
|
@ -0,0 +1 @@
|
|||
This document has been replaced, see https://numpydoc.readthedocs.io/en/latest/format.html#docstring-standard
|
|
@ -0,0 +1,491 @@
|
|||
This file gives an overview of what is necessary to build binary releases for
|
||||
NumPy.
|
||||
|
||||
Current build and release info
|
||||
==============================
|
||||
The current info on building and releasing NumPy and SciPy is scattered in
|
||||
several places. It should be summarized in one place, updated, and where
|
||||
necessary described in more detail. The sections below list all places where
|
||||
useful info can be found.
|
||||
|
||||
|
||||
Source tree
|
||||
-----------
|
||||
- INSTALL.rst.txt
|
||||
- release.sh
|
||||
- pavement.py
|
||||
|
||||
|
||||
NumPy Docs
|
||||
----------
|
||||
- https://github.com/numpy/numpy/blob/master/doc/HOWTO_RELEASE.rst.txt
|
||||
- http://projects.scipy.org/numpy/wiki/MicrosoftToolchainSupport (dead link)
|
||||
|
||||
|
||||
SciPy.org wiki
|
||||
--------------
|
||||
- https://www.scipy.org/Installing_SciPy and links on that page.
|
||||
- http://new.scipy.org/building/windows.html (dead link)
|
||||
|
||||
|
||||
Doc wiki
|
||||
--------
|
||||
- http://docs.scipy.org/numpy/docs/numpy-docs/user/install.rst/ (dead link)
|
||||
|
||||
|
||||
Release Scripts
|
||||
---------------
|
||||
- https://github.com/numpy/numpy-vendor
|
||||
|
||||
|
||||
Supported platforms and versions
|
||||
================================
|
||||
`NEP 29`_ outlines which Python versions are supported; For the first half of
|
||||
2020, this will be Python >= 3.6. We test NumPy against all these versions
|
||||
every time we merge code to master. Binary installers may be available for a
|
||||
subset of these versions (see below).
|
||||
|
||||
OS X
|
||||
----
|
||||
OS X versions >= 10.9 are supported, for Python version support see `NEP 29`_.
|
||||
We build binary wheels for OSX that are compatible with Python.org Python,
|
||||
system Python, homebrew and macports - see this `OSX wheel building summary
|
||||
<https://github.com/MacPython/wiki/wiki/Spinning-wheels>`_ for details.
|
||||
|
||||
|
||||
Windows
|
||||
-------
|
||||
We build 32- and 64-bit wheels on Windows. Windows 7, 8 and 10 are supported.
|
||||
We build NumPy using the `mingw-w64 toolchain`_ on Appveyor.
|
||||
|
||||
|
||||
Linux
|
||||
-----
|
||||
We build and ship `manylinux1 <https://www.python.org/dev/peps/pep-0513>`_
|
||||
wheels for NumPy. Many Linux distributions include their own binary builds
|
||||
of NumPy.
|
||||
|
||||
|
||||
BSD / Solaris
|
||||
-------------
|
||||
No binaries are provided, but successful builds on Solaris and BSD have been
|
||||
reported.
|
||||
|
||||
|
||||
Tool chain
|
||||
==========
|
||||
We build all our wheels on cloud infrastructure - so this list of compilers is
|
||||
for information and debugging builds locally. See the ``.travis.yml`` and
|
||||
``appveyor.yml`` scripts in the `numpy wheels`_ repo for the definitive source
|
||||
of the build recipes. Packages that are available using pip are noted.
|
||||
|
||||
|
||||
Compilers
|
||||
---------
|
||||
The same gcc version is used as the one with which Python itself is built on
|
||||
each platform. At the moment this means:
|
||||
|
||||
- OS X builds on travis currently use `clang`. It appears that binary wheels
|
||||
for OSX >= 10.6 can be safely built from the travis-ci OSX 10.9 VMs
|
||||
when building against the Python from the Python.org installers;
|
||||
- Windows builds use the `mingw-w64 toolchain`_;
|
||||
- Manylinux1 wheels use the gcc provided on the Manylinux docker images.
|
||||
|
||||
You will need Cython for building the binaries. Cython compiles the ``.pyx``
|
||||
files in the NumPy distribution to ``.c`` files.
|
||||
|
||||
.. _mingw-w64 toolchain : https://mingwpy.github.io
|
||||
.. _NEP 29 : https://numpy.org/neps/nep-0029-deprecation_policy.html
|
||||
|
||||
OpenBLAS
|
||||
------------
|
||||
All the wheels link to a version of OpenBLAS_ supplied via the openblas-libs_ repo.
|
||||
The shared object (or DLL) is shipped with in the wheel, renamed to prevent name
|
||||
collisions with other OpenBLAS shared objects that may exist in the filesystem.
|
||||
|
||||
.. _OpenBLAS: https://github.com/xianyi/OpenBLAS
|
||||
.. _openblas-libs: https://github.com/MacPython/openblas-libs
|
||||
|
||||
|
||||
Building source archives and wheels
|
||||
-----------------------------------
|
||||
You will need write permission for numpy-wheels in order to trigger wheel
|
||||
builds.
|
||||
|
||||
- Python(s) from `python.org <https://python.org>`_ or linux distro.
|
||||
- cython (pip)
|
||||
- virtualenv (pip)
|
||||
- Paver (pip)
|
||||
- pandoc `pandoc.org <https://www.pandoc.org>`_ or linux distro.
|
||||
- numpy-wheels `<https://github.com/MacPython/numpy-wheels>`_ (clone)
|
||||
|
||||
|
||||
Building docs
|
||||
-------------
|
||||
Building the documents requires a number of latex ``.sty`` files. Install them
|
||||
all to avoid aggravation.
|
||||
|
||||
- Sphinx (pip)
|
||||
- numpydoc (pip)
|
||||
- Matplotlib
|
||||
- Texlive (or MikTeX on Windows)
|
||||
|
||||
|
||||
Uploading to PyPI
|
||||
-----------------
|
||||
- terryfy `<https://github.com/MacPython/terryfy>`_ (clone).
|
||||
- beautifulsoup4 (pip)
|
||||
- delocate (pip)
|
||||
- auditwheel (pip)
|
||||
- twine (pip)
|
||||
|
||||
|
||||
Generating author/pr lists
|
||||
--------------------------
|
||||
You will need a personal access token
|
||||
`<https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/>`_
|
||||
so that scripts can access the github NumPy repository.
|
||||
|
||||
- gitpython (pip)
|
||||
- pygithub (pip)
|
||||
|
||||
|
||||
Virtualenv
|
||||
----------
|
||||
Virtualenv is a very useful tool to keep several versions of packages around.
|
||||
It is also used in the Paver script to build the docs.
|
||||
|
||||
|
||||
What is released
|
||||
================
|
||||
|
||||
Wheels
|
||||
------
|
||||
We currently support Python 3.6-3.8 on Windows, OSX, and Linux
|
||||
|
||||
* Windows: 32-bit and 64-bit wheels built using Appveyor;
|
||||
* OSX: x64_86 OSX wheels built using travis-ci;
|
||||
* Linux: 32-bit and 64-bit Manylinux1 wheels built using travis-ci.
|
||||
|
||||
See the `numpy wheels`_ building repository for more detail.
|
||||
|
||||
.. _numpy wheels : https://github.com/MacPython/numpy-wheels
|
||||
|
||||
|
||||
Other
|
||||
-----
|
||||
- Release Notes
|
||||
- Changelog
|
||||
|
||||
|
||||
Source distribution
|
||||
-------------------
|
||||
We build source releases in both .zip and .tar.gz formats.
|
||||
|
||||
|
||||
Release process
|
||||
===============
|
||||
|
||||
Agree on a release schedule
|
||||
---------------------------
|
||||
A typical release schedule is one beta, two release candidates and a final
|
||||
release. It's best to discuss the timing on the mailing list first, in order
|
||||
for people to get their commits in on time, get doc wiki edits merged, etc.
|
||||
After a date is set, create a new maintenance/x.y.z branch, add new empty
|
||||
release notes for the next version in the master branch and update the Trac
|
||||
Milestones.
|
||||
|
||||
|
||||
Make sure current branch builds a package correctly
|
||||
---------------------------------------------------
|
||||
::
|
||||
|
||||
git clean -fxd
|
||||
python setup.py bdist
|
||||
python setup.py sdist
|
||||
|
||||
To actually build the binaries after everything is set up correctly, the
|
||||
release.sh script can be used. For details of the build process itself, it is
|
||||
best to read the pavement.py script.
|
||||
|
||||
.. note:: The following steps are repeated for the beta(s), release
|
||||
candidates(s) and the final release.
|
||||
|
||||
|
||||
Check deprecations
|
||||
------------------
|
||||
Before the release branch is made, it should be checked that all deprecated
|
||||
code that should be removed is actually removed, and all new deprecations say
|
||||
in the docstring or deprecation warning at what version the code will be
|
||||
removed.
|
||||
|
||||
Check the C API version number
|
||||
------------------------------
|
||||
The C API version needs to be tracked in three places
|
||||
|
||||
- numpy/core/setup_common.py
|
||||
- numpy/core/code_generators/cversions.txt
|
||||
- numpy/core/include/numpy/numpyconfig.h
|
||||
|
||||
There are three steps to the process.
|
||||
|
||||
1. If the API has changed, increment the C_API_VERSION in setup_common.py. The
|
||||
API is unchanged only if any code compiled against the current API will be
|
||||
backward compatible with the last released NumPy version. Any changes to
|
||||
C structures or additions to the public interface will make the new API
|
||||
not backward compatible.
|
||||
|
||||
2. If the C_API_VERSION in the first step has changed, or if the hash of
|
||||
the API has changed, the cversions.txt file needs to be updated. To check
|
||||
the hash, run the script numpy/core/cversions.py and note the API hash that
|
||||
is printed. If that hash does not match the last hash in
|
||||
numpy/core/code_generators/cversions.txt the hash has changed. Using both
|
||||
the appropriate C_API_VERSION and hash, add a new entry to cversions.txt.
|
||||
If the API version was not changed, but the hash differs, you will need to
|
||||
comment out the previous entry for that API version. For instance, in NumPy
|
||||
1.9 annotations were added, which changed the hash, but the API was the
|
||||
same as in 1.8. The hash serves as a check for API changes, but it is not
|
||||
definitive.
|
||||
|
||||
If steps 1 and 2 are done correctly, compiling the release should not give
|
||||
a warning "API mismatch detect at the beginning of the build".
|
||||
|
||||
3. The numpy/core/include/numpy/numpyconfig.h will need a new
|
||||
NPY_X_Y_API_VERSION macro, where X and Y are the major and minor version
|
||||
numbers of the release. The value given to that macro only needs to be
|
||||
increased from the previous version if some of the functions or macros in
|
||||
the include files were deprecated.
|
||||
|
||||
The C ABI version number in numpy/core/setup_common.py should only be
|
||||
updated for a major release.
|
||||
|
||||
|
||||
Check the release notes
|
||||
-----------------------
|
||||
Use `towncrier`_ to build the release note and
|
||||
commit the changes. This will remove all the fragments from
|
||||
``doc/release/upcoming_changes`` and add ``doc/release/<version>-note.rst``.
|
||||
Note that currently towncrier must be installed from its master branch as the
|
||||
last release (19.2.0) is outdated.
|
||||
|
||||
towncrier --version "<version>"
|
||||
git commit -m"Create release note"
|
||||
|
||||
Check that the release notes are up-to-date.
|
||||
|
||||
Update the release notes with a Highlights section. Mention some of the
|
||||
following:
|
||||
|
||||
- major new features
|
||||
- deprecated and removed features
|
||||
- supported Python versions
|
||||
- for SciPy, supported NumPy version(s)
|
||||
- outlook for the near future
|
||||
|
||||
.. _towncrier: https://github.com/hawkowl/towncrier
|
||||
|
||||
|
||||
Update the release status and create a release "tag"
|
||||
----------------------------------------------------
|
||||
Identify the commit hash of the release, e.g. 1b2e1d63ff.
|
||||
|
||||
::
|
||||
git co 1b2e1d63ff # gives warning about detached head
|
||||
|
||||
First, change/check the following variables in ``pavement.py`` depending on the
|
||||
release version::
|
||||
|
||||
RELEASE_NOTES = 'doc/release/1.7.0-notes.rst'
|
||||
LOG_START = 'v1.6.0'
|
||||
LOG_END = 'maintenance/1.7.x'
|
||||
|
||||
Do any other changes. When you are ready to release, do the following
|
||||
changes::
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index b1f53e3..8b36dbe 100755
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -57,7 +57,7 @@ PLATFORMS = ["Windows", "Linux", "Solaris", "Mac OS-
|
||||
MAJOR = 1
|
||||
MINOR = 7
|
||||
MICRO = 0
|
||||
-ISRELEASED = False
|
||||
+ISRELEASED = True
|
||||
VERSION = '%d.%d.%drc1' % (MAJOR, MINOR, MICRO)
|
||||
|
||||
# Return the git revision as a string
|
||||
|
||||
And make sure the ``VERSION`` variable is set properly.
|
||||
|
||||
Now you can make the release commit and tag. We recommend you don't push
|
||||
the commit or tag immediately, just in case you need to do more cleanup. We
|
||||
prefer to defer the push of the tag until we're confident this is the exact
|
||||
form of the released code (see: :ref:`push-tag-and-commit`):
|
||||
|
||||
git commit -s -m "REL: Release." setup.py
|
||||
git tag -s <version>
|
||||
|
||||
The ``-s`` flag makes a PGP (usually GPG) signed tag. Please do sign the
|
||||
release tags.
|
||||
|
||||
The release tag should have the release number in the annotation (tag
|
||||
message). Unfortunately, the name of a tag can be changed without breaking the
|
||||
signature, the contents of the message cannot.
|
||||
|
||||
See: https://github.com/scipy/scipy/issues/4919 for a discussion of signing
|
||||
release tags, and https://keyring.debian.org/creating-key.html for instructions
|
||||
on creating a GPG key if you do not have one.
|
||||
|
||||
To make your key more readily identifiable as you, consider sending your key
|
||||
to public keyservers, with a command such as::
|
||||
|
||||
gpg --send-keys <yourkeyid>
|
||||
|
||||
|
||||
Update the version of the master branch
|
||||
---------------------------------------
|
||||
Increment the release number in setup.py. Release candidates should have "rc1"
|
||||
(or "rc2", "rcN") appended to the X.Y.Z format.
|
||||
|
||||
Also create a new version hash in cversions.txt and a corresponding version
|
||||
define NPY_x_y_API_VERSION in numpyconfig.h
|
||||
|
||||
|
||||
Trigger the wheel builds
|
||||
------------------------
|
||||
See the `MacPython/numpy wheels` repository.
|
||||
|
||||
In that repository edit the files:
|
||||
|
||||
- ``azure/posix.yml``
|
||||
- ``azure/windows.yml``.
|
||||
|
||||
In both cases, set the ``BUILD_COMMIT`` variable to the current release tag -
|
||||
e.g. ``v1.19.0``::
|
||||
|
||||
$ gvim azure/posix.yml azure/windows.yml
|
||||
$ git commit -a
|
||||
$ git push upstream HEAD
|
||||
|
||||
Make sure that the release tag has been pushed.
|
||||
|
||||
Trigger a build by pushing a commit of your edits to the repository. Note that
|
||||
you can do this on a branch, but it must be pushed upstream to the
|
||||
``MacPython/numpy-wheels`` repository to trigger uploads since only
|
||||
that repo has the appropriate tokens to allow uploads.
|
||||
|
||||
The wheels, once built, appear at https://anaconda.org/multibuild-wheels-staging/numpy
|
||||
|
||||
Make the release
|
||||
----------------
|
||||
Build the changelog and notes for upload with::
|
||||
|
||||
paver write_release
|
||||
|
||||
|
||||
Build and archive documentation
|
||||
-------------------------------
|
||||
Do::
|
||||
|
||||
cd doc/
|
||||
make dist
|
||||
|
||||
to check that the documentation is in a buildable state. Then, after tagging,
|
||||
create an archive of the documentation in the numpy/doc repo::
|
||||
|
||||
# This checks out github.com/numpy/doc and adds (``git add``) the
|
||||
# documentation to the checked out repo.
|
||||
make merge-doc
|
||||
# Now edit the ``index.html`` file in the repo to reflect the new content,
|
||||
# and commit the changes
|
||||
git -C build/merge commit -am "Add documentation for <version>"
|
||||
# Push to numpy/doc repo
|
||||
git -C build/merge push
|
||||
|
||||
|
||||
Update PyPI
|
||||
-----------
|
||||
The wheels and source should be uploaded to PyPI.
|
||||
|
||||
You should upload the wheels first, and the source formats last, to make sure
|
||||
that pip users don't accidentally get a source install when they were
|
||||
expecting a binary wheel.
|
||||
|
||||
You can do this automatically using the ``wheel-uploader`` script from
|
||||
https://github.com/MacPython/terryfy. Here is the recommended incantation for
|
||||
downloading all the Windows, Manylinux, OSX wheels and uploading to PyPI. ::
|
||||
|
||||
NPY_WHLS=~/wheelhouse # local directory to cache wheel downloads
|
||||
CDN_URL=https://anaconda.org/multibuild-wheels-staging/numpy/files
|
||||
wheel-uploader -u $CDN_URL -w $NPY_WHLS -v -s -t win numpy 1.11.1rc1
|
||||
wheel-uploader -u $CDN_URL -w warehouse -v -s -t macosx numpy 1.11.1rc1
|
||||
wheel-uploader -u $CDN_URL -w warehouse -v -s -t manylinux1 numpy 1.11.1rc1
|
||||
|
||||
The ``-v`` flag gives verbose feedback, ``-s`` causes the script to sign the
|
||||
wheels with your GPG key before upload. Don't forget to upload the wheels
|
||||
before the source tarball, so there is no period for which people switch from
|
||||
an expected binary install to a source install from PyPI.
|
||||
|
||||
There are two ways to update the source release on PyPI, the first one is::
|
||||
|
||||
$ git clean -fxd # to be safe
|
||||
$ python setup.py sdist --formats=gztar,zip # to check
|
||||
# python setup.py sdist --formats=gztar,zip upload --sign
|
||||
|
||||
This will ask for your key PGP passphrase, in order to sign the built source
|
||||
packages.
|
||||
|
||||
The second way is to upload the PKG_INFO file inside the sdist dir in the
|
||||
web interface of PyPI. The source tarball can also be uploaded through this
|
||||
interface.
|
||||
|
||||
.. _push-tag-and-commit:
|
||||
|
||||
|
||||
Push the release tag and commit
|
||||
-------------------------------
|
||||
Finally, now you are confident this tag correctly defines the source code that
|
||||
you released you can push the tag and release commit up to github::
|
||||
|
||||
git push # Push release commit
|
||||
git push upstream <version> # Push tag named <version>
|
||||
|
||||
where ``upstream`` points to the main https://github.com/numpy/numpy.git
|
||||
repository.
|
||||
|
||||
|
||||
Update scipy.org
|
||||
----------------
|
||||
A release announcement with a link to the download site should be placed in the
|
||||
sidebar of the front page of scipy.org.
|
||||
|
||||
The scipy.org should be a PR at https://github.com/scipy/scipy.org. The file
|
||||
that needs modification is ``www/index.rst``. Search for ``News``.
|
||||
|
||||
|
||||
Announce to the lists
|
||||
---------------------
|
||||
The release should be announced on the mailing lists of
|
||||
NumPy and SciPy, to python-announce, and possibly also those of
|
||||
Matplotlib, IPython and/or Pygame.
|
||||
|
||||
During the beta/RC phase, an explicit request for testing the binaries with
|
||||
several other libraries (SciPy/Matplotlib/Pygame) should be posted on the
|
||||
mailing list.
|
||||
|
||||
|
||||
Announce to Linux Weekly News
|
||||
-----------------------------
|
||||
Email the editor of LWN to let them know of the release. Directions at:
|
||||
https://lwn.net/op/FAQ.lwn#contact
|
||||
|
||||
|
||||
After the final release
|
||||
-----------------------
|
||||
After the final release is announced, a few administrative tasks are left to be
|
||||
done:
|
||||
|
||||
- Forward port changes in the release branch to release notes and release
|
||||
scripts, if any, to master branch.
|
||||
- Update the Milestones in Trac.
|
|
@ -0,0 +1,255 @@
|
|||
# Makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
# PYVER needs to be major.minor, just "3" doesn't work - it will result in
|
||||
# issues with the amendments to PYTHONPATH and install paths (see DIST_VARS).
|
||||
|
||||
# Use explicit "version_info" indexing since make cannot handle colon characters, and
|
||||
# evaluate it now to allow easier debugging when printing the variable
|
||||
|
||||
PYVER:=$(shell python3 -c 'from sys import version_info as v; print("{0}.{1}".format(v[0], v[1]))')
|
||||
PYTHON = python$(PYVER)
|
||||
|
||||
# You can set these variables from the command line.
|
||||
SPHINXOPTS ?=
|
||||
SPHINXBUILD ?= LANG=C sphinx-build
|
||||
PAPER ?=
|
||||
# For merging a documentation archive into a git checkout of numpy/doc
|
||||
# Turn a tag like v1.18.0 into 1.18
|
||||
# Use sed -n -e 's/patttern/match/p' to return a blank value if no match
|
||||
TAG ?= $(shell git describe --tag | sed -n -e's,v\([1-9]\.[0-9]*\)\.[0-9].*,\1,p')
|
||||
|
||||
FILES=
|
||||
|
||||
# Internal variables.
|
||||
PAPEROPT_a4 = -D latex_paper_size=a4
|
||||
PAPEROPT_letter = -D latex_paper_size=letter
|
||||
ALLSPHINXOPTS = -WT --keep-going -d build/doctrees $(PAPEROPT_$(PAPER)) \
|
||||
$(SPHINXOPTS) source
|
||||
|
||||
.PHONY: help clean html web pickle htmlhelp latex changes linkcheck \
|
||||
dist dist-build gitwash-update version-check html-build latex-build \
|
||||
merge-doc
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
help:
|
||||
@echo "Please use \`make <target>' where <target> is one of"
|
||||
@echo " html to make standalone HTML files"
|
||||
@echo " html-scipyorg to make standalone HTML files with scipy.org theming"
|
||||
@echo " pickle to make pickle files (usable by e.g. sphinx-web)"
|
||||
@echo " htmlhelp to make HTML files and a HTML help project"
|
||||
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
||||
@echo " changes to make an overview over all changed/added/deprecated items"
|
||||
@echo " linkcheck to check all external links for integrity"
|
||||
@echo " dist PYVER=... to make a distribution-ready tree"
|
||||
@echo " gitwash-update GITWASH=path/to/gitwash update gitwash developer docs"
|
||||
@echo " upload USERNAME=... RELEASE=... to upload built docs to docs.scipy.org"
|
||||
@echo " merge-doc TAG=... to clone numpy/doc and archive documentation into it"
|
||||
|
||||
clean:
|
||||
-rm -rf build/*
|
||||
find . -name generated -type d -prune -exec rm -rf "{}" ";"
|
||||
|
||||
gitwash-update:
|
||||
rm -rf source/dev/gitwash
|
||||
install -d source/dev/gitwash
|
||||
python $(GITWASH)/gitwash_dumper.py source/dev NumPy \
|
||||
--repo-name=numpy \
|
||||
--github-user=numpy
|
||||
cat source/dev/gitwash_links.txt >> source/dev/gitwash/git_links.inc
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Automated generation of all documents
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# Build the current numpy version, and extract docs from it.
|
||||
# We have to be careful of some issues:
|
||||
#
|
||||
# - Everything must be done using the same Python version
|
||||
# - We must use eggs (otherwise they might override PYTHONPATH on import).
|
||||
# - Different versions of easy_install install to different directories (!)
|
||||
#
|
||||
|
||||
|
||||
INSTALL_DIR = $(CURDIR)/build/inst-dist
|
||||
INSTALL_PPH = $(INSTALL_DIR)/lib/python$(PYVER)/site-packages:$(INSTALL_DIR)/local/lib/python$(PYVER)/site-packages:$(INSTALL_DIR)/lib/python$(PYVER)/dist-packages:$(INSTALL_DIR)/local/lib/python$(PYVER)/dist-packages
|
||||
UPLOAD_DIR=/srv/docs_scipy_org/doc/numpy-$(RELEASE)
|
||||
|
||||
DIST_VARS=SPHINXBUILD="LANG=C PYTHONPATH=$(INSTALL_PPH) python$(PYVER) `which sphinx-build`" PYTHON="PYTHONPATH=$(INSTALL_PPH) python$(PYVER)"
|
||||
|
||||
NUMPYVER:=$(shell $(PYTHON) -c "import numpy; print(numpy.version.git_revision[:10])" 2>/dev/null)
|
||||
GITVER ?= $(shell cd ..; $(PYTHON) -c "from setup import git_version; \
|
||||
print(git_version()[:10])")
|
||||
|
||||
version-check:
|
||||
ifeq "$(GITVER)" "Unknown"
|
||||
# @echo sdist build with unlabeled sources
|
||||
else ifeq ("", "$(NUMPYVER)")
|
||||
@echo numpy not found, cannot build documentation without successful \"import numpy\"
|
||||
@exit 1
|
||||
else ifneq ($(NUMPYVER),$(GITVER))
|
||||
@echo installed numpy $(NUMPYVER) != current repo git version \'$(GITVER)\'
|
||||
@echo use '"make dist"' or '"GITVER=$(NUMPYVER) make $(MAKECMDGOALS) ..."'
|
||||
@exit 1
|
||||
else
|
||||
# for testing
|
||||
# @echo installed numpy $(NUMPYVER) matches git version $(GITVER); exit 1
|
||||
endif
|
||||
|
||||
|
||||
dist: build/dist.tar.gz
|
||||
|
||||
build/dist.tar.gz:
|
||||
make $(DIST_VARS) real-dist
|
||||
|
||||
real-dist: dist-build html-build
|
||||
test -d build/latex || make latex-build
|
||||
make -C build/latex all-pdf
|
||||
-rm -rf build/dist
|
||||
cp -r build/html build/dist
|
||||
cd build/html && zip -9r ../dist/numpy-html.zip .
|
||||
cp build/latex/numpy-ref.pdf build/dist
|
||||
cp build/latex/numpy-user.pdf build/dist
|
||||
cd build/dist && tar czf ../dist.tar.gz *
|
||||
chmod ug=rwX,o=rX -R build/dist
|
||||
find build/dist -type d -print0 | xargs -0r chmod g+s
|
||||
|
||||
dist-build:
|
||||
rm -f ../dist/*.egg
|
||||
cd .. && $(PYTHON) setup.py bdist_egg
|
||||
install -d $(subst :, ,$(INSTALL_PPH))
|
||||
$(PYTHON) `which easy_install` --prefix=$(INSTALL_DIR) ../dist/*.egg
|
||||
|
||||
upload: build/dist.tar.gz
|
||||
# SSH must be correctly configured for this to work.
|
||||
# Assumes that ``make dist`` was already run
|
||||
# Example usage: ``make upload USERNAME=rgommers RELEASE=1.10.1``
|
||||
ssh $(USERNAME)@docs.scipy.org mkdir $(UPLOAD_DIR)
|
||||
scp build/dist.tar.gz $(USERNAME)@docs.scipy.org:$(UPLOAD_DIR)
|
||||
ssh $(USERNAME)@docs.scipy.org tar xvC $(UPLOAD_DIR) \
|
||||
-zf $(UPLOAD_DIR)/dist.tar.gz
|
||||
ssh $(USERNAME)@docs.scipy.org mv $(UPLOAD_DIR)/numpy-ref.pdf \
|
||||
$(UPLOAD_DIR)/numpy-ref-$(RELEASE).pdf
|
||||
ssh $(USERNAME)@docs.scipy.org mv $(UPLOAD_DIR)/numpy-user.pdf \
|
||||
$(UPLOAD_DIR)/numpy-user-$(RELEASE).pdf
|
||||
ssh $(USERNAME)@docs.scipy.org mv $(UPLOAD_DIR)/numpy-html.zip \
|
||||
$(UPLOAD_DIR)/numpy-html-$(RELEASE).zip
|
||||
ssh $(USERNAME)@docs.scipy.org rm $(UPLOAD_DIR)/dist.tar.gz
|
||||
ssh $(USERNAME)@docs.scipy.org ln -snf numpy-$(RELEASE) /srv/docs_scipy_org/doc/numpy
|
||||
|
||||
|
||||
merge-doc: build/dist.tar.gz
|
||||
ifeq "$(TAG)" ""
|
||||
echo tag "$(TAG)" not of the form 1.18;
|
||||
exit 1;
|
||||
endif
|
||||
@# Only clone if the directory does not exist
|
||||
@if ! test -d build/merge; then \
|
||||
git clone https://github.com/numpy/doc build/merge; \
|
||||
fi;
|
||||
@# Remove any old content and copy in the new, add it to git
|
||||
-rm -rf build/merge/$(TAG)/*
|
||||
-mkdir -p build/merge/$(TAG)
|
||||
@# -C changes working directory
|
||||
tar -C build/merge/$(TAG) -xf build/dist.tar.gz
|
||||
git -C build/merge add $(TAG)
|
||||
@# For now, the user must do this. If it is onerous, automate it and change
|
||||
@# the instructions in doc/HOWTO_RELEASE.rst.txt
|
||||
@echo " "
|
||||
@echo New documentation archive added to ./build/merge.
|
||||
@echo Now add/modify the appropriate section after
|
||||
@echo " <!-- insert here -->"
|
||||
@echo in build/merge/index.html,
|
||||
@echo then \"git commit\", \"git push\"
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Basic Sphinx generation rules for different formats
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
generate: build/generate-stamp
|
||||
build/generate-stamp: $(wildcard source/reference/*.rst)
|
||||
mkdir -p build
|
||||
touch build/generate-stamp
|
||||
|
||||
html: version-check html-build
|
||||
html-build: generate
|
||||
mkdir -p build/html build/doctrees
|
||||
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) build/html $(FILES)
|
||||
$(PYTHON) postprocess.py html build/html/*.html
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in build/html."
|
||||
|
||||
html-scipyorg:
|
||||
mkdir -p build/html build/doctrees
|
||||
$(SPHINXBUILD) -t scipyorg -b html $(ALLSPHINXOPTS) build/html-scipyorg $(FILES)
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in build/html."
|
||||
|
||||
pickle: generate version-check
|
||||
mkdir -p build/pickle build/doctrees
|
||||
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) build/pickle $(FILES)
|
||||
@echo
|
||||
@echo "Build finished; now you can process the pickle files or run"
|
||||
@echo " sphinx-web build/pickle"
|
||||
@echo "to start the sphinx-web server."
|
||||
|
||||
web: pickle
|
||||
|
||||
htmlhelp: generate version-check
|
||||
mkdir -p build/htmlhelp build/doctrees
|
||||
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) build/htmlhelp $(FILES)
|
||||
@echo
|
||||
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
||||
".hhp project file in build/htmlhelp."
|
||||
|
||||
htmlhelp-build: htmlhelp build/htmlhelp/numpy.chm
|
||||
%.chm: %.hhp
|
||||
-hhc.exe $^
|
||||
|
||||
qthelp: generate version-check
|
||||
mkdir -p build/qthelp build/doctrees
|
||||
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) build/qthelp $(FILES)
|
||||
|
||||
latex: version-check latex-build
|
||||
latex-build: generate
|
||||
mkdir -p build/latex build/doctrees
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) build/latex $(FILES)
|
||||
$(PYTHON) postprocess.py tex build/latex/*.tex
|
||||
perl -pi -e 's/LATEXOPTS =/LATEXOPTS ?= --halt-on-error/' build/latex/Makefile
|
||||
@echo
|
||||
@echo "Build finished; the LaTeX files are in build/latex."
|
||||
@echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
|
||||
"run these through (pdf)latex."
|
||||
|
||||
coverage: build version-check
|
||||
mkdir -p build/coverage build/doctrees
|
||||
$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) build/coverage $(FILES)
|
||||
@echo "Coverage finished; see c.txt and python.txt in build/coverage"
|
||||
|
||||
changes: generate version-check
|
||||
mkdir -p build/changes build/doctrees
|
||||
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) build/changes $(FILES)
|
||||
@echo
|
||||
@echo "The overview file is in build/changes."
|
||||
|
||||
linkcheck: generate version-check
|
||||
mkdir -p build/linkcheck build/doctrees
|
||||
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) build/linkcheck $(FILES)
|
||||
@echo
|
||||
@echo "Link check complete; look for any errors in the above output " \
|
||||
"or in build/linkcheck/output.txt."
|
||||
|
||||
texinfo:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) build/texinfo
|
||||
@echo
|
||||
@echo "Build finished. The Texinfo files are in build/texinfo."
|
||||
@echo "Run \`make' in that directory to run these through makeinfo" \
|
||||
"(use \`make info' here to do that automatically)."
|
||||
|
||||
info:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) build/texinfo
|
||||
@echo "Running Texinfo files through makeinfo..."
|
||||
make -C build/texinfo info
|
||||
@echo "makeinfo finished; the Info files are in build/texinfo."
|
|
@ -0,0 +1,903 @@
|
|||
.. -*-rst-*-
|
||||
|
||||
*********************************************
|
||||
Developer notes on the transition to Python 3
|
||||
*********************************************
|
||||
|
||||
:date: 2010-07-11
|
||||
:author: Charles R. Harris
|
||||
:author: Pauli Virtanen
|
||||
|
||||
General
|
||||
=======
|
||||
|
||||
NumPy has now been ported to Python 3.
|
||||
|
||||
Some glitches may still be present; however, we are not aware of any
|
||||
significant ones, the test suite passes.
|
||||
|
||||
|
||||
Resources
|
||||
---------
|
||||
|
||||
Information on porting to 3K:
|
||||
|
||||
- https://wiki.python.org/moin/cporting
|
||||
- https://wiki.python.org/moin/PortingExtensionModulesToPy3k
|
||||
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
|
||||
The Nose test framework has currently (Nov 2009) no released Python 3
|
||||
compatible version. Its 3K SVN branch, however, works quite well:
|
||||
|
||||
- http://python-nose.googlecode.com/svn/branches/py3k
|
||||
|
||||
|
||||
Known semantic changes on Py2
|
||||
=============================
|
||||
|
||||
As a side effect, the Py3 adaptation has caused the following semantic
|
||||
changes that are visible on Py2.
|
||||
|
||||
* Objects (except bytes and str) that implement the PEP 3118 array interface
|
||||
will behave as ndarrays in `array(...)` and `asarray(...)`; the same way
|
||||
as if they had ``__array_interface__`` defined.
|
||||
|
||||
* Otherwise, there are no known semantic changes.
|
||||
|
||||
|
||||
Known semantic changes on Py3
|
||||
=============================
|
||||
|
||||
The following semantic changes have been made on Py3:
|
||||
|
||||
* Division: integer division is by default true_divide, also for arrays.
|
||||
|
||||
* Dtype field names are Unicode.
|
||||
|
||||
* Only unicode dtype field titles are included in fields dict.
|
||||
|
||||
* :pep:`3118` buffer objects will behave differently from Py2 buffer objects
|
||||
when used as an argument to `array(...)`, `asarray(...)`.
|
||||
|
||||
In Py2, they would cast to an object array.
|
||||
|
||||
In Py3, they cast similarly as objects having an
|
||||
``__array_interface__`` attribute, ie., they behave as if they were
|
||||
an ndarray view on the data.
|
||||
|
||||
|
||||
|
||||
Python code
|
||||
===========
|
||||
|
||||
|
||||
2to3 in setup.py
|
||||
----------------
|
||||
|
||||
Currently, setup.py calls 2to3 automatically to convert Python sources
|
||||
to Python 3 ones, and stores the results under::
|
||||
|
||||
build/py3k
|
||||
|
||||
Only changed files will be re-converted when setup.py is called a second
|
||||
time, making development much faster.
|
||||
|
||||
Currently, this seems to handle all of the necessary Python code
|
||||
conversion.
|
||||
|
||||
Not all of the 2to3 transformations are appropriate for all files.
|
||||
Especially, 2to3 seems to be quite trigger-happy in replacing e.g.
|
||||
``unicode`` by ``str`` which causes problems in ``defchararray.py``.
|
||||
For files that need special handling, add entries to
|
||||
``tools/py3tool.py``.
|
||||
|
||||
|
||||
|
||||
numpy.compat.py3k
|
||||
-----------------
|
||||
|
||||
There are some utility functions needed for 3K compatibility in
|
||||
``numpy.compat.py3k`` -- they can be imported from ``numpy.compat``:
|
||||
|
||||
- bytes, unicode: bytes and unicode constructors
|
||||
- asbytes: convert string to bytes (no-op on Py2)
|
||||
- asbytes_nested: convert strings in lists to Bytes
|
||||
- asunicode: convert string to unicode
|
||||
- asunicode_nested: convert strings in lists to Unicode
|
||||
- asstr: convert item to the str type
|
||||
- getexception: get current exception (see below)
|
||||
- isfileobj: detect Python file objects
|
||||
- strchar: character for Unicode (Py3) or Strings (Py2)
|
||||
- open_latin1: open file in the latin1 text mode
|
||||
|
||||
More can be added as needed.
|
||||
|
||||
|
||||
numpy.f2py
|
||||
----------
|
||||
|
||||
F2py is ported to Py3.
|
||||
|
||||
|
||||
Bytes vs. strings
|
||||
-----------------
|
||||
|
||||
At many points in NumPy, bytes literals are needed. These can be created via
|
||||
numpy.compat.asbytes and asbytes_nested.
|
||||
|
||||
|
||||
Exception syntax
|
||||
----------------
|
||||
|
||||
Syntax change: "except FooException, bar:" -> "except FooException as bar:"
|
||||
|
||||
This is taken care by 2to3, however.
|
||||
|
||||
|
||||
Relative imports
|
||||
----------------
|
||||
|
||||
The new relative import syntax,
|
||||
|
||||
from . import foo
|
||||
|
||||
is not available on Py2.4, so we can't simply use it.
|
||||
|
||||
Using absolute imports everywhere is probably OK, if they just happen
|
||||
to work.
|
||||
|
||||
2to3, however, converts the old syntax to new syntax, so as long as we
|
||||
use the converter, it takes care of most parts.
|
||||
|
||||
|
||||
Print
|
||||
-----
|
||||
|
||||
The Print statement changed to a builtin function in Py3.
|
||||
|
||||
Also this is taken care of by 2to3.
|
||||
|
||||
types module
|
||||
------------
|
||||
|
||||
The following items were removed from `types` module in Py3:
|
||||
|
||||
- StringType (Py3: `bytes` is equivalent, to some degree)
|
||||
- InstanceType (Py3: ???)
|
||||
- IntType (Py3: no equivalent)
|
||||
- LongType (Py3: equivalent `long`)
|
||||
- FloatType (Py3: equivalent `float`)
|
||||
- BooleanType (Py3: equivalent `bool`)
|
||||
- ComplexType (Py3: equivalent `complex`)
|
||||
- UnicodeType (Py3: equivalent `str`)
|
||||
- BufferType (Py3: more-or-less equivalent `memoryview`)
|
||||
|
||||
In ``numerictypes.py``, the "common" types were replaced by their
|
||||
plain equivalents, and `IntType` was dropped.
|
||||
|
||||
|
||||
numpy.core.numerictypes
|
||||
-----------------------
|
||||
|
||||
In numerictypes, types on Python 3 were changed so that:
|
||||
|
||||
=========== ============
|
||||
Scalar type Value
|
||||
=========== ============
|
||||
str_ This is the basic Unicode string type on Py3
|
||||
bytes_ This is the basic Byte-string type on Py3
|
||||
string_ bytes_ alias
|
||||
unicode_ str_ alias
|
||||
=========== ============
|
||||
|
||||
|
||||
numpy.loadtxt et al
|
||||
-------------------
|
||||
|
||||
These routines are difficult to duck-type to read both Unicode and
|
||||
Bytes input.
|
||||
|
||||
I assumed they are meant for reading Bytes streams -- this is probably
|
||||
the far more common use case with scientific data.
|
||||
|
||||
|
||||
Cyclic imports
|
||||
--------------
|
||||
|
||||
Python 3 is less forgiving about cyclic imports than Python 2. Cycles
|
||||
need to be broken to have the same code work both on Python 2 and 3.
|
||||
|
||||
|
||||
C Code
|
||||
======
|
||||
|
||||
|
||||
NPY_PY3K
|
||||
--------
|
||||
|
||||
A #define in config.h, defined when building for Py3.
|
||||
|
||||
.. todo::
|
||||
|
||||
Currently, this is generated as a part of the config.
|
||||
Is this sensible (we could also use Py_VERSION_HEX)?
|
||||
|
||||
|
||||
private/npy_3kcompat.h
|
||||
----------------------
|
||||
|
||||
Convenience macros for Python 3 support:
|
||||
|
||||
- PyInt -> PyLong on Py3
|
||||
- PyString -> PyBytes on Py3
|
||||
- PyUString -> PyUnicode on Py3 and PyString on Py2
|
||||
- PyBytes on Py2
|
||||
- PyUnicode_ConcatAndDel, PyUnicode_Concat2
|
||||
- Py_SIZE et al., for older Python versions
|
||||
- npy_PyFile_Dup, etc. to get FILE* from Py3 file objects
|
||||
- PyObject_Cmp, convenience comparison function on Py3
|
||||
- NpyCapsule_* helpers: PyCObject
|
||||
|
||||
Any new ones that need to be added should be added in this file.
|
||||
|
||||
.. todo::
|
||||
|
||||
Remove PyString_* eventually -- having a call to one of these in NumPy
|
||||
sources is a sign of an error...
|
||||
|
||||
|
||||
ob_type, ob_size
|
||||
----------------
|
||||
|
||||
These use Py_SIZE, etc. macros now. The macros are also defined in
|
||||
npy_3kcompat.h for the Python versions that don't have them natively.
|
||||
|
||||
|
||||
Py_TPFLAGS_CHECKTYPES
|
||||
---------------------
|
||||
|
||||
Python 3 no longer supports type coercion in arithmetic.
|
||||
|
||||
Py_TPFLAGS_CHECKTYPES is now on by default, and so the C-level
|
||||
interface, ``nb_*`` methods, still unconditionally receive whatever
|
||||
types as their two arguments.
|
||||
|
||||
However, this will affect Python-level code: previously if you
|
||||
inherited from a Py_TPFLAGS_CHECKTYPES enabled class that implemented
|
||||
a ``__mul__`` method, the same ``__mul__`` method would still be
|
||||
called also as when a ``__rmul__`` was required, but with swapped
|
||||
arguments (see Python/Objects/typeobject.c:wrap_binaryfunc_r).
|
||||
However, on Python 3, arguments are swapped only if both are of same
|
||||
(sub-)type, and otherwise things fail.
|
||||
|
||||
This means that ``ndarray``-derived subclasses must now implement all
|
||||
relevant ``__r*__`` methods, since they cannot any more automatically
|
||||
fall back to ndarray code.
|
||||
|
||||
|
||||
PyNumberMethods
|
||||
---------------
|
||||
|
||||
The structures have been converted to the new format:
|
||||
|
||||
- number.c
|
||||
- scalartypes.c.src
|
||||
- scalarmathmodule.c.src
|
||||
|
||||
The slots np_divide, np_long, np_oct, np_hex, and np_inplace_divide
|
||||
have gone away. The slot np_int is what np_long used to be, tp_divide
|
||||
is now tp_floor_divide, and np_inplace_divide is now
|
||||
np_inplace_floor_divide.
|
||||
|
||||
These have simply been #ifdef'd out on Py3.
|
||||
|
||||
The Py2/Py3 compatible structure definition looks like::
|
||||
|
||||
static PyNumberMethods @name@_as_number = {
|
||||
(binaryfunc)0, /*nb_add*/
|
||||
(binaryfunc)0, /*nb_subtract*/
|
||||
(binaryfunc)0, /*nb_multiply*/
|
||||
#if defined(NPY_PY3K)
|
||||
#else
|
||||
(binaryfunc)0, /*nb_divide*/
|
||||
#endif
|
||||
(binaryfunc)0, /*nb_remainder*/
|
||||
(binaryfunc)0, /*nb_divmod*/
|
||||
(ternaryfunc)0, /*nb_power*/
|
||||
(unaryfunc)0,
|
||||
(unaryfunc)0, /*nb_pos*/
|
||||
(unaryfunc)0, /*nb_abs*/
|
||||
#if defined(NPY_PY3K)
|
||||
(inquiry)0, /*nb_bool*/
|
||||
#else
|
||||
(inquiry)0, /*nb_nonzero*/
|
||||
#endif
|
||||
(unaryfunc)0, /*nb_invert*/
|
||||
(binaryfunc)0, /*nb_lshift*/
|
||||
(binaryfunc)0, /*nb_rshift*/
|
||||
(binaryfunc)0, /*nb_and*/
|
||||
(binaryfunc)0, /*nb_xor*/
|
||||
(binaryfunc)0, /*nb_or*/
|
||||
#if defined(NPY_PY3K)
|
||||
#else
|
||||
0, /*nb_coerce*/
|
||||
#endif
|
||||
(unaryfunc)0, /*nb_int*/
|
||||
#if defined(NPY_PY3K)
|
||||
(unaryfunc)0, /*nb_reserved*/
|
||||
#else
|
||||
(unaryfunc)0, /*nb_long*/
|
||||
#endif
|
||||
(unaryfunc)0, /*nb_float*/
|
||||
#if defined(NPY_PY3K)
|
||||
#else
|
||||
(unaryfunc)0, /*nb_oct*/
|
||||
(unaryfunc)0, /*nb_hex*/
|
||||
#endif
|
||||
0, /*inplace_add*/
|
||||
0, /*inplace_subtract*/
|
||||
0, /*inplace_multiply*/
|
||||
#if defined(NPY_PY3K)
|
||||
#else
|
||||
0, /*inplace_divide*/
|
||||
#endif
|
||||
0, /*inplace_remainder*/
|
||||
0, /*inplace_power*/
|
||||
0, /*inplace_lshift*/
|
||||
0, /*inplace_rshift*/
|
||||
0, /*inplace_and*/
|
||||
0, /*inplace_xor*/
|
||||
0, /*inplace_or*/
|
||||
(binaryfunc)0, /*nb_floor_divide*/
|
||||
(binaryfunc)0, /*nb_true_divide*/
|
||||
0, /*nb_inplace_floor_divide*/
|
||||
0, /*nb_inplace_true_divide*/
|
||||
(unaryfunc)NULL, /*nb_index*/
|
||||
};
|
||||
|
||||
|
||||
|
||||
PyBuffer (provider)
|
||||
-------------------
|
||||
|
||||
PyBuffer usage is widely spread in multiarray:
|
||||
|
||||
1) The void scalar makes use of buffers
|
||||
2) Multiarray has methods for creating buffers etc. explicitly
|
||||
3) Arrays can be created from buffers etc.
|
||||
4) The .data attribute of an array is a buffer
|
||||
|
||||
Py3 introduces the PEP 3118 buffer protocol as the *only* protocol,
|
||||
so we must implement it.
|
||||
|
||||
The exporter parts of the PEP 3118 buffer protocol are currently
|
||||
implemented in ``buffer.c`` for arrays, and in ``scalartypes.c.src``
|
||||
for generic array scalars. The generic array scalar exporter, however,
|
||||
doesn't currently produce format strings, which needs to be fixed.
|
||||
|
||||
Also some code also stops working when ``bf_releasebuffer`` is
|
||||
defined. Most importantly, ``PyArg_ParseTuple("s#", ...)`` refuses to
|
||||
return a buffer if ``bf_releasebuffer`` is present. For this reason,
|
||||
the buffer interface for arrays is implemented currently *without*
|
||||
defining ``bf_releasebuffer`` at all. This forces us to go through
|
||||
some additional work.
|
||||
|
||||
There are a couple of places that need further attention:
|
||||
|
||||
- VOID_getitem
|
||||
|
||||
In some cases, this returns a buffer object on Python 2. On Python 3,
|
||||
there is no stand-alone buffer object, so we return a byte array instead.
|
||||
|
||||
The Py2/Py3 compatible PyBufferMethods definition looks like::
|
||||
|
||||
NPY_NO_EXPORT PyBufferProcs array_as_buffer = {
|
||||
#if !defined(NPY_PY3K)
|
||||
#if PY_VERSION_HEX >= 0x02050000
|
||||
(readbufferproc)array_getreadbuf, /*bf_getreadbuffer*/
|
||||
(writebufferproc)array_getwritebuf, /*bf_getwritebuffer*/
|
||||
(segcountproc)array_getsegcount, /*bf_getsegcount*/
|
||||
(charbufferproc)array_getcharbuf, /*bf_getcharbuffer*/
|
||||
#else
|
||||
(getreadbufferproc)array_getreadbuf, /*bf_getreadbuffer*/
|
||||
(getwritebufferproc)array_getwritebuf, /*bf_getwritebuffer*/
|
||||
(getsegcountproc)array_getsegcount, /*bf_getsegcount*/
|
||||
(getcharbufferproc)array_getcharbuf, /*bf_getcharbuffer*/
|
||||
#endif
|
||||
#endif
|
||||
#if PY_VERSION_HEX >= 0x02060000
|
||||
(getbufferproc)array_getbuffer, /*bf_getbuffer*/
|
||||
(releasebufferproc)array_releasebuffer, /*bf_releasebuffer*/
|
||||
#endif
|
||||
};
|
||||
|
||||
.. todo::
|
||||
|
||||
Produce PEP 3118 format strings for array scalar objects.
|
||||
|
||||
.. todo::
|
||||
|
||||
There's stuff to clean up in numarray/_capi.c
|
||||
|
||||
|
||||
PyBuffer (consumer)
|
||||
-------------------
|
||||
|
||||
There are two places in which we may want to be able to consume buffer
|
||||
objects and cast them to ndarrays:
|
||||
|
||||
1) `multiarray.frombuffer`, ie., ``PyArray_FromAny``
|
||||
|
||||
The frombuffer returns only arrays of a fixed dtype. It does not
|
||||
make sense to support PEP 3118 at this location, since not much
|
||||
would be gained from that -- the backward compatibility functions
|
||||
using the old array interface still work.
|
||||
|
||||
So no changes needed here.
|
||||
|
||||
2) `multiarray.array`, ie., ``PyArray_FromAny``
|
||||
|
||||
In general, we would like to handle :pep:`3118` buffers in the same way
|
||||
as ``__array_interface__`` objects. Hence, we want to be able to cast
|
||||
them to arrays already in ``PyArray_FromAny``.
|
||||
|
||||
Hence, ``PyArray_FromAny`` needs additions.
|
||||
|
||||
There are a few caveats in allowing :pep:`3118` buffers in
|
||||
``PyArray_FromAny``:
|
||||
|
||||
a) `bytes` (and `str` on Py2) objects offer a buffer interface that
|
||||
specifies them as 1-D array of bytes.
|
||||
|
||||
Previously ``PyArray_FromAny`` has cast these to 'S#' dtypes. We
|
||||
don't want to change this, since will cause problems in many places.
|
||||
|
||||
We do, however, want to allow other objects that provide 1-D byte arrays
|
||||
to be cast to 1-D ndarrays and not 'S#' arrays -- for instance, 'S#'
|
||||
arrays tend to strip trailing NUL characters.
|
||||
|
||||
So what is done in ``PyArray_FromAny`` currently is that:
|
||||
|
||||
- Presence of :pep:`3118` buffer interface is checked before checking
|
||||
for array interface. If it is present *and* the object is not
|
||||
`bytes` object, then it is used for creating a view on the buffer.
|
||||
|
||||
- We also check in ``discover_depth`` and ``_array_find_type`` for the
|
||||
3118 buffers, so that::
|
||||
|
||||
array([some_3118_object])
|
||||
|
||||
will treat the object similarly as it would handle an `ndarray`.
|
||||
|
||||
However, again, bytes (and unicode) have priority and will not be
|
||||
handled as buffer objects.
|
||||
|
||||
This amounts to possible semantic changes:
|
||||
|
||||
- ``array(buffer)`` will no longer create an object array
|
||||
``array([buffer], dtype='O')``, but will instead expand to a view
|
||||
on the buffer.
|
||||
|
||||
.. todo::
|
||||
|
||||
Take a second look at places that used PyBuffer_FromMemory and
|
||||
PyBuffer_FromReadWriteMemory -- what can be done with these?
|
||||
|
||||
.. todo::
|
||||
|
||||
There's some buffer code in numarray/_capi.c that needs to be addressed.
|
||||
|
||||
|
||||
PyBuffer (object)
|
||||
-----------------
|
||||
|
||||
Since there is a native buffer object in Py3, the `memoryview`, the
|
||||
`newbuffer` and `getbuffer` functions are removed from `multiarray` in
|
||||
Py3: their functionality is taken over by the new `memoryview` object.
|
||||
|
||||
|
||||
PyString
|
||||
--------
|
||||
|
||||
There is no PyString in Py3, everything is either Bytes or Unicode.
|
||||
Unicode is also preferred in many places, e.g., in __dict__.
|
||||
|
||||
There are two issues related to the str/bytes change:
|
||||
|
||||
1) Return values etc. should prefer unicode
|
||||
2) The 'S' dtype
|
||||
|
||||
This entry discusses return values etc. only, the 'S' dtype is a
|
||||
separate topic.
|
||||
|
||||
All uses of PyString in NumPy should be changed to one of
|
||||
|
||||
- PyBytes: one-byte character strings in Py2 and Py3
|
||||
- PyUString (defined in npy_3kconfig.h): PyString in Py2, PyUnicode in Py3
|
||||
- PyUnicode: UCS in Py2 and Py3
|
||||
|
||||
In many cases the conversion only entails replacing PyString with
|
||||
PyUString.
|
||||
|
||||
PyString is currently defined to PyBytes in npy_3kcompat.h, for making
|
||||
things to build. This definition will be removed when Py3 support is
|
||||
finished.
|
||||
|
||||
Where ``*_AsStringAndSize`` is used, more care needs to be taken, as
|
||||
encoding Unicode to Bytes may needed. If this cannot be avoided, the
|
||||
encoding should be ASCII, unless there is a very strong reason to do
|
||||
otherwise. Especially, I don't believe we should silently fall back to
|
||||
UTF-8 -- raising an exception may be a better choice.
|
||||
|
||||
Exceptions should use PyUnicode_AsUnicodeEscape -- this should result
|
||||
to an ASCII-clean string that is appropriate for the exception
|
||||
message.
|
||||
|
||||
Some specific decisions that have been made so far:
|
||||
|
||||
* descriptor.c: dtype field names are UString
|
||||
|
||||
At some places in NumPy code, there are some guards for Unicode field
|
||||
names. However, the dtype constructor accepts only strings as field names,
|
||||
so we should assume field names are *always* UString.
|
||||
|
||||
* descriptor.c: field titles can be arbitrary objects.
|
||||
If they are UString (or, on Py2, Bytes or Unicode), insert to fields dict.
|
||||
|
||||
* descriptor.c: dtype strings are Unicode.
|
||||
|
||||
* descriptor.c: datetime tuple contains Bytes only.
|
||||
|
||||
* repr() and str() should return UString
|
||||
|
||||
* comparison between Unicode and Bytes is not defined in Py3
|
||||
|
||||
* Type codes in numerictypes.typeInfo dict are Unicode
|
||||
|
||||
* Func name in errobj is Bytes (should be forced to ASCII)
|
||||
|
||||
.. todo::
|
||||
|
||||
tp_doc -- it's a char* pointer, but what is the encoding?
|
||||
Check esp. lib/src/_compiled_base
|
||||
|
||||
Currently, UTF-8 is assumed.
|
||||
|
||||
.. todo::
|
||||
|
||||
ufunc names -- again, what's the encoding?
|
||||
|
||||
.. todo::
|
||||
|
||||
Cleanup to do later on: Replace all occurrences of PyString by
|
||||
PyBytes, PyUnicode, or PyUString.
|
||||
|
||||
.. todo::
|
||||
|
||||
Revise errobj decision?
|
||||
|
||||
.. todo::
|
||||
|
||||
Check that non-UString field names are not accepted anywhere.
|
||||
|
||||
|
||||
PyUnicode
|
||||
---------
|
||||
|
||||
PyUnicode in Py3 is pretty much as it was in Py2, except that it is
|
||||
now the only "real" string type.
|
||||
|
||||
In Py3, Unicode and Bytes are not comparable, ie., 'a' != b'a'. NumPy
|
||||
comparison routines were handled to act in the same way, leaving
|
||||
comparison between Unicode and Bytes undefined.
|
||||
|
||||
.. todo::
|
||||
|
||||
Check that indeed all comparison routines were changed.
|
||||
|
||||
|
||||
Fate of the 'S' dtype
|
||||
---------------------
|
||||
|
||||
On Python 3, the 'S' dtype will still be Bytes.
|
||||
|
||||
However,::
|
||||
|
||||
str, str_ == unicode_
|
||||
|
||||
|
||||
PyInt
|
||||
-----
|
||||
|
||||
There is no limited-range integer type any more in Py3. It makes no
|
||||
sense to inherit NumPy ints from Py3 ints.
|
||||
|
||||
Currently, the following is done:
|
||||
|
||||
1) NumPy's integer types no longer inherit from Python integer.
|
||||
2) int is taken dtype-equivalent to NPY_LONG
|
||||
3) ints are converted to NPY_LONG
|
||||
|
||||
PyInt methods are currently replaced by PyLong, via macros in npy_3kcompat.h.
|
||||
|
||||
Dtype decision rules were changed accordingly, so that NumPy understands
|
||||
Py3 int translate to NPY_LONG as far as dtypes are concerned.
|
||||
|
||||
array([1]).dtype will be the default NPY_LONG integer.
|
||||
|
||||
.. todo::
|
||||
|
||||
Not inheriting from `int` on Python 3 makes the following not work:
|
||||
``np.intp("0xff", 16)`` -- because the NumPy type does not take
|
||||
the second argument. This could perhaps be fixed...
|
||||
|
||||
|
||||
Divide
|
||||
------
|
||||
|
||||
The Divide operation is no more.
|
||||
|
||||
Calls to PyNumber_Divide were replaced by FloorDivide or TrueDivide,
|
||||
as appropriate.
|
||||
|
||||
The PyNumberMethods entry is #ifdef'd out on Py3, see above.
|
||||
|
||||
|
||||
tp_compare, PyObject_Compare
|
||||
----------------------------
|
||||
|
||||
The compare method has vanished, and is replaced with richcompare.
|
||||
We just #ifdef the compare methods out on Py3.
|
||||
|
||||
New richcompare methods were implemented for:
|
||||
|
||||
* flagsobject.c
|
||||
|
||||
On the consumer side, we have a convenience wrapper in npy_3kcompat.h
|
||||
providing PyObject_Cmp also on Py3.
|
||||
|
||||
|
||||
Pickling
|
||||
--------
|
||||
|
||||
The ndarray and dtype __setstate__ were modified to be
|
||||
backward-compatible with Py3: they need to accept a Unicode endian
|
||||
character, and Unicode data since that's what Py2 str is unpickled to
|
||||
in Py3.
|
||||
|
||||
An encoding assumption is required for backward compatibility: the user
|
||||
must do
|
||||
|
||||
loads(f, encoding='latin1')
|
||||
|
||||
to successfully read pickles created by Py2.
|
||||
|
||||
.. todo::
|
||||
|
||||
Forward compatibility? Is it even possible?
|
||||
For sure, we are not knowingly going to store data in PyUnicode,
|
||||
so probably the only way for forward compatibility is to implement
|
||||
a custom Unpickler for Py2?
|
||||
|
||||
.. todo::
|
||||
|
||||
If forward compatibility is not possible, aim to store also the endian
|
||||
character as Bytes...
|
||||
|
||||
|
||||
Module initialization
|
||||
---------------------
|
||||
|
||||
The module initialization API changed in Python 3.1.
|
||||
|
||||
Most NumPy modules are now converted.
|
||||
|
||||
|
||||
PyTypeObject
|
||||
------------
|
||||
|
||||
The PyTypeObject of py3k is binary compatible with the py2k version and the
|
||||
old initializers should work. However, there are several considerations to
|
||||
keep in mind.
|
||||
|
||||
1) Because the first three slots are now part of a struct some compilers issue
|
||||
warnings if they are initialized in the old way.
|
||||
|
||||
2) The compare slot has been made reserved in order to preserve binary
|
||||
compatibility while the tp_compare function went away. The tp_richcompare
|
||||
function has replaced it and we need to use that slot instead. This will
|
||||
likely require modifications in the searchsorted functions and generic sorts
|
||||
that currently use the compare function.
|
||||
|
||||
3) The previous numpy practice of initializing the COUNT_ALLOCS slots was
|
||||
bogus. They are not supposed to be explicitly initialized and were out of
|
||||
place in any case because an extra base slot was added in python 2.6.
|
||||
|
||||
Because of these facts it is better to use #ifdefs to bring the old
|
||||
initializers up to py3k snuff rather than just fill the tp_richcompare
|
||||
slot. They also serve to mark the places where changes have been
|
||||
made. Note that explicit initialization can stop once none of the
|
||||
remaining entries are non-zero, because zero is the default value that
|
||||
variables with non-local linkage receive.
|
||||
|
||||
The Py2/Py3 compatible TypeObject definition looks like::
|
||||
|
||||
NPY_NO_EXPORT PyTypeObject Foo_Type = {
|
||||
#if defined(NPY_PY3K)
|
||||
PyVarObject_HEAD_INIT(0,0)
|
||||
#else
|
||||
PyObject_HEAD_INIT(0)
|
||||
0, /* ob_size */
|
||||
#endif
|
||||
"numpy.foo" /* tp_name */
|
||||
0, /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
/* methods */
|
||||
0, /* tp_dealloc */
|
||||
0, /* tp_print */
|
||||
0, /* tp_getattr */
|
||||
0, /* tp_setattr */
|
||||
#if defined(NPY_PY3K)
|
||||
(void *)0, /* tp_reserved */
|
||||
#else
|
||||
0, /* tp_compare */
|
||||
#endif
|
||||
0, /* tp_repr */
|
||||
0, /* tp_as_number */
|
||||
0, /* tp_as_sequence */
|
||||
0, /* tp_as_mapping */
|
||||
0, /* tp_hash */
|
||||
0, /* tp_call */
|
||||
0, /* tp_str */
|
||||
0, /* tp_getattro */
|
||||
0, /* tp_setattro */
|
||||
0, /* tp_as_buffer */
|
||||
0, /* tp_flags */
|
||||
0, /* tp_doc */
|
||||
0, /* tp_traverse */
|
||||
0, /* tp_clear */
|
||||
0, /* tp_richcompare */
|
||||
0, /* tp_weaklistoffset */
|
||||
0, /* tp_iter */
|
||||
0, /* tp_iternext */
|
||||
0, /* tp_methods */
|
||||
0, /* tp_members */
|
||||
0, /* tp_getset */
|
||||
0, /* tp_base */
|
||||
0, /* tp_dict */
|
||||
0, /* tp_descr_get */
|
||||
0, /* tp_descr_set */
|
||||
0, /* tp_dictoffset */
|
||||
0, /* tp_init */
|
||||
0, /* tp_alloc */
|
||||
0, /* tp_new */
|
||||
0, /* tp_free */
|
||||
0, /* tp_is_gc */
|
||||
0, /* tp_bases */
|
||||
0, /* tp_mro */
|
||||
0, /* tp_cache */
|
||||
0, /* tp_subclasses */
|
||||
0, /* tp_weaklist */
|
||||
0, /* tp_del */
|
||||
0 /* tp_version_tag (2.6) */
|
||||
};
|
||||
|
||||
|
||||
|
||||
PySequenceMethods
|
||||
-----------------
|
||||
|
||||
Types with tp_as_sequence defined
|
||||
|
||||
* multiarray/descriptor.c
|
||||
* multiarray/scalartypes.c.src
|
||||
* multiarray/arrayobject.c
|
||||
|
||||
PySequenceMethods in py3k are binary compatible with py2k, but some of the
|
||||
slots have gone away. I suspect this means some functions need redefining so
|
||||
the semantics of the slots needs to be checked::
|
||||
|
||||
PySequenceMethods foo_sequence_methods = {
|
||||
(lenfunc)0, /* sq_length */
|
||||
(binaryfunc)0, /* sq_concat */
|
||||
(ssizeargfunc)0, /* sq_repeat */
|
||||
(ssizeargfunc)0, /* sq_item */
|
||||
(void *)0, /* nee sq_slice */
|
||||
(ssizeobjargproc)0, /* sq_ass_item */
|
||||
(void *)0, /* nee sq_ass_slice */
|
||||
(objobjproc)0, /* sq_contains */
|
||||
(binaryfunc)0, /* sq_inplace_concat */
|
||||
(ssizeargfunc)0 /* sq_inplace_repeat */
|
||||
};
|
||||
|
||||
|
||||
PyMappingMethods
|
||||
----------------
|
||||
|
||||
Types with tp_as_mapping defined
|
||||
|
||||
* multiarray/descriptor.c
|
||||
* multiarray/iterators.c
|
||||
* multiarray/scalartypes.c.src
|
||||
* multiarray/flagsobject.c
|
||||
* multiarray/arrayobject.c
|
||||
|
||||
PyMappingMethods in py3k look to be the same as in py2k. The semantics
|
||||
of the slots needs to be checked::
|
||||
|
||||
PyMappingMethods foo_mapping_methods = {
|
||||
(lenfunc)0, /* mp_length */
|
||||
(binaryfunc)0, /* mp_subscript */
|
||||
(objobjargproc)0 /* mp_ass_subscript */
|
||||
};
|
||||
|
||||
|
||||
PyFile
|
||||
------
|
||||
|
||||
Many of the PyFile items have disappeared:
|
||||
|
||||
1) PyFile_Type
|
||||
2) PyFile_AsFile
|
||||
3) PyFile_FromString
|
||||
|
||||
Most importantly, in Py3 there is no way to extract a FILE* pointer
|
||||
from the Python file object. There are, however, new PyFile_* functions
|
||||
for writing and reading data from the file.
|
||||
|
||||
Compatibility wrappers that return a dup-ed `fdopen` file pointer are
|
||||
in private/npy_3kcompat.h. This causes more flushing to be necessary,
|
||||
but it appears there is no alternative solution. The FILE pointer so
|
||||
obtained must be closed with fclose after use.
|
||||
|
||||
.. todo::
|
||||
|
||||
Should probably be done much later on...
|
||||
|
||||
Adapt all NumPy I/O to use the PyFile_* methods or the low-level
|
||||
IO routines. In any case, it's unlikely that C stdio can be used any more.
|
||||
|
||||
Perhaps using PyFile_* makes numpy.tofile e.g. to a gzip to work?
|
||||
|
||||
|
||||
READONLY
|
||||
--------
|
||||
|
||||
The RO alias for READONLY is no more.
|
||||
|
||||
These were replaced, as READONLY is present also on Py2.
|
||||
|
||||
|
||||
PyOS
|
||||
----
|
||||
|
||||
Deprecations:
|
||||
|
||||
1) PyOS_ascii_strtod -> PyOS_double_from_string;
|
||||
curiously enough, PyOS_ascii_strtod is not only deprecated but also
|
||||
causes segfaults
|
||||
|
||||
|
||||
PyInstance
|
||||
----------
|
||||
|
||||
There are some checks for PyInstance in ``common.c`` and ``ctors.c``.
|
||||
|
||||
Currently, ``PyInstance_Check`` is just #ifdef'd out for Py3. This is,
|
||||
possibly, not the correct thing to do.
|
||||
|
||||
.. todo::
|
||||
|
||||
Do the right thing for PyInstance checks.
|
||||
|
||||
|
||||
PyCObject / PyCapsule
|
||||
---------------------
|
||||
|
||||
The PyCObject API is removed in Python 3.2, so we need to rewrite it
|
||||
using PyCapsule.
|
||||
|
||||
NumPy was changed to use the Capsule API, using NpyCapsule* wrappers.
|
|
@ -0,0 +1,312 @@
|
|||
This file contains a walkthrough of the NumPy 1.14.5 release on Linux, modified
|
||||
for building on azure and uploading to anaconda.org
|
||||
The commands can be copied into the command line, but be sure to
|
||||
replace 1.14.5 by the correct version.
|
||||
|
||||
This should be read together with the general directions in `releasing`.
|
||||
|
||||
|
||||
Release Walkthrough
|
||||
====================
|
||||
|
||||
Note that in the code snippets below, ``upstream`` refers to the root repository on
|
||||
github and ``origin`` to a fork in your personal account. You may need to make adjustments
|
||||
if you have not forked the repository but simply cloned it locally. You can
|
||||
also edit ``.git/config`` and add ``upstream`` if it isn't already present.
|
||||
|
||||
|
||||
Backport Pull Requests
|
||||
----------------------
|
||||
|
||||
Changes that have been marked for this release must be backported to the
|
||||
maintenance/1.14.x branch.
|
||||
|
||||
|
||||
Update Release documentation
|
||||
----------------------------
|
||||
|
||||
The file ``doc/changelog/1.14.5-changelog.rst`` should be updated to reflect
|
||||
the final list of changes and contributors. This text can be generated by::
|
||||
|
||||
$ python tools/changelog.py $GITHUB v1.14.4..maintenance/1.14.x > doc/changelog/1.14.5-changelog.rst
|
||||
|
||||
where ``GITHUB`` contains your github access token. This text may also be
|
||||
appended to ``doc/release/1.14.5-notes.rst`` for release updates, though not
|
||||
for new releases like ``1.14.0``, as the changelogs for ``*.0`` releases tend to be
|
||||
excessively long. The ``doc/source/release.rst`` file should also be
|
||||
updated with a link to the new release notes. These changes should be committed
|
||||
to the maintenance branch, and later will be forward ported to master.
|
||||
|
||||
|
||||
Finish the Release Note
|
||||
-----------------------
|
||||
|
||||
.. note:
|
||||
|
||||
This has changed now that we use ``towncrier``. See the instructions for
|
||||
creating the release note in ``doc/release/upcoming_changes/README.rst``.
|
||||
|
||||
Fill out the release note ``doc/release/1.14.5-notes.rst`` calling out
|
||||
significant changes.
|
||||
|
||||
|
||||
Prepare the release commit
|
||||
--------------------------
|
||||
|
||||
Checkout the branch for the release, make sure it is up to date, and clean the
|
||||
repository::
|
||||
|
||||
$ git checkout maintenance/1.14.x
|
||||
$ git pull upstream maintenance/1.14.x
|
||||
$ git submodule update
|
||||
$ git clean -xdfq
|
||||
|
||||
Edit pavement.py and setup.py as detailed in HOWTO_RELEASE::
|
||||
|
||||
$ gvim pavement.py setup.py
|
||||
$ git commit -a -m"REL: NumPy 1.14.5 release."
|
||||
|
||||
Sanity check::
|
||||
|
||||
$ python3 runtests.py -m "full"
|
||||
|
||||
Push this release directly onto the end of the maintenance branch. This
|
||||
requires write permission to the numpy repository::
|
||||
|
||||
$ git push upstream maintenance/1.14.x
|
||||
|
||||
As an example, see the 1.14.3 REL commit: `<https://github.com/numpy/numpy/commit/73299826729be58cec179b52c656adfcaefada93>`_.
|
||||
|
||||
|
||||
Build source releases
|
||||
---------------------
|
||||
|
||||
Paver is used to build the source releases. It will create the ``release`` and
|
||||
``release/installers`` directories and put the ``*.zip`` and ``*.tar.gz``
|
||||
source releases in the latter. ::
|
||||
|
||||
$ python3 -m cython --version # check for correct cython version
|
||||
$ paver sdist # sdist will do a git clean -xdf, so we omit that
|
||||
|
||||
|
||||
Build wheels
|
||||
------------
|
||||
|
||||
Trigger the wheels build by pointing the numpy-wheels repository at this
|
||||
commit. This can take up to an hour. The numpy-wheels repository is cloned from
|
||||
`<https://github.com/MacPython/numpy-wheels>`_. Start with a pull as the repo
|
||||
may have been accessed and changed by someone else and a push will fail::
|
||||
|
||||
$ cd ../numpy-wheels
|
||||
$ git pull upstream master
|
||||
$ git branch <new version> # only when starting new numpy version
|
||||
$ git checkout v1.14.x # v1.14.x already existed for the 1.14.4 release
|
||||
|
||||
Edit the ``azure/posix.yml`` and ``azure/windows.yml`` files to make sure they
|
||||
have the correct version, and put in the commit hash for the ``REL`` commit
|
||||
created above for ``BUILD_COMMIT``, see an _example::
|
||||
|
||||
$ gvim azure/posix.yml azure/windows.yml
|
||||
$ git commit -a
|
||||
$ git push upstream HEAD
|
||||
|
||||
Now wait. If you get nervous at the amount of time taken -- the builds can take
|
||||
a while -- you can check the build progress by following the links
|
||||
provided at `<https://github.com/MacPython/numpy-wheels>`_ to check the
|
||||
build status. Check if all the needed wheels have been built and
|
||||
uploaded before proceeding. There should currently be 21 of them at
|
||||
`<https://anaconda.org/multibuild-wheels-staging/numpy/files>`_, 3 for Mac, 6
|
||||
for Windows, and 12 for Linux.
|
||||
|
||||
.. example_: https://github.com/MacPython/numpy-wheels/pull/80/commits/cbf4af4
|
||||
|
||||
Note that sometimes builds, like tests, fail for unrelated reasons and
|
||||
you will need to restart them.
|
||||
|
||||
Download wheels
|
||||
---------------
|
||||
|
||||
When the wheels have all been successfully built, download them using the ``wheel-uploader``
|
||||
in the ``terryfy`` repository. The terryfy repository may be cloned from
|
||||
`<https://github.com/MacPython/terryfy>`_ if you don't already have it. The
|
||||
wheels can also be uploaded using the ``wheel-uploader``, but we prefer to
|
||||
download all the wheels to the ``../numpy/release/installers`` directory and
|
||||
upload later using ``twine``::
|
||||
|
||||
$ cd ../terryfy
|
||||
$ git pull upstream master
|
||||
$ CDN_URL=https://anaconda.org/multibuild-wheels-staging/numpy/files
|
||||
$ NPY_WHLS=../numpy/release/installers
|
||||
$ ./wheel-uploader -u $CDN_URL -n -v -w $NPY_WHLS -t win numpy 1.14.5
|
||||
$ ./wheel-uploader -u $CDN_URL -n -v -w $NPY_WHLS -t manylinux1 numpy 1.14.5
|
||||
$ ./wheel-uploader -u $CDN_URL -n -v -w $NPY_WHLS -t macosx numpy 1.14.5
|
||||
|
||||
If you do this often, consider making CDN_URL and NPY_WHLS part of your default
|
||||
environment.
|
||||
|
||||
Generate the README files
|
||||
-------------------------
|
||||
|
||||
This needs to be done after all installers are downloaded, but before the pavement
|
||||
file is updated for continued development::
|
||||
|
||||
$ cd ../numpy
|
||||
$ paver write_release
|
||||
|
||||
|
||||
Tag the release
|
||||
---------------
|
||||
|
||||
Once the wheels have been built and downloaded without errors, go back to your
|
||||
numpy repository in the maintenance branch and tag the ``REL`` commit, signing
|
||||
it with your gpg key::
|
||||
|
||||
$ git tag -s v1.14.5
|
||||
|
||||
You should upload your public gpg key to github, so that the tag will appear
|
||||
"verified" there.
|
||||
|
||||
Check that the files in ``release/installers`` have the correct versions, then
|
||||
push the tag upstream::
|
||||
|
||||
$ git push upstream v1.14.5
|
||||
|
||||
We wait until this point to push the tag because it is public and should not
|
||||
be changed after it has been pushed.
|
||||
|
||||
|
||||
Reset the maintenance branch into a development state
|
||||
-----------------------------------------------------
|
||||
|
||||
Add another ``REL`` commit to the numpy maintenance branch, which resets the
|
||||
``ISREALEASED`` flag to ``False`` and increments the version counter::
|
||||
|
||||
$ gvim pavement.py setup.py
|
||||
|
||||
Create release notes for next release and edit them to set the version::
|
||||
|
||||
$ cp doc/source/release/template.rst doc/source/release/1.14.6-notes.rst
|
||||
$ gvim doc/source/release/1.14.6-notes.rst
|
||||
$ git add doc/source/release/1.14.6-notes.rst
|
||||
|
||||
Add new release notes to the documentation release list::
|
||||
|
||||
$ gvim doc/source/release.rst
|
||||
|
||||
Commit the result::
|
||||
|
||||
$ git commit -a -m"REL: prepare 1.14.x for further development"
|
||||
$ git push upstream maintenance/1.14.x
|
||||
|
||||
|
||||
Upload to PyPI
|
||||
--------------
|
||||
|
||||
Upload to PyPI using ``twine``. A recent version of ``twine`` of is needed
|
||||
after recent PyPI changes, version ``1.11.0`` was used here.
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
$ cd ../numpy
|
||||
$ twine upload release/installers/*.whl
|
||||
$ twine upload release/installers/numpy-1.14.5.zip # Upload last.
|
||||
|
||||
If one of the commands breaks in the middle, which is not uncommon, you may
|
||||
need to selectively upload the remaining files because PyPI does not allow the
|
||||
same file to be uploaded twice. The source file should be uploaded last to
|
||||
avoid synchronization problems if pip users access the files while this is in
|
||||
process. Note that PyPI only allows a single source distribution, here we have
|
||||
chosen the zip archive.
|
||||
|
||||
|
||||
Upload files to github
|
||||
----------------------
|
||||
|
||||
Go to `<https://github.com/numpy/numpy/releases>`_, there should be a ``v1.14.5
|
||||
tag``, click on it and hit the edit button for that tag. There are two ways to
|
||||
add files, using an editable text window and as binary uploads.
|
||||
|
||||
- Cut and paste the ``release/README.md`` file contents into the text window.
|
||||
- Upload ``release/installers/numpy-1.14.5.tar.gz`` as a binary file.
|
||||
- Upload ``release/installers/numpy-1.14.5.zip`` as a binary file.
|
||||
- Upload ``release/README.rst`` as a binary file.
|
||||
- Upload ``doc/changelog/1.14.5-changelog.rst`` as a binary file.
|
||||
- Check the pre-release button if this is a pre-releases.
|
||||
- Hit the ``{Publish,Update} release`` button at the bottom.
|
||||
|
||||
|
||||
Upload documents to numpy.org
|
||||
-----------------------------
|
||||
|
||||
This step is only needed for final releases and can be skipped for
|
||||
pre-releases. ``make merge-doc`` clones the ``numpy/doc`` repo into
|
||||
``doc/build/merge`` and updates it with the new documentation::
|
||||
|
||||
$ pushd doc
|
||||
$ make dist
|
||||
$ make merge-doc
|
||||
$ popd
|
||||
|
||||
If the release series is a new one, you will need to add a new section to the
|
||||
``doc/build/merge/index.html`` front page just after the "insert here" comment::
|
||||
|
||||
$ gvim doc/build/merge/index.html +/'insert here'
|
||||
|
||||
Otherwise, only the ``zip`` and ``pdf`` links should be updated with the
|
||||
new tag name::
|
||||
|
||||
$ gvim doc/build/merge/index.html +/'tag v1.14'
|
||||
|
||||
You can "test run" the new documentation in a browser to make sure the links
|
||||
work::
|
||||
|
||||
$ firefox doc/build/merge/index.html
|
||||
|
||||
Once everything seems satisfactory, commit and upload the changes::
|
||||
|
||||
$ pushd doc/build/merge
|
||||
$ git commit -am"Add documentation for v1.14.5"
|
||||
$ git push
|
||||
$ popd
|
||||
|
||||
Announce the release on scipy.org
|
||||
---------------------------------
|
||||
|
||||
This assumes that you have forked `<https://github.com/scipy/scipy.org>`_::
|
||||
|
||||
$ cd ../scipy.org
|
||||
$ git checkout master
|
||||
$ git pull upstream master
|
||||
$ git checkout -b numpy-1.14.5
|
||||
$ gvim www/index.rst # edit the News section
|
||||
$ git commit -a
|
||||
$ git push origin HEAD
|
||||
|
||||
Now go to your fork and make a pull request for the branch.
|
||||
|
||||
|
||||
Announce to mailing lists
|
||||
-------------------------
|
||||
|
||||
The release should be announced on the numpy-discussion, scipy-devel,
|
||||
scipy-user, and python-announce-list mailing lists. Look at previous
|
||||
announcements for the basic template. The contributor and PR lists are the same
|
||||
as generated for the release notes above. If you crosspost, make sure that
|
||||
python-announce-list is BCC so that replies will not be sent to that list.
|
||||
|
||||
|
||||
Post-Release Tasks
|
||||
------------------
|
||||
|
||||
Checkout master and forward port the documentation changes::
|
||||
|
||||
$ git checkout -b update-after-1.14.5-release
|
||||
$ git checkout maintenance/1.14.x doc/source/release/1.14.5-notes.rst
|
||||
$ git checkout maintenance/1.14.x doc/changelog/1.14.5-changelog.rst
|
||||
$ gvim doc/source/release.rst # Add link to new notes
|
||||
$ git add doc/changelog/1.14.5-changelog.rst doc/source/release/1.14.5-notes.rst
|
||||
$ git status # check status before commit
|
||||
$ git commit -a -m"REL: Update master after 1.14.5 release."
|
||||
$ git push origin HEAD
|
||||
|
||||
Go to github and make a PR.
|
|
@ -0,0 +1,397 @@
|
|||
NumPy/SciPy Testing Guidelines
|
||||
==============================
|
||||
|
||||
.. contents::
|
||||
|
||||
|
||||
Introduction
|
||||
''''''''''''
|
||||
|
||||
Until the 1.15 release, NumPy used the `nose`_ testing framework, it now uses
|
||||
the `pytest`_ framework. The older framework is still maintained in order to
|
||||
support downstream projects that use the old numpy framework, but all tests
|
||||
for NumPy should use pytest.
|
||||
|
||||
Our goal is that every module and package in NumPy
|
||||
should have a thorough set of unit
|
||||
tests. These tests should exercise the full functionality of a given
|
||||
routine as well as its robustness to erroneous or unexpected input
|
||||
arguments. Long experience has shown that by far the best time to
|
||||
write the tests is before you write or change the code - this is
|
||||
`test-driven development
|
||||
<https://en.wikipedia.org/wiki/Test-driven_development>`__. The
|
||||
arguments for this can sound rather abstract, but we can assure you
|
||||
that you will find that writing the tests first leads to more robust
|
||||
and better designed code. Well-designed tests with good coverage make
|
||||
an enormous difference to the ease of refactoring. Whenever a new bug
|
||||
is found in a routine, you should write a new test for that specific
|
||||
case and add it to the test suite to prevent that bug from creeping
|
||||
back in unnoticed.
|
||||
|
||||
.. note::
|
||||
|
||||
SciPy uses the testing framework from :mod:`numpy.testing`,
|
||||
so all of the NumPy examples shown below are also applicable to SciPy
|
||||
|
||||
Testing NumPy
|
||||
'''''''''''''
|
||||
|
||||
NumPy can be tested in a number of ways, choose any way you feel comfortable.
|
||||
|
||||
Running tests from inside Python
|
||||
--------------------------------
|
||||
|
||||
You can test an installed NumPy by `numpy.test`, for example,
|
||||
To run NumPy's full test suite, use the following::
|
||||
|
||||
>>> import numpy
|
||||
>>> numpy.test(label='slow')
|
||||
|
||||
The test method may take two or more arguments; the first ``label`` is a
|
||||
string specifying what should be tested and the second ``verbose`` is an
|
||||
integer giving the level of output verbosity. See the docstring
|
||||
`numpy.test`
|
||||
for details. The default value for ``label`` is 'fast' - which
|
||||
will run the standard tests. The string 'full' will run the full battery
|
||||
of tests, including those identified as being slow to run. If ``verbose``
|
||||
is 1 or less, the tests will just show information messages about the tests
|
||||
that are run; but if it is greater than 1, then the tests will also provide
|
||||
warnings on missing tests. So if you want to run every test and get
|
||||
messages about which modules don't have tests::
|
||||
|
||||
>>> numpy.test(label='full', verbose=2) # or numpy.test('full', 2)
|
||||
|
||||
Finally, if you are only interested in testing a subset of NumPy, for
|
||||
example, the ``core`` module, use the following::
|
||||
|
||||
>>> numpy.core.test()
|
||||
|
||||
Running tests from the command line
|
||||
-----------------------------------
|
||||
|
||||
If you want to build NumPy in order to work on NumPy itself, use
|
||||
``runtests.py``.To run NumPy's full test suite::
|
||||
|
||||
$ python runtests.py
|
||||
|
||||
Testing a subset of NumPy::
|
||||
|
||||
$python runtests.py -t numpy/core/tests
|
||||
|
||||
For detailed info on testing, see :ref:`testing-builds`
|
||||
|
||||
Other methods of running tests
|
||||
------------------------------
|
||||
|
||||
Run tests using your favourite IDE such as `vscode`_ or `pycharm`_
|
||||
|
||||
Writing your own tests
|
||||
''''''''''''''''''''''
|
||||
|
||||
If you are writing a package that you'd like to become part of NumPy,
|
||||
please write the tests as you develop the package.
|
||||
Every Python module, extension module, or subpackage in the NumPy
|
||||
package directory should have a corresponding ``test_<name>.py`` file.
|
||||
Pytest examines these files for test methods (named ``test*``) and test
|
||||
classes (named ``Test*``).
|
||||
|
||||
Suppose you have a NumPy module ``numpy/xxx/yyy.py`` containing a
|
||||
function ``zzz()``. To test this function you would create a test
|
||||
module called ``test_yyy.py``. If you only need to test one aspect of
|
||||
``zzz``, you can simply add a test function::
|
||||
|
||||
def test_zzz():
|
||||
assert_(zzz() == 'Hello from zzz')
|
||||
|
||||
More often, we need to group a number of tests together, so we create
|
||||
a test class::
|
||||
|
||||
from numpy.testing import assert_, assert_raises
|
||||
|
||||
# import xxx symbols
|
||||
from numpy.xxx.yyy import zzz
|
||||
|
||||
class TestZzz:
|
||||
def test_simple(self):
|
||||
assert_(zzz() == 'Hello from zzz')
|
||||
|
||||
def test_invalid_parameter(self):
|
||||
assert_raises(...)
|
||||
|
||||
Within these test methods, ``assert_()`` and related functions are used to test
|
||||
whether a certain assumption is valid. If the assertion fails, the test fails.
|
||||
Note that the Python builtin ``assert`` should not be used, because it is
|
||||
stripped during compilation with ``-O``.
|
||||
|
||||
Note that ``test_`` functions or methods should not have a docstring, because
|
||||
that makes it hard to identify the test from the output of running the test
|
||||
suite with ``verbose=2`` (or similar verbosity setting). Use plain comments
|
||||
(``#``) if necessary.
|
||||
|
||||
Also since much of NumPy is legacy code that was
|
||||
originally written without unit tests, there are still several modules
|
||||
that don't have tests yet. Please feel free to choose one of these
|
||||
modules and develop tests for it.
|
||||
|
||||
Labeling tests
|
||||
--------------
|
||||
|
||||
As an alternative to ``pytest.mark.<label>``, there are a number of labels you
|
||||
can use.
|
||||
|
||||
Unlabeled tests like the ones above are run in the default
|
||||
``numpy.test()`` run. If you want to label your test as slow - and
|
||||
therefore reserved for a full ``numpy.test(label='full')`` run, you
|
||||
can label it with a decorator::
|
||||
|
||||
# numpy.testing module includes 'import decorators as dec'
|
||||
from numpy.testing import dec, assert_
|
||||
|
||||
@dec.slow
|
||||
def test_big(self):
|
||||
print 'Big, slow test'
|
||||
|
||||
Similarly for methods::
|
||||
|
||||
class test_zzz:
|
||||
@dec.slow
|
||||
def test_simple(self):
|
||||
assert_(zzz() == 'Hello from zzz')
|
||||
|
||||
Available labels are:
|
||||
|
||||
- ``slow``: marks a test as taking a long time
|
||||
- ``setastest(tf)``: work-around for test discovery when the test name is
|
||||
non conformant
|
||||
- ``skipif(condition, msg=None)``: skips the test when ``eval(condition)`` is
|
||||
``True``
|
||||
- ``knownfailureif(fail_cond, msg=None)``: will avoid running the test if
|
||||
``eval(fail_cond)`` is ``True``, useful for tests that conditionally segfault
|
||||
- ``deprecated(conditional=True)``: filters deprecation warnings emitted in the
|
||||
test
|
||||
- ``paramaterize(var, input)``: an alternative to
|
||||
`pytest.mark.paramaterized
|
||||
<https://docs.pytest.org/en/latest/parametrize.html>`_
|
||||
|
||||
Easier setup and teardown functions / methods
|
||||
---------------------------------------------
|
||||
|
||||
Testing looks for module-level or class-level setup and teardown functions by
|
||||
name; thus::
|
||||
|
||||
def setup():
|
||||
"""Module-level setup"""
|
||||
print 'doing setup'
|
||||
|
||||
def teardown():
|
||||
"""Module-level teardown"""
|
||||
print 'doing teardown'
|
||||
|
||||
|
||||
class TestMe:
|
||||
def setup():
|
||||
"""Class-level setup"""
|
||||
print 'doing setup'
|
||||
|
||||
def teardown():
|
||||
"""Class-level teardown"""
|
||||
print 'doing teardown'
|
||||
|
||||
|
||||
Setup and teardown functions to functions and methods are known as "fixtures",
|
||||
and their use is not encouraged.
|
||||
|
||||
Parametric tests
|
||||
----------------
|
||||
|
||||
One very nice feature of testing is allowing easy testing across a range
|
||||
of parameters - a nasty problem for standard unit tests. Use the
|
||||
``dec.paramaterize`` decorator.
|
||||
|
||||
Doctests
|
||||
--------
|
||||
|
||||
Doctests are a convenient way of documenting the behavior of a function
|
||||
and allowing that behavior to be tested at the same time. The output
|
||||
of an interactive Python session can be included in the docstring of a
|
||||
function, and the test framework can run the example and compare the
|
||||
actual output to the expected output.
|
||||
|
||||
The doctests can be run by adding the ``doctests`` argument to the
|
||||
``test()`` call; for example, to run all tests (including doctests)
|
||||
for numpy.lib::
|
||||
|
||||
>>> import numpy as np
|
||||
>>> np.lib.test(doctests=True)
|
||||
|
||||
The doctests are run as if they are in a fresh Python instance which
|
||||
has executed ``import numpy as np``. Tests that are part of a NumPy
|
||||
subpackage will have that subpackage already imported. E.g. for a test
|
||||
in ``numpy/linalg/tests/``, the namespace will be created such that
|
||||
``from numpy import linalg`` has already executed.
|
||||
|
||||
|
||||
``tests/``
|
||||
----------
|
||||
|
||||
Rather than keeping the code and the tests in the same directory, we
|
||||
put all the tests for a given subpackage in a ``tests/``
|
||||
subdirectory. For our example, if it doesn't already exist you will
|
||||
need to create a ``tests/`` directory in ``numpy/xxx/``. So the path
|
||||
for ``test_yyy.py`` is ``numpy/xxx/tests/test_yyy.py``.
|
||||
|
||||
Once the ``numpy/xxx/tests/test_yyy.py`` is written, its possible to
|
||||
run the tests by going to the ``tests/`` directory and typing::
|
||||
|
||||
python test_yyy.py
|
||||
|
||||
Or if you add ``numpy/xxx/tests/`` to the Python path, you could run
|
||||
the tests interactively in the interpreter like this::
|
||||
|
||||
>>> import test_yyy
|
||||
>>> test_yyy.test()
|
||||
|
||||
``__init__.py`` and ``setup.py``
|
||||
--------------------------------
|
||||
|
||||
Usually, however, adding the ``tests/`` directory to the python path
|
||||
isn't desirable. Instead it would better to invoke the test straight
|
||||
from the module ``xxx``. To this end, simply place the following lines
|
||||
at the end of your package's ``__init__.py`` file::
|
||||
|
||||
...
|
||||
def test(level=1, verbosity=1):
|
||||
from numpy.testing import Tester
|
||||
return Tester().test(level, verbosity)
|
||||
|
||||
You will also need to add the tests directory in the configuration
|
||||
section of your setup.py::
|
||||
|
||||
...
|
||||
def configuration(parent_package='', top_path=None):
|
||||
...
|
||||
config.add_subpackage('tests')
|
||||
return config
|
||||
...
|
||||
|
||||
Now you can do the following to test your module::
|
||||
|
||||
>>> import numpy
|
||||
>>> numpy.xxx.test()
|
||||
|
||||
Also, when invoking the entire NumPy test suite, your tests will be
|
||||
found and run::
|
||||
|
||||
>>> import numpy
|
||||
>>> numpy.test()
|
||||
# your tests are included and run automatically!
|
||||
|
||||
Tips & Tricks
|
||||
'''''''''''''
|
||||
|
||||
Creating many similar tests
|
||||
---------------------------
|
||||
|
||||
If you have a collection of tests that must be run multiple times with
|
||||
minor variations, it can be helpful to create a base class containing
|
||||
all the common tests, and then create a subclass for each variation.
|
||||
Several examples of this technique exist in NumPy; below are excerpts
|
||||
from one in `numpy/linalg/tests/test_linalg.py
|
||||
<https://github.com/numpy/numpy/blob/master/numpy/linalg/tests/test_linalg.py>`__::
|
||||
|
||||
class LinalgTestCase:
|
||||
def test_single(self):
|
||||
a = array([[1.,2.], [3.,4.]], dtype=single)
|
||||
b = array([2., 1.], dtype=single)
|
||||
self.do(a, b)
|
||||
|
||||
def test_double(self):
|
||||
a = array([[1.,2.], [3.,4.]], dtype=double)
|
||||
b = array([2., 1.], dtype=double)
|
||||
self.do(a, b)
|
||||
|
||||
...
|
||||
|
||||
class TestSolve(LinalgTestCase):
|
||||
def do(self, a, b):
|
||||
x = linalg.solve(a, b)
|
||||
assert_almost_equal(b, dot(a, x))
|
||||
assert_(imply(isinstance(b, matrix), isinstance(x, matrix)))
|
||||
|
||||
class TestInv(LinalgTestCase):
|
||||
def do(self, a, b):
|
||||
a_inv = linalg.inv(a)
|
||||
assert_almost_equal(dot(a, a_inv), identity(asarray(a).shape[0]))
|
||||
assert_(imply(isinstance(a, matrix), isinstance(a_inv, matrix)))
|
||||
|
||||
In this case, we wanted to test solving a linear algebra problem using
|
||||
matrices of several data types, using ``linalg.solve`` and
|
||||
``linalg.inv``. The common test cases (for single-precision,
|
||||
double-precision, etc. matrices) are collected in ``LinalgTestCase``.
|
||||
|
||||
Known failures & skipping tests
|
||||
-------------------------------
|
||||
|
||||
Sometimes you might want to skip a test or mark it as a known failure,
|
||||
such as when the test suite is being written before the code it's
|
||||
meant to test, or if a test only fails on a particular architecture.
|
||||
|
||||
To skip a test, simply use ``skipif``::
|
||||
|
||||
import pytest
|
||||
|
||||
@pytest.mark.skipif(SkipMyTest, reason="Skipping this test because...")
|
||||
def test_something(foo):
|
||||
...
|
||||
|
||||
The test is marked as skipped if ``SkipMyTest`` evaluates to nonzero,
|
||||
and the message in verbose test output is the second argument given to
|
||||
``skipif``. Similarly, a test can be marked as a known failure by
|
||||
using ``xfail``::
|
||||
|
||||
import pytest
|
||||
|
||||
@pytest.mark.xfail(MyTestFails, reason="This test is known to fail because...")
|
||||
def test_something_else(foo):
|
||||
...
|
||||
|
||||
Of course, a test can be unconditionally skipped or marked as a known
|
||||
failure by using ``skip`` or ``xfail`` without argument, respectively.
|
||||
|
||||
A total of the number of skipped and known failing tests is displayed
|
||||
at the end of the test run. Skipped tests are marked as ``'S'`` in
|
||||
the test results (or ``'SKIPPED'`` for ``verbose > 1``), and known
|
||||
failing tests are marked as ``'x'`` (or ``'XFAIL'`` if ``verbose >
|
||||
1``).
|
||||
|
||||
Tests on random data
|
||||
--------------------
|
||||
|
||||
Tests on random data are good, but since test failures are meant to expose
|
||||
new bugs or regressions, a test that passes most of the time but fails
|
||||
occasionally with no code changes is not helpful. Make the random data
|
||||
deterministic by setting the random number seed before generating it. Use
|
||||
either Python's ``random.seed(some_number)`` or NumPy's
|
||||
``numpy.random.seed(some_number)``, depending on the source of random numbers.
|
||||
|
||||
Alternatively, you can use `Hypothesis`_ to generate arbitrary data.
|
||||
Hypothesis manages both Python's and Numpy's random seeds for you, and
|
||||
provides a very concise and powerful way to describe data (including
|
||||
``hypothesis.extra.numpy``, e.g. for a set of mutually-broadcastable shapes).
|
||||
|
||||
The advantages over random generation include tools to replay and share
|
||||
failures without requiring a fixed seed, reporting *minimal* examples for
|
||||
each failure, and better-than-naive-random techniques for triggering bugs.
|
||||
|
||||
|
||||
Documentation for ``numpy.test``
|
||||
--------------------------------
|
||||
|
||||
.. autofunction:: numpy.test
|
||||
|
||||
.. _nose: https://nose.readthedocs.io/en/latest/
|
||||
.. _pytest: https://pytest.readthedocs.io
|
||||
.. _parameterization: https://docs.pytest.org/en/latest/parametrize.html
|
||||
.. _Hypothesis: https://hypothesis.readthedocs.io/en/latest/
|
||||
.. _vscode: https://code.visualstudio.com/docs/python/testing#_enable-a-test-framework
|
||||
.. _pycharm: https://www.jetbrains.com/help/pycharm/testing-your-first-python-application.html
|
|
@ -0,0 +1,29 @@
|
|||
# Doxyfile for NumPy C API
|
||||
# See http://www.doxygen.nl/manual/config.html
|
||||
PROJECT_NAME = numpy
|
||||
PROJECT_NUMBER = 2.0.0
|
||||
OUTPUT_DIRECTORY = build
|
||||
STRIP_FROM_PATH = ../../numpy/core
|
||||
INHERIT_DOCS = YES
|
||||
TAB_SIZE = 8
|
||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
||||
EXTRACT_ALL = YES
|
||||
EXTRACT_PRIVATE = YES
|
||||
EXTRACT_STATIC = YES
|
||||
CASE_SENSE_NAMES = NO
|
||||
INPUT = ../../numpy/core/src \
|
||||
../../numpy/core/include
|
||||
FILE_PATTERNS = *.h *.c *.src
|
||||
RECURSIVE = YES
|
||||
INPUT_FILTER = ./numpyfilter.py
|
||||
REFERENCED_BY_RELATION = YES
|
||||
REFERENCES_RELATION = YES
|
||||
ALPHABETICAL_INDEX = NO
|
||||
GENERATE_HTML = YES
|
||||
HTML_TIMESTAMP = YES
|
||||
GENERATE_TREEVIEW = YES
|
||||
SEARCHENGINE = NO
|
||||
GENERATE_LATEX = NO
|
||||
PAPER_TYPE = a4wide
|
||||
GENERATE_XML = NO
|
||||
HAVE_DOT = NO
|
|
@ -0,0 +1,10 @@
|
|||
all: build
|
||||
|
||||
build:
|
||||
doxygen
|
||||
|
||||
clean:
|
||||
rm -rf build
|
||||
|
||||
.PHONY: all build clean
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
cdoc
|
||||
====
|
||||
|
||||
This is a simple Doxygen project for building NumPy C code documentation,
|
||||
with docstrings extracted from the C sources themselves.
|
||||
|
||||
The understood syntax for documentation in the C source is
|
||||
|
||||
/*
|
||||
* Some text in reStructuredText format
|
||||
*/
|
||||
int function_to_which_the_text_applies()
|
||||
{
|
||||
...
|
||||
}
|
||||
|
||||
/*
|
||||
* More text in reStructuredText format
|
||||
*/
|
||||
struct
|
||||
{
|
||||
int variable_1; /* Documentation for variable_1 */
|
||||
|
||||
/*
|
||||
* Documentation for variable_2
|
||||
*/
|
||||
int variable_2;
|
||||
} struct_name_t;
|
||||
|
||||
Please do not use JavaDoc or Doxygen-specific formatting at the moment.
|
||||
|
|
@ -0,0 +1,104 @@
|
|||
#!/usr/bin/env python3
|
||||
"""
|
||||
numpyfilter.py [-h] inputfile
|
||||
|
||||
Interpret C comments as ReStructuredText, and replace them by the HTML output.
|
||||
Also, add Doxygen /** and /**< syntax automatically where appropriate.
|
||||
|
||||
"""
|
||||
import sys
|
||||
import re
|
||||
import os
|
||||
import textwrap
|
||||
|
||||
from numpy.compat import pickle
|
||||
|
||||
CACHE_FILE = 'build/rst-cache.pck'
|
||||
|
||||
def main():
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser(usage=__doc__.strip())
|
||||
parser.add_argument('input_file', help='input file')
|
||||
args = parser.parse_args()
|
||||
|
||||
comment_re = re.compile(r'(\n.*?)/\*(.*?)\*/', re.S)
|
||||
|
||||
cache = load_cache()
|
||||
|
||||
try:
|
||||
with open(args.input_file, 'r') as f:
|
||||
text = f.read()
|
||||
text = comment_re.sub(lambda m: process_match(m, cache), text)
|
||||
sys.stdout.write(text)
|
||||
finally:
|
||||
save_cache(cache)
|
||||
|
||||
def filter_comment(text):
|
||||
if text.startswith('NUMPY_API'):
|
||||
text = text[9:].strip()
|
||||
if text.startswith('UFUNC_API'):
|
||||
text = text[9:].strip()
|
||||
|
||||
html = render_html(text)
|
||||
return html
|
||||
|
||||
def process_match(m, cache=None):
|
||||
pre, rawtext = m.groups()
|
||||
|
||||
preline = pre.split("\n")[-1]
|
||||
|
||||
if cache is not None and rawtext in cache:
|
||||
text = cache[rawtext]
|
||||
else:
|
||||
text = re.compile(r'^\s*\*', re.M).sub('', rawtext)
|
||||
text = textwrap.dedent(text)
|
||||
text = filter_comment(text)
|
||||
|
||||
if cache is not None:
|
||||
cache[rawtext] = text
|
||||
|
||||
if preline.strip():
|
||||
return pre + "/**< " + text + " */"
|
||||
else:
|
||||
return pre + "/** " + text + " */"
|
||||
|
||||
def load_cache():
|
||||
if os.path.exists(CACHE_FILE):
|
||||
with open(CACHE_FILE, 'rb') as f:
|
||||
try:
|
||||
cache = pickle.load(f)
|
||||
except Exception:
|
||||
cache = {}
|
||||
else:
|
||||
cache = {}
|
||||
return cache
|
||||
|
||||
def save_cache(cache):
|
||||
with open(CACHE_FILE + '.new', 'wb') as f:
|
||||
pickle.dump(cache, f)
|
||||
os.rename(CACHE_FILE + '.new', CACHE_FILE)
|
||||
|
||||
def render_html(text):
|
||||
import docutils.parsers.rst
|
||||
import docutils.writers.html4css1
|
||||
import docutils.core
|
||||
|
||||
docutils.parsers.rst.roles.DEFAULT_INTERPRETED_ROLE = 'title-reference'
|
||||
writer = docutils.writers.html4css1.Writer()
|
||||
parts = docutils.core.publish_parts(
|
||||
text,
|
||||
writer=writer,
|
||||
settings_overrides = dict(halt_level=5,
|
||||
traceback=True,
|
||||
default_reference_context='title-reference',
|
||||
stylesheet_path='',
|
||||
# security settings:
|
||||
raw_enabled=0,
|
||||
file_insertion_enabled=0,
|
||||
_disable_config=1,
|
||||
)
|
||||
)
|
||||
return parts['html_body']
|
||||
|
||||
if __name__ == "__main__": main()
|
|
@ -0,0 +1,573 @@
|
|||
=========
|
||||
Changelog
|
||||
=========
|
||||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 139 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Aditya Panchal +
|
||||
* Ales Erjavec +
|
||||
* Alex Griffing
|
||||
* Alexandr Shadchin +
|
||||
* Alistair Muldal
|
||||
* Allan Haldane
|
||||
* Amit Aronovitch +
|
||||
* Andrei Kucharavy +
|
||||
* Antony Lee
|
||||
* Antti Kaihola +
|
||||
* Arne de Laat +
|
||||
* Auke Wiggers +
|
||||
* AustereCuriosity +
|
||||
* Badhri Narayanan Krishnakumar +
|
||||
* Ben North +
|
||||
* Ben Rowland +
|
||||
* Bertrand Lefebvre
|
||||
* Boxiang Sun
|
||||
* CJ Carey
|
||||
* Charles Harris
|
||||
* Christoph Gohlke
|
||||
* Daniel Ching +
|
||||
* Daniel Rasmussen +
|
||||
* Daniel Smith +
|
||||
* David Schaich +
|
||||
* Denis Alevi +
|
||||
* Devin Jeanpierre +
|
||||
* Dmitry Odzerikho
|
||||
* Dongjoon Hyun +
|
||||
* Edward Richards +
|
||||
* Ekaterina Tuzova +
|
||||
* Emilien Kofman +
|
||||
* Endolith
|
||||
* Eren Sezener +
|
||||
* Eric Moore
|
||||
* Eric Quintero +
|
||||
* Eric Wieser +
|
||||
* Erik M. Bray
|
||||
* Frederic Bastien
|
||||
* Friedrich Dunne +
|
||||
* Gerrit Holl
|
||||
* Golnaz Irannejad +
|
||||
* Graham Markall +
|
||||
* Greg Knoll +
|
||||
* Greg Young
|
||||
* Gustavo Serra Scalet +
|
||||
* Ines Wichert +
|
||||
* Irvin Probst +
|
||||
* Jaime Fernandez
|
||||
* James Sanders +
|
||||
* Jan David Mol +
|
||||
* Jan Schlüter
|
||||
* Jeremy Tuloup +
|
||||
* John Kirkham
|
||||
* John Zwinck +
|
||||
* Jonathan Helmus
|
||||
* Joseph Fox-Rabinovitz
|
||||
* Josh Wilson +
|
||||
* Joshua Warner +
|
||||
* Julian Taylor
|
||||
* Ka Wo Chen +
|
||||
* Kamil Rytarowski +
|
||||
* Kelsey Jordahl +
|
||||
* Kevin Deldycke +
|
||||
* Khaled Ben Abdallah Okuda +
|
||||
* Lion Krischer +
|
||||
* Loïc Estève +
|
||||
* Luca Mussi +
|
||||
* Mads Ohm Larsen +
|
||||
* Manoj Kumar +
|
||||
* Mario Emmenlauer +
|
||||
* Marshall Bockrath-Vandegrift +
|
||||
* Marshall Ward +
|
||||
* Marten van Kerkwijk
|
||||
* Mathieu Lamarre +
|
||||
* Matthew Brett
|
||||
* Matthew Harrigan +
|
||||
* Matthias Geier
|
||||
* Matti Picus +
|
||||
* Meet Udeshi +
|
||||
* Michael Felt +
|
||||
* Michael Goerz +
|
||||
* Michael Martin +
|
||||
* Michael Seifert +
|
||||
* Mike Nolta +
|
||||
* Nathaniel Beaver +
|
||||
* Nathaniel J. Smith
|
||||
* Naveen Arunachalam +
|
||||
* Nick Papior
|
||||
* Nikola Forró +
|
||||
* Oleksandr Pavlyk +
|
||||
* Olivier Grisel
|
||||
* Oren Amsalem +
|
||||
* Pauli Virtanen
|
||||
* Pavel Potocek +
|
||||
* Pedro Lacerda +
|
||||
* Peter Creasey +
|
||||
* Phil Elson +
|
||||
* Philip Gura +
|
||||
* Phillip J. Wolfram +
|
||||
* Pierre de Buyl +
|
||||
* Raghav RV +
|
||||
* Ralf Gommers
|
||||
* Ray Donnelly +
|
||||
* Rehas Sachdeva
|
||||
* Rob Malouf +
|
||||
* Robert Kern
|
||||
* Samuel St-Jean
|
||||
* Sanchez Gonzalez Alvaro +
|
||||
* Saurabh Mehta +
|
||||
* Scott Sanderson +
|
||||
* Sebastian Berg
|
||||
* Shayan Pooya +
|
||||
* Shota Kawabuchi +
|
||||
* Simon Conseil
|
||||
* Simon Gibbons
|
||||
* Sorin Sbarnea +
|
||||
* Stefan van der Walt
|
||||
* Stephan Hoyer
|
||||
* Steven J Kern +
|
||||
* Stuart Archibald
|
||||
* Tadeu Manoel +
|
||||
* Takuya Akiba +
|
||||
* Thomas A Caswell
|
||||
* Tom Bird +
|
||||
* Tony Kelman +
|
||||
* Toshihiro Kamishima +
|
||||
* Valentin Valls +
|
||||
* Varun Nayyar
|
||||
* Victor Stinner +
|
||||
* Warren Weckesser
|
||||
* Wendell Smith
|
||||
* Wojtek Ruszczewski +
|
||||
* Xavier Abellan Ecija +
|
||||
* Yaroslav Halchenko
|
||||
* Yash Shah +
|
||||
* Yinon Ehrlich +
|
||||
* Yu Feng +
|
||||
* nevimov +
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 418 pull requests were merged for this release.
|
||||
|
||||
* `#4073 <https://github.com/numpy/numpy/pull/4073>`__: BUG: change real output checking to test if all imaginary parts...
|
||||
* `#4619 <https://github.com/numpy/numpy/pull/4619>`__: BUG : np.sum silently drops keepdims for sub-classes of ndarray
|
||||
* `#5488 <https://github.com/numpy/numpy/pull/5488>`__: ENH: add `contract`: optimizing numpy's einsum expression
|
||||
* `#5706 <https://github.com/numpy/numpy/pull/5706>`__: ENH: make some masked array methods behave more like ndarray...
|
||||
* `#5822 <https://github.com/numpy/numpy/pull/5822>`__: Allow many distributions to have a scale of 0.
|
||||
* `#6054 <https://github.com/numpy/numpy/pull/6054>`__: WIP: MAINT: Add deprecation warning to views of multi-field indexes
|
||||
* `#6298 <https://github.com/numpy/numpy/pull/6298>`__: Check lower base limit in base_repr.
|
||||
* `#6430 <https://github.com/numpy/numpy/pull/6430>`__: Fix issues with zero-width string fields
|
||||
* `#6656 <https://github.com/numpy/numpy/pull/6656>`__: ENH: usecols now accepts an int when only one column has to be...
|
||||
* `#6660 <https://github.com/numpy/numpy/pull/6660>`__: Added pathlib support for several functions
|
||||
* `#6872 <https://github.com/numpy/numpy/pull/6872>`__: ENH: linear interpolation of complex values in lib.interp
|
||||
* `#6997 <https://github.com/numpy/numpy/pull/6997>`__: MAINT: Simplify mtrand.pyx helpers
|
||||
* `#7003 <https://github.com/numpy/numpy/pull/7003>`__: BUG: Fix string copying for np.place
|
||||
* `#7026 <https://github.com/numpy/numpy/pull/7026>`__: DOC: Clarify behavior in np.random.uniform
|
||||
* `#7055 <https://github.com/numpy/numpy/pull/7055>`__: BUG: One Element Array Inputs Return Scalars in np.random
|
||||
* `#7063 <https://github.com/numpy/numpy/pull/7063>`__: REL: Update master branch after 1.11.x branch has been made.
|
||||
* `#7073 <https://github.com/numpy/numpy/pull/7073>`__: DOC: Update the 1.11.0 release notes.
|
||||
* `#7076 <https://github.com/numpy/numpy/pull/7076>`__: MAINT: Update the git .mailmap file.
|
||||
* `#7082 <https://github.com/numpy/numpy/pull/7082>`__: TST, DOC: Added Broadcasting Tests in test_random.py
|
||||
* `#7087 <https://github.com/numpy/numpy/pull/7087>`__: BLD: fix compilation on non glibc-Linuxes
|
||||
* `#7088 <https://github.com/numpy/numpy/pull/7088>`__: BUG: Have `norm` cast non-floating point arrays to 64-bit float...
|
||||
* `#7090 <https://github.com/numpy/numpy/pull/7090>`__: ENH: Added 'doane' and 'sqrt' estimators to np.histogram in numpy.function_base
|
||||
* `#7091 <https://github.com/numpy/numpy/pull/7091>`__: Revert "BLD: fix compilation on non glibc-Linuxes"
|
||||
* `#7092 <https://github.com/numpy/numpy/pull/7092>`__: BLD: fix compilation on non glibc-Linuxes
|
||||
* `#7099 <https://github.com/numpy/numpy/pull/7099>`__: TST: Suppressed warnings
|
||||
* `#7102 <https://github.com/numpy/numpy/pull/7102>`__: MAINT: Removed conditionals that are always false in datetime_strings.c
|
||||
* `#7105 <https://github.com/numpy/numpy/pull/7105>`__: DEP: Deprecate as_strided returning a writable array as default
|
||||
* `#7109 <https://github.com/numpy/numpy/pull/7109>`__: DOC: update Python versions requirements in the install docs
|
||||
* `#7114 <https://github.com/numpy/numpy/pull/7114>`__: MAINT: Fix typos in docs
|
||||
* `#7116 <https://github.com/numpy/numpy/pull/7116>`__: TST: Fixed f2py test for win32 virtualenv
|
||||
* `#7118 <https://github.com/numpy/numpy/pull/7118>`__: TST: Fixed f2py test for non-versioned python executables
|
||||
* `#7119 <https://github.com/numpy/numpy/pull/7119>`__: BUG: Fixed mingw.lib error
|
||||
* `#7125 <https://github.com/numpy/numpy/pull/7125>`__: DOC: Updated documentation wording and examples for np.percentile.
|
||||
* `#7129 <https://github.com/numpy/numpy/pull/7129>`__: BUG: Fixed 'midpoint' interpolation of np.percentile in odd cases.
|
||||
* `#7131 <https://github.com/numpy/numpy/pull/7131>`__: Fix setuptools sdist
|
||||
* `#7133 <https://github.com/numpy/numpy/pull/7133>`__: ENH: savez: temporary file alongside with target file and improve...
|
||||
* `#7134 <https://github.com/numpy/numpy/pull/7134>`__: MAINT: Fix some typos in a code string and comments
|
||||
* `#7141 <https://github.com/numpy/numpy/pull/7141>`__: BUG: Unpickled void scalars should be contiguous
|
||||
* `#7144 <https://github.com/numpy/numpy/pull/7144>`__: MAINT: Change `call_fortran` into `callfortran` in comments.
|
||||
* `#7145 <https://github.com/numpy/numpy/pull/7145>`__: BUG: Fixed regressions in np.piecewise in ref to #5737 and #5729.
|
||||
* `#7147 <https://github.com/numpy/numpy/pull/7147>`__: Temporarily disable __numpy_ufunc__
|
||||
* `#7148 <https://github.com/numpy/numpy/pull/7148>`__: ENH,TST: Bump stacklevel and add tests for warnings
|
||||
* `#7149 <https://github.com/numpy/numpy/pull/7149>`__: TST: Add missing suffix to temppath manager
|
||||
* `#7152 <https://github.com/numpy/numpy/pull/7152>`__: BUG: mode kwargs passed as unicode to np.pad raises an exception
|
||||
* `#7156 <https://github.com/numpy/numpy/pull/7156>`__: BUG: Reascertain that linspace respects ndarray subclasses in...
|
||||
* `#7167 <https://github.com/numpy/numpy/pull/7167>`__: DOC: Update Wikipedia references for mtrand.pyx
|
||||
* `#7171 <https://github.com/numpy/numpy/pull/7171>`__: TST: Fixed f2py test for Anaconda non-win32
|
||||
* `#7174 <https://github.com/numpy/numpy/pull/7174>`__: DOC: Fix broken pandas link in release notes
|
||||
* `#7177 <https://github.com/numpy/numpy/pull/7177>`__: ENH: added axis param for np.count_nonzero
|
||||
* `#7178 <https://github.com/numpy/numpy/pull/7178>`__: BUG: Fix binary_repr for negative numbers
|
||||
* `#7180 <https://github.com/numpy/numpy/pull/7180>`__: BUG: Fixed previous attempt to fix dimension mismatch in nanpercentile
|
||||
* `#7181 <https://github.com/numpy/numpy/pull/7181>`__: DOC: Updated minor typos in function_base.py and test_function_base.py
|
||||
* `#7191 <https://github.com/numpy/numpy/pull/7191>`__: DOC: add vstack, hstack, dstack reference to stack documentation.
|
||||
* `#7193 <https://github.com/numpy/numpy/pull/7193>`__: MAINT: Removed supurious assert in histogram estimators
|
||||
* `#7194 <https://github.com/numpy/numpy/pull/7194>`__: BUG: Raise a quieter `MaskedArrayFutureWarning` for mask changes.
|
||||
* `#7195 <https://github.com/numpy/numpy/pull/7195>`__: STY: Drop some trailing spaces in `numpy.ma.core`.
|
||||
* `#7196 <https://github.com/numpy/numpy/pull/7196>`__: Revert "DOC: add vstack, hstack, dstack reference to stack documentation."
|
||||
* `#7197 <https://github.com/numpy/numpy/pull/7197>`__: TST: Pin virtualenv used on Travis CI.
|
||||
* `#7198 <https://github.com/numpy/numpy/pull/7198>`__: ENH: Unlock the GIL for gufuncs
|
||||
* `#7199 <https://github.com/numpy/numpy/pull/7199>`__: MAINT: Cleanup for histogram bin estimator selection
|
||||
* `#7201 <https://github.com/numpy/numpy/pull/7201>`__: Raise IOError on not a file in python2
|
||||
* `#7202 <https://github.com/numpy/numpy/pull/7202>`__: MAINT: Made `iterable` return a boolean
|
||||
* `#7209 <https://github.com/numpy/numpy/pull/7209>`__: TST: Bump `virtualenv` to 14.0.6
|
||||
* `#7211 <https://github.com/numpy/numpy/pull/7211>`__: DOC: Fix fmin examples
|
||||
* `#7215 <https://github.com/numpy/numpy/pull/7215>`__: MAINT: Use PySlice_GetIndicesEx instead of custom reimplementation
|
||||
* `#7229 <https://github.com/numpy/numpy/pull/7229>`__: ENH: implement __complex__
|
||||
* `#7231 <https://github.com/numpy/numpy/pull/7231>`__: MRG: allow distributors to run custom init
|
||||
* `#7232 <https://github.com/numpy/numpy/pull/7232>`__: BLD: Switch order of test for lapack_mkl and openblas_lapack
|
||||
* `#7239 <https://github.com/numpy/numpy/pull/7239>`__: DOC: Removed residual merge markup from previous commit
|
||||
* `#7240 <https://github.com/numpy/numpy/pull/7240>`__: Change 'pubic' to 'public'.
|
||||
* `#7241 <https://github.com/numpy/numpy/pull/7241>`__: MAINT: update doc/sphinxext to numpydoc 0.6.0, and fix up some...
|
||||
* `#7243 <https://github.com/numpy/numpy/pull/7243>`__: ENH: Adding support to the range keyword for estimation of the...
|
||||
* `#7246 <https://github.com/numpy/numpy/pull/7246>`__: DOC: mention writeable keyword in as_strided in release notes
|
||||
* `#7247 <https://github.com/numpy/numpy/pull/7247>`__: TST: Fail quickly on AppVeyor for superseded PR builds
|
||||
* `#7248 <https://github.com/numpy/numpy/pull/7248>`__: DOC: remove link to documentation wiki editor from HOWTO_DOCUMENT.
|
||||
* `#7250 <https://github.com/numpy/numpy/pull/7250>`__: DOC,REL: Update 1.11.0 notes.
|
||||
* `#7251 <https://github.com/numpy/numpy/pull/7251>`__: BUG: only benchmark complex256 if it exists
|
||||
* `#7252 <https://github.com/numpy/numpy/pull/7252>`__: Forward port a fix and enhancement from 1.11.x
|
||||
* `#7253 <https://github.com/numpy/numpy/pull/7253>`__: DOC: note in h/v/dstack points users to stack/concatenate
|
||||
* `#7254 <https://github.com/numpy/numpy/pull/7254>`__: BUG: Enforce dtype for randint singletons
|
||||
* `#7256 <https://github.com/numpy/numpy/pull/7256>`__: MAINT: Use `is None` or `is not None` instead of `== None` or...
|
||||
* `#7257 <https://github.com/numpy/numpy/pull/7257>`__: DOC: Fix mismatched variable names in docstrings.
|
||||
* `#7258 <https://github.com/numpy/numpy/pull/7258>`__: ENH: Make numpy floor_divide and remainder agree with Python...
|
||||
* `#7260 <https://github.com/numpy/numpy/pull/7260>`__: BUG/TST: Fix #7259, do not "force scalar" for already scalar...
|
||||
* `#7261 <https://github.com/numpy/numpy/pull/7261>`__: Added self to mailmap
|
||||
* `#7266 <https://github.com/numpy/numpy/pull/7266>`__: BUG: Segfault for classes with deceptive __len__
|
||||
* `#7268 <https://github.com/numpy/numpy/pull/7268>`__: ENH: add geomspace function
|
||||
* `#7274 <https://github.com/numpy/numpy/pull/7274>`__: BUG: Preserve array order in np.delete
|
||||
* `#7275 <https://github.com/numpy/numpy/pull/7275>`__: DEP: Warn about assigning 'data' attribute of ndarray
|
||||
* `#7276 <https://github.com/numpy/numpy/pull/7276>`__: DOC: apply_along_axis missing whitespace inserted (before colon)
|
||||
* `#7278 <https://github.com/numpy/numpy/pull/7278>`__: BUG: Make returned unravel_index arrays writeable
|
||||
* `#7279 <https://github.com/numpy/numpy/pull/7279>`__: TST: Fixed elements being shuffled
|
||||
* `#7280 <https://github.com/numpy/numpy/pull/7280>`__: MAINT: Remove redundant trailing semicolons.
|
||||
* `#7285 <https://github.com/numpy/numpy/pull/7285>`__: BUG: Make Randint Backwards Compatible with Pandas
|
||||
* `#7286 <https://github.com/numpy/numpy/pull/7286>`__: MAINT: Fix typos in docs/comments of `ma` and `polynomial` modules.
|
||||
* `#7292 <https://github.com/numpy/numpy/pull/7292>`__: Clarify error on repr failure in assert_equal.
|
||||
* `#7294 <https://github.com/numpy/numpy/pull/7294>`__: ENH: add support for BLIS to numpy.distutils
|
||||
* `#7295 <https://github.com/numpy/numpy/pull/7295>`__: DOC: understanding code and getting started section to dev doc
|
||||
* `#7296 <https://github.com/numpy/numpy/pull/7296>`__: Revert part of #3907 which incorrectly propagated MaskedArray...
|
||||
* `#7299 <https://github.com/numpy/numpy/pull/7299>`__: DOC: Fix mismatched variable names in docstrings.
|
||||
* `#7300 <https://github.com/numpy/numpy/pull/7300>`__: DOC: dev: stop recommending keeping local master updated with...
|
||||
* `#7301 <https://github.com/numpy/numpy/pull/7301>`__: DOC: Update release notes
|
||||
* `#7305 <https://github.com/numpy/numpy/pull/7305>`__: BUG: Remove data race in mtrand: two threads could mutate the...
|
||||
* `#7307 <https://github.com/numpy/numpy/pull/7307>`__: DOC: Missing some characters in link.
|
||||
* `#7308 <https://github.com/numpy/numpy/pull/7308>`__: BUG: Incrementing the wrong reference on return
|
||||
* `#7310 <https://github.com/numpy/numpy/pull/7310>`__: STY: Fix GitHub rendering of ordered lists >9
|
||||
* `#7311 <https://github.com/numpy/numpy/pull/7311>`__: ENH: Make _pointer_type_cache functional
|
||||
* `#7313 <https://github.com/numpy/numpy/pull/7313>`__: DOC: corrected grammatical error in quickstart doc
|
||||
* `#7325 <https://github.com/numpy/numpy/pull/7325>`__: BUG, MAINT: Improve fromnumeric.py interface for downstream compatibility
|
||||
* `#7328 <https://github.com/numpy/numpy/pull/7328>`__: DEP: Deprecated using a float index in linspace
|
||||
* `#7331 <https://github.com/numpy/numpy/pull/7331>`__: Add comment, TST: fix MemoryError on win32
|
||||
* `#7332 <https://github.com/numpy/numpy/pull/7332>`__: Check for no solution in np.irr Fixes #6744
|
||||
* `#7338 <https://github.com/numpy/numpy/pull/7338>`__: TST: Install `pytz` in the CI.
|
||||
* `#7340 <https://github.com/numpy/numpy/pull/7340>`__: DOC: Fixed math rendering in tensordot docs.
|
||||
* `#7341 <https://github.com/numpy/numpy/pull/7341>`__: TST: Add test for #6469
|
||||
* `#7344 <https://github.com/numpy/numpy/pull/7344>`__: DOC: Fix more typos in docs and comments.
|
||||
* `#7346 <https://github.com/numpy/numpy/pull/7346>`__: Generalized flip
|
||||
* `#7347 <https://github.com/numpy/numpy/pull/7347>`__: ENH Generalized rot90
|
||||
* `#7348 <https://github.com/numpy/numpy/pull/7348>`__: Maint: Removed extra space from `ureduce`
|
||||
* `#7349 <https://github.com/numpy/numpy/pull/7349>`__: MAINT: Hide nan warnings for masked internal MA computations
|
||||
* `#7350 <https://github.com/numpy/numpy/pull/7350>`__: BUG: MA ufuncs should set mask to False, not array([False])
|
||||
* `#7351 <https://github.com/numpy/numpy/pull/7351>`__: TST: Fix some MA tests to avoid looking at the .data attribute
|
||||
* `#7358 <https://github.com/numpy/numpy/pull/7358>`__: BUG: pull request related to the issue #7353
|
||||
* `#7359 <https://github.com/numpy/numpy/pull/7359>`__: Update 7314, DOC: Clarify valid integer range for random.seed...
|
||||
* `#7361 <https://github.com/numpy/numpy/pull/7361>`__: MAINT: Fix copy and paste oversight.
|
||||
* `#7363 <https://github.com/numpy/numpy/pull/7363>`__: ENH: Make no unshare mask future warnings less noisy
|
||||
* `#7366 <https://github.com/numpy/numpy/pull/7366>`__: TST: fix #6542, add tests to check non-iterable argument raises...
|
||||
* `#7373 <https://github.com/numpy/numpy/pull/7373>`__: ENH: Add bitwise_and identity
|
||||
* `#7378 <https://github.com/numpy/numpy/pull/7378>`__: added NumPy logo and separator
|
||||
* `#7382 <https://github.com/numpy/numpy/pull/7382>`__: MAINT: cleanup np.average
|
||||
* `#7385 <https://github.com/numpy/numpy/pull/7385>`__: DOC: note about wheels / windows wheels for pypi
|
||||
* `#7386 <https://github.com/numpy/numpy/pull/7386>`__: Added label icon to Travis status
|
||||
* `#7397 <https://github.com/numpy/numpy/pull/7397>`__: BUG: incorrect type for objects whose __len__ fails
|
||||
* `#7398 <https://github.com/numpy/numpy/pull/7398>`__: DOC: fix typo
|
||||
* `#7404 <https://github.com/numpy/numpy/pull/7404>`__: Use PyMem_RawMalloc on Python 3.4 and newer
|
||||
* `#7406 <https://github.com/numpy/numpy/pull/7406>`__: ENH ufunc called on memmap return a ndarray
|
||||
* `#7407 <https://github.com/numpy/numpy/pull/7407>`__: BUG: Fix decref before incref for in-place accumulate
|
||||
* `#7410 <https://github.com/numpy/numpy/pull/7410>`__: DOC: add nanprod to the list of math routines
|
||||
* `#7414 <https://github.com/numpy/numpy/pull/7414>`__: Tweak corrcoef
|
||||
* `#7415 <https://github.com/numpy/numpy/pull/7415>`__: DOC: Documentation fixes
|
||||
* `#7416 <https://github.com/numpy/numpy/pull/7416>`__: BUG: Incorrect handling of range in `histogram` with automatic...
|
||||
* `#7418 <https://github.com/numpy/numpy/pull/7418>`__: DOC: Minor typo fix, hermefik -> hermefit.
|
||||
* `#7421 <https://github.com/numpy/numpy/pull/7421>`__: ENH: adds np.nancumsum and np.nancumprod
|
||||
* `#7423 <https://github.com/numpy/numpy/pull/7423>`__: BUG: Ongoing fixes to PR#7416
|
||||
* `#7430 <https://github.com/numpy/numpy/pull/7430>`__: DOC: Update 1.11.0-notes.
|
||||
* `#7433 <https://github.com/numpy/numpy/pull/7433>`__: MAINT: FutureWarning for changes to np.average subclass handling
|
||||
* `#7437 <https://github.com/numpy/numpy/pull/7437>`__: np.full now defaults to the filling value's dtype.
|
||||
* `#7438 <https://github.com/numpy/numpy/pull/7438>`__: Allow rolling multiple axes at the same time.
|
||||
* `#7439 <https://github.com/numpy/numpy/pull/7439>`__: BUG: Do not try sequence repeat unless necessary
|
||||
* `#7442 <https://github.com/numpy/numpy/pull/7442>`__: MANT: Simplify diagonal length calculation logic
|
||||
* `#7445 <https://github.com/numpy/numpy/pull/7445>`__: BUG: reference count leak in bincount, fixes #6805
|
||||
* `#7446 <https://github.com/numpy/numpy/pull/7446>`__: DOC: ndarray typo fix
|
||||
* `#7447 <https://github.com/numpy/numpy/pull/7447>`__: BUG: scalar integer negative powers gave wrong results.
|
||||
* `#7448 <https://github.com/numpy/numpy/pull/7448>`__: DOC: array "See also" link to full and full_like instead of fill
|
||||
* `#7456 <https://github.com/numpy/numpy/pull/7456>`__: BUG: int overflow in reshape, fixes #7455, fixes #7293
|
||||
* `#7463 <https://github.com/numpy/numpy/pull/7463>`__: BUG: fix array too big error for wide dtypes.
|
||||
* `#7466 <https://github.com/numpy/numpy/pull/7466>`__: BUG: segfault inplace object reduceat, fixes #7465
|
||||
* `#7468 <https://github.com/numpy/numpy/pull/7468>`__: BUG: more on inplace reductions, fixes #615
|
||||
* `#7469 <https://github.com/numpy/numpy/pull/7469>`__: MAINT: Update git .mailmap
|
||||
* `#7472 <https://github.com/numpy/numpy/pull/7472>`__: MAINT: Update .mailmap.
|
||||
* `#7477 <https://github.com/numpy/numpy/pull/7477>`__: MAINT: Yet more .mailmap updates for recent contributors.
|
||||
* `#7481 <https://github.com/numpy/numpy/pull/7481>`__: BUG: Fix segfault in PyArray_OrderConverter
|
||||
* `#7482 <https://github.com/numpy/numpy/pull/7482>`__: BUG: Memory Leak in _GenericBinaryOutFunction
|
||||
* `#7489 <https://github.com/numpy/numpy/pull/7489>`__: Faster real_if_close.
|
||||
* `#7491 <https://github.com/numpy/numpy/pull/7491>`__: DOC: Update subclassing doc regarding downstream compatibility
|
||||
* `#7496 <https://github.com/numpy/numpy/pull/7496>`__: BUG: don't use pow for integer power ufunc loops.
|
||||
* `#7504 <https://github.com/numpy/numpy/pull/7504>`__: DOC: remove "arr" from keepdims docstrings
|
||||
* `#7505 <https://github.com/numpy/numpy/pull/7505>`__: MAIN: fix to #7382, make scl in np.average writeable
|
||||
* `#7507 <https://github.com/numpy/numpy/pull/7507>`__: MAINT: Remove nose.SkipTest import.
|
||||
* `#7508 <https://github.com/numpy/numpy/pull/7508>`__: DOC: link frompyfunc and vectorize
|
||||
* `#7511 <https://github.com/numpy/numpy/pull/7511>`__: numpy.power(0, 0) should return 1
|
||||
* `#7515 <https://github.com/numpy/numpy/pull/7515>`__: BUG: MaskedArray.count treats negative axes incorrectly
|
||||
* `#7518 <https://github.com/numpy/numpy/pull/7518>`__: BUG: Extend glibc complex trig functions blacklist to glibc <...
|
||||
* `#7521 <https://github.com/numpy/numpy/pull/7521>`__: DOC: rephrase writeup of memmap changes
|
||||
* `#7522 <https://github.com/numpy/numpy/pull/7522>`__: BUG: Fixed iteration over additional bad commands
|
||||
* `#7526 <https://github.com/numpy/numpy/pull/7526>`__: DOC: Removed an extra `:const:`
|
||||
* `#7529 <https://github.com/numpy/numpy/pull/7529>`__: BUG: Floating exception with invalid axis in np.lexsort
|
||||
* `#7534 <https://github.com/numpy/numpy/pull/7534>`__: MAINT: Update setup.py to reflect supported python versions.
|
||||
* `#7536 <https://github.com/numpy/numpy/pull/7536>`__: MAINT: Always use PyCapsule instead of PyCObject in mtrand.pyx
|
||||
* `#7539 <https://github.com/numpy/numpy/pull/7539>`__: MAINT: Cleanup of random stuff
|
||||
* `#7549 <https://github.com/numpy/numpy/pull/7549>`__: BUG: allow graceful recovery for no Linux compiler
|
||||
* `#7562 <https://github.com/numpy/numpy/pull/7562>`__: BUG: Fix test_from_object_array_unicode (test_defchararray.TestBasic)…
|
||||
* `#7565 <https://github.com/numpy/numpy/pull/7565>`__: BUG: Fix test_ctypeslib and test_indexing for debug interpreter
|
||||
* `#7566 <https://github.com/numpy/numpy/pull/7566>`__: MAINT: use manylinux1 wheel for cython
|
||||
* `#7568 <https://github.com/numpy/numpy/pull/7568>`__: Fix a false positive OverflowError in Python 3.x when value above...
|
||||
* `#7579 <https://github.com/numpy/numpy/pull/7579>`__: DOC: clarify purpose of Attributes section
|
||||
* `#7584 <https://github.com/numpy/numpy/pull/7584>`__: BUG: fixes #7572, percent in path
|
||||
* `#7586 <https://github.com/numpy/numpy/pull/7586>`__: Make np.ma.take works on scalars
|
||||
* `#7587 <https://github.com/numpy/numpy/pull/7587>`__: BUG: linalg.norm(): Don't convert object arrays to float
|
||||
* `#7598 <https://github.com/numpy/numpy/pull/7598>`__: Cast array size to int64 when loading from archive
|
||||
* `#7602 <https://github.com/numpy/numpy/pull/7602>`__: DOC: Remove isreal and iscomplex from ufunc list
|
||||
* `#7605 <https://github.com/numpy/numpy/pull/7605>`__: DOC: fix incorrect Gamma distribution parameterization comments
|
||||
* `#7609 <https://github.com/numpy/numpy/pull/7609>`__: BUG: Fix TypeError when raising TypeError
|
||||
* `#7611 <https://github.com/numpy/numpy/pull/7611>`__: ENH: expose test runner raise_warnings option
|
||||
* `#7614 <https://github.com/numpy/numpy/pull/7614>`__: BLD: Avoid using os.spawnve in favor of os.spawnv in exec_command
|
||||
* `#7618 <https://github.com/numpy/numpy/pull/7618>`__: BUG: distance arg of np.gradient must be scalar, fix docstring
|
||||
* `#7626 <https://github.com/numpy/numpy/pull/7626>`__: DOC: RST definition list fixes
|
||||
* `#7627 <https://github.com/numpy/numpy/pull/7627>`__: MAINT: unify tup processing, move tup use to after all PyTuple_SetItem...
|
||||
* `#7630 <https://github.com/numpy/numpy/pull/7630>`__: MAINT: add ifdef around PyDictProxy_Check macro
|
||||
* `#7631 <https://github.com/numpy/numpy/pull/7631>`__: MAINT: linalg: fix comment, simplify math
|
||||
* `#7634 <https://github.com/numpy/numpy/pull/7634>`__: BLD: correct C compiler customization in system_info.py Closes...
|
||||
* `#7635 <https://github.com/numpy/numpy/pull/7635>`__: BUG: ma.median alternate fix for #7592
|
||||
* `#7636 <https://github.com/numpy/numpy/pull/7636>`__: MAINT: clean up testing.assert_raises_regexp, 2.6-specific code...
|
||||
* `#7637 <https://github.com/numpy/numpy/pull/7637>`__: MAINT: clearer exception message when importing multiarray fails.
|
||||
* `#7639 <https://github.com/numpy/numpy/pull/7639>`__: TST: fix a set of test errors in master.
|
||||
* `#7643 <https://github.com/numpy/numpy/pull/7643>`__: DOC : minor changes to linspace docstring
|
||||
* `#7651 <https://github.com/numpy/numpy/pull/7651>`__: BUG: one to any power is still 1. Broken edgecase for int arrays
|
||||
* `#7655 <https://github.com/numpy/numpy/pull/7655>`__: BLD: Remove Intel compiler flag -xSSE4.2
|
||||
* `#7658 <https://github.com/numpy/numpy/pull/7658>`__: BUG: fix incorrect printing of 1D masked arrays
|
||||
* `#7659 <https://github.com/numpy/numpy/pull/7659>`__: BUG: Temporary fix for str(mvoid) for object field types
|
||||
* `#7664 <https://github.com/numpy/numpy/pull/7664>`__: BUG: Fix unicode with byte swap transfer and copyswap
|
||||
* `#7667 <https://github.com/numpy/numpy/pull/7667>`__: Restore histogram consistency
|
||||
* `#7668 <https://github.com/numpy/numpy/pull/7668>`__: ENH: Do not check the type of module.__dict__ explicit in test.
|
||||
* `#7669 <https://github.com/numpy/numpy/pull/7669>`__: BUG: boolean assignment no GIL release when transfer needs API
|
||||
* `#7673 <https://github.com/numpy/numpy/pull/7673>`__: DOC: Create Numpy 1.11.1 release notes.
|
||||
* `#7675 <https://github.com/numpy/numpy/pull/7675>`__: BUG: fix handling of right edge of final bin.
|
||||
* `#7678 <https://github.com/numpy/numpy/pull/7678>`__: BUG: Fix np.clip bug NaN handling for Visual Studio 2015
|
||||
* `#7679 <https://github.com/numpy/numpy/pull/7679>`__: MAINT: Fix up C++ comment in arraytypes.c.src.
|
||||
* `#7681 <https://github.com/numpy/numpy/pull/7681>`__: DOC: Update 1.11.1 release notes.
|
||||
* `#7686 <https://github.com/numpy/numpy/pull/7686>`__: ENH: Changing FFT cache to a bounded LRU cache
|
||||
* `#7688 <https://github.com/numpy/numpy/pull/7688>`__: DOC: fix broken genfromtxt examples in user guide. Closes gh-7662.
|
||||
* `#7689 <https://github.com/numpy/numpy/pull/7689>`__: BENCH: add correlate/convolve benchmarks.
|
||||
* `#7696 <https://github.com/numpy/numpy/pull/7696>`__: DOC: update wheel build / upload instructions
|
||||
* `#7699 <https://github.com/numpy/numpy/pull/7699>`__: BLD: preserve library order
|
||||
* `#7704 <https://github.com/numpy/numpy/pull/7704>`__: ENH: Add bits attribute to np.finfo
|
||||
* `#7712 <https://github.com/numpy/numpy/pull/7712>`__: BUG: Fix race condition with new FFT cache
|
||||
* `#7715 <https://github.com/numpy/numpy/pull/7715>`__: BUG: Remove memory leak in np.place
|
||||
* `#7719 <https://github.com/numpy/numpy/pull/7719>`__: BUG: Fix segfault in np.random.shuffle for arrays of different...
|
||||
* `#7723 <https://github.com/numpy/numpy/pull/7723>`__: Change mkl_info.dir_env_var from MKL to MKLROOT
|
||||
* `#7727 <https://github.com/numpy/numpy/pull/7727>`__: DOC: Corrections in Datetime Units-arrays.datetime.rst
|
||||
* `#7729 <https://github.com/numpy/numpy/pull/7729>`__: DOC: fix typo in savetxt docstring (closes #7620)
|
||||
* `#7733 <https://github.com/numpy/numpy/pull/7733>`__: Update 7525, DOC: Fix order='A' docs of np.array.
|
||||
* `#7734 <https://github.com/numpy/numpy/pull/7734>`__: Update 7542, ENH: Add `polyrootval` to numpy.polynomial
|
||||
* `#7735 <https://github.com/numpy/numpy/pull/7735>`__: BUG: fix issue on OS X with Python 3.x where npymath.ini was...
|
||||
* `#7739 <https://github.com/numpy/numpy/pull/7739>`__: DOC: Mention the changes of #6430 in the release notes.
|
||||
* `#7740 <https://github.com/numpy/numpy/pull/7740>`__: DOC: add reference to poisson rng
|
||||
* `#7743 <https://github.com/numpy/numpy/pull/7743>`__: Update 7476, DEP: deprecate Numeric-style typecodes, closes #2148
|
||||
* `#7744 <https://github.com/numpy/numpy/pull/7744>`__: DOC: Remove "ones_like" from ufuncs list (it is not)
|
||||
* `#7746 <https://github.com/numpy/numpy/pull/7746>`__: DOC: Clarify the effect of rcond in numpy.linalg.lstsq.
|
||||
* `#7747 <https://github.com/numpy/numpy/pull/7747>`__: Update 7672, BUG: Make sure we don't divide by zero
|
||||
* `#7748 <https://github.com/numpy/numpy/pull/7748>`__: DOC: Update float32 mean example in docstring
|
||||
* `#7754 <https://github.com/numpy/numpy/pull/7754>`__: Update 7612, ENH: Add broadcast.ndim to match code elsewhere.
|
||||
* `#7757 <https://github.com/numpy/numpy/pull/7757>`__: Update 7175, BUG: Invalid read of size 4 in PyArray_FromFile
|
||||
* `#7759 <https://github.com/numpy/numpy/pull/7759>`__: BUG: Fix numpy.i support for numpy API < 1.7.
|
||||
* `#7760 <https://github.com/numpy/numpy/pull/7760>`__: ENH: Make assert_almost_equal & assert_array_almost_equal consistent.
|
||||
* `#7766 <https://github.com/numpy/numpy/pull/7766>`__: fix an English typo
|
||||
* `#7771 <https://github.com/numpy/numpy/pull/7771>`__: DOC: link geomspace from logspace
|
||||
* `#7773 <https://github.com/numpy/numpy/pull/7773>`__: DOC: Remove a redundant the
|
||||
* `#7777 <https://github.com/numpy/numpy/pull/7777>`__: DOC: Update Numpy 1.11.1 release notes.
|
||||
* `#7785 <https://github.com/numpy/numpy/pull/7785>`__: DOC: update wheel building procedure for release
|
||||
* `#7789 <https://github.com/numpy/numpy/pull/7789>`__: MRG: add note of 64-bit wheels on Windows
|
||||
* `#7791 <https://github.com/numpy/numpy/pull/7791>`__: f2py.compile issues (#7683)
|
||||
* `#7799 <https://github.com/numpy/numpy/pull/7799>`__: "lambda" is not allowed to use as keyword arguments in a sample...
|
||||
* `#7803 <https://github.com/numpy/numpy/pull/7803>`__: BUG: interpret 'c' PEP3118/struct type as 'S1'.
|
||||
* `#7807 <https://github.com/numpy/numpy/pull/7807>`__: DOC: Misplaced parens in formula
|
||||
* `#7817 <https://github.com/numpy/numpy/pull/7817>`__: BUG: Make sure npy_mul_with_overflow_<type> detects overflow.
|
||||
* `#7818 <https://github.com/numpy/numpy/pull/7818>`__: numpy/distutils/misc_util.py fix for #7809: check that _tmpdirs...
|
||||
* `#7820 <https://github.com/numpy/numpy/pull/7820>`__: MAINT: Allocate fewer bytes for empty arrays.
|
||||
* `#7823 <https://github.com/numpy/numpy/pull/7823>`__: BUG: Fixed masked array behavior for scalar inputs to np.ma.atleast_*d
|
||||
* `#7834 <https://github.com/numpy/numpy/pull/7834>`__: DOC: Added an example
|
||||
* `#7839 <https://github.com/numpy/numpy/pull/7839>`__: Pypy fixes
|
||||
* `#7840 <https://github.com/numpy/numpy/pull/7840>`__: Fix ATLAS version detection
|
||||
* `#7842 <https://github.com/numpy/numpy/pull/7842>`__: Fix versionadded tags
|
||||
* `#7848 <https://github.com/numpy/numpy/pull/7848>`__: MAINT: Fix remaining uses of deprecated Python imp module.
|
||||
* `#7853 <https://github.com/numpy/numpy/pull/7853>`__: BUG: Make sure numpy globals keep identity after reload.
|
||||
* `#7863 <https://github.com/numpy/numpy/pull/7863>`__: ENH: turn quicksort into introsort
|
||||
* `#7866 <https://github.com/numpy/numpy/pull/7866>`__: Document runtests extra argv
|
||||
* `#7871 <https://github.com/numpy/numpy/pull/7871>`__: BUG: handle introsort depth limit properly
|
||||
* `#7879 <https://github.com/numpy/numpy/pull/7879>`__: DOC: fix typo in documentation of loadtxt (closes #7878)
|
||||
* `#7885 <https://github.com/numpy/numpy/pull/7885>`__: Handle NetBSD specific <sys/endian.h>
|
||||
* `#7889 <https://github.com/numpy/numpy/pull/7889>`__: DOC: #7881. Fix link to record arrays
|
||||
* `#7894 <https://github.com/numpy/numpy/pull/7894>`__: fixup-7790, BUG: construct ma.array from np.array which contains...
|
||||
* `#7898 <https://github.com/numpy/numpy/pull/7898>`__: Spelling and grammar fix.
|
||||
* `#7903 <https://github.com/numpy/numpy/pull/7903>`__: BUG: fix float16 type not being called due to wrong ordering
|
||||
* `#7908 <https://github.com/numpy/numpy/pull/7908>`__: BLD: Fixed detection for recent MKL versions
|
||||
* `#7911 <https://github.com/numpy/numpy/pull/7911>`__: BUG: fix for issue#7835 (ma.median of 1d)
|
||||
* `#7912 <https://github.com/numpy/numpy/pull/7912>`__: ENH: skip or avoid gc/objectmodel differences btwn pypy and cpython
|
||||
* `#7918 <https://github.com/numpy/numpy/pull/7918>`__: ENH: allow numpy.apply_along_axis() to work with ndarray subclasses
|
||||
* `#7922 <https://github.com/numpy/numpy/pull/7922>`__: ENH: Add ma.convolve and ma.correlate for #6458
|
||||
* `#7925 <https://github.com/numpy/numpy/pull/7925>`__: Monkey-patch _msvccompile.gen_lib_option like any other compilators
|
||||
* `#7931 <https://github.com/numpy/numpy/pull/7931>`__: BUG: Check for HAVE_LDOUBLE_DOUBLE_DOUBLE_LE in npy_math_complex.
|
||||
* `#7936 <https://github.com/numpy/numpy/pull/7936>`__: ENH: improve duck typing inside iscomplexobj
|
||||
* `#7937 <https://github.com/numpy/numpy/pull/7937>`__: BUG: Guard against buggy comparisons in generic quicksort.
|
||||
* `#7938 <https://github.com/numpy/numpy/pull/7938>`__: DOC: add cbrt to math summary page
|
||||
* `#7941 <https://github.com/numpy/numpy/pull/7941>`__: BUG: Make sure numpy globals keep identity after reload.
|
||||
* `#7943 <https://github.com/numpy/numpy/pull/7943>`__: DOC: #7927. Remove deprecated note for memmap relevant for Python...
|
||||
* `#7952 <https://github.com/numpy/numpy/pull/7952>`__: BUG: Use keyword arguments to initialize Extension base class.
|
||||
* `#7956 <https://github.com/numpy/numpy/pull/7956>`__: BLD: remove __NUMPY_SETUP__ from builtins at end of setup.py
|
||||
* `#7963 <https://github.com/numpy/numpy/pull/7963>`__: BUG: MSVCCompiler grows 'lib' & 'include' env strings exponentially.
|
||||
* `#7965 <https://github.com/numpy/numpy/pull/7965>`__: BUG: cannot modify tuple after use
|
||||
* `#7976 <https://github.com/numpy/numpy/pull/7976>`__: DOC: Fixed documented dimension of return value
|
||||
* `#7977 <https://github.com/numpy/numpy/pull/7977>`__: DOC: Create 1.11.2 release notes.
|
||||
* `#7979 <https://github.com/numpy/numpy/pull/7979>`__: DOC: Corrected allowed keywords in ``add_installed_library``
|
||||
* `#7980 <https://github.com/numpy/numpy/pull/7980>`__: ENH: Add ability to runtime select ufunc loops, add AVX2 integer...
|
||||
* `#7985 <https://github.com/numpy/numpy/pull/7985>`__: Rebase 7763, ENH: Add new warning suppression/filtering context
|
||||
* `#7987 <https://github.com/numpy/numpy/pull/7987>`__: DOC: See also np.load and np.memmap in np.lib.format.open_memmap
|
||||
* `#7988 <https://github.com/numpy/numpy/pull/7988>`__: DOC: Include docstring for cbrt, spacing and fabs in documentation
|
||||
* `#7999 <https://github.com/numpy/numpy/pull/7999>`__: ENH: add inplace cases to fast ufunc loop macros
|
||||
* `#8006 <https://github.com/numpy/numpy/pull/8006>`__: DOC: Update 1.11.2 release notes.
|
||||
* `#8008 <https://github.com/numpy/numpy/pull/8008>`__: MAINT: Remove leftover imp module imports.
|
||||
* `#8009 <https://github.com/numpy/numpy/pull/8009>`__: DOC: Fixed three typos in the c-info.ufunc-tutorial
|
||||
* `#8011 <https://github.com/numpy/numpy/pull/8011>`__: DOC: Update 1.11.2 release notes.
|
||||
* `#8014 <https://github.com/numpy/numpy/pull/8014>`__: BUG: Fix fid.close() to use os.close(fid)
|
||||
* `#8016 <https://github.com/numpy/numpy/pull/8016>`__: BUG: Fix numpy.ma.median.
|
||||
* `#8018 <https://github.com/numpy/numpy/pull/8018>`__: BUG: Fixes return for np.ma.count if keepdims is True and axis...
|
||||
* `#8021 <https://github.com/numpy/numpy/pull/8021>`__: DOC: change all non-code instances of Numpy to NumPy
|
||||
* `#8027 <https://github.com/numpy/numpy/pull/8027>`__: ENH: Add platform independent lib dir to PYTHONPATH
|
||||
* `#8028 <https://github.com/numpy/numpy/pull/8028>`__: DOC: Update 1.11.2 release notes.
|
||||
* `#8030 <https://github.com/numpy/numpy/pull/8030>`__: BUG: fix np.ma.median with only one non-masked value and an axis...
|
||||
* `#8038 <https://github.com/numpy/numpy/pull/8038>`__: MAINT: Update error message in rollaxis.
|
||||
* `#8040 <https://github.com/numpy/numpy/pull/8040>`__: Update add_newdocs.py
|
||||
* `#8042 <https://github.com/numpy/numpy/pull/8042>`__: BUG: core: fix bug in NpyIter buffering with discontinuous arrays
|
||||
* `#8045 <https://github.com/numpy/numpy/pull/8045>`__: DOC: Update 1.11.2 release notes.
|
||||
* `#8050 <https://github.com/numpy/numpy/pull/8050>`__: remove refcount semantics, now a.resize() almost always requires...
|
||||
* `#8051 <https://github.com/numpy/numpy/pull/8051>`__: Clear signaling NaN exceptions
|
||||
* `#8054 <https://github.com/numpy/numpy/pull/8054>`__: ENH: add signature argument to vectorize for vectorizing like...
|
||||
* `#8057 <https://github.com/numpy/numpy/pull/8057>`__: BUG: lib: Simplify (and fix) pad's handling of the pad_width
|
||||
* `#8061 <https://github.com/numpy/numpy/pull/8061>`__: BUG : financial.pmt modifies input (issue #8055)
|
||||
* `#8064 <https://github.com/numpy/numpy/pull/8064>`__: MAINT: Add PMIP files to .gitignore
|
||||
* `#8065 <https://github.com/numpy/numpy/pull/8065>`__: BUG: Assert fromfile ending earlier in pyx_processing
|
||||
* `#8066 <https://github.com/numpy/numpy/pull/8066>`__: BUG, TST: Fix python3-dbg bug in Travis script
|
||||
* `#8071 <https://github.com/numpy/numpy/pull/8071>`__: MAINT: Add Tempita to randint helpers
|
||||
* `#8075 <https://github.com/numpy/numpy/pull/8075>`__: DOC: Fix description of isinf in nan_to_num
|
||||
* `#8080 <https://github.com/numpy/numpy/pull/8080>`__: BUG: non-integers can end up in dtype offsets
|
||||
* `#8081 <https://github.com/numpy/numpy/pull/8081>`__: Update outdated Nose URL to nose.readthedocs.io
|
||||
* `#8083 <https://github.com/numpy/numpy/pull/8083>`__: ENH: Deprecation warnings for `/` integer division when running...
|
||||
* `#8084 <https://github.com/numpy/numpy/pull/8084>`__: DOC: Fix erroneous return type description for np.roots.
|
||||
* `#8087 <https://github.com/numpy/numpy/pull/8087>`__: BUG: financial.pmt modifies input #8055
|
||||
* `#8088 <https://github.com/numpy/numpy/pull/8088>`__: MAINT: Remove duplicate randint helpers code.
|
||||
* `#8093 <https://github.com/numpy/numpy/pull/8093>`__: MAINT: fix assert_raises_regex when used as a context manager
|
||||
* `#8096 <https://github.com/numpy/numpy/pull/8096>`__: ENH: Vendorize tempita.
|
||||
* `#8098 <https://github.com/numpy/numpy/pull/8098>`__: DOC: Enhance description/usage for np.linalg.eig*h
|
||||
* `#8103 <https://github.com/numpy/numpy/pull/8103>`__: Pypy fixes
|
||||
* `#8104 <https://github.com/numpy/numpy/pull/8104>`__: Fix test code on cpuinfo's main function
|
||||
* `#8107 <https://github.com/numpy/numpy/pull/8107>`__: BUG: Fix array printing with precision=0.
|
||||
* `#8109 <https://github.com/numpy/numpy/pull/8109>`__: Fix bug in ravel_multi_index for big indices (Issue #7546)
|
||||
* `#8110 <https://github.com/numpy/numpy/pull/8110>`__: BUG: distutils: fix issue with rpath in fcompiler/gnu.py
|
||||
* `#8111 <https://github.com/numpy/numpy/pull/8111>`__: ENH: Add a tool for release authors and PRs.
|
||||
* `#8112 <https://github.com/numpy/numpy/pull/8112>`__: DOC: Fix "See also" links in linalg.
|
||||
* `#8114 <https://github.com/numpy/numpy/pull/8114>`__: BUG: core: add missing error check after PyLong_AsSsize_t
|
||||
* `#8121 <https://github.com/numpy/numpy/pull/8121>`__: DOC: Improve histogram2d() example.
|
||||
* `#8122 <https://github.com/numpy/numpy/pull/8122>`__: BUG: Fix broken pickle in MaskedArray when dtype is object (Return...
|
||||
* `#8124 <https://github.com/numpy/numpy/pull/8124>`__: BUG: Fixed build break
|
||||
* `#8125 <https://github.com/numpy/numpy/pull/8125>`__: Rebase, BUG: Fixed deepcopy of F-order object arrays.
|
||||
* `#8127 <https://github.com/numpy/numpy/pull/8127>`__: BUG: integers to a negative integer powers should error.
|
||||
* `#8141 <https://github.com/numpy/numpy/pull/8141>`__: improve configure checks for broken systems
|
||||
* `#8142 <https://github.com/numpy/numpy/pull/8142>`__: BUG: np.ma.mean and var should return scalar if no mask
|
||||
* `#8148 <https://github.com/numpy/numpy/pull/8148>`__: BUG: import full module path in npy_load_module
|
||||
* `#8153 <https://github.com/numpy/numpy/pull/8153>`__: MAINT: Expose void-scalar "base" attribute in python
|
||||
* `#8156 <https://github.com/numpy/numpy/pull/8156>`__: DOC: added example with empty indices for a scalar, #8138
|
||||
* `#8160 <https://github.com/numpy/numpy/pull/8160>`__: BUG: fix _array2string for structured array (issue #5692)
|
||||
* `#8164 <https://github.com/numpy/numpy/pull/8164>`__: MAINT: Update mailmap for NumPy 1.12.0
|
||||
* `#8165 <https://github.com/numpy/numpy/pull/8165>`__: Fixup 8152, BUG: assert_allclose(..., equal_nan=False) doesn't...
|
||||
* `#8167 <https://github.com/numpy/numpy/pull/8167>`__: Fixup 8146, DOC: Clarify when PyArray_{Max, Min, Ptp} return...
|
||||
* `#8168 <https://github.com/numpy/numpy/pull/8168>`__: DOC: Minor spelling fix in genfromtxt() docstring.
|
||||
* `#8173 <https://github.com/numpy/numpy/pull/8173>`__: BLD: Enable build on AIX
|
||||
* `#8174 <https://github.com/numpy/numpy/pull/8174>`__: DOC: warn that dtype.descr is only for use in PEP3118
|
||||
* `#8177 <https://github.com/numpy/numpy/pull/8177>`__: MAINT: Add python 3.6 support to suppress_warnings
|
||||
* `#8178 <https://github.com/numpy/numpy/pull/8178>`__: MAINT: Fix ResourceWarning new in Python 3.6.
|
||||
* `#8180 <https://github.com/numpy/numpy/pull/8180>`__: FIX: protect stolen ref by PyArray_NewFromDescr in array_empty
|
||||
* `#8181 <https://github.com/numpy/numpy/pull/8181>`__: ENH: Improve announce to find github squash-merge commits.
|
||||
* `#8182 <https://github.com/numpy/numpy/pull/8182>`__: MAINT: Update .mailmap
|
||||
* `#8183 <https://github.com/numpy/numpy/pull/8183>`__: MAINT: Ediff1d performance
|
||||
* `#8184 <https://github.com/numpy/numpy/pull/8184>`__: MAINT: make `assert_allclose` behavior on nans match pre 1.12
|
||||
* `#8188 <https://github.com/numpy/numpy/pull/8188>`__: DOC: 'highest' is exclusive for randint()
|
||||
* `#8189 <https://github.com/numpy/numpy/pull/8189>`__: BUG: setfield should raise if arr is not writeable
|
||||
* `#8190 <https://github.com/numpy/numpy/pull/8190>`__: ENH: Add a float_power function with at least float64 precision.
|
||||
* `#8197 <https://github.com/numpy/numpy/pull/8197>`__: DOC: Add missing arguments to np.ufunc.outer
|
||||
* `#8198 <https://github.com/numpy/numpy/pull/8198>`__: DEP: Deprecate the keepdims argument to accumulate
|
||||
* `#8199 <https://github.com/numpy/numpy/pull/8199>`__: MAINT: change path to env in distutils.system_info. Closes gh-8195.
|
||||
* `#8200 <https://github.com/numpy/numpy/pull/8200>`__: BUG: Fix structured array format functions
|
||||
* `#8202 <https://github.com/numpy/numpy/pull/8202>`__: ENH: specialize name of dev package by interpreter
|
||||
* `#8205 <https://github.com/numpy/numpy/pull/8205>`__: DOC: change development instructions from SSH to HTTPS access.
|
||||
* `#8216 <https://github.com/numpy/numpy/pull/8216>`__: DOC: Patch doc errors for atleast_nd and frombuffer
|
||||
* `#8218 <https://github.com/numpy/numpy/pull/8218>`__: BUG: ediff1d should return subclasses
|
||||
* `#8219 <https://github.com/numpy/numpy/pull/8219>`__: DOC: Turn SciPy references into links.
|
||||
* `#8222 <https://github.com/numpy/numpy/pull/8222>`__: ENH: Make numpy.mean() do more precise computation
|
||||
* `#8227 <https://github.com/numpy/numpy/pull/8227>`__: BUG: Better check for invalid bounds in np.random.uniform.
|
||||
* `#8231 <https://github.com/numpy/numpy/pull/8231>`__: ENH: Refactor numpy ** operators for numpy scalar integer powers
|
||||
* `#8234 <https://github.com/numpy/numpy/pull/8234>`__: DOC: Clarified when a copy is made in numpy.asarray
|
||||
* `#8236 <https://github.com/numpy/numpy/pull/8236>`__: DOC: Fix documentation pull requests.
|
||||
* `#8238 <https://github.com/numpy/numpy/pull/8238>`__: MAINT: Update pavement.py
|
||||
* `#8239 <https://github.com/numpy/numpy/pull/8239>`__: ENH: Improve announce tool.
|
||||
* `#8240 <https://github.com/numpy/numpy/pull/8240>`__: REL: Prepare for 1.12.x branch
|
||||
* `#8243 <https://github.com/numpy/numpy/pull/8243>`__: BUG: Update operator `**` tests for new behavior.
|
||||
* `#8246 <https://github.com/numpy/numpy/pull/8246>`__: REL: Reset strides for RELAXED_STRIDE_CHECKING for 1.12 releases.
|
||||
* `#8265 <https://github.com/numpy/numpy/pull/8265>`__: BUG: np.piecewise not working for scalars
|
||||
* `#8272 <https://github.com/numpy/numpy/pull/8272>`__: TST: Path test should resolve symlinks when comparing
|
||||
* `#8282 <https://github.com/numpy/numpy/pull/8282>`__: DOC: Update 1.12.0 release notes.
|
||||
* `#8286 <https://github.com/numpy/numpy/pull/8286>`__: BUG: Fix pavement.py write_release_task.
|
||||
* `#8296 <https://github.com/numpy/numpy/pull/8296>`__: BUG: Fix iteration over reversed subspaces in mapiter_@name@.
|
||||
* `#8304 <https://github.com/numpy/numpy/pull/8304>`__: BUG: Fix PyPy crash in PyUFunc_GenericReduction.
|
||||
* `#8319 <https://github.com/numpy/numpy/pull/8319>`__: BLD: blacklist powl (longdouble power function) on OS X.
|
||||
* `#8320 <https://github.com/numpy/numpy/pull/8320>`__: BUG: do not link to Accelerate if OpenBLAS, MKL or BLIS are found.
|
||||
* `#8322 <https://github.com/numpy/numpy/pull/8322>`__: BUG: fixed kind specifications for parameters
|
||||
* `#8336 <https://github.com/numpy/numpy/pull/8336>`__: BUG: fix packbits and unpackbits to correctly handle empty arrays
|
||||
* `#8338 <https://github.com/numpy/numpy/pull/8338>`__: BUG: fix test_api test that fails intermittently in python 3
|
||||
* `#8339 <https://github.com/numpy/numpy/pull/8339>`__: BUG: Fix ndarray.tofile large file corruption in append mode.
|
||||
* `#8359 <https://github.com/numpy/numpy/pull/8359>`__: BUG: Fix suppress_warnings (again) for Python 3.6.
|
||||
* `#8372 <https://github.com/numpy/numpy/pull/8372>`__: BUG: Fixes for ma.median and nanpercentile.
|
||||
* `#8373 <https://github.com/numpy/numpy/pull/8373>`__: BUG: correct letter case
|
||||
* `#8379 <https://github.com/numpy/numpy/pull/8379>`__: DOC: Update 1.12.0-notes.rst.
|
||||
* `#8390 <https://github.com/numpy/numpy/pull/8390>`__: ENH: retune apply_along_axis nanmedian cutoff in 1.12
|
||||
* `#8391 <https://github.com/numpy/numpy/pull/8391>`__: DEP: Fix escaped string characters deprecated in Python 3.6.
|
||||
* `#8394 <https://github.com/numpy/numpy/pull/8394>`__: DOC: create 1.11.3 release notes.
|
||||
* `#8399 <https://github.com/numpy/numpy/pull/8399>`__: BUG: Fix author search in announce.py
|
||||
* `#8402 <https://github.com/numpy/numpy/pull/8402>`__: DOC, MAINT: Update 1.12.0 notes and mailmap.
|
||||
* `#8418 <https://github.com/numpy/numpy/pull/8418>`__: BUG: Fix ma.median even elements for 1.12
|
||||
* `#8424 <https://github.com/numpy/numpy/pull/8424>`__: DOC: Fix tools and release notes to be more markdown compatible.
|
||||
* `#8427 <https://github.com/numpy/numpy/pull/8427>`__: BUG: Add a lock to assert_equal and other testing functions
|
||||
* `#8431 <https://github.com/numpy/numpy/pull/8431>`__: BUG: Fix apply_along_axis() for when func1d() returns a non-ndarray.
|
||||
* `#8432 <https://github.com/numpy/numpy/pull/8432>`__: BUG: Let linspace accept input that has an array_interface.
|
||||
* `#8437 <https://github.com/numpy/numpy/pull/8437>`__: TST: Update 3.6-dev tests to 3.6 after Python final release.
|
||||
* `#8439 <https://github.com/numpy/numpy/pull/8439>`__: DOC: Update 1.12.0 release notes.
|
||||
* `#8466 <https://github.com/numpy/numpy/pull/8466>`__: MAINT: Update mailmap entries.
|
||||
* `#8467 <https://github.com/numpy/numpy/pull/8467>`__: DOC: Back-port the missing part of gh-8464.
|
||||
* `#8476 <https://github.com/numpy/numpy/pull/8476>`__: DOC: Update 1.12.0 release notes.
|
||||
* `#8477 <https://github.com/numpy/numpy/pull/8477>`__: DOC: Update 1.12.0 release notes.
|
|
@ -0,0 +1,39 @@
|
|||
=========
|
||||
Changelog
|
||||
=========
|
||||
|
||||
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 +
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
* `#8483 <https://github.com/numpy/numpy/pull/8483>`__: BUG: Fix wrong future nat warning and equiv type logic error...
|
||||
* `#8489 <https://github.com/numpy/numpy/pull/8489>`__: BUG: Fix wrong masked median for some special cases
|
||||
* `#8490 <https://github.com/numpy/numpy/pull/8490>`__: DOC: Place np.average in inline code
|
||||
* `#8491 <https://github.com/numpy/numpy/pull/8491>`__: TST: Work around isfinite inconsistency on i386
|
||||
* `#8494 <https://github.com/numpy/numpy/pull/8494>`__: BUG: Guard against replacing constants without '_' spec in f2py.
|
||||
* `#8524 <https://github.com/numpy/numpy/pull/8524>`__: BUG: Fix mean for float 16 non-array inputs for 1.12
|
||||
* `#8571 <https://github.com/numpy/numpy/pull/8571>`__: BUG: Fix calling python api with error set and minor leaks for...
|
||||
* `#8602 <https://github.com/numpy/numpy/pull/8602>`__: BUG: Make iscomplexobj compatible with custom dtypes again
|
||||
* `#8618 <https://github.com/numpy/numpy/pull/8618>`__: BUG: Fix undefined behaviour induced by bad __array_wrap__
|
||||
* `#8648 <https://github.com/numpy/numpy/pull/8648>`__: BUG: Fix MaskedArray.__setitem__
|
||||
* `#8659 <https://github.com/numpy/numpy/pull/8659>`__: BUG: PPC64el machines are POWER for Fortran in f2py
|
||||
* `#8665 <https://github.com/numpy/numpy/pull/8665>`__: BUG: Look up methods on MaskedArray in `_frommethod`
|
||||
* `#8674 <https://github.com/numpy/numpy/pull/8674>`__: BUG: Remove extra digit in binary_repr at limit
|
||||
* `#8704 <https://github.com/numpy/numpy/pull/8704>`__: BUG: Fix deepcopy regression for empty arrays.
|
||||
* `#8707 <https://github.com/numpy/numpy/pull/8707>`__: BUG: Fix ma.median for empty ndarrays
|
|
@ -0,0 +1,426 @@
|
|||
=========
|
||||
Changelog
|
||||
=========
|
||||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 102 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* A. Jesse Jiryu Davis +
|
||||
* Alessandro Pietro Bardelli +
|
||||
* Alex Rothberg +
|
||||
* Alexander Shadchin
|
||||
* Allan Haldane
|
||||
* Andres Guzman-Ballen +
|
||||
* Antoine Pitrou
|
||||
* Antony Lee
|
||||
* B R S Recht +
|
||||
* Baurzhan Muftakhidinov +
|
||||
* Ben Rowland
|
||||
* Benda Xu +
|
||||
* Blake Griffith
|
||||
* Bradley Wogsland +
|
||||
* Brandon Carter +
|
||||
* CJ Carey
|
||||
* Charles Harris
|
||||
* Christoph Gohlke
|
||||
* Danny Hermes +
|
||||
* David Hagen +
|
||||
* Duke Vijitbenjaronk +
|
||||
* Egor Klenin +
|
||||
* Elliott Forney +
|
||||
* Elliott M Forney +
|
||||
* Endolith
|
||||
* Eric Wieser
|
||||
* Erik M. Bray
|
||||
* Eugene +
|
||||
* Evan Limanto +
|
||||
* Felix Berkenkamp +
|
||||
* François Bissey +
|
||||
* Frederic Bastien
|
||||
* Greg Young
|
||||
* Gregory R. Lee
|
||||
* Importance of Being Ernest +
|
||||
* Jaime Fernandez
|
||||
* Jakub Wilk +
|
||||
* James Cowgill +
|
||||
* James Sanders
|
||||
* Jean Utke +
|
||||
* Jesse Thoren +
|
||||
* Jim Crist +
|
||||
* Joerg Behrmann +
|
||||
* John Kirkham
|
||||
* Jonathan Helmus
|
||||
* Jonathan L Long
|
||||
* Jonathan Tammo Siebert +
|
||||
* Joseph Fox-Rabinovitz
|
||||
* Joshua Loyal +
|
||||
* Juan Nunez-Iglesias +
|
||||
* Julian Taylor
|
||||
* Kirill Balunov +
|
||||
* Likhith Chitneni +
|
||||
* Loïc Estève
|
||||
* Mads Ohm Larsen
|
||||
* Marein Könings +
|
||||
* Marten van Kerkwijk
|
||||
* Martin Thoma
|
||||
* Martino Sorbaro +
|
||||
* Marvin Schmidt +
|
||||
* Matthew Brett
|
||||
* Matthias Bussonnier +
|
||||
* Matthias C. M. Troffaes +
|
||||
* Matti Picus
|
||||
* Michael Seifert
|
||||
* Mikhail Pak +
|
||||
* Mortada Mehyar
|
||||
* Nathaniel J. Smith
|
||||
* Nick Papior
|
||||
* Oscar Villellas +
|
||||
* Pauli Virtanen
|
||||
* Pavel Potocek
|
||||
* Pete Peeradej Tanruangporn +
|
||||
* Philipp A +
|
||||
* Ralf Gommers
|
||||
* Robert Kern
|
||||
* Roland Kaufmann +
|
||||
* Ronan Lamy
|
||||
* Sami Salonen +
|
||||
* Sanchez Gonzalez Alvaro
|
||||
* Sebastian Berg
|
||||
* Shota Kawabuchi
|
||||
* Simon Gibbons
|
||||
* Stefan Otte
|
||||
* Stefan Peterson +
|
||||
* Stephan Hoyer
|
||||
* Søren Fuglede Jørgensen +
|
||||
* Takuya Akiba
|
||||
* Tom Boyd +
|
||||
* Ville Skyttä +
|
||||
* Warren Weckesser
|
||||
* Wendell Smith
|
||||
* Yu Feng
|
||||
* Zixu Zhao +
|
||||
* Zè Vinícius +
|
||||
* aha66 +
|
||||
* davidjn +
|
||||
* drabach +
|
||||
* drlvk +
|
||||
* jsh9 +
|
||||
* solarjoe +
|
||||
* zengi +
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 309 pull requests were merged for this release.
|
||||
|
||||
* `#3861 <https://github.com/numpy/numpy/pull/3861>`__: ENH: Make it possible to NpyIter_RemoveAxis an empty dimension
|
||||
* `#5302 <https://github.com/numpy/numpy/pull/5302>`__: Fixed meshgrid to return arrays with same dtype as arguments.
|
||||
* `#5726 <https://github.com/numpy/numpy/pull/5726>`__: BUG, API: np.random.multivariate_normal behavior with bad covariance...
|
||||
* `#6632 <https://github.com/numpy/numpy/pull/6632>`__: TST/BUG: fromfile - fix test and expose bug with io class argument
|
||||
* `#6659 <https://github.com/numpy/numpy/pull/6659>`__: BUG: Let linspace accept input that has an array_interface.
|
||||
* `#7742 <https://github.com/numpy/numpy/pull/7742>`__: Add `axis` argument to numpy.unique
|
||||
* `#7862 <https://github.com/numpy/numpy/pull/7862>`__: BLD: rewrite np.distutils.exec_command.exec_command()
|
||||
* `#7997 <https://github.com/numpy/numpy/pull/7997>`__: ENH: avoid temporary arrays in expressions (again)
|
||||
* `#8043 <https://github.com/numpy/numpy/pull/8043>`__: ENH: umath: ensure ufuncs are well-defined with memory overlapping...
|
||||
* `#8106 <https://github.com/numpy/numpy/pull/8106>`__: DOC: Document release procedure with a walkthrough.
|
||||
* `#8194 <https://github.com/numpy/numpy/pull/8194>`__: BUG: np.piecewise not working for scalars
|
||||
* `#8235 <https://github.com/numpy/numpy/pull/8235>`__: BUG: add checks for some invalid structured dtypes. Fixes #2865.
|
||||
* `#8241 <https://github.com/numpy/numpy/pull/8241>`__: MAINT: Prepare for 1.13.0 after 1.12.x branch
|
||||
* `#8242 <https://github.com/numpy/numpy/pull/8242>`__: BUG: Update operator `**` tests for new behavior.
|
||||
* `#8244 <https://github.com/numpy/numpy/pull/8244>`__: DOC: fix typos in arrayprint docstrings.
|
||||
* `#8247 <https://github.com/numpy/numpy/pull/8247>`__: ENH: Add `__array_ufunc__`
|
||||
* `#8251 <https://github.com/numpy/numpy/pull/8251>`__: MAINT: Cleaned up mailmap
|
||||
* `#8267 <https://github.com/numpy/numpy/pull/8267>`__: DOC: Changed shape assignment example to reshape. Elaborated...
|
||||
* `#8271 <https://github.com/numpy/numpy/pull/8271>`__: TST: Path test should resolve symlinks when comparing
|
||||
* `#8277 <https://github.com/numpy/numpy/pull/8277>`__: DOC: improve comment in prepare_index
|
||||
* `#8279 <https://github.com/numpy/numpy/pull/8279>`__: BUG: bool(dtype) is True
|
||||
* `#8281 <https://github.com/numpy/numpy/pull/8281>`__: DOC: Update 1.12.0 release notes.
|
||||
* `#8284 <https://github.com/numpy/numpy/pull/8284>`__: BUG: Fix iteration over reversed subspaces in mapiter_@name@
|
||||
* `#8285 <https://github.com/numpy/numpy/pull/8285>`__: BUG: Fix pavement.py write_release_task.
|
||||
* `#8287 <https://github.com/numpy/numpy/pull/8287>`__: DOC: Update 1.13.0 release notes.
|
||||
* `#8290 <https://github.com/numpy/numpy/pull/8290>`__: MAINT: let average preserve subclass information.
|
||||
* `#8297 <https://github.com/numpy/numpy/pull/8297>`__: DEP: Handle expired deprecations.
|
||||
* `#8299 <https://github.com/numpy/numpy/pull/8299>`__: BUG: Make f2py respect kind specifications for real parameters
|
||||
* `#8302 <https://github.com/numpy/numpy/pull/8302>`__: BUG: Fix PyPy crash in PyUFunc_GenericReduction.
|
||||
* `#8308 <https://github.com/numpy/numpy/pull/8308>`__: BUG: do not link to Accelerate if OpenBLAS, MKL or BLIS are found.
|
||||
* `#8312 <https://github.com/numpy/numpy/pull/8312>`__: DEP: Drop deprecated boolean indexing behavior and update to...
|
||||
* `#8318 <https://github.com/numpy/numpy/pull/8318>`__: BLD: blacklist powl (longdouble power function) on OS X.
|
||||
* `#8326 <https://github.com/numpy/numpy/pull/8326>`__: ENH: Vectorize packbits with SSE2
|
||||
* `#8327 <https://github.com/numpy/numpy/pull/8327>`__: BUG: Fix packbits to correctly handle empty arrays
|
||||
* `#8335 <https://github.com/numpy/numpy/pull/8335>`__: BUG: Fix ndarray.tofile large file corruption in append mode
|
||||
* `#8337 <https://github.com/numpy/numpy/pull/8337>`__: BUG: fix test_api test that fails intermittently in python 3
|
||||
* `#8343 <https://github.com/numpy/numpy/pull/8343>`__: TST: Ellipsis indexing creates a view
|
||||
* `#8348 <https://github.com/numpy/numpy/pull/8348>`__: ENH: Allow bincount(..., minlength=0).
|
||||
* `#8349 <https://github.com/numpy/numpy/pull/8349>`__: BUG: Apply more robust string converts in loadtxt
|
||||
* `#8351 <https://github.com/numpy/numpy/pull/8351>`__: BUG: correct letter case
|
||||
* `#8354 <https://github.com/numpy/numpy/pull/8354>`__: BUG: Fix suppress_warnings (again) for Python 3.6.
|
||||
* `#8355 <https://github.com/numpy/numpy/pull/8355>`__: Fix building extensions with MinGW for Python 3.5
|
||||
* `#8356 <https://github.com/numpy/numpy/pull/8356>`__: Allow extensions to be built with MinGW in a virtualenv
|
||||
* `#8360 <https://github.com/numpy/numpy/pull/8360>`__: MAINT: Drop special case code for python2 < 2.7 and python3 <...
|
||||
* `#8364 <https://github.com/numpy/numpy/pull/8364>`__: BUG: handle unmasked NaN in ma.median like normal median
|
||||
* `#8366 <https://github.com/numpy/numpy/pull/8366>`__: BUG: fix nanpercentile not returning scalar with axis argument
|
||||
* `#8367 <https://github.com/numpy/numpy/pull/8367>`__: xlocale.h is not available in newlib / Cygwin
|
||||
* `#8368 <https://github.com/numpy/numpy/pull/8368>`__: ENH: Implement most linalg operations for 0x0 matrices
|
||||
* `#8369 <https://github.com/numpy/numpy/pull/8369>`__: TST: Fix various incorrect linalg tests
|
||||
* `#8374 <https://github.com/numpy/numpy/pull/8374>`__: DOC: Fixed minor typo in William Gosset's name
|
||||
* `#8377 <https://github.com/numpy/numpy/pull/8377>`__: Switch to the PyPI version of plex to generate lapack_lite
|
||||
* `#8380 <https://github.com/numpy/numpy/pull/8380>`__: DOC: Update 1.12.0-notes.rst.
|
||||
* `#8381 <https://github.com/numpy/numpy/pull/8381>`__: MAINT: Rebuild lapack lite
|
||||
* `#8382 <https://github.com/numpy/numpy/pull/8382>`__: DEP: Fix escaped string characters deprecated in Python 3.6.
|
||||
* `#8384 <https://github.com/numpy/numpy/pull/8384>`__: ENH: Add tool to check for deprecated escaped characters.
|
||||
* `#8388 <https://github.com/numpy/numpy/pull/8388>`__: API: Return scalars for scalar inputs to np.real/imag
|
||||
* `#8389 <https://github.com/numpy/numpy/pull/8389>`__: ENH: retune apply_along_axis nanmedian cutoff
|
||||
* `#8395 <https://github.com/numpy/numpy/pull/8395>`__: DOC: create 1.11.3 release notes.
|
||||
* `#8398 <https://github.com/numpy/numpy/pull/8398>`__: BUG: Fix author search in announce.py
|
||||
* `#8400 <https://github.com/numpy/numpy/pull/8400>`__: Fix `corrcoef` and `cov` rowvar param handling
|
||||
* `#8401 <https://github.com/numpy/numpy/pull/8401>`__: DOC, MAINT: Update 1.12.0 notes and mailmap.
|
||||
* `#8410 <https://github.com/numpy/numpy/pull/8410>`__: BUG: Fixed behavior of assert_array_less for +/-inf
|
||||
* `#8414 <https://github.com/numpy/numpy/pull/8414>`__: BUG: fixed failure of np.ma.median for 1-D even arrays.
|
||||
* `#8416 <https://github.com/numpy/numpy/pull/8416>`__: BUG operations involving MaskedArray with output given do not...
|
||||
* `#8421 <https://github.com/numpy/numpy/pull/8421>`__: ENH: Add isnat function and make comparison tests NAT specific
|
||||
* `#8423 <https://github.com/numpy/numpy/pull/8423>`__: Adding isin function for multidimensional arrays
|
||||
* `#8426 <https://github.com/numpy/numpy/pull/8426>`__: BUG: Fix apply_along_axis() for when func1d() returns a non-ndarray
|
||||
* `#8434 <https://github.com/numpy/numpy/pull/8434>`__: TST: Update 3.6-dev tests to 3.6 after Python final release.
|
||||
* `#8441 <https://github.com/numpy/numpy/pull/8441>`__: BUG: Fix crash on 0d return value in apply_along_axis
|
||||
* `#8443 <https://github.com/numpy/numpy/pull/8443>`__: BUG: fix set memmap offset attribute correctly when offset is...
|
||||
* `#8445 <https://github.com/numpy/numpy/pull/8445>`__: BUG: correct norm='ortho' scaling for rfft when n != None
|
||||
* `#8446 <https://github.com/numpy/numpy/pull/8446>`__: ENH: gradient support for unevenly spaced data
|
||||
* `#8448 <https://github.com/numpy/numpy/pull/8448>`__: TST: remove a duplicate test. Closes gh-8447.
|
||||
* `#8452 <https://github.com/numpy/numpy/pull/8452>`__: BUG: assert_almost_equal fails on subclasses that cannot handle...
|
||||
* `#8454 <https://github.com/numpy/numpy/pull/8454>`__: MAINT: Fix building extensions with MinGW in WinPython 3.4
|
||||
* `#8464 <https://github.com/numpy/numpy/pull/8464>`__: [DOC]Small release doc fix
|
||||
* `#8468 <https://github.com/numpy/numpy/pull/8468>`__: BUG: Ensure inf/nan removal in assert_array_compare is matrix-safe.
|
||||
* `#8470 <https://github.com/numpy/numpy/pull/8470>`__: DOC: Add example to np.savez_compressed
|
||||
* `#8474 <https://github.com/numpy/numpy/pull/8474>`__: MAINT: use env in shebang instead of absolute path to python
|
||||
* `#8475 <https://github.com/numpy/numpy/pull/8475>`__: DOC: improve clip docstring
|
||||
* `#8478 <https://github.com/numpy/numpy/pull/8478>`__: MAINT: Forward port accumulated changes from the 1.12.0 release.
|
||||
* `#8482 <https://github.com/numpy/numpy/pull/8482>`__: TST: switch to ubuntu yakkety for i386 testing
|
||||
* `#8483 <https://github.com/numpy/numpy/pull/8483>`__: BUG: fix wrong future nat warning and equiv type logic error
|
||||
* `#8486 <https://github.com/numpy/numpy/pull/8486>`__: BUG: Prevent crash for length-0 input to fromrecords
|
||||
* `#8488 <https://github.com/numpy/numpy/pull/8488>`__: ENH: Improve the alignment of `recarray.__repr__`
|
||||
* `#8489 <https://github.com/numpy/numpy/pull/8489>`__: BUG: fix wrong masked median for some special cases
|
||||
* `#8490 <https://github.com/numpy/numpy/pull/8490>`__: DOC: Place np.average in inline code
|
||||
* `#8491 <https://github.com/numpy/numpy/pull/8491>`__: TST: work around isfinite inconsistency on i386
|
||||
* `#8494 <https://github.com/numpy/numpy/pull/8494>`__: BUG: guard against replacing constants without `'_'` spec
|
||||
* `#8496 <https://github.com/numpy/numpy/pull/8496>`__: Update LICENSE.txt to 2017
|
||||
* `#8497 <https://github.com/numpy/numpy/pull/8497>`__: BUG: Fix creating a np.matrix from string syntax involving booleans
|
||||
* `#8501 <https://github.com/numpy/numpy/pull/8501>`__: Changing spurious Legendre reference to Chebyshev in chebfit...
|
||||
* `#8504 <https://github.com/numpy/numpy/pull/8504>`__: ENH: hard-code finfo parameters for known types
|
||||
* `#8508 <https://github.com/numpy/numpy/pull/8508>`__: BUG: Fix loss of dimensionality of np.ma.masked in ufunc
|
||||
* `#8524 <https://github.com/numpy/numpy/pull/8524>`__: BUG: fix mean for float 16 non-array inputs
|
||||
* `#8527 <https://github.com/numpy/numpy/pull/8527>`__: DOC: fix return value for PyArray_Resize
|
||||
* `#8539 <https://github.com/numpy/numpy/pull/8539>`__: BUG: core: in dot(), make copies if out has memory overlap with...
|
||||
* `#8540 <https://github.com/numpy/numpy/pull/8540>`__: DOC: Update arrays.ndarray.rst
|
||||
* `#8541 <https://github.com/numpy/numpy/pull/8541>`__: DOC: Revert 8540 patch 1
|
||||
* `#8542 <https://github.com/numpy/numpy/pull/8542>`__: MAINT: typo in histogram docstring
|
||||
* `#8551 <https://github.com/numpy/numpy/pull/8551>`__: DOC: Missing backticks
|
||||
* `#8555 <https://github.com/numpy/numpy/pull/8555>`__: Fixing docstring error in polyvander2d
|
||||
* `#8558 <https://github.com/numpy/numpy/pull/8558>`__: DOC: Improve documentation of None as interval bounds in clip.
|
||||
* `#8567 <https://github.com/numpy/numpy/pull/8567>`__: TST: core: use aligned memory for dot() out= arrays
|
||||
* `#8568 <https://github.com/numpy/numpy/pull/8568>`__: TST: re-enable PPC longdouble spacing tests
|
||||
* `#8569 <https://github.com/numpy/numpy/pull/8569>`__: ENH: Add missing `__tracebackhide__` to testing functions.
|
||||
* `#8570 <https://github.com/numpy/numpy/pull/8570>`__: BUG: fix issue #8250 when np.array gets called on an invalid...
|
||||
* `#8571 <https://github.com/numpy/numpy/pull/8571>`__: BUG: fix calling python api with error set and minor leaks
|
||||
* `#8572 <https://github.com/numpy/numpy/pull/8572>`__: MAINT: remove ma out= workaround
|
||||
* `#8575 <https://github.com/numpy/numpy/pull/8575>`__: DOC: fix several typos #8537.
|
||||
* `#8584 <https://github.com/numpy/numpy/pull/8584>`__: MAINT: Use the same exception for all bad axis requests
|
||||
* `#8586 <https://github.com/numpy/numpy/pull/8586>`__: MAINT: PyPy3 compatibility: sys.getsizeof()
|
||||
* `#8590 <https://github.com/numpy/numpy/pull/8590>`__: BUG MaskedArray `__eq__` wrong for masked scalar, multi-d recarray
|
||||
* `#8591 <https://github.com/numpy/numpy/pull/8591>`__: BUG: make np.squeeze always return an array, never a scalar
|
||||
* `#8592 <https://github.com/numpy/numpy/pull/8592>`__: MAINT: Remove `__setslice__` and `__getslice__`
|
||||
* `#8594 <https://github.com/numpy/numpy/pull/8594>`__: BUG: Fix `MaskedArray.__setitem__`
|
||||
* `#8596 <https://github.com/numpy/numpy/pull/8596>`__: BUG: match hard-coded finfo to calculated MachAr
|
||||
* `#8602 <https://github.com/numpy/numpy/pull/8602>`__: BUG: Make iscomplexobj compatible with custom dtypes again
|
||||
* `#8605 <https://github.com/numpy/numpy/pull/8605>`__: DOC: gradient uses 1st order central difference in the interior
|
||||
* `#8606 <https://github.com/numpy/numpy/pull/8606>`__: Revert "DOC: gradient uses 1st order central difference in the...
|
||||
* `#8610 <https://github.com/numpy/numpy/pull/8610>`__: Revert "BUG: make np.squeeze always return an array, never a...
|
||||
* `#8611 <https://github.com/numpy/numpy/pull/8611>`__: DOC: The axis argument of average can be a tuple of ints
|
||||
* `#8612 <https://github.com/numpy/numpy/pull/8612>`__: MAINT: Decrease merge conflicts in release notes
|
||||
* `#8614 <https://github.com/numpy/numpy/pull/8614>`__: BUG: Don't leak internal exceptions when given an empty array
|
||||
* `#8617 <https://github.com/numpy/numpy/pull/8617>`__: BUG: Copy meshgrid after broadcasting
|
||||
* `#8618 <https://github.com/numpy/numpy/pull/8618>`__: BUG: Fix undefined behaviour induced by bad `__array_wrap__`
|
||||
* `#8619 <https://github.com/numpy/numpy/pull/8619>`__: BUG: blas_info should record include_dirs
|
||||
* `#8625 <https://github.com/numpy/numpy/pull/8625>`__: DOC: Create 1.12.1 release notes.
|
||||
* `#8629 <https://github.com/numpy/numpy/pull/8629>`__: ENH: Improve the efficiency of indices
|
||||
* `#8631 <https://github.com/numpy/numpy/pull/8631>`__: Fix typo in fill_diagonal docstring.
|
||||
* `#8633 <https://github.com/numpy/numpy/pull/8633>`__: DOC: Mention boolean arrays in the ix_ documentation.
|
||||
* `#8636 <https://github.com/numpy/numpy/pull/8636>`__: MAINT: ensure benchmark suite is importable on old numpy versions
|
||||
* `#8638 <https://github.com/numpy/numpy/pull/8638>`__: BUG: fix wrong odd determination in packbits
|
||||
* `#8643 <https://github.com/numpy/numpy/pull/8643>`__: BUG: Fix double-wrapping of object scalars
|
||||
* `#8645 <https://github.com/numpy/numpy/pull/8645>`__: MAINT: Use getmask where possible
|
||||
* `#8646 <https://github.com/numpy/numpy/pull/8646>`__: ENH: Allow for an in-place nan_to_num conversion
|
||||
* `#8647 <https://github.com/numpy/numpy/pull/8647>`__: Fix various bugs in np.ma.where
|
||||
* `#8649 <https://github.com/numpy/numpy/pull/8649>`__: Upgrade to Lapack lite 3.2.2
|
||||
* `#8650 <https://github.com/numpy/numpy/pull/8650>`__: DOC: Fix obsolete data in readme
|
||||
* `#8651 <https://github.com/numpy/numpy/pull/8651>`__: MAINT: Split lapack_lite more logically across files
|
||||
* `#8652 <https://github.com/numpy/numpy/pull/8652>`__: TST: Improve testing of read-only mmaps
|
||||
* `#8655 <https://github.com/numpy/numpy/pull/8655>`__: MAINT: Squelch parenthesis warnings from GCC
|
||||
* `#8656 <https://github.com/numpy/numpy/pull/8656>`__: BUG: allow for precision > 17 in longdouble repr test
|
||||
* `#8658 <https://github.com/numpy/numpy/pull/8658>`__: BUG: fix denormal linspace test for longdouble
|
||||
* `#8659 <https://github.com/numpy/numpy/pull/8659>`__: BUG: PPC64el machines are POWER for Fortran
|
||||
* `#8663 <https://github.com/numpy/numpy/pull/8663>`__: ENH: Fix alignment of repr for array subclasses
|
||||
* `#8665 <https://github.com/numpy/numpy/pull/8665>`__: BUG: Look up methods on MaskedArray in _frommethod
|
||||
* `#8667 <https://github.com/numpy/numpy/pull/8667>`__: BUG: Preserve identity of dtypes in make_mask_descr
|
||||
* `#8668 <https://github.com/numpy/numpy/pull/8668>`__: DOC: Add more examples for `np.c_`
|
||||
* `#8669 <https://github.com/numpy/numpy/pull/8669>`__: MAINT: Warn users when calling np.ma.MaskedArray.partition function.
|
||||
* `#8672 <https://github.com/numpy/numpy/pull/8672>`__: BUG: Use int for axes, not intp
|
||||
* `#8674 <https://github.com/numpy/numpy/pull/8674>`__: BUG: Remove extra digit in binary_repr at limit
|
||||
* `#8675 <https://github.com/numpy/numpy/pull/8675>`__: BUG: Fix problems detecting runtime for MSYS2 compiler on Windows
|
||||
* `#8677 <https://github.com/numpy/numpy/pull/8677>`__: MAINT: We can now rely on itertools.izip_longest existing
|
||||
* `#8678 <https://github.com/numpy/numpy/pull/8678>`__: BUG: Fix argsort vs sort in Masked arrays
|
||||
* `#8680 <https://github.com/numpy/numpy/pull/8680>`__: DOC: Removed broken link
|
||||
* `#8682 <https://github.com/numpy/numpy/pull/8682>`__: ENH: allow argument to matrix_rank to be stacked
|
||||
* `#8685 <https://github.com/numpy/numpy/pull/8685>`__: ENH: add dtype.ndim
|
||||
* `#8688 <https://github.com/numpy/numpy/pull/8688>`__: DOC: Added note to np.diff
|
||||
* `#8692 <https://github.com/numpy/numpy/pull/8692>`__: MAINT: Fix deprecated escape sequences
|
||||
* `#8694 <https://github.com/numpy/numpy/pull/8694>`__: BUG: missing comma disabled some header checks
|
||||
* `#8695 <https://github.com/numpy/numpy/pull/8695>`__: MAINT: Remove numpy-macosx-installer and win32build directories.
|
||||
* `#8698 <https://github.com/numpy/numpy/pull/8698>`__: DOC: fix incorrect mask value when value was changed
|
||||
* `#8702 <https://github.com/numpy/numpy/pull/8702>`__: DOC: Fixed small mistakes in numpy.copy documentation.
|
||||
* `#8704 <https://github.com/numpy/numpy/pull/8704>`__: BUG: Fix deepcopy regression for empty arrays.
|
||||
* `#8705 <https://github.com/numpy/numpy/pull/8705>`__: BUG: fix ma.median for empty ndarrays
|
||||
* `#8709 <https://github.com/numpy/numpy/pull/8709>`__: DOC: Fixed minor typos in temp_elide.c
|
||||
* `#8713 <https://github.com/numpy/numpy/pull/8713>`__: BUG: Don't signal FP exceptions in np.absolute
|
||||
* `#8716 <https://github.com/numpy/numpy/pull/8716>`__: MAINT: Mark some tests with slow decorator
|
||||
* `#8718 <https://github.com/numpy/numpy/pull/8718>`__: BUG: Fix assert statements in random.choice tests
|
||||
* `#8729 <https://github.com/numpy/numpy/pull/8729>`__: DOC: Add float_power to routines.math documentation autosummary
|
||||
* `#8731 <https://github.com/numpy/numpy/pull/8731>`__: DOC: added linalg.multi_dot to doc
|
||||
* `#8737 <https://github.com/numpy/numpy/pull/8737>`__: DOC: Mention that expand_dims and squeeze are inverses
|
||||
* `#8744 <https://github.com/numpy/numpy/pull/8744>`__: MAINT: Remove files and constants that were only needed for Bento.
|
||||
* `#8745 <https://github.com/numpy/numpy/pull/8745>`__: TST: Remove unused env from tox
|
||||
* `#8746 <https://github.com/numpy/numpy/pull/8746>`__: DOC: Update 1.12.1 release notes.
|
||||
* `#8749 <https://github.com/numpy/numpy/pull/8749>`__: DOC: Add 1.12.1 release notes to documentation.
|
||||
* `#8750 <https://github.com/numpy/numpy/pull/8750>`__: BUG: Fix np.average for object arrays
|
||||
* `#8754 <https://github.com/numpy/numpy/pull/8754>`__: ENH: Allows building npy_math with static inlining
|
||||
* `#8756 <https://github.com/numpy/numpy/pull/8756>`__: BUG: Correct lapack ld* args
|
||||
* `#8759 <https://github.com/numpy/numpy/pull/8759>`__: BUG: Add HOME to the git environment.
|
||||
* `#8761 <https://github.com/numpy/numpy/pull/8761>`__: MAINT: better warning message when running build_src from sdist
|
||||
* `#8762 <https://github.com/numpy/numpy/pull/8762>`__: BUG: Prevent crash in `poly1d.__eq__`
|
||||
* `#8781 <https://github.com/numpy/numpy/pull/8781>`__: BUG: Revert gh-8570.
|
||||
* `#8788 <https://github.com/numpy/numpy/pull/8788>`__: BUG: Fix scipy incompatibility with cleanup to poly1d
|
||||
* `#8792 <https://github.com/numpy/numpy/pull/8792>`__: DOC: Fix typos
|
||||
* `#8793 <https://github.com/numpy/numpy/pull/8793>`__: DOC: fix minor docstring typos
|
||||
* `#8795 <https://github.com/numpy/numpy/pull/8795>`__: ENH: Add the 'heaviside' ufunc.
|
||||
* `#8796 <https://github.com/numpy/numpy/pull/8796>`__: BUG: fix regex of determineexprtype_re_3 in numpy/f2py/crackfortran.py
|
||||
* `#8799 <https://github.com/numpy/numpy/pull/8799>`__: DOC: Include np. prefix in meshgrid examples
|
||||
* `#8801 <https://github.com/numpy/numpy/pull/8801>`__: BUG: fix the error msg of empty hstack input
|
||||
* `#8806 <https://github.com/numpy/numpy/pull/8806>`__: BUG: Raise TypeError on ternary power
|
||||
* `#8807 <https://github.com/numpy/numpy/pull/8807>`__: TST: Prove that poly1d coeffs are immutable
|
||||
* `#8813 <https://github.com/numpy/numpy/pull/8813>`__: MAINT: tidy up some of npyio
|
||||
* `#8816 <https://github.com/numpy/numpy/pull/8816>`__: BUG: `np.lib.index_tricks.r_` mutates its own state
|
||||
* `#8820 <https://github.com/numpy/numpy/pull/8820>`__: DOC: Add 'heaviside' to the ufunc documentation.
|
||||
* `#8822 <https://github.com/numpy/numpy/pull/8822>`__: DOC: Use gray and hsv colormaps in examples
|
||||
* `#8824 <https://github.com/numpy/numpy/pull/8824>`__: MAINT: a couple distutils cleanups
|
||||
* `#8825 <https://github.com/numpy/numpy/pull/8825>`__: STY: Fix bad style in umath_linalg
|
||||
* `#8828 <https://github.com/numpy/numpy/pull/8828>`__: DOC: Add missing release note for #8584
|
||||
* `#8830 <https://github.com/numpy/numpy/pull/8830>`__: DOC: added a whitespace so that sphinx directive displays correctly
|
||||
* `#8832 <https://github.com/numpy/numpy/pull/8832>`__: MAINT: Remove python <2.7,<3.3 string/unicode workarounds
|
||||
* `#8834 <https://github.com/numpy/numpy/pull/8834>`__: BENCH: use initialized memory for count_nonzero benchmark
|
||||
* `#8835 <https://github.com/numpy/numpy/pull/8835>`__: DOC: Include nextafter and spacing function in documentation.
|
||||
* `#8836 <https://github.com/numpy/numpy/pull/8836>`__: DOC: Several documentation fixes (broken links, incorrect sphinx...
|
||||
* `#8837 <https://github.com/numpy/numpy/pull/8837>`__: DOC: Spell out note for `hstack`
|
||||
* `#8840 <https://github.com/numpy/numpy/pull/8840>`__: DOC: update docs and comments for move of mailing list to python.org
|
||||
* `#8843 <https://github.com/numpy/numpy/pull/8843>`__: MAINT: Use AxisError in more places
|
||||
* `#8844 <https://github.com/numpy/numpy/pull/8844>`__: DOC: Spell out note for `dstack`
|
||||
* `#8845 <https://github.com/numpy/numpy/pull/8845>`__: DOC: Add release note about np.real and np.conj
|
||||
* `#8846 <https://github.com/numpy/numpy/pull/8846>`__: BUG: Buttress handling of extreme values in randint
|
||||
* `#8847 <https://github.com/numpy/numpy/pull/8847>`__: DOC: Preliminary edit of 1.13.0 release notes.
|
||||
* `#8850 <https://github.com/numpy/numpy/pull/8850>`__: DOC: Updated doc of nonzero()
|
||||
* `#8852 <https://github.com/numpy/numpy/pull/8852>`__: MAINT: restore auto-vectorization of inplace operations
|
||||
* `#8854 <https://github.com/numpy/numpy/pull/8854>`__: MAINT: Remove manual expansion of template loop for some ufuncs
|
||||
* `#8857 <https://github.com/numpy/numpy/pull/8857>`__: DOC: remove empty jargon reference in glossary
|
||||
* `#8859 <https://github.com/numpy/numpy/pull/8859>`__: DOC: Fixed README formatting
|
||||
* `#8861 <https://github.com/numpy/numpy/pull/8861>`__: MAINT: Include the function name in all argument error messages
|
||||
* `#8862 <https://github.com/numpy/numpy/pull/8862>`__: BUG: do not memcpy ptr to freed object
|
||||
* `#8870 <https://github.com/numpy/numpy/pull/8870>`__: TST: Respect compiler customizations
|
||||
* `#8871 <https://github.com/numpy/numpy/pull/8871>`__: DOC: Replace line that was errantly removed in #8850
|
||||
* `#8873 <https://github.com/numpy/numpy/pull/8873>`__: BUG: Make runtests.py --shell behave better on windows
|
||||
* `#8874 <https://github.com/numpy/numpy/pull/8874>`__: TST: Use explicit NaT in test_structure_format
|
||||
* `#8876 <https://github.com/numpy/numpy/pull/8876>`__: MAINT: Minor ufunc cleanup
|
||||
* `#8883 <https://github.com/numpy/numpy/pull/8883>`__: BUG: Ensure Errors are correctly checked when PyFloat_AsDouble...
|
||||
* `#8884 <https://github.com/numpy/numpy/pull/8884>`__: BUG: Check for errors when PyInt_AsLong is called in np.random
|
||||
* `#8885 <https://github.com/numpy/numpy/pull/8885>`__: ENH: add support for python3.6 memory tracing
|
||||
* `#8886 <https://github.com/numpy/numpy/pull/8886>`__: ENH: add np.block to improve upon np.bmat
|
||||
* `#8888 <https://github.com/numpy/numpy/pull/8888>`__: BUG: Don't modify types after PyType_Ready
|
||||
* `#8890 <https://github.com/numpy/numpy/pull/8890>`__: DOC: proposed fixes for issues #7622 and #7914
|
||||
* `#8894 <https://github.com/numpy/numpy/pull/8894>`__: MAINT: Use PyArray_FROM_* macros
|
||||
* `#8895 <https://github.com/numpy/numpy/pull/8895>`__: BUG: return values of exec_command were swapped
|
||||
* `#8896 <https://github.com/numpy/numpy/pull/8896>`__: ENH: do integer**2. inplace
|
||||
* `#8897 <https://github.com/numpy/numpy/pull/8897>`__: ENH: don't rebuild unchanged files
|
||||
* `#8898 <https://github.com/numpy/numpy/pull/8898>`__: BUG: Move ctypes ImportError catching to appropriate place
|
||||
* `#8900 <https://github.com/numpy/numpy/pull/8900>`__: Fix typos.
|
||||
* `#8903 <https://github.com/numpy/numpy/pull/8903>`__: BUG: Fix setitem on UNICODE, STRING, and LONGDOUBLE
|
||||
* `#8905 <https://github.com/numpy/numpy/pull/8905>`__: BUG: Correctly distinguish between 0d arrays and scalars in `MaskedArray.__getitem__`
|
||||
* `#8907 <https://github.com/numpy/numpy/pull/8907>`__: COMPAT: notify garbage collector when memory is allocated
|
||||
* `#8911 <https://github.com/numpy/numpy/pull/8911>`__: BUG: check_api_dict does not correctly handle tuple values
|
||||
* `#8914 <https://github.com/numpy/numpy/pull/8914>`__: DOC: Replace reference to np.swapaxis with np.swapaxes
|
||||
* `#8918 <https://github.com/numpy/numpy/pull/8918>`__: DEP: deprecate calling ma.argsort without an axis
|
||||
* `#8919 <https://github.com/numpy/numpy/pull/8919>`__: MAINT, TST: Remove duplicated code for testing the two types...
|
||||
* `#8921 <https://github.com/numpy/numpy/pull/8921>`__: MAINT: avoid memcpy when i == j
|
||||
* `#8925 <https://github.com/numpy/numpy/pull/8925>`__: DOC: Fix incorrect call to set_printoptions
|
||||
* `#8928 <https://github.com/numpy/numpy/pull/8928>`__: BUG: runtests --bench fails on windows
|
||||
* `#8929 <https://github.com/numpy/numpy/pull/8929>`__: BENCH: Masked array benchmarks
|
||||
* `#8939 <https://github.com/numpy/numpy/pull/8939>`__: DEP: Deprecate `np.ma.MaskedArray.mini`
|
||||
* `#8942 <https://github.com/numpy/numpy/pull/8942>`__: DOC: stop referring to 'S' dtype as string
|
||||
* `#8948 <https://github.com/numpy/numpy/pull/8948>`__: DEP: Deprecate NPY_CHAR
|
||||
* `#8949 <https://github.com/numpy/numpy/pull/8949>`__: REL: add `python_requires` to setup.py
|
||||
* `#8951 <https://github.com/numpy/numpy/pull/8951>`__: ENH: Add ufunc.identity for hypot and logical_xor
|
||||
* `#8953 <https://github.com/numpy/numpy/pull/8953>`__: DEP: Add back `ndarray.__[sg]etslice__`, but deprecate it
|
||||
* `#8959 <https://github.com/numpy/numpy/pull/8959>`__: DEP: Remove alter/restore dot methods
|
||||
* `#8961 <https://github.com/numpy/numpy/pull/8961>`__: MAINT: Update Intel compiler options.
|
||||
* `#8962 <https://github.com/numpy/numpy/pull/8962>`__: DOC: Wrong return type of np.random.choice and wrong variable...
|
||||
* `#8963 <https://github.com/numpy/numpy/pull/8963>`__: BUG: Prevent crash on repr of recursive array
|
||||
* `#8964 <https://github.com/numpy/numpy/pull/8964>`__: BUG: don't create array with invalid memory in where
|
||||
* `#8967 <https://github.com/numpy/numpy/pull/8967>`__: ENH: add np.positive ufunc
|
||||
* `#8971 <https://github.com/numpy/numpy/pull/8971>`__: BUG: do not change size 0 description when viewing data
|
||||
* `#8976 <https://github.com/numpy/numpy/pull/8976>`__: BUG: Prevent VOID_copyswapn ignoring strides
|
||||
* `#8978 <https://github.com/numpy/numpy/pull/8978>`__: TST: enable shadowed test
|
||||
* `#8980 <https://github.com/numpy/numpy/pull/8980>`__: DOC: Correct shape of edges in np.histogram2d
|
||||
* `#8988 <https://github.com/numpy/numpy/pull/8988>`__: DOC: Explain the behavior of diff on unsigned types
|
||||
* `#8989 <https://github.com/numpy/numpy/pull/8989>`__: ENH: Print object arrays containing lists unambiguously
|
||||
* `#8996 <https://github.com/numpy/numpy/pull/8996>`__: BUG/DEP: Make ufunclike functions more ufunc-like
|
||||
* `#8997 <https://github.com/numpy/numpy/pull/8997>`__: TST: fix io test that doesn't close file
|
||||
* `#8998 <https://github.com/numpy/numpy/pull/8998>`__: DOC: Use ` instead of * to refer to a function parameter.
|
||||
* `#8999 <https://github.com/numpy/numpy/pull/8999>`__: TST: Enable NPY_RELAXED_STRIDES_DEBUG environment variable.
|
||||
* `#9002 <https://github.com/numpy/numpy/pull/9002>`__: MAINT: Document ufunc(where=...) as defaulting to True
|
||||
* `#9012 <https://github.com/numpy/numpy/pull/9012>`__: MAINT: Set the `__name__` of generated methods
|
||||
* `#9013 <https://github.com/numpy/numpy/pull/9013>`__: BUG: Fix np.lib.nanfunctions on object arrays
|
||||
* `#9014 <https://github.com/numpy/numpy/pull/9014>`__: BUG: `__array_ufunc__= None` -> TypeError
|
||||
* `#9015 <https://github.com/numpy/numpy/pull/9015>`__: ENH: Use `__array_ufunc__ = None` in polynomial convenience classes.
|
||||
* `#9021 <https://github.com/numpy/numpy/pull/9021>`__: BUG: Make ndarray inplace operators forward calls when needed.
|
||||
* `#9024 <https://github.com/numpy/numpy/pull/9024>`__: DOC: Correct default stop index value for negative stepping.
|
||||
* `#9026 <https://github.com/numpy/numpy/pull/9026>`__: ENH: Show full PEP 457 argument lists for ufuncs
|
||||
* `#9027 <https://github.com/numpy/numpy/pull/9027>`__: DOC: update binary-op / ufunc interactions and recommendations...
|
||||
* `#9038 <https://github.com/numpy/numpy/pull/9038>`__: BUG: check compiler flags to determine the need for a rebuild
|
||||
* `#9039 <https://github.com/numpy/numpy/pull/9039>`__: DOC: actually produce docs for as_strided
|
||||
* `#9050 <https://github.com/numpy/numpy/pull/9050>`__: BUG: distutils, add compatibility python parallelization
|
||||
* `#9054 <https://github.com/numpy/numpy/pull/9054>`__: BUG: Various fixes to _dtype_from_pep3118
|
||||
* `#9058 <https://github.com/numpy/numpy/pull/9058>`__: MAINT: Update FutureWarning message.
|
||||
* `#9060 <https://github.com/numpy/numpy/pull/9060>`__: DEP: deprecate ndarray.conjugate's no-op fall through for non-numeric...
|
||||
* `#9061 <https://github.com/numpy/numpy/pull/9061>`__: BUG: ndarray.conjugate broken for custom dtypes (unlike np.conjugate)
|
||||
* `#9062 <https://github.com/numpy/numpy/pull/9062>`__: STY: two blank lines between classes per PEP8
|
||||
* `#9063 <https://github.com/numpy/numpy/pull/9063>`__: ENH: add np.divmod ufunc
|
||||
* `#9070 <https://github.com/numpy/numpy/pull/9070>`__: BUG: Preserve field order in join_by, avoids FutureWarning
|
||||
* `#9072 <https://github.com/numpy/numpy/pull/9072>`__: BUG: if importing multiarray fails, don't discard the error message
|
||||
* `#9074 <https://github.com/numpy/numpy/pull/9074>`__: MAINT: Python 3.6 invalid escape sequence deprecation fixes
|
||||
* `#9075 <https://github.com/numpy/numpy/pull/9075>`__: ENH: Spelling fixes
|
||||
* `#9077 <https://github.com/numpy/numpy/pull/9077>`__: BUG: Prevent stackoverflow on self-containing arrays
|
||||
* `#9080 <https://github.com/numpy/numpy/pull/9080>`__: MAINT, DOC: Update 1.13.0 release notes and .mailmap
|
||||
* `#9087 <https://github.com/numpy/numpy/pull/9087>`__: BUG: `__array_ufunc__` should always be looked up on the type,...
|
||||
* `#9091 <https://github.com/numpy/numpy/pull/9091>`__: MAINT: refine error message for `__array_ufunc__` not implemented
|
||||
* `#9093 <https://github.com/numpy/numpy/pull/9093>`__: BUG remove memory leak in array ufunc override.
|
||||
* `#9097 <https://github.com/numpy/numpy/pull/9097>`__: TST: fix test_basic failure on Windows
|
||||
* `#9111 <https://github.com/numpy/numpy/pull/9111>`__: BUG: Array ufunc reduce out tuple
|
||||
* `#9123 <https://github.com/numpy/numpy/pull/9123>`__: DOC: update 1.13 release note for MaskedArray, masked constants...
|
||||
* `#9124 <https://github.com/numpy/numpy/pull/9124>`__: BUG: Do not elide complex abs() for 1.13
|
||||
* `#9129 <https://github.com/numpy/numpy/pull/9129>`__: BUG: `ndarray.__pow__` does not check result of fast_scalar_power
|
||||
* `#9133 <https://github.com/numpy/numpy/pull/9133>`__: DEP: Deprecate incorrect behavior of expand_dims.
|
||||
* `#9135 <https://github.com/numpy/numpy/pull/9135>`__: BUG: delay calls of array repr in getlimits
|
||||
* `#9136 <https://github.com/numpy/numpy/pull/9136>`__: BUG: Compilation crashes in MSVC when LIB or INCLUDE is not set
|
||||
* `#9173 <https://github.com/numpy/numpy/pull/9173>`__: BUG: have as_strided() keep custom dtypes
|
||||
* `#9175 <https://github.com/numpy/numpy/pull/9175>`__: BUG: ensure structured `ndarray.__eq__,__ne__` defer when appropriate.
|
||||
* `#9196 <https://github.com/numpy/numpy/pull/9196>`__: BUG: pull request 9087 modifies a tuple after use
|
||||
* `#9199 <https://github.com/numpy/numpy/pull/9199>`__: DOC: Update bincount docs to reflect gh-8348 (backport)
|
|
@ -0,0 +1,44 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 12 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Andras Deak +
|
||||
* Bob Eldering +
|
||||
* Charles Harris
|
||||
* Daniel Hrisca +
|
||||
* Eric Wieser
|
||||
* Joshua Leahy +
|
||||
* Julian Taylor
|
||||
* Michael Seifert
|
||||
* Pauli Virtanen
|
||||
* Ralf Gommers
|
||||
* Roland Kaufmann
|
||||
* Warren Weckesser
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 19 pull requests were merged for this release.
|
||||
|
||||
* `#9240 <https://github.com/numpy/numpy/pull/9240>`__: DOC: BLD: fix lots of Sphinx warnings/errors.
|
||||
* `#9255 <https://github.com/numpy/numpy/pull/9255>`__: Revert "DEP: Raise TypeError for subtract(bool_, bool_)."
|
||||
* `#9261 <https://github.com/numpy/numpy/pull/9261>`__: BUG: don't elide into readonly and updateifcopy temporaries for...
|
||||
* `#9262 <https://github.com/numpy/numpy/pull/9262>`__: BUG: fix missing keyword rename for common block in numpy.f2py
|
||||
* `#9263 <https://github.com/numpy/numpy/pull/9263>`__: BUG: handle resize of 0d array
|
||||
* `#9267 <https://github.com/numpy/numpy/pull/9267>`__: DOC: update f2py front page and some doc build metadata.
|
||||
* `#9299 <https://github.com/numpy/numpy/pull/9299>`__: BUG: Fix Intel compilation on Unix.
|
||||
* `#9317 <https://github.com/numpy/numpy/pull/9317>`__: BUG: fix wrong ndim used in empty where check
|
||||
* `#9319 <https://github.com/numpy/numpy/pull/9319>`__: BUG: Make extensions compilable with MinGW on Py2.7
|
||||
* `#9339 <https://github.com/numpy/numpy/pull/9339>`__: BUG: Prevent crash if ufunc doc string is null
|
||||
* `#9340 <https://github.com/numpy/numpy/pull/9340>`__: BUG: umath: un-break ufunc where= when no out= is given
|
||||
* `#9371 <https://github.com/numpy/numpy/pull/9371>`__: DOC: Add isnat/positive ufunc to documentation
|
||||
* `#9372 <https://github.com/numpy/numpy/pull/9372>`__: BUG: Fix error in fromstring function from numpy.core.records...
|
||||
* `#9373 <https://github.com/numpy/numpy/pull/9373>`__: BUG: ')' is printed at the end pointer of the buffer in numpy.f2py.
|
||||
* `#9374 <https://github.com/numpy/numpy/pull/9374>`__: DOC: Create NumPy 1.13.1 release notes.
|
||||
* `#9376 <https://github.com/numpy/numpy/pull/9376>`__: BUG: Prevent hang traversing ufunc userloop linked list
|
||||
* `#9377 <https://github.com/numpy/numpy/pull/9377>`__: DOC: Use x1 and x2 in the heaviside docstring.
|
||||
* `#9378 <https://github.com/numpy/numpy/pull/9378>`__: DOC: Add $PARAMS to the isnat docstring
|
||||
* `#9379 <https://github.com/numpy/numpy/pull/9379>`__: DOC: Update the 1.13.1 release notes
|
|
@ -0,0 +1,46 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 12 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Allan Haldane
|
||||
* Brandon Carter
|
||||
* Charles Harris
|
||||
* Eric Wieser
|
||||
* Iryna Shcherbina +
|
||||
* James Bourbeau +
|
||||
* Jonathan Helmus
|
||||
* Julian Taylor
|
||||
* Matti Picus
|
||||
* Michael Lamparski +
|
||||
* Michael Seifert
|
||||
* Ralf Gommers
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 21 pull requests were merged for this release.
|
||||
|
||||
* `#9390 <https://github.com/numpy/numpy/pull/9390>`__: BUG: Return the poly1d coefficients array directly
|
||||
* `#9555 <https://github.com/numpy/numpy/pull/9555>`__: BUG: fix regression in 1.13.x in distutils.mingw32ccompiler.
|
||||
* `#9556 <https://github.com/numpy/numpy/pull/9556>`__: BUG: Fix true_divide when dtype=np.float64 specified.
|
||||
* `#9557 <https://github.com/numpy/numpy/pull/9557>`__: DOC: Fix some rst markup in numpy/doc/basics.py.
|
||||
* `#9558 <https://github.com/numpy/numpy/pull/9558>`__: BLD: remove -xhost flag from IntelFCompiler.
|
||||
* `#9559 <https://github.com/numpy/numpy/pull/9559>`__: DOC: removes broken docstring example (source code, png, pdf)...
|
||||
* `#9580 <https://github.com/numpy/numpy/pull/9580>`__: BUG: Add hypot and cabs functions to WIN32 blacklist.
|
||||
* `#9732 <https://github.com/numpy/numpy/pull/9732>`__: BUG: Make scalar function elision check if temp is writeable.
|
||||
* `#9736 <https://github.com/numpy/numpy/pull/9736>`__: BUG: various fixes to np.gradient
|
||||
* `#9742 <https://github.com/numpy/numpy/pull/9742>`__: BUG: Fix np.pad for CVE-2017-12852
|
||||
* `#9744 <https://github.com/numpy/numpy/pull/9744>`__: BUG: Check for exception in sort functions, add tests
|
||||
* `#9745 <https://github.com/numpy/numpy/pull/9745>`__: DOC: Add whitespace after "versionadded::" directive so it actually...
|
||||
* `#9746 <https://github.com/numpy/numpy/pull/9746>`__: BUG: memory leak in np.dot of size 0
|
||||
* `#9747 <https://github.com/numpy/numpy/pull/9747>`__: BUG: adjust gfortran version search regex
|
||||
* `#9757 <https://github.com/numpy/numpy/pull/9757>`__: BUG: Cython 0.27 breaks NumPy on Python 3.
|
||||
* `#9764 <https://github.com/numpy/numpy/pull/9764>`__: BUG: Ensure `_npy_scaled_cexp{,f,l}` is defined when needed.
|
||||
* `#9765 <https://github.com/numpy/numpy/pull/9765>`__: BUG: PyArray_CountNonzero does not check for exceptions
|
||||
* `#9766 <https://github.com/numpy/numpy/pull/9766>`__: BUG: Fixes histogram monotonicity check for unsigned bin values
|
||||
* `#9767 <https://github.com/numpy/numpy/pull/9767>`__: BUG: ensure consistent result dtype of count_nonzero
|
||||
* `#9771 <https://github.com/numpy/numpy/pull/9771>`__: MAINT,BUG: Fix mtrand for Cython 0.27.
|
||||
* `#9772 <https://github.com/numpy/numpy/pull/9772>`__: DOC: Create the 1.13.2 release notes.
|
|
@ -0,0 +1,73 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 19 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Allan Haldane
|
||||
* Andras Deak +
|
||||
* Bob Eldering +
|
||||
* Brandon Carter
|
||||
* Charles Harris
|
||||
* Daniel Hrisca +
|
||||
* Eric Wieser
|
||||
* Iryna Shcherbina +
|
||||
* James Bourbeau +
|
||||
* Jonathan Helmus
|
||||
* Joshua Leahy +
|
||||
* Julian Taylor
|
||||
* Matti Picus
|
||||
* Michael Lamparski +
|
||||
* Michael Seifert
|
||||
* Pauli Virtanen
|
||||
* Ralf Gommers
|
||||
* Roland Kaufmann
|
||||
* Warren Weckesser
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 41 pull requests were merged for this release.
|
||||
|
||||
* `#9240 <https://github.com/numpy/numpy/pull/9240>`__: DOC: BLD: fix lots of Sphinx warnings/errors.
|
||||
* `#9255 <https://github.com/numpy/numpy/pull/9255>`__: Revert "DEP: Raise TypeError for subtract(bool_, bool_)."
|
||||
* `#9261 <https://github.com/numpy/numpy/pull/9261>`__: BUG: don't elide into readonly and updateifcopy temporaries for...
|
||||
* `#9262 <https://github.com/numpy/numpy/pull/9262>`__: BUG: fix missing keyword rename for common block in numpy.f2py
|
||||
* `#9263 <https://github.com/numpy/numpy/pull/9263>`__: BUG: handle resize of 0d array
|
||||
* `#9267 <https://github.com/numpy/numpy/pull/9267>`__: DOC: update f2py front page and some doc build metadata.
|
||||
* `#9299 <https://github.com/numpy/numpy/pull/9299>`__: BUG: Fix Intel compilation on Unix.
|
||||
* `#9317 <https://github.com/numpy/numpy/pull/9317>`__: BUG: fix wrong ndim used in empty where check
|
||||
* `#9319 <https://github.com/numpy/numpy/pull/9319>`__: BUG: Make extensions compilable with MinGW on Py2.7
|
||||
* `#9339 <https://github.com/numpy/numpy/pull/9339>`__: BUG: Prevent crash if ufunc doc string is null
|
||||
* `#9340 <https://github.com/numpy/numpy/pull/9340>`__: BUG: umath: un-break ufunc where= when no out= is given
|
||||
* `#9371 <https://github.com/numpy/numpy/pull/9371>`__: DOC: Add isnat/positive ufunc to documentation
|
||||
* `#9372 <https://github.com/numpy/numpy/pull/9372>`__: BUG: Fix error in fromstring function from numpy.core.records...
|
||||
* `#9373 <https://github.com/numpy/numpy/pull/9373>`__: BUG: ')' is printed at the end pointer of the buffer in numpy.f2py.
|
||||
* `#9374 <https://github.com/numpy/numpy/pull/9374>`__: DOC: Create NumPy 1.13.1 release notes.
|
||||
* `#9376 <https://github.com/numpy/numpy/pull/9376>`__: BUG: Prevent hang traversing ufunc userloop linked list
|
||||
* `#9377 <https://github.com/numpy/numpy/pull/9377>`__: DOC: Use x1 and x2 in the heaviside docstring.
|
||||
* `#9378 <https://github.com/numpy/numpy/pull/9378>`__: DOC: Add $PARAMS to the isnat docstring
|
||||
* `#9379 <https://github.com/numpy/numpy/pull/9379>`__: DOC: Update the 1.13.1 release notes
|
||||
* `#9390 <https://github.com/numpy/numpy/pull/9390>`__: BUG: Return the poly1d coefficients array directly
|
||||
* `#9555 <https://github.com/numpy/numpy/pull/9555>`__: BUG: fix regression in 1.13.x in distutils.mingw32ccompiler.
|
||||
* `#9556 <https://github.com/numpy/numpy/pull/9556>`__: BUG: Fix true_divide when dtype=np.float64 specified.
|
||||
* `#9557 <https://github.com/numpy/numpy/pull/9557>`__: DOC: Fix some rst markup in numpy/doc/basics.py.
|
||||
* `#9558 <https://github.com/numpy/numpy/pull/9558>`__: BLD: remove -xhost flag from IntelFCompiler.
|
||||
* `#9559 <https://github.com/numpy/numpy/pull/9559>`__: DOC: removes broken docstring example (source code, png, pdf)...
|
||||
* `#9580 <https://github.com/numpy/numpy/pull/9580>`__: BUG: Add hypot and cabs functions to WIN32 blacklist.
|
||||
* `#9732 <https://github.com/numpy/numpy/pull/9732>`__: BUG: Make scalar function elision check if temp is writeable.
|
||||
* `#9736 <https://github.com/numpy/numpy/pull/9736>`__: BUG: various fixes to np.gradient
|
||||
* `#9742 <https://github.com/numpy/numpy/pull/9742>`__: BUG: Fix np.pad for CVE-2017-12852
|
||||
* `#9744 <https://github.com/numpy/numpy/pull/9744>`__: BUG: Check for exception in sort functions, add tests
|
||||
* `#9745 <https://github.com/numpy/numpy/pull/9745>`__: DOC: Add whitespace after "versionadded::" directive so it actually...
|
||||
* `#9746 <https://github.com/numpy/numpy/pull/9746>`__: BUG: memory leak in np.dot of size 0
|
||||
* `#9747 <https://github.com/numpy/numpy/pull/9747>`__: BUG: adjust gfortran version search regex
|
||||
* `#9757 <https://github.com/numpy/numpy/pull/9757>`__: BUG: Cython 0.27 breaks NumPy on Python 3.
|
||||
* `#9764 <https://github.com/numpy/numpy/pull/9764>`__: BUG: Ensure `_npy_scaled_cexp{,f,l}` is defined when needed.
|
||||
* `#9765 <https://github.com/numpy/numpy/pull/9765>`__: BUG: PyArray_CountNonzero does not check for exceptions
|
||||
* `#9766 <https://github.com/numpy/numpy/pull/9766>`__: BUG: Fixes histogram monotonicity check for unsigned bin values
|
||||
* `#9767 <https://github.com/numpy/numpy/pull/9767>`__: BUG: ensure consistent result dtype of count_nonzero
|
||||
* `#9771 <https://github.com/numpy/numpy/pull/9771>`__: MAINT,BUG: Fix mtrand for Cython 0.27.
|
||||
* `#9772 <https://github.com/numpy/numpy/pull/9772>`__: DOC: Create the 1.13.2 release notes.
|
||||
* `#9794 <https://github.com/numpy/numpy/pull/9794>`__: DOC: Create 1.13.3 release notes.
|
|
@ -0,0 +1,494 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 100 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Alexey Brodkin +
|
||||
* Allan Haldane
|
||||
* Andras Deak +
|
||||
* Andrew Lawson +
|
||||
* Anna Chiara +
|
||||
* Antoine Pitrou
|
||||
* Bernhard M. Wiedemann +
|
||||
* Bob Eldering +
|
||||
* Brandon Carter
|
||||
* CJ Carey
|
||||
* Charles Harris
|
||||
* Chris Lamb
|
||||
* Christoph Boeddeker +
|
||||
* Christoph Gohlke
|
||||
* Daniel Hrisca +
|
||||
* Daniel Smith
|
||||
* Danny Hermes
|
||||
* David Freese
|
||||
* David Hagen
|
||||
* David Linke +
|
||||
* David Schaefer +
|
||||
* Dillon Niederhut +
|
||||
* Egor Panfilov +
|
||||
* Emilien Kofman
|
||||
* Eric Wieser
|
||||
* Erik Bray +
|
||||
* Erik Quaeghebeur +
|
||||
* Garry Polley +
|
||||
* Gunjan +
|
||||
* Han Shen +
|
||||
* Henke Adolfsson +
|
||||
* Hidehiro NAGAOKA +
|
||||
* Hemil Desai +
|
||||
* Hong Xu +
|
||||
* Iryna Shcherbina +
|
||||
* Jaime Fernandez
|
||||
* James Bourbeau +
|
||||
* Jamie Townsend +
|
||||
* Jarrod Millman
|
||||
* Jean Helie +
|
||||
* Jeroen Demeyer +
|
||||
* John Goetz +
|
||||
* John Kirkham
|
||||
* John Zwinck
|
||||
* Jonathan Helmus
|
||||
* Joseph Fox-Rabinovitz
|
||||
* Joseph Paul Cohen +
|
||||
* Joshua Leahy +
|
||||
* Julian Taylor
|
||||
* Jörg Döpfert +
|
||||
* Keno Goertz +
|
||||
* Kevin Sheppard +
|
||||
* Kexuan Sun +
|
||||
* Konrad Kapp +
|
||||
* Kristofor Maynard +
|
||||
* Licht Takeuchi +
|
||||
* Loïc Estève
|
||||
* Lukas Mericle +
|
||||
* Marten van Kerkwijk
|
||||
* Matheus Portela +
|
||||
* Matthew Brett
|
||||
* Matti Picus
|
||||
* Michael Lamparski +
|
||||
* Michael Odintsov +
|
||||
* Michael Schnaitter +
|
||||
* Michael Seifert
|
||||
* Mike Nolta
|
||||
* Nathaniel J. Smith
|
||||
* Nelle Varoquaux +
|
||||
* Nicholas Del Grosso +
|
||||
* Nico Schlömer +
|
||||
* Oleg Zabluda +
|
||||
* Oleksandr Pavlyk
|
||||
* Pauli Virtanen
|
||||
* Pim de Haan +
|
||||
* Ralf Gommers
|
||||
* Robert T. McGibbon +
|
||||
* Roland Kaufmann
|
||||
* Sebastian Berg
|
||||
* Serhiy Storchaka +
|
||||
* Shitian Ni +
|
||||
* Spencer Hill +
|
||||
* Srinivas Reddy Thatiparthy +
|
||||
* Stefan Winkler +
|
||||
* Stephan Hoyer
|
||||
* Steven Maude +
|
||||
* SuperBo +
|
||||
* Thomas Köppe +
|
||||
* Toon Verstraelen
|
||||
* Vedant Misra +
|
||||
* Warren Weckesser
|
||||
* Wirawan Purwanto +
|
||||
* Yang Li +
|
||||
* Ziyan Zhou +
|
||||
* chaoyu3 +
|
||||
* orbit-stabilizer +
|
||||
* solarjoe
|
||||
* wufangjie +
|
||||
* xoviat +
|
||||
* Élie Gouzien +
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 381 pull requests were merged for this release.
|
||||
|
||||
* `#5580 <https://github.com/numpy/numpy/pull/5580>`__: BUG, DEP: Fix masked arrays to properly edit views. ( #5558 )
|
||||
* `#6053 <https://github.com/numpy/numpy/pull/6053>`__: MAINT: struct assignment "by field position", multi-field indices...
|
||||
* `#7994 <https://github.com/numpy/numpy/pull/7994>`__: BUG: Allow 'shape': () in __array_interface__ regardless of the...
|
||||
* `#8187 <https://github.com/numpy/numpy/pull/8187>`__: MAINT: Remove the unused keepdim argument from np.ufunc.accumulate
|
||||
* `#8278 <https://github.com/numpy/numpy/pull/8278>`__: MAINT: Make the refactor suggested in prepare_index
|
||||
* `#8557 <https://github.com/numpy/numpy/pull/8557>`__: ENH: add hermitian=False kwarg to np.linalg.matrix_rank
|
||||
* `#8722 <https://github.com/numpy/numpy/pull/8722>`__: DOC: Clarifying the meaning of small values for `suppress` print...
|
||||
* `#8827 <https://github.com/numpy/numpy/pull/8827>`__: BUG: Fix pinv for stacked matrices
|
||||
* `#8920 <https://github.com/numpy/numpy/pull/8920>`__: ENH: use caching memory allocator in more places
|
||||
* `#8934 <https://github.com/numpy/numpy/pull/8934>`__: MAINT: Use np.concatenate instead of np.vstack
|
||||
* `#8977 <https://github.com/numpy/numpy/pull/8977>`__: BUG: Fix all kinds of problems when itemsize == 0
|
||||
* `#8981 <https://github.com/numpy/numpy/pull/8981>`__: ENH: implement voidtype_repr and voidtype_str
|
||||
* `#8983 <https://github.com/numpy/numpy/pull/8983>`__: ENH: fix str/repr for 0d-arrays and int* scalars
|
||||
* `#9020 <https://github.com/numpy/numpy/pull/9020>`__: BUG: don't silence warnings in ufunc.reduce
|
||||
* `#9025 <https://github.com/numpy/numpy/pull/9025>`__: ENH: np.save() to align data at 64 bytes
|
||||
* `#9056 <https://github.com/numpy/numpy/pull/9056>`__: DOC: update structured array docs to reflect #6053
|
||||
* `#9065 <https://github.com/numpy/numpy/pull/9065>`__: DEP: 0 should be passed to bincount, not None
|
||||
* `#9083 <https://github.com/numpy/numpy/pull/9083>`__: MAINT: Improve error message from sorting with duplicate key
|
||||
* `#9089 <https://github.com/numpy/numpy/pull/9089>`__: MAINT: refine error message for __array_ufunc__ not implemented
|
||||
* `#9090 <https://github.com/numpy/numpy/pull/9090>`__: MAINT: Update master branch for 1.14.0 development.
|
||||
* `#9092 <https://github.com/numpy/numpy/pull/9092>`__: BUG remove memory leak in array ufunc override.
|
||||
* `#9096 <https://github.com/numpy/numpy/pull/9096>`__: ENH: Allow inplace also as keyword parameter for ndarray.byteswap
|
||||
* `#9099 <https://github.com/numpy/numpy/pull/9099>`__: TST: fix test_basic failure on Windows
|
||||
* `#9106 <https://github.com/numpy/numpy/pull/9106>`__: BUG: Array ufunc reduce out tuple
|
||||
* `#9110 <https://github.com/numpy/numpy/pull/9110>`__: BUG: Do not elide complex abs()
|
||||
* `#9112 <https://github.com/numpy/numpy/pull/9112>`__: BUG: ndarray.__pow__ does not check result of fast_scalar_power
|
||||
* `#9113 <https://github.com/numpy/numpy/pull/9113>`__: BUG: delay calls of array repr in getlimits
|
||||
* `#9115 <https://github.com/numpy/numpy/pull/9115>`__: BUG: Compilation crashes in MSVC when LIB or INCLUDE is not set
|
||||
* `#9116 <https://github.com/numpy/numpy/pull/9116>`__: DOC: link to stack from column_stack
|
||||
* `#9118 <https://github.com/numpy/numpy/pull/9118>`__: BUG: Fix reference count error of types when init multiarraymodule
|
||||
* `#9119 <https://github.com/numpy/numpy/pull/9119>`__: BUG: Fix error handling on PyCapsule when initializing multiarraymodule
|
||||
* `#9122 <https://github.com/numpy/numpy/pull/9122>`__: DOC: update 1.13 release note for MaskedArray, masked constants...
|
||||
* `#9132 <https://github.com/numpy/numpy/pull/9132>`__: DEP: Deprecate incorrect behavior of expand_dims.
|
||||
* `#9138 <https://github.com/numpy/numpy/pull/9138>`__: MAINT: Update .mailmap
|
||||
* `#9139 <https://github.com/numpy/numpy/pull/9139>`__: ENH: remove unneeded spaces in float/bool reprs, fixes 0d str
|
||||
* `#9141 <https://github.com/numpy/numpy/pull/9141>`__: DOC: Update ufunc documentation
|
||||
* `#9142 <https://github.com/numpy/numpy/pull/9142>`__: BUG: set default type for empty index array to `numpy.intp`
|
||||
* `#9149 <https://github.com/numpy/numpy/pull/9149>`__: DOC: Fix incorrect function signature in UFunc documentation.
|
||||
* `#9151 <https://github.com/numpy/numpy/pull/9151>`__: DOC: better link display text for Developer Zone.
|
||||
* `#9152 <https://github.com/numpy/numpy/pull/9152>`__: DOC: Fix some very minor spelling/grammar mistakes in docs
|
||||
* `#9155 <https://github.com/numpy/numpy/pull/9155>`__: MAINT: Take out code that will never be executed
|
||||
* `#9157 <https://github.com/numpy/numpy/pull/9157>`__: DOC: Fixed broken link to scipy developer zone
|
||||
* `#9164 <https://github.com/numpy/numpy/pull/9164>`__: BUG: have as_strided() keep custom dtypes
|
||||
* `#9167 <https://github.com/numpy/numpy/pull/9167>`__: BUG: ensure structured ndarray.__eq__,__ne__ defer when appropriate.
|
||||
* `#9168 <https://github.com/numpy/numpy/pull/9168>`__: MAINT: Simplify if statement
|
||||
* `#9174 <https://github.com/numpy/numpy/pull/9174>`__: BUG: allow pickling generic datetime
|
||||
* `#9176 <https://github.com/numpy/numpy/pull/9176>`__: DOC: Update protocols in git development document.
|
||||
* `#9181 <https://github.com/numpy/numpy/pull/9181>`__: COMPAT: PyPy calls clongdouble_int which raises a warning
|
||||
* `#9195 <https://github.com/numpy/numpy/pull/9195>`__: BUG: pull request 9087 modifies a tuple after use
|
||||
* `#9200 <https://github.com/numpy/numpy/pull/9200>`__: DOC: Update bincount docs to reflect gh-8348
|
||||
* `#9201 <https://github.com/numpy/numpy/pull/9201>`__: BUG: Fix unicode(unicode_array_0d) on python 2.7
|
||||
* `#9202 <https://github.com/numpy/numpy/pull/9202>`__: MAINT: Move ndarray.__str__ and ndarray.__repr__ to their own...
|
||||
* `#9205 <https://github.com/numpy/numpy/pull/9205>`__: DOC: Remove all references to bigndarray in documentation.
|
||||
* `#9209 <https://github.com/numpy/numpy/pull/9209>`__: ENH: Add an out argument to concatenate
|
||||
* `#9212 <https://github.com/numpy/numpy/pull/9212>`__: MAINT: Combine similar branches
|
||||
* `#9214 <https://github.com/numpy/numpy/pull/9214>`__: MAINT: Don't internally use the one-argument where
|
||||
* `#9215 <https://github.com/numpy/numpy/pull/9215>`__: BUG: Avoid bare except clauses
|
||||
* `#9217 <https://github.com/numpy/numpy/pull/9217>`__: BUG: handle resize of 0d array
|
||||
* `#9218 <https://github.com/numpy/numpy/pull/9218>`__: BUG: Only propagate TypeError from where we throw it
|
||||
* `#9219 <https://github.com/numpy/numpy/pull/9219>`__: DOC: Link to ufunc.outer from np.outer
|
||||
* `#9220 <https://github.com/numpy/numpy/pull/9220>`__: MAINT: Factor out code duplicated by nanmedian and nanpercentile
|
||||
* `#9226 <https://github.com/numpy/numpy/pull/9226>`__: DOC, ENH: Add 1.13.0-changelog.rst
|
||||
* `#9238 <https://github.com/numpy/numpy/pull/9238>`__: DOC: BLD: fix lots of Sphinx warnings/errors.
|
||||
* `#9241 <https://github.com/numpy/numpy/pull/9241>`__: MAINT: Fixup release notes, changelogs after #9238 merge.
|
||||
* `#9242 <https://github.com/numpy/numpy/pull/9242>`__: BUG: Make 0-length dim handling of tensordot consistent with...
|
||||
* `#9246 <https://github.com/numpy/numpy/pull/9246>`__: ENH: Release the GIL in einsum() special-cased loops
|
||||
* `#9247 <https://github.com/numpy/numpy/pull/9247>`__: BUG: fix missing keyword rename for common block in numpy.f2py
|
||||
* `#9253 <https://github.com/numpy/numpy/pull/9253>`__: DOC: Add isnat/positive ufunc to documentation.
|
||||
* `#9259 <https://github.com/numpy/numpy/pull/9259>`__: MAINT: Use XOR for bool arrays in `np.diff`
|
||||
* `#9260 <https://github.com/numpy/numpy/pull/9260>`__: BUG: don't elide into readonly and updateifcopy temporaries
|
||||
* `#9264 <https://github.com/numpy/numpy/pull/9264>`__: DOC: some doc build maintenance and f2py doc updates
|
||||
* `#9266 <https://github.com/numpy/numpy/pull/9266>`__: BUG: Fix unused variable in ufunc_object.c,
|
||||
* `#9268 <https://github.com/numpy/numpy/pull/9268>`__: ENH: testing: load available nose plugins that are external to...
|
||||
* `#9271 <https://github.com/numpy/numpy/pull/9271>`__: BUG: fix issue when using ``python setup.py somecommand --force``.
|
||||
* `#9280 <https://github.com/numpy/numpy/pull/9280>`__: BUG: Make extensions compilable with MinGW on Py2.7
|
||||
* `#9281 <https://github.com/numpy/numpy/pull/9281>`__: DOC: add @ operator in array vs. matrix comparison doc
|
||||
* `#9285 <https://github.com/numpy/numpy/pull/9285>`__: BUG: Fix Intel compilation on Unix.
|
||||
* `#9292 <https://github.com/numpy/numpy/pull/9292>`__: MAINT: Fix lgtm alerts
|
||||
* `#9294 <https://github.com/numpy/numpy/pull/9294>`__: BUG: Fixes histogram monotonicity check for unsigned bin values
|
||||
* `#9300 <https://github.com/numpy/numpy/pull/9300>`__: BUG: PyArray_CountNonzero does not check for exceptions
|
||||
* `#9302 <https://github.com/numpy/numpy/pull/9302>`__: BUG: Fix fillvalue
|
||||
* `#9306 <https://github.com/numpy/numpy/pull/9306>`__: BUG: f2py: Convert some error messages printed to stderr to exceptions.
|
||||
* `#9310 <https://github.com/numpy/numpy/pull/9310>`__: BUG: fix wrong ndim used in empty where check
|
||||
* `#9316 <https://github.com/numpy/numpy/pull/9316>`__: BUG: `runtest -t` should recognize development mode
|
||||
* `#9320 <https://github.com/numpy/numpy/pull/9320>`__: DOC: Use x1 and x2 in the heaviside docstring.
|
||||
* `#9322 <https://github.com/numpy/numpy/pull/9322>`__: BUG: np.ma.astype fails on structured types
|
||||
* `#9323 <https://github.com/numpy/numpy/pull/9323>`__: DOC: Add $PARAMS to the isnat docstring
|
||||
* `#9324 <https://github.com/numpy/numpy/pull/9324>`__: DOC: Fix missing asterisks in git development_setup doc page
|
||||
* `#9325 <https://github.com/numpy/numpy/pull/9325>`__: DOC: add a NumFOCUS badge to README.md
|
||||
* `#9332 <https://github.com/numpy/numpy/pull/9332>`__: ENH: fix 0d array printing using `str` or `formatter`.
|
||||
* `#9335 <https://github.com/numpy/numpy/pull/9335>`__: BUG: umath: un-break ufunc where= when no out= is given
|
||||
* `#9336 <https://github.com/numpy/numpy/pull/9336>`__: BUG: Fix various problems with the np.ma.masked constant
|
||||
* `#9337 <https://github.com/numpy/numpy/pull/9337>`__: BUG: Prevent crash if ufunc doc string is null
|
||||
* `#9341 <https://github.com/numpy/numpy/pull/9341>`__: BUG: np.resize discards empty shapes
|
||||
* `#9343 <https://github.com/numpy/numpy/pull/9343>`__: BUG: recfunctions fail in a bunch of ways due to using .descr
|
||||
* `#9344 <https://github.com/numpy/numpy/pull/9344>`__: DOC: fixes issue #9326, by removing the statement.
|
||||
* `#9346 <https://github.com/numpy/numpy/pull/9346>`__: BUG: void masked fillvalue cannot be cast to void in python 3
|
||||
* `#9354 <https://github.com/numpy/numpy/pull/9354>`__: BUG: Prevent hang traversing ufunc userloop linked list
|
||||
* `#9357 <https://github.com/numpy/numpy/pull/9357>`__: DOC: Add examples for complex dtypes
|
||||
* `#9361 <https://github.com/numpy/numpy/pull/9361>`__: DOC: isscalar add example for str
|
||||
* `#9362 <https://github.com/numpy/numpy/pull/9362>`__: ENH: Rearrange testing module to isolate nose dependency.
|
||||
* `#9364 <https://github.com/numpy/numpy/pull/9364>`__: BUG: ')' is printed at the end pointer of the buffer in numpy.f2py.
|
||||
* `#9369 <https://github.com/numpy/numpy/pull/9369>`__: BUG: fix error in fromstring function from numpy.core.records
|
||||
* `#9375 <https://github.com/numpy/numpy/pull/9375>`__: DOC: Document the internal workings of PY_ARRAY_UNIQUE_SYMBOL
|
||||
* `#9380 <https://github.com/numpy/numpy/pull/9380>`__: DOC: Forward port 1.13.1 notes and changelog.
|
||||
* `#9381 <https://github.com/numpy/numpy/pull/9381>`__: TST: test doc string of COMMON block arrays for numpy.f2py.
|
||||
* `#9387 <https://github.com/numpy/numpy/pull/9387>`__: MAINT: Simplify code using PyArray_ISBYTESWAPPED macro.
|
||||
* `#9388 <https://github.com/numpy/numpy/pull/9388>`__: MAINT: Use PyArray_ISBYTESWAPPED instead of !PyArray_ISNOTSWAPPED.
|
||||
* `#9389 <https://github.com/numpy/numpy/pull/9389>`__: DOC: Fix reference, PyArray_DescrNew -> PyArray_NewFromDescr
|
||||
* `#9392 <https://github.com/numpy/numpy/pull/9392>`__: DOC: UPDATEIFCOPY raises an error if not an array.
|
||||
* `#9399 <https://github.com/numpy/numpy/pull/9399>`__: DOC: document how to free memory from PyArray_IntpConverter.
|
||||
* `#9400 <https://github.com/numpy/numpy/pull/9400>`__: MAINT: Further unify handling of unnamed ufuncs
|
||||
* `#9403 <https://github.com/numpy/numpy/pull/9403>`__: MAINT: Replace tab escapes with four spaces
|
||||
* `#9407 <https://github.com/numpy/numpy/pull/9407>`__: DOC: add ``suppress_warnings`` to the testing routine listing.
|
||||
* `#9408 <https://github.com/numpy/numpy/pull/9408>`__: BUG: various fixes to np.gradient
|
||||
* `#9411 <https://github.com/numpy/numpy/pull/9411>`__: MAINT/BUG: improve gradient dtype handling
|
||||
* `#9412 <https://github.com/numpy/numpy/pull/9412>`__: BUG: Check for exception in sort functions
|
||||
* `#9422 <https://github.com/numpy/numpy/pull/9422>`__: DOC: correct formatting of basic.types.html
|
||||
* `#9423 <https://github.com/numpy/numpy/pull/9423>`__: MAINT: change http to https for numfocus.org link in README
|
||||
* `#9425 <https://github.com/numpy/numpy/pull/9425>`__: ENH: Einsum calls BLAS if it advantageous to do so
|
||||
* `#9426 <https://github.com/numpy/numpy/pull/9426>`__: DOC: Add a link to einsum_path
|
||||
* `#9431 <https://github.com/numpy/numpy/pull/9431>`__: ENH: distutils: make msvc + mingw-gfortran work
|
||||
* `#9432 <https://github.com/numpy/numpy/pull/9432>`__: BUG: Fix loss of masks in masked 0d methods
|
||||
* `#9433 <https://github.com/numpy/numpy/pull/9433>`__: BUG: make np.transpose return a view of the mask
|
||||
* `#9434 <https://github.com/numpy/numpy/pull/9434>`__: MAINT: Remove unittest dependencies
|
||||
* `#9437 <https://github.com/numpy/numpy/pull/9437>`__: DOC: Update 1.14.0 release notes.
|
||||
* `#9446 <https://github.com/numpy/numpy/pull/9446>`__: BUG: Inlined functions must be defined somewhere.
|
||||
* `#9447 <https://github.com/numpy/numpy/pull/9447>`__: API: Make ``a.flat.__array__`` return a copy when ``a`` non-contiguous.
|
||||
* `#9452 <https://github.com/numpy/numpy/pull/9452>`__: MAINT: Use new-style classes on 2.7
|
||||
* `#9454 <https://github.com/numpy/numpy/pull/9454>`__: MAINT: Remove branch in __array__ where if and else were the...
|
||||
* `#9457 <https://github.com/numpy/numpy/pull/9457>`__: MAINT: Add a common subclass to all the masked ufunc wrappers
|
||||
* `#9458 <https://github.com/numpy/numpy/pull/9458>`__: MAINT: Improve performance of np.copyto(where=scalar)
|
||||
* `#9469 <https://github.com/numpy/numpy/pull/9469>`__: BUG: Fix true_divide when dtype=np.float64 specified.
|
||||
* `#9470 <https://github.com/numpy/numpy/pull/9470>`__: MAINT: Make `setxor1d` a bit clearer and speed it up
|
||||
* `#9471 <https://github.com/numpy/numpy/pull/9471>`__: BLD: remove -xhost flag from IntelFCompiler.
|
||||
* `#9475 <https://github.com/numpy/numpy/pull/9475>`__: DEP: deprecate rollaxis
|
||||
* `#9482 <https://github.com/numpy/numpy/pull/9482>`__: MAINT: Make diff iterative instead of recursive
|
||||
* `#9487 <https://github.com/numpy/numpy/pull/9487>`__: DEP: Letting fromstring pretend to be frombuffer is a bad idea
|
||||
* `#9490 <https://github.com/numpy/numpy/pull/9490>`__: DOC: Replace xrange by range in quickstart docs
|
||||
* `#9491 <https://github.com/numpy/numpy/pull/9491>`__: TST: Add filter for new Py3K warning in python 2
|
||||
* `#9492 <https://github.com/numpy/numpy/pull/9492>`__: ENH: Add np.polynomial.chebyshev.chebinterpolate function.
|
||||
* `#9498 <https://github.com/numpy/numpy/pull/9498>`__: DOC: fix versionadded in docstring for moveaxis
|
||||
* `#9499 <https://github.com/numpy/numpy/pull/9499>`__: MAINT/BUG: Improve error messages for dtype reassigment, fix...
|
||||
* `#9503 <https://github.com/numpy/numpy/pull/9503>`__: MAINT: Move variables into deepest relevant scope, for clarity
|
||||
* `#9505 <https://github.com/numpy/numpy/pull/9505>`__: BUG: issubdtype is inconsistent on types and dtypes
|
||||
* `#9517 <https://github.com/numpy/numpy/pull/9517>`__: MAINT/DOC: Use builtin when np.{x} is builtins.{x}.
|
||||
* `#9519 <https://github.com/numpy/numpy/pull/9519>`__: MAINT: Remove `level=` keyword from test arguments.
|
||||
* `#9520 <https://github.com/numpy/numpy/pull/9520>`__: MAINT: types.TypeType does not ever need to be used
|
||||
* `#9521 <https://github.com/numpy/numpy/pull/9521>`__: BUG: Make issubclass(np.number, numbers.Number) return true
|
||||
* `#9522 <https://github.com/numpy/numpy/pull/9522>`__: BUG: Fix problems with obj2sctype
|
||||
* `#9524 <https://github.com/numpy/numpy/pull/9524>`__: TST, MAINT: Add `__init__.py` files to tests directories.
|
||||
* `#9527 <https://github.com/numpy/numpy/pull/9527>`__: BUG: Fix scalar methods to receive keyword arguments
|
||||
* `#9529 <https://github.com/numpy/numpy/pull/9529>`__: BUG: The NAT deprecation warning should not be given for every...
|
||||
* `#9536 <https://github.com/numpy/numpy/pull/9536>`__: ENH: Show domain and window as kwargs in repr
|
||||
* `#9540 <https://github.com/numpy/numpy/pull/9540>`__: BUG: MaskedArray _optinfo dictionary is not updated when calling...
|
||||
* `#9543 <https://github.com/numpy/numpy/pull/9543>`__: DOC: Adding backslash between double-backtick and s.
|
||||
* `#9544 <https://github.com/numpy/numpy/pull/9544>`__: MAINT: Use the error_converting macro where possible
|
||||
* `#9545 <https://github.com/numpy/numpy/pull/9545>`__: DEP: Deprecate the event argument to datetime types, which is...
|
||||
* `#9550 <https://github.com/numpy/numpy/pull/9550>`__: DOC: removes broken docstring example (source code, png, pdf)...
|
||||
* `#9552 <https://github.com/numpy/numpy/pull/9552>`__: DOC, BUG: Fix Python 3.6 invalid escape sequence.
|
||||
* `#9554 <https://github.com/numpy/numpy/pull/9554>`__: BUG: fix regression in 1.13.x in distutils.mingw32ccompiler.
|
||||
* `#9564 <https://github.com/numpy/numpy/pull/9564>`__: BUG: fix distutils/cpuinfo.py:getoutput()
|
||||
* `#9574 <https://github.com/numpy/numpy/pull/9574>`__: BUG: deal with broken hypot() for MSVC on win32
|
||||
* `#9575 <https://github.com/numpy/numpy/pull/9575>`__: BUG: deal with broken cabs*() for MSVC on win32
|
||||
* `#9577 <https://github.com/numpy/numpy/pull/9577>`__: BUG: Missing dirichlet input validation
|
||||
* `#9581 <https://github.com/numpy/numpy/pull/9581>`__: DOC: Fix link in numpy.ndarray.copy method (missing backticks)
|
||||
* `#9582 <https://github.com/numpy/numpy/pull/9582>`__: ENH: Warn to change lstsq default for rcond
|
||||
* `#9586 <https://github.com/numpy/numpy/pull/9586>`__: DOC: update example in np.nonzero docstring
|
||||
* `#9588 <https://github.com/numpy/numpy/pull/9588>`__: MAINT: Remove direct access to flatiter attributes
|
||||
* `#9590 <https://github.com/numpy/numpy/pull/9590>`__: ENH: Remove unnecessary restriction in noncen-f
|
||||
* `#9591 <https://github.com/numpy/numpy/pull/9591>`__: MAINT: Remove unnecessary imports
|
||||
* `#9599 <https://github.com/numpy/numpy/pull/9599>`__: BUG: fix infinite loop when creating np.pad on an empty array
|
||||
* `#9601 <https://github.com/numpy/numpy/pull/9601>`__: DOC: rot90 wrongly positioned versionadded directive.
|
||||
* `#9604 <https://github.com/numpy/numpy/pull/9604>`__: MAINT: Refactor the code used to compute sha256, md5 hashes
|
||||
* `#9606 <https://github.com/numpy/numpy/pull/9606>`__: MAINT: Remove global statement in linalg.py
|
||||
* `#9609 <https://github.com/numpy/numpy/pull/9609>`__: BUG: Add `__ne__` method to dummy_ctype class.
|
||||
* `#9610 <https://github.com/numpy/numpy/pull/9610>`__: BUG: core: fix wrong method flags for scalartypes.c.src:gentype_copy
|
||||
* `#9611 <https://github.com/numpy/numpy/pull/9611>`__: MAINT: remove try..except clause.
|
||||
* `#9613 <https://github.com/numpy/numpy/pull/9613>`__: DOC: Update release notes for noncentral_f changes.
|
||||
* `#9614 <https://github.com/numpy/numpy/pull/9614>`__: MAINT: Fix a comment regarding the formula for arange length
|
||||
* `#9618 <https://github.com/numpy/numpy/pull/9618>`__: DOC: Fix type definitions in mtrand
|
||||
* `#9619 <https://github.com/numpy/numpy/pull/9619>`__: ENH: Allow Fortran arrays of dimension 0
|
||||
* `#9624 <https://github.com/numpy/numpy/pull/9624>`__: BUG: memory leak in np.dot of size 0
|
||||
* `#9626 <https://github.com/numpy/numpy/pull/9626>`__: BUG: Fix broken runtests '-t' option.
|
||||
* `#9629 <https://github.com/numpy/numpy/pull/9629>`__: BUG: test, fix issue #9620 __radd__ in char scalars
|
||||
* `#9630 <https://github.com/numpy/numpy/pull/9630>`__: DOC: Updates order of parameters in save docstring
|
||||
* `#9636 <https://github.com/numpy/numpy/pull/9636>`__: MAINT: Fix compiler warnings and update travis jobs
|
||||
* `#9638 <https://github.com/numpy/numpy/pull/9638>`__: BUG: ensure consistent result dtype of count_nonzero
|
||||
* `#9639 <https://github.com/numpy/numpy/pull/9639>`__: MAINT: Refactor updateifcopy
|
||||
* `#9640 <https://github.com/numpy/numpy/pull/9640>`__: BUG: fix padding an empty array in reflect mode.
|
||||
* `#9643 <https://github.com/numpy/numpy/pull/9643>`__: DOC: add new steering council members.
|
||||
* `#9645 <https://github.com/numpy/numpy/pull/9645>`__: ENH: enable OpenBLAS on windows.
|
||||
* `#9648 <https://github.com/numpy/numpy/pull/9648>`__: DOC: Correct the signature in pad doc for callable mode.
|
||||
* `#9649 <https://github.com/numpy/numpy/pull/9649>`__: DOC: Fixed doc example of apply along axis with 3D return
|
||||
* `#9652 <https://github.com/numpy/numpy/pull/9652>`__: BUG: Make system_info output reproducible
|
||||
* `#9658 <https://github.com/numpy/numpy/pull/9658>`__: BUG: Fix usage of keyword "from" as argument name for "can_cast".
|
||||
* `#9667 <https://github.com/numpy/numpy/pull/9667>`__: MAINT: Simplify block implementation
|
||||
* `#9668 <https://github.com/numpy/numpy/pull/9668>`__: DOC: clarify wording in tutorial
|
||||
* `#9672 <https://github.com/numpy/numpy/pull/9672>`__: BUG: dot/matmul 'out' arg should accept any ndarray subclass
|
||||
* `#9681 <https://github.com/numpy/numpy/pull/9681>`__: MAINT: Add block benchmarks
|
||||
* `#9682 <https://github.com/numpy/numpy/pull/9682>`__: DOC: Add whitespace after "versionadded::" directive so it actually...
|
||||
* `#9683 <https://github.com/numpy/numpy/pull/9683>`__: DOC: Add polyutils subpackage to reference documentation
|
||||
* `#9685 <https://github.com/numpy/numpy/pull/9685>`__: BUG: Fixes #7395, operator.index now fails on numpy.bool_
|
||||
* `#9688 <https://github.com/numpy/numpy/pull/9688>`__: MAINT: rework recursive guard to keep array2string signature
|
||||
* `#9691 <https://github.com/numpy/numpy/pull/9691>`__: PEP 3141 numbers should be considered scalars
|
||||
* `#9692 <https://github.com/numpy/numpy/pull/9692>`__: ENH: Add support of ARC architecture
|
||||
* `#9695 <https://github.com/numpy/numpy/pull/9695>`__: DOC: `start` is not needed even when `step` is given.
|
||||
* `#9700 <https://github.com/numpy/numpy/pull/9700>`__: DOC: Add mandatory memo argument to __deepcopy__ method documentation
|
||||
* `#9701 <https://github.com/numpy/numpy/pull/9701>`__: DOC: Add keepdims argument for ndarray.max documentation
|
||||
* `#9702 <https://github.com/numpy/numpy/pull/9702>`__: DOC: Warn about the difference between np.remainder and math.remainder
|
||||
* `#9703 <https://github.com/numpy/numpy/pull/9703>`__: DOC: Fix mistaken word in nanprod docstring
|
||||
* `#9707 <https://github.com/numpy/numpy/pull/9707>`__: MAINT: When linspace's step is a NumPy scalar, do multiplication in-place
|
||||
* `#9709 <https://github.com/numpy/numpy/pull/9709>`__: DOC: allclose doesn't require matching shapes
|
||||
* `#9711 <https://github.com/numpy/numpy/pull/9711>`__: BUG: Make scalar function elision check if writeable.
|
||||
* `#9715 <https://github.com/numpy/numpy/pull/9715>`__: MAINT: Fix typo "Porland" -> "Portland" in `building` doc.
|
||||
* `#9718 <https://github.com/numpy/numpy/pull/9718>`__: DEP: Deprecate truth testing on empty arrays
|
||||
* `#9720 <https://github.com/numpy/numpy/pull/9720>`__: MAINT: Remove unnecessary special-casing of scalars in isclose
|
||||
* `#9724 <https://github.com/numpy/numpy/pull/9724>`__: BUG: adjust gfortran version search regex
|
||||
* `#9725 <https://github.com/numpy/numpy/pull/9725>`__: MAINT: cleanup circular import b/w arrayprint.py,numeric.py
|
||||
* `#9726 <https://github.com/numpy/numpy/pull/9726>`__: ENH: Better error message for savetxt when X.ndim > 2 or X.ndim...
|
||||
* `#9737 <https://github.com/numpy/numpy/pull/9737>`__: MAINT: Use zip, not enumerate
|
||||
* `#9740 <https://github.com/numpy/numpy/pull/9740>`__: BUG: Ensure `_npy_scaled_cexp{,f,l}` is defined when needed.
|
||||
* `#9741 <https://github.com/numpy/numpy/pull/9741>`__: BUG: core: use npy_cabs for abs() for np.complex* scalar types
|
||||
* `#9743 <https://github.com/numpy/numpy/pull/9743>`__: MAINT: Use PyArray_CHKFLAGS in more places.
|
||||
* `#9749 <https://github.com/numpy/numpy/pull/9749>`__: BUG: Fix loss of precision for large values in long double divmod
|
||||
* `#9752 <https://github.com/numpy/numpy/pull/9752>`__: BUG: Errors thrown by 0d arrays in setitem are silenced and replaced
|
||||
* `#9753 <https://github.com/numpy/numpy/pull/9753>`__: DOC: Fix ndarray.__setstate__ documentation, it only takes one...
|
||||
* `#9755 <https://github.com/numpy/numpy/pull/9755>`__: BUG: Cython 0.27 breaks NumPy on Python 3.
|
||||
* `#9756 <https://github.com/numpy/numpy/pull/9756>`__: BUG/TST: Check if precision is lost in longcomplex
|
||||
* `#9762 <https://github.com/numpy/numpy/pull/9762>`__: MAINT: Use the PyArray_(GET|SET)_ITEM functions where possible
|
||||
* `#9768 <https://github.com/numpy/numpy/pull/9768>`__: MAINT: Cleanup `ma.array.__str__`
|
||||
* `#9770 <https://github.com/numpy/numpy/pull/9770>`__: MAINT,BUG: Fix mtrand for Cython 0.27.
|
||||
* `#9773 <https://github.com/numpy/numpy/pull/9773>`__: BUG: Fixes optimal einsum path for multi-term intermediates
|
||||
* `#9778 <https://github.com/numpy/numpy/pull/9778>`__: BUG: can_cast(127, np.int8) is False
|
||||
* `#9779 <https://github.com/numpy/numpy/pull/9779>`__: BUG: np.ma.trace gives the wrong result on ND arrays
|
||||
* `#9780 <https://github.com/numpy/numpy/pull/9780>`__: MAINT: Make f2py generated file not contain the (local) date.
|
||||
* `#9782 <https://github.com/numpy/numpy/pull/9782>`__: DOC: Update after NumPy 1.13.2 release.
|
||||
* `#9784 <https://github.com/numpy/numpy/pull/9784>`__: BUG: remove voidtype-repr recursion in scalartypes.c/arrayprint.py
|
||||
* `#9785 <https://github.com/numpy/numpy/pull/9785>`__: BUG: Fix size-checking in masked_where, and structured shrink_mask
|
||||
* `#9792 <https://github.com/numpy/numpy/pull/9792>`__: ENH: Various improvements to Maskedarray repr
|
||||
* `#9796 <https://github.com/numpy/numpy/pull/9796>`__: TST: linalg: add basic smoketest for cholesky
|
||||
* `#9800 <https://github.com/numpy/numpy/pull/9800>`__: DOC: Clean up README
|
||||
* `#9803 <https://github.com/numpy/numpy/pull/9803>`__: DOC: add missing underscore in set_printoptions
|
||||
* `#9805 <https://github.com/numpy/numpy/pull/9805>`__: CI: set correct test mode for appveyor
|
||||
* `#9806 <https://github.com/numpy/numpy/pull/9806>`__: MAINT: Add appveyor badge to README
|
||||
* `#9807 <https://github.com/numpy/numpy/pull/9807>`__: MAINT: Make appveyor config a dot-file
|
||||
* `#9810 <https://github.com/numpy/numpy/pull/9810>`__: DOC: Improve ndarray.shape documentation.
|
||||
* `#9812 <https://github.com/numpy/numpy/pull/9812>`__: DOC: update scipy.integrate recommendation
|
||||
* `#9814 <https://github.com/numpy/numpy/pull/9814>`__: BUG: Fix datetime->string conversion
|
||||
* `#9815 <https://github.com/numpy/numpy/pull/9815>`__: BUG: fix stray comma in _array2string
|
||||
* `#9817 <https://github.com/numpy/numpy/pull/9817>`__: BUG: Added exception for casting numpy.ma.masked to long
|
||||
* `#9822 <https://github.com/numpy/numpy/pull/9822>`__: BUG: Allow subclasses of MaskedConstant to behave as unique singletons
|
||||
* `#9824 <https://github.com/numpy/numpy/pull/9824>`__: BUG: Fixes for np.random.zipf
|
||||
* `#9826 <https://github.com/numpy/numpy/pull/9826>`__: DOC: Add unravel_index examples to np.arg(min|max|sort)
|
||||
* `#9828 <https://github.com/numpy/numpy/pull/9828>`__: DOC: Improve documentation of axis parameter in numpy.unpackbits()
|
||||
* `#9835 <https://github.com/numpy/numpy/pull/9835>`__: BENCH: Added missing ufunc benchmarks
|
||||
* `#9840 <https://github.com/numpy/numpy/pull/9840>`__: DOC: ndarray.__copy__ takes no arguments
|
||||
* `#9842 <https://github.com/numpy/numpy/pull/9842>`__: BUG: Prevent invalid array shapes in seed
|
||||
* `#9845 <https://github.com/numpy/numpy/pull/9845>`__: DOC: Refine SVD documentation
|
||||
* `#9849 <https://github.com/numpy/numpy/pull/9849>`__: MAINT: Fix all special-casing of dtypes in `count_nonzero`
|
||||
* `#9854 <https://github.com/numpy/numpy/pull/9854>`__: BLD: distutils: auto-find vcpkg include and library directories
|
||||
* `#9856 <https://github.com/numpy/numpy/pull/9856>`__: BUG: Make bool(void_scalar) and void_scalar.astype(bool) consistent
|
||||
* `#9858 <https://github.com/numpy/numpy/pull/9858>`__: DOC: Some minor fixes regarding import_array
|
||||
* `#9862 <https://github.com/numpy/numpy/pull/9862>`__: BUG: Restore the environment variables when import multiarray...
|
||||
* `#9863 <https://github.com/numpy/numpy/pull/9863>`__: ENH: Save to ZIP files without using temporary files.
|
||||
* `#9865 <https://github.com/numpy/numpy/pull/9865>`__: DOC: Replace PyFITS reference with Astropy and PyTables with...
|
||||
* `#9866 <https://github.com/numpy/numpy/pull/9866>`__: BUG: Fix runtests --benchmark-compare in python 3
|
||||
* `#9868 <https://github.com/numpy/numpy/pull/9868>`__: DOC: Update arraypad to use np.pad in examples
|
||||
* `#9869 <https://github.com/numpy/numpy/pull/9869>`__: DOC: Make qr options render correctly as list.
|
||||
* `#9881 <https://github.com/numpy/numpy/pull/9881>`__: BUG: count_nonzero treats empty axis tuples strangely
|
||||
* `#9883 <https://github.com/numpy/numpy/pull/9883>`__: ENH: Implement ndarray.__format__ for 0d arrays
|
||||
* `#9884 <https://github.com/numpy/numpy/pull/9884>`__: BUG: Allow `unravel_index(0, ())` to return ()
|
||||
* `#9887 <https://github.com/numpy/numpy/pull/9887>`__: BUG: add.reduce gives wrong results for arrays with funny strides
|
||||
* `#9888 <https://github.com/numpy/numpy/pull/9888>`__: MAINT: Remove workarounds for gh-9527
|
||||
* `#9889 <https://github.com/numpy/numpy/pull/9889>`__: MAINT: Tidy np.histogram, and improve error messages
|
||||
* `#9893 <https://github.com/numpy/numpy/pull/9893>`__: ENH: Added compatibility for the NAG Fortran compiler, nagfor
|
||||
* `#9896 <https://github.com/numpy/numpy/pull/9896>`__: DOC: Unindent enumeration in savetxt docstring
|
||||
* `#9899 <https://github.com/numpy/numpy/pull/9899>`__: Remove unused isscalar imports, and incorrect documentation using...
|
||||
* `#9900 <https://github.com/numpy/numpy/pull/9900>`__: MAINT/BUG: Remove special-casing for 0d arrays, now that indexing...
|
||||
* `#9904 <https://github.com/numpy/numpy/pull/9904>`__: MAINT: Make warnings for nanmin and nanmax consistent
|
||||
* `#9911 <https://github.com/numpy/numpy/pull/9911>`__: CI: travis: switch to container
|
||||
* `#9912 <https://github.com/numpy/numpy/pull/9912>`__: BENCH: histogramming benchmarks
|
||||
* `#9913 <https://github.com/numpy/numpy/pull/9913>`__: MAINT: Tidy up Maskedarray repr
|
||||
* `#9916 <https://github.com/numpy/numpy/pull/9916>`__: DOC: Clarify behavior of genfromtxt names field
|
||||
* `#9920 <https://github.com/numpy/numpy/pull/9920>`__: DOC: dot: Add explanation in case `b` has only 1 dimension.
|
||||
* `#9925 <https://github.com/numpy/numpy/pull/9925>`__: DOC: ndarray.reshape allows shape as int arguments or tuple
|
||||
* `#9930 <https://github.com/numpy/numpy/pull/9930>`__: MAINT: Add parameter checks to polynomial integration functions.
|
||||
* `#9936 <https://github.com/numpy/numpy/pull/9936>`__: DOC: Clarify docstring for numpy.array_split
|
||||
* `#9941 <https://github.com/numpy/numpy/pull/9941>`__: ENH: Use Dragon4 algorithm to print floating values
|
||||
* `#9942 <https://github.com/numpy/numpy/pull/9942>`__: ENH: Add PGI flang compiler support for Windows
|
||||
* `#9944 <https://github.com/numpy/numpy/pull/9944>`__: MAINT/BUG: Don't squash useful error messages in favor of generic...
|
||||
* `#9945 <https://github.com/numpy/numpy/pull/9945>`__: DOC: fix operation plural in along axis glossary
|
||||
* `#9946 <https://github.com/numpy/numpy/pull/9946>`__: DOC: describe the expansion of take and apply_along_axis in detail
|
||||
* `#9947 <https://github.com/numpy/numpy/pull/9947>`__: MAINT/TST: Tidy dtype indexing
|
||||
* `#9950 <https://github.com/numpy/numpy/pull/9950>`__: BUG: Passing an incorrect type to dtype.__getitem__ should raise...
|
||||
* `#9952 <https://github.com/numpy/numpy/pull/9952>`__: ENH: add Decimal support to numpy.lib.financial
|
||||
* `#9953 <https://github.com/numpy/numpy/pull/9953>`__: MAINT: Add a PyDataType_ISUNSIZED macro
|
||||
* `#9957 <https://github.com/numpy/numpy/pull/9957>`__: DOC: update asv url
|
||||
* `#9961 <https://github.com/numpy/numpy/pull/9961>`__: BUG: Allow float64('1e10000') to overflow
|
||||
* `#9962 <https://github.com/numpy/numpy/pull/9962>`__: MAINT: Rename formatters to match scalar type names
|
||||
* `#9965 <https://github.com/numpy/numpy/pull/9965>`__: BLD: Disable npymath whole program opt (LTCG) on win32
|
||||
* `#9966 <https://github.com/numpy/numpy/pull/9966>`__: BUG: str(np.float) should print with the same number of digits...
|
||||
* `#9967 <https://github.com/numpy/numpy/pull/9967>`__: MAINT: Separate correct `longdouble.__float__` from incorrect...
|
||||
* `#9971 <https://github.com/numpy/numpy/pull/9971>`__: BUG: Fix casting from longdouble to long
|
||||
* `#9973 <https://github.com/numpy/numpy/pull/9973>`__: TST: Fix error in test on PyPy, add comment explaining known...
|
||||
* `#9976 <https://github.com/numpy/numpy/pull/9976>`__: BUG: Ensure lstsq can handle RHS with all sizes.
|
||||
* `#9977 <https://github.com/numpy/numpy/pull/9977>`__: MAINT: distutils: trivial cleanups
|
||||
* `#9978 <https://github.com/numpy/numpy/pull/9978>`__: BUG: cast to str_ should not convert to pure-python intermediate
|
||||
* `#9983 <https://github.com/numpy/numpy/pull/9983>`__: ENH: let f2py discover location of libgfortran
|
||||
* `#9985 <https://github.com/numpy/numpy/pull/9985>`__: ENH: skip NPY_ALLOW_C_API for UFUNC_ERR_IGNORE
|
||||
* `#9986 <https://github.com/numpy/numpy/pull/9986>`__: MAINT: Remove similar branches from linalg.lstsq
|
||||
* `#9991 <https://github.com/numpy/numpy/pull/9991>`__: MAINT: small robustness change for mingw support on Windows.
|
||||
* `#9994 <https://github.com/numpy/numpy/pull/9994>`__: BUG: test was not using 'mode'
|
||||
* `#9996 <https://github.com/numpy/numpy/pull/9996>`__: ENH: Adding `order=` keyword to `np.eye()`.
|
||||
* `#9997 <https://github.com/numpy/numpy/pull/9997>`__: BUG: prototypes for [cz]dot[uc] are incorrect
|
||||
* `#9999 <https://github.com/numpy/numpy/pull/9999>`__: ENH: Make `np.in1d()` work for unorderable object arrays
|
||||
* `#10000 <https://github.com/numpy/numpy/pull/10000>`__: MAINT: Fix test_int_from_huge_longdouble on Darwin.
|
||||
* `#10005 <https://github.com/numpy/numpy/pull/10005>`__: DOC: reword PyArray_DiscardWritebackIfCopy description
|
||||
* `#10006 <https://github.com/numpy/numpy/pull/10006>`__: NEP: Drop Python2 support.
|
||||
* `#10007 <https://github.com/numpy/numpy/pull/10007>`__: MAINT: simplify logic from #9983
|
||||
* `#10008 <https://github.com/numpy/numpy/pull/10008>`__: MAINT: Backcompat fixes for dragon4 changes
|
||||
* `#10011 <https://github.com/numpy/numpy/pull/10011>`__: TST: Group together all the nested_iter tests
|
||||
* `#10017 <https://github.com/numpy/numpy/pull/10017>`__: REV: Undo bad rebase in 7fdfdd6a52fc0761c0d45931247c5ed2480224eb...
|
||||
* `#10021 <https://github.com/numpy/numpy/pull/10021>`__: ENH: Don't show the boolean dtype in array_repr
|
||||
* `#10022 <https://github.com/numpy/numpy/pull/10022>`__: MAINT: Update c-api version and hash for NumPy 1.14.
|
||||
* `#10030 <https://github.com/numpy/numpy/pull/10030>`__: MAINT: Legacy mode specified as string, fix all-zeros legacy...
|
||||
* `#10031 <https://github.com/numpy/numpy/pull/10031>`__: BUG: Fix f2py string variables in callbacks.
|
||||
* `#10032 <https://github.com/numpy/numpy/pull/10032>`__: MAINT: Remove newline before dtype in repr of arrays
|
||||
* `#10034 <https://github.com/numpy/numpy/pull/10034>`__: MAINT: legacy-printing-mode preserves 1.13 float & complex str
|
||||
* `#10042 <https://github.com/numpy/numpy/pull/10042>`__: BUG: Allow `int` to be called on nested object arrays, fix `np.str_.__int__`
|
||||
* `#10044 <https://github.com/numpy/numpy/pull/10044>`__: DEP: FutureWarning for void.item(): Will return bytes
|
||||
* `#10049 <https://github.com/numpy/numpy/pull/10049>`__: DOC: Add copy of deprecated defindex.html template.
|
||||
* `#10052 <https://github.com/numpy/numpy/pull/10052>`__: BUG: Fix legacy printing mode check.
|
||||
* `#10053 <https://github.com/numpy/numpy/pull/10053>`__: STY: C style whitespace fixups
|
||||
* `#10054 <https://github.com/numpy/numpy/pull/10054>`__: ENH: Add encoding option to numpy text IO.
|
||||
* `#10055 <https://github.com/numpy/numpy/pull/10055>`__: BUG: Changed dump(a, F) so it would close file
|
||||
* `#10057 <https://github.com/numpy/numpy/pull/10057>`__: DOC: v/h/dstack docstr shouldn't imply deprecation
|
||||
* `#10065 <https://github.com/numpy/numpy/pull/10065>`__: DOC, BLD: Update site.cfg.example on the MKL part.
|
||||
* `#10067 <https://github.com/numpy/numpy/pull/10067>`__: MAINT: Replace sphinx extension sphinx.ext.pngmath by sphinx.ext.imgmath.
|
||||
* `#10068 <https://github.com/numpy/numpy/pull/10068>`__: BUG: Fix memory leak for subclass slicing
|
||||
* `#10072 <https://github.com/numpy/numpy/pull/10072>`__: MAINT: Fix minor typos in numpy/core/fromnumeric.py
|
||||
* `#10079 <https://github.com/numpy/numpy/pull/10079>`__: DOC: mention generalized ufuncs, document signature attribute
|
||||
* `#10096 <https://github.com/numpy/numpy/pull/10096>`__: BUG: Fix assert_equal on time-like objects
|
||||
* `#10097 <https://github.com/numpy/numpy/pull/10097>`__: BUG: Fix crash for 0d timedelta repr
|
||||
* `#10101 <https://github.com/numpy/numpy/pull/10101>`__: BUG: Fix out-of-bounds access when handling rank-zero ndarrays.
|
||||
* `#10105 <https://github.com/numpy/numpy/pull/10105>`__: DOC: Update license documentation.
|
||||
* `#10108 <https://github.com/numpy/numpy/pull/10108>`__: DOC: Add documentation for datetime_data
|
||||
* `#10109 <https://github.com/numpy/numpy/pull/10109>`__: DOC: fix the lack of np.
|
||||
* `#10111 <https://github.com/numpy/numpy/pull/10111>`__: ENH: Improve alignment of datetime64 arrays containing NaT
|
||||
* `#10112 <https://github.com/numpy/numpy/pull/10112>`__: MAINT: Simplify IntegerFormatter
|
||||
* `#10113 <https://github.com/numpy/numpy/pull/10113>`__: BUG: Fix further out-of-bounds accesses when handling 0d ndarrays
|
||||
* `#10114 <https://github.com/numpy/numpy/pull/10114>`__: MAINT: Remove duplicate cond check from assert_array_compare
|
||||
* `#10116 <https://github.com/numpy/numpy/pull/10116>`__: BLD: [ipo] compilation error with intel compiler
|
||||
* `#10120 <https://github.com/numpy/numpy/pull/10120>`__: BUG: stray comma should be preserved for legacy printing
|
||||
* `#10121 <https://github.com/numpy/numpy/pull/10121>`__: DOC: Summarize printing changes in release notes
|
||||
* `#10125 <https://github.com/numpy/numpy/pull/10125>`__: BLD: Add license file to NumPy wheels.
|
||||
* `#10129 <https://github.com/numpy/numpy/pull/10129>`__: ENH: Strip trailing spaces from continuation in multiline arrayprint
|
||||
* `#10130 <https://github.com/numpy/numpy/pull/10130>`__: MAINT: Simplify _leading_trailing
|
||||
* `#10131 <https://github.com/numpy/numpy/pull/10131>`__: BUG: Fix downcasting in _array2string
|
||||
* `#10136 <https://github.com/numpy/numpy/pull/10136>`__: BUG: edgeitems kwarg is ignored
|
||||
* `#10143 <https://github.com/numpy/numpy/pull/10143>`__: MAINT: Combine legacy sections of _formatArray
|
||||
* `#10159 <https://github.com/numpy/numpy/pull/10159>`__: DOC: Update 1.14 notes
|
||||
* `#10160 <https://github.com/numpy/numpy/pull/10160>`__: BUG: test, fix problems from PR #9639
|
||||
* `#10164 <https://github.com/numpy/numpy/pull/10164>`__: MAINT/BUG: Simplify _formatArray, fixing array_repr(matrix) in...
|
||||
* `#10166 <https://github.com/numpy/numpy/pull/10166>`__: DOC: document PyArray_ResolveWritebackIfCopy
|
||||
* `#10168 <https://github.com/numpy/numpy/pull/10168>`__: DOC: continuation of PyArray_ResolveIfCopy fixes
|
||||
* `#10172 <https://github.com/numpy/numpy/pull/10172>`__: BUG: The last line of formatArray is not always wrapped correctly
|
||||
* `#10175 <https://github.com/numpy/numpy/pull/10175>`__: BUG: linewidth was not respected for arrays other than 1d
|
||||
* `#10176 <https://github.com/numpy/numpy/pull/10176>`__: ENH: add suffix option to array2str, wraps properly
|
||||
* `#10177 <https://github.com/numpy/numpy/pull/10177>`__: MAINT, BUG: Final 1.14 formatting fixes
|
||||
* `#10182 <https://github.com/numpy/numpy/pull/10182>`__: BUG: Extra space is inserted on first line for long elements
|
||||
* `#10190 <https://github.com/numpy/numpy/pull/10190>`__: BUG: Fix regression in np.ma.load in gh-10055
|
||||
* `#10200 <https://github.com/numpy/numpy/pull/10200>`__: BUG: Ufunc reduce reference leak (backport)
|
||||
* `#10202 <https://github.com/numpy/numpy/pull/10202>`__: BUG: Fix bugs found by testing in release mode.
|
||||
* `#10272 <https://github.com/numpy/numpy/pull/10272>`__: BUG: Align extra-dll folder name with auditwheel
|
||||
* `#10275 <https://github.com/numpy/numpy/pull/10275>`__: BUG: fix duplicate message print
|
||||
* `#10276 <https://github.com/numpy/numpy/pull/10276>`__: MAINT: Workaround for new travis sdist failures.
|
||||
* `#10311 <https://github.com/numpy/numpy/pull/10311>`__: BUG: Make sure einsum default value of `optimize` is True.
|
||||
* `#10312 <https://github.com/numpy/numpy/pull/10312>`__: BUG: Handle NaNs correctly in arange
|
||||
* `#10313 <https://github.com/numpy/numpy/pull/10313>`__: BUG: Don't reimplement isclose in np.ma
|
||||
* `#10315 <https://github.com/numpy/numpy/pull/10315>`__: DOC: NumPy 1.14.0 release prep.
|
|
@ -0,0 +1,63 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 14 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Allan Haldane
|
||||
* Charles Harris
|
||||
* Daniel Smith
|
||||
* Dennis Weyland +
|
||||
* Eric Larson
|
||||
* Eric Wieser
|
||||
* Jarrod Millman
|
||||
* Kenichi Maehashi +
|
||||
* Marten van Kerkwijk
|
||||
* Mathieu Lamarre
|
||||
* Sebastian Berg
|
||||
* Simon Conseil
|
||||
* Simon Gibbons
|
||||
* xoviat
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 36 pull requests were merged for this release.
|
||||
|
||||
* `#10339 <https://github.com/numpy/numpy/pull/10339>`__: BUG: restrict the __config__ modifications to win32
|
||||
* `#10368 <https://github.com/numpy/numpy/pull/10368>`__: MAINT: Adjust type promotion in linalg.norm
|
||||
* `#10375 <https://github.com/numpy/numpy/pull/10375>`__: BUG: add missing paren and remove quotes from repr of fieldless...
|
||||
* `#10395 <https://github.com/numpy/numpy/pull/10395>`__: MAINT: Update download URL in setup.py.
|
||||
* `#10396 <https://github.com/numpy/numpy/pull/10396>`__: BUG: fix einsum issue with unicode input and py2
|
||||
* `#10397 <https://github.com/numpy/numpy/pull/10397>`__: BUG: fix error message not formatted in einsum
|
||||
* `#10398 <https://github.com/numpy/numpy/pull/10398>`__: DOC: add documentation about how to handle new array printing
|
||||
* `#10403 <https://github.com/numpy/numpy/pull/10403>`__: BUG: Set einsum optimize parameter default to `False`.
|
||||
* `#10424 <https://github.com/numpy/numpy/pull/10424>`__: ENH: Fix repr of np.record objects to match np.void types #10412
|
||||
* `#10425 <https://github.com/numpy/numpy/pull/10425>`__: MAINT: Update zesty to artful for i386 testing
|
||||
* `#10431 <https://github.com/numpy/numpy/pull/10431>`__: REL: Add 1.14.1 release notes template
|
||||
* `#10435 <https://github.com/numpy/numpy/pull/10435>`__: MAINT: Use ValueError for duplicate field names in lookup (backport)
|
||||
* `#10534 <https://github.com/numpy/numpy/pull/10534>`__: BUG: Provide a better error message for out-of-order fields
|
||||
* `#10536 <https://github.com/numpy/numpy/pull/10536>`__: BUG: Resize bytes_ columns in genfromtxt (backport of #10401)
|
||||
* `#10537 <https://github.com/numpy/numpy/pull/10537>`__: BUG: multifield-indexing adds padding bytes: revert for 1.14.1
|
||||
* `#10539 <https://github.com/numpy/numpy/pull/10539>`__: BUG: fix np.save issue with python 2.7.5
|
||||
* `#10540 <https://github.com/numpy/numpy/pull/10540>`__: BUG: Add missing DECREF in Py2 int() cast
|
||||
* `#10541 <https://github.com/numpy/numpy/pull/10541>`__: TST: Add circleci document testing to maintenance/1.14.x
|
||||
* `#10542 <https://github.com/numpy/numpy/pull/10542>`__: BUG: complex repr has extra spaces, missing + (1.14 backport)
|
||||
* `#10550 <https://github.com/numpy/numpy/pull/10550>`__: BUG: Set missing exception after malloc
|
||||
* `#10557 <https://github.com/numpy/numpy/pull/10557>`__: BUG: In numpy.i, clear CARRAY flag if wrapped buffer is not C_CONTIGUOUS.
|
||||
* `#10558 <https://github.com/numpy/numpy/pull/10558>`__: DEP: Issue FutureWarning when malformed records detected.
|
||||
* `#10559 <https://github.com/numpy/numpy/pull/10559>`__: BUG: Fix einsum optimize logic for singleton dimensions
|
||||
* `#10560 <https://github.com/numpy/numpy/pull/10560>`__: BUG: Fix calling ufuncs with a positional output argument.
|
||||
* `#10561 <https://github.com/numpy/numpy/pull/10561>`__: BUG: Fix various Big-Endian test failures (ppc64)
|
||||
* `#10562 <https://github.com/numpy/numpy/pull/10562>`__: BUG: Make dtype.descr error for out-of-order fields.
|
||||
* `#10563 <https://github.com/numpy/numpy/pull/10563>`__: BUG: arrays not being flattened in `union1d`
|
||||
* `#10607 <https://github.com/numpy/numpy/pull/10607>`__: MAINT: Update sphinxext submodule hash.
|
||||
* `#10608 <https://github.com/numpy/numpy/pull/10608>`__: BUG: Revert sort optimization in np.unique.
|
||||
* `#10609 <https://github.com/numpy/numpy/pull/10609>`__: BUG: infinite recursion in str of 0d subclasses
|
||||
* `#10610 <https://github.com/numpy/numpy/pull/10610>`__: BUG: Align type definition with generated lapack
|
||||
* `#10612 <https://github.com/numpy/numpy/pull/10612>`__: BUG/ENH: Improve output for structured non-void types
|
||||
* `#10622 <https://github.com/numpy/numpy/pull/10622>`__: BUG: deallocate recursive closure in arrayprint.py (1.14 backport)
|
||||
* `#10624 <https://github.com/numpy/numpy/pull/10624>`__: BUG: Correctly identify comma separated dtype strings
|
||||
* `#10629 <https://github.com/numpy/numpy/pull/10629>`__: BUG: deallocate recursive closure in arrayprint.py (backport...
|
||||
* `#10630 <https://github.com/numpy/numpy/pull/10630>`__: REL: Prepare for 1.14.1 release.
|
|
@ -0,0 +1,22 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 4 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Allan Haldane
|
||||
* Charles Harris
|
||||
* Eric Wieser
|
||||
* Pauli Virtanen
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 5 pull requests were merged for this release.
|
||||
|
||||
* `#10674 <https://github.com/numpy/numpy/pull/10674>`__: BUG: Further back-compat fix for subclassed array repr
|
||||
* `#10725 <https://github.com/numpy/numpy/pull/10725>`__: BUG: dragon4 fractional output mode adds too many trailing zeros
|
||||
* `#10726 <https://github.com/numpy/numpy/pull/10726>`__: BUG: Fix f2py generated code to work on PyPy
|
||||
* `#10727 <https://github.com/numpy/numpy/pull/10727>`__: BUG: Fix missing NPY_VISIBILITY_HIDDEN on npy_longdouble_to_PyLong
|
||||
* `#10729 <https://github.com/numpy/numpy/pull/10729>`__: DOC: Create 1.14.2 notes and changelog.
|
|
@ -0,0 +1,27 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 6 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Allan Haldane
|
||||
* Charles Harris
|
||||
* Jonathan March +
|
||||
* Malcolm Smith +
|
||||
* Matti Picus
|
||||
* Pauli Virtanen
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 8 pull requests were merged for this release.
|
||||
|
||||
* `#10862 <https://github.com/numpy/numpy/pull/10862>`__: BUG: floating types should override tp_print (1.14 backport)
|
||||
* `#10905 <https://github.com/numpy/numpy/pull/10905>`__: BUG: for 1.14 back-compat, accept list-of-lists in fromrecords
|
||||
* `#10947 <https://github.com/numpy/numpy/pull/10947>`__: BUG: 'style' arg to array2string broken in legacy mode (1.14...
|
||||
* `#10959 <https://github.com/numpy/numpy/pull/10959>`__: BUG: test, fix for missing flags['WRITEBACKIFCOPY'] key
|
||||
* `#10960 <https://github.com/numpy/numpy/pull/10960>`__: BUG: Add missing underscore to prototype in check_embedded_lapack
|
||||
* `#10961 <https://github.com/numpy/numpy/pull/10961>`__: BUG: Fix encoding regression in ma/bench.py (Issue #10868)
|
||||
* `#10962 <https://github.com/numpy/numpy/pull/10962>`__: BUG: core: fix NPY_TITLE_KEY macro on pypy
|
||||
* `#10974 <https://github.com/numpy/numpy/pull/10974>`__: BUG: test, fix PyArray_DiscardWritebackIfCopy...
|
|
@ -0,0 +1,31 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 7 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Allan Haldane
|
||||
* Charles Harris
|
||||
* Marten van Kerkwijk
|
||||
* Matti Picus
|
||||
* Pauli Virtanen
|
||||
* Ryan Soklaski +
|
||||
* Sebastian Berg
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 11 pull requests were merged for this release.
|
||||
|
||||
* `#11104 <https://github.com/numpy/numpy/pull/11104>`__: BUG: str of DOUBLE_DOUBLE format wrong on ppc64
|
||||
* `#11170 <https://github.com/numpy/numpy/pull/11170>`__: TST: linalg: add regression test for gh-8577
|
||||
* `#11174 <https://github.com/numpy/numpy/pull/11174>`__: MAINT: add sanity-checks to be run at import time
|
||||
* `#11181 <https://github.com/numpy/numpy/pull/11181>`__: BUG: void dtype setup checked offset not actual pointer for alignment
|
||||
* `#11194 <https://github.com/numpy/numpy/pull/11194>`__: BUG: Python2 doubles don't print correctly in interactive shell.
|
||||
* `#11198 <https://github.com/numpy/numpy/pull/11198>`__: BUG: optimizing compilers can reorder call to npy_get_floatstatus
|
||||
* `#11199 <https://github.com/numpy/numpy/pull/11199>`__: BUG: reduce using SSE only warns if inside SSE loop
|
||||
* `#11203 <https://github.com/numpy/numpy/pull/11203>`__: BUG: Bytes delimiter/comments in genfromtxt should be decoded
|
||||
* `#11211 <https://github.com/numpy/numpy/pull/11211>`__: BUG: Fix reference count/memory leak exposed by better testing
|
||||
* `#11219 <https://github.com/numpy/numpy/pull/11219>`__: BUG: Fixes einsum broadcasting bug when optimize=True
|
||||
* `#11251 <https://github.com/numpy/numpy/pull/11251>`__: DOC: Document 1.14.4 release.
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 1 person contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Charles Harris
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 2 pull requests were merged for this release.
|
||||
|
||||
* `#11274 <https://github.com/numpy/numpy/pull/11274>`__: BUG: Correct use of NPY_UNUSED.
|
||||
* `#11294 <https://github.com/numpy/numpy/pull/11294>`__: BUG: Remove extra trailing parentheses.
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 4 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Charles Harris
|
||||
* Eric Wieser
|
||||
* Julian Taylor
|
||||
* Matti Picus
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 4 pull requests were merged for this release.
|
||||
|
||||
* `#11985 <https://github.com/numpy/numpy/pull/11985>`__: BUG: fix cached allocations without the GIL
|
||||
* `#11986 <https://github.com/numpy/numpy/pull/11986>`__: BUG: Undo behavior change in ma.masked_values(shrink=True)
|
||||
* `#11987 <https://github.com/numpy/numpy/pull/11987>`__: BUG: fix refcount leak in PyArray_AdaptFlexibleDType
|
||||
* `#11995 <https://github.com/numpy/numpy/pull/11995>`__: TST: Add Python 3.7 testing to NumPy 1.14.
|
|
@ -0,0 +1,584 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 133 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Aaron Critchley +
|
||||
* Aarthi +
|
||||
* Aarthi Agurusa +
|
||||
* Alex Thomas +
|
||||
* Alexander Belopolsky
|
||||
* Allan Haldane
|
||||
* Anas Khan +
|
||||
* Andras Deak
|
||||
* Andrey Portnoy +
|
||||
* Anna Chiara
|
||||
* Aurelien Jarno +
|
||||
* Baurzhan Muftakhidinov
|
||||
* Berend Kapelle +
|
||||
* Bernhard M. Wiedemann
|
||||
* Bjoern Thiel +
|
||||
* Bob Eldering
|
||||
* Cenny Wenner +
|
||||
* Charles Harris
|
||||
* ChloeColeongco +
|
||||
* Chris Billington +
|
||||
* Christopher +
|
||||
* Chun-Wei Yuan +
|
||||
* Claudio Freire +
|
||||
* Daniel Smith
|
||||
* Darcy Meyer +
|
||||
* David Abdurachmanov +
|
||||
* David Freese
|
||||
* Deepak Kumar Gouda +
|
||||
* Dennis Weyland +
|
||||
* Derrick Williams +
|
||||
* Dmitriy Shalyga +
|
||||
* Eric Cousineau +
|
||||
* Eric Larson
|
||||
* Eric Wieser
|
||||
* Evgeni Burovski
|
||||
* Frederick Lefebvre +
|
||||
* Gaspar Karm +
|
||||
* Geoffrey Irving
|
||||
* Gerhard Hobler +
|
||||
* Gerrit Holl
|
||||
* Guo Ci +
|
||||
* Hameer Abbasi +
|
||||
* Han Shen
|
||||
* Hiroyuki V. Yamazaki +
|
||||
* Hong Xu
|
||||
* Ihor Melnyk +
|
||||
* Jaime Fernandez
|
||||
* Jake VanderPlas +
|
||||
* James Tocknell +
|
||||
* Jarrod Millman
|
||||
* Jeff VanOss +
|
||||
* John Kirkham
|
||||
* Jonas Rauber +
|
||||
* Jonathan March +
|
||||
* Joseph Fox-Rabinovitz
|
||||
* Julian Taylor
|
||||
* Junjie Bai +
|
||||
* Juris Bogusevs +
|
||||
* Jörg Döpfert
|
||||
* Kenichi Maehashi +
|
||||
* Kevin Sheppard
|
||||
* Kimikazu Kato +
|
||||
* Kirit Thadaka +
|
||||
* Kritika Jalan +
|
||||
* Kyle Sunden +
|
||||
* Lakshay Garg +
|
||||
* Lars G +
|
||||
* Licht Takeuchi
|
||||
* Louis Potok +
|
||||
* Luke Zoltan Kelley
|
||||
* MSeifert04 +
|
||||
* Mads R. B. Kristensen +
|
||||
* Malcolm Smith +
|
||||
* Mark Harfouche +
|
||||
* Marten H. van Kerkwijk +
|
||||
* Marten van Kerkwijk
|
||||
* Matheus Vieira Portela +
|
||||
* Mathieu Lamarre
|
||||
* Mathieu Sornay +
|
||||
* Matthew Brett
|
||||
* Matthew Rocklin +
|
||||
* Matthias Bussonnier
|
||||
* Matti Picus
|
||||
* Michael Droettboom
|
||||
* Miguel Sánchez de León Peque +
|
||||
* Mike Toews +
|
||||
* Milo +
|
||||
* Nathaniel J. Smith
|
||||
* Nelle Varoquaux
|
||||
* Nicholas Nadeau, P.Eng., AVS +
|
||||
* Nick Minkyu Lee +
|
||||
* Nikita +
|
||||
* Nikita Kartashov +
|
||||
* Nils Becker +
|
||||
* Oleg Zabluda
|
||||
* Orestis Floros +
|
||||
* Pat Gunn +
|
||||
* Paul van Mulbregt +
|
||||
* Pauli Virtanen
|
||||
* Pierre Chanial +
|
||||
* Ralf Gommers
|
||||
* Raunak Shah +
|
||||
* Robert Kern
|
||||
* Russell Keith-Magee +
|
||||
* Ryan Soklaski +
|
||||
* Samuel Jackson +
|
||||
* Sebastian Berg
|
||||
* Siavash Eliasi +
|
||||
* Simon Conseil
|
||||
* Simon Gibbons
|
||||
* Stefan Krah +
|
||||
* Stefan van der Walt
|
||||
* Stephan Hoyer
|
||||
* Subhendu +
|
||||
* Subhendu Ranjan Mishra +
|
||||
* Tai-Lin Wu +
|
||||
* Tobias Fischer +
|
||||
* Toshiki Kataoka +
|
||||
* Tyler Reddy +
|
||||
* Unknown +
|
||||
* Varun Nayyar
|
||||
* Victor Rodriguez +
|
||||
* Warren Weckesser
|
||||
* William D. Irons +
|
||||
* Zane Bradley +
|
||||
* cclauss +
|
||||
* fo40225 +
|
||||
* lapack_lite code generator +
|
||||
* lumbric +
|
||||
* luzpaz +
|
||||
* mamrehn +
|
||||
* tynn +
|
||||
* xoviat
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 438 pull requests were merged for this release.
|
||||
|
||||
* `#8157 <https://github.com/numpy/numpy/pull/8157>`__: BUG: void .item() doesn't hold reference to original array
|
||||
* `#8774 <https://github.com/numpy/numpy/pull/8774>`__: ENH: Add gcd and lcm ufuncs
|
||||
* `#8819 <https://github.com/numpy/numpy/pull/8819>`__: ENH: Implement axes keyword argument for gufuncs.
|
||||
* `#8952 <https://github.com/numpy/numpy/pull/8952>`__: MAINT: Removed duplicated code around `ufunc->identity`
|
||||
* `#9686 <https://github.com/numpy/numpy/pull/9686>`__: DEP: Deprecate non-tuple nd-indices
|
||||
* `#9980 <https://github.com/numpy/numpy/pull/9980>`__: MAINT: Implement `lstsq` as a `gufunc`
|
||||
* `#9998 <https://github.com/numpy/numpy/pull/9998>`__: ENH: Nditer as context manager
|
||||
* `#10073 <https://github.com/numpy/numpy/pull/10073>`__: ENH: Implement fft.fftshift/ifftshift with np.roll for improved...
|
||||
* `#10078 <https://github.com/numpy/numpy/pull/10078>`__: DOC: document nested_iters
|
||||
* `#10128 <https://github.com/numpy/numpy/pull/10128>`__: BUG: Prefix library names with `lib` on windows.
|
||||
* `#10142 <https://github.com/numpy/numpy/pull/10142>`__: DEP: Pending deprecation warning for matrix
|
||||
* `#10154 <https://github.com/numpy/numpy/pull/10154>`__: MAINT: Use a StructSequence in place of the typeinfo tuples
|
||||
* `#10158 <https://github.com/numpy/numpy/pull/10158>`__: BUG: Fix a few smaller valgrind errors
|
||||
* `#10178 <https://github.com/numpy/numpy/pull/10178>`__: MAINT: Prepare master for 1.15 development.
|
||||
* `#10186 <https://github.com/numpy/numpy/pull/10186>`__: MAINT: Move histogram and histogramdd into their own module
|
||||
* `#10187 <https://github.com/numpy/numpy/pull/10187>`__: BUG: Extra space is inserted on first line for long elements
|
||||
* `#10192 <https://github.com/numpy/numpy/pull/10192>`__: DEP: Deprecate the pickle aliases
|
||||
* `#10193 <https://github.com/numpy/numpy/pull/10193>`__: BUG: Fix bugs found by testing in release mode.
|
||||
* `#10194 <https://github.com/numpy/numpy/pull/10194>`__: BUG, MAINT: Ufunc reduce reference leak
|
||||
* `#10195 <https://github.com/numpy/numpy/pull/10195>`__: DOC: Fixup percentile docstring, from review in gh-9213
|
||||
* `#10196 <https://github.com/numpy/numpy/pull/10196>`__: BUG: Fix regression in np.ma.load in gh-10055
|
||||
* `#10199 <https://github.com/numpy/numpy/pull/10199>`__: ENH: Quantile
|
||||
* `#10203 <https://github.com/numpy/numpy/pull/10203>`__: MAINT: Update development branch version to 1.15.0.
|
||||
* `#10205 <https://github.com/numpy/numpy/pull/10205>`__: BUG: Handle NaNs correctly in arange
|
||||
* `#10207 <https://github.com/numpy/numpy/pull/10207>`__: ENH: Allow `np.r_` to accept 0d arrays
|
||||
* `#10208 <https://github.com/numpy/numpy/pull/10208>`__: MAINT: Improve error message for void(-1)
|
||||
* `#10210 <https://github.com/numpy/numpy/pull/10210>`__: DOC: change 'a'->'prototype' in empty_like docs (addresses #10209)
|
||||
* `#10211 <https://github.com/numpy/numpy/pull/10211>`__: MAINT,ENH: remove MaskedArray.astype, as the base type does everything.
|
||||
* `#10212 <https://github.com/numpy/numpy/pull/10212>`__: DOC: fix minor typos
|
||||
* `#10213 <https://github.com/numpy/numpy/pull/10213>`__: ENH: Set up proposed NEP process
|
||||
* `#10214 <https://github.com/numpy/numpy/pull/10214>`__: DOC: add warning to isclose function
|
||||
* `#10216 <https://github.com/numpy/numpy/pull/10216>`__: BUG: Fix broken format string picked up by LGTM.com
|
||||
* `#10220 <https://github.com/numpy/numpy/pull/10220>`__: DOC: clarify that np.absolute == np.abs
|
||||
* `#10223 <https://github.com/numpy/numpy/pull/10223>`__: ENH: added masked version of 'numpy.stack' with tests.
|
||||
* `#10225 <https://github.com/numpy/numpy/pull/10225>`__: ENH: distutils: parallelize builds by default
|
||||
* `#10226 <https://github.com/numpy/numpy/pull/10226>`__: BUG: distutils: use correct top-level package name
|
||||
* `#10229 <https://github.com/numpy/numpy/pull/10229>`__: BUG: distutils: fix extra DLL loading in certain scenarios
|
||||
* `#10231 <https://github.com/numpy/numpy/pull/10231>`__: BUG: Fix sign-compare warnings in datetime.c and datetime_strings.c.
|
||||
* `#10232 <https://github.com/numpy/numpy/pull/10232>`__: BUG: Don't reimplement isclose in np.ma
|
||||
* `#10237 <https://github.com/numpy/numpy/pull/10237>`__: DOC: give correct version of np.nansum change
|
||||
* `#10241 <https://github.com/numpy/numpy/pull/10241>`__: MAINT: Avoid repeated validation of percentiles in nanpercentile
|
||||
* `#10247 <https://github.com/numpy/numpy/pull/10247>`__: MAINT: fix typo
|
||||
* `#10248 <https://github.com/numpy/numpy/pull/10248>`__: DOC: Add installation notes for Linux users
|
||||
* `#10249 <https://github.com/numpy/numpy/pull/10249>`__: MAINT: Fix tests failures on travis CI merge.
|
||||
* `#10250 <https://github.com/numpy/numpy/pull/10250>`__: MAINT: Check for `__array_ufunc__` before doing anything else.
|
||||
* `#10251 <https://github.com/numpy/numpy/pull/10251>`__: ENH: Enable AVX2/AVX512 support to numpy
|
||||
* `#10252 <https://github.com/numpy/numpy/pull/10252>`__: MAINT: Workaround for new travis sdist failures.
|
||||
* `#10255 <https://github.com/numpy/numpy/pull/10255>`__: MAINT: Fix loop and simd sign-compare warnings.
|
||||
* `#10257 <https://github.com/numpy/numpy/pull/10257>`__: BUG: duplicate message print if warning raises an exception
|
||||
* `#10259 <https://github.com/numpy/numpy/pull/10259>`__: BUG: Make sure einsum default value of `optimize` is True.
|
||||
* `#10260 <https://github.com/numpy/numpy/pull/10260>`__: ENH: Add pytest support
|
||||
* `#10261 <https://github.com/numpy/numpy/pull/10261>`__: MAINT: Extract helper functions from histogram
|
||||
* `#10262 <https://github.com/numpy/numpy/pull/10262>`__: DOC: Add missing release note for #10207
|
||||
* `#10263 <https://github.com/numpy/numpy/pull/10263>`__: BUG: Fix strange behavior of infinite-step-size/underflow-case...
|
||||
* `#10264 <https://github.com/numpy/numpy/pull/10264>`__: MAINT: Fix (some) yield warnings
|
||||
* `#10266 <https://github.com/numpy/numpy/pull/10266>`__: BUG: distutils: fix locale decoding errors
|
||||
* `#10268 <https://github.com/numpy/numpy/pull/10268>`__: BUG: Fix misleading error when coercing to array
|
||||
* `#10269 <https://github.com/numpy/numpy/pull/10269>`__: MAINT: extract private helper function to compute histogram bin...
|
||||
* `#10271 <https://github.com/numpy/numpy/pull/10271>`__: BUG: Allow nan values in the data when the bins are explicit
|
||||
* `#10278 <https://github.com/numpy/numpy/pull/10278>`__: ENH: Add support for datetimes to histograms
|
||||
* `#10282 <https://github.com/numpy/numpy/pull/10282>`__: MAINT: Extract helper function for last-bound-inclusive search_sorted
|
||||
* `#10283 <https://github.com/numpy/numpy/pull/10283>`__: MAINT: Fallback on the default sequence multiplication behavior
|
||||
* `#10284 <https://github.com/numpy/numpy/pull/10284>`__: MAINT/BUG: Tidy gen_umath
|
||||
* `#10286 <https://github.com/numpy/numpy/pull/10286>`__: BUG: Fix memory leak (#10157).
|
||||
* `#10287 <https://github.com/numpy/numpy/pull/10287>`__: ENH: Allow ptp to take an axis tuple and keepdims
|
||||
* `#10292 <https://github.com/numpy/numpy/pull/10292>`__: BUG: Masked singleton can be reshaped to be non-scalar
|
||||
* `#10293 <https://github.com/numpy/numpy/pull/10293>`__: MAINT: Fix sign-compare warnings in mem_overlap.c.
|
||||
* `#10294 <https://github.com/numpy/numpy/pull/10294>`__: MAINT: pytest cleanups
|
||||
* `#10298 <https://github.com/numpy/numpy/pull/10298>`__: DOC: Explain np.digitize and np.searchsorted more clearly
|
||||
* `#10300 <https://github.com/numpy/numpy/pull/10300>`__: MAINT, DOC: Documentation and misc. typos
|
||||
* `#10303 <https://github.com/numpy/numpy/pull/10303>`__: MAINT: Array wrap/prepare identification cleanup
|
||||
* `#10309 <https://github.com/numpy/numpy/pull/10309>`__: MAINT: deduplicate check_nonreorderable_axes
|
||||
* `#10314 <https://github.com/numpy/numpy/pull/10314>`__: BUG: Ensure `__array_finalize__` cannot back-mangle shape
|
||||
* `#10316 <https://github.com/numpy/numpy/pull/10316>`__: DOC: add documentation about how to handle new array printing
|
||||
* `#10320 <https://github.com/numpy/numpy/pull/10320>`__: BUG: skip the extra-dll directory when there are no DLLS
|
||||
* `#10323 <https://github.com/numpy/numpy/pull/10323>`__: MAINT: Remove duplicated code for promoting dtype and array types.
|
||||
* `#10324 <https://github.com/numpy/numpy/pull/10324>`__: BUG: Fix crashes when using float32 values in uniform histograms
|
||||
* `#10325 <https://github.com/numpy/numpy/pull/10325>`__: MAINT: Replace manual expansion of PyArray_MinScalarType with...
|
||||
* `#10327 <https://github.com/numpy/numpy/pull/10327>`__: MAINT: Fix misc. typos
|
||||
* `#10333 <https://github.com/numpy/numpy/pull/10333>`__: DOC: typo fix in numpy.linalg.det docstring
|
||||
* `#10334 <https://github.com/numpy/numpy/pull/10334>`__: DOC: Fix typos in docs for partition method
|
||||
* `#10336 <https://github.com/numpy/numpy/pull/10336>`__: DOC: Post 1.14.0 release updates.
|
||||
* `#10337 <https://github.com/numpy/numpy/pull/10337>`__: ENH: Show the silenced error and traceback in warning `__cause__`
|
||||
* `#10341 <https://github.com/numpy/numpy/pull/10341>`__: BUG: fix config where PATH isn't set on win32
|
||||
* `#10342 <https://github.com/numpy/numpy/pull/10342>`__: BUG: arrays not being flattened in `union1d`
|
||||
* `#10346 <https://github.com/numpy/numpy/pull/10346>`__: ENH: Check matching inputs/outputs in umath generation
|
||||
* `#10352 <https://github.com/numpy/numpy/pull/10352>`__: BUG: Fix einsum optimize logic for singleton dimensions
|
||||
* `#10354 <https://github.com/numpy/numpy/pull/10354>`__: BUG: fix error message not formatted in einsum
|
||||
* `#10359 <https://github.com/numpy/numpy/pull/10359>`__: BUG: do not optimize einsum with only 2 arguments.
|
||||
* `#10361 <https://github.com/numpy/numpy/pull/10361>`__: BUG: complex repr has extra spaces, missing +
|
||||
* `#10362 <https://github.com/numpy/numpy/pull/10362>`__: MAINT: Update download URL in setup.py.
|
||||
* `#10367 <https://github.com/numpy/numpy/pull/10367>`__: BUG: add missing paren and remove quotes from repr of fieldless...
|
||||
* `#10371 <https://github.com/numpy/numpy/pull/10371>`__: BUG: fix einsum issue with unicode input and py2
|
||||
* `#10381 <https://github.com/numpy/numpy/pull/10381>`__: BUG/ENH: Improve output for structured non-void types
|
||||
* `#10388 <https://github.com/numpy/numpy/pull/10388>`__: ENH: Add types for int and uint of explicit sizes to swig.
|
||||
* `#10390 <https://github.com/numpy/numpy/pull/10390>`__: MAINT: Adjust type promotion in linalg.norm
|
||||
* `#10391 <https://github.com/numpy/numpy/pull/10391>`__: BUG: Make dtype.descr error for out-of-order fields
|
||||
* `#10392 <https://github.com/numpy/numpy/pull/10392>`__: DOC: Document behaviour of `np.concatenate` with `axis=None`
|
||||
* `#10401 <https://github.com/numpy/numpy/pull/10401>`__: BUG: Resize bytes_ columns in genfromtxt
|
||||
* `#10402 <https://github.com/numpy/numpy/pull/10402>`__: DOC: added "steals a reference" to PyArray_FromAny
|
||||
* `#10406 <https://github.com/numpy/numpy/pull/10406>`__: ENH: add `np.printoptions`, a context manager
|
||||
* `#10411 <https://github.com/numpy/numpy/pull/10411>`__: BUG: Revert multifield-indexing adds padding bytes for NumPy...
|
||||
* `#10412 <https://github.com/numpy/numpy/pull/10412>`__: ENH: Fix repr of np.record objects to match np.void types
|
||||
* `#10414 <https://github.com/numpy/numpy/pull/10414>`__: MAINT: Fix sign-compare warnings in umath_linalg.
|
||||
* `#10415 <https://github.com/numpy/numpy/pull/10415>`__: MAINT: Fix sign-compare warnings in npy_binsearch, npy_partition.
|
||||
* `#10416 <https://github.com/numpy/numpy/pull/10416>`__: MAINT: Fix sign-compare warnings in dragon4.c.
|
||||
* `#10418 <https://github.com/numpy/numpy/pull/10418>`__: MAINT: Remove repeated #ifdefs implementing `isinstance(x, basestring)`...
|
||||
* `#10420 <https://github.com/numpy/numpy/pull/10420>`__: DOC: Fix version added labels in numpy.unique docs
|
||||
* `#10421 <https://github.com/numpy/numpy/pull/10421>`__: DOC: Fix type of axis in nanfunctions
|
||||
* `#10423 <https://github.com/numpy/numpy/pull/10423>`__: MAINT: Update zesty to artful for i386 testing
|
||||
* `#10426 <https://github.com/numpy/numpy/pull/10426>`__: DOC: Add version when linalg.norm accepted axis
|
||||
* `#10427 <https://github.com/numpy/numpy/pull/10427>`__: DOC: Fix typo in docs for argpartition
|
||||
* `#10430 <https://github.com/numpy/numpy/pull/10430>`__: MAINT: Use ValueError for duplicate field names in lookup
|
||||
* `#10433 <https://github.com/numpy/numpy/pull/10433>`__: DOC: Add 1.14.1 release notes template (forward port)
|
||||
* `#10434 <https://github.com/numpy/numpy/pull/10434>`__: MAINT: Move `tools/announce.py` to `tools/changelog.py`.
|
||||
* `#10441 <https://github.com/numpy/numpy/pull/10441>`__: BUG: Fix nan_to_num return with integer input
|
||||
* `#10443 <https://github.com/numpy/numpy/pull/10443>`__: BUG: Fix various Big-Endian test failures (ppc64)
|
||||
* `#10444 <https://github.com/numpy/numpy/pull/10444>`__: MAINT: Implement float128 dragon4 for IBM double-double (ppc64)
|
||||
* `#10451 <https://github.com/numpy/numpy/pull/10451>`__: BUG: prevent the MSVC 14.1 compiler (Visual Studio 2017) from...
|
||||
* `#10453 <https://github.com/numpy/numpy/pull/10453>`__: Revert "BUG: prevent the MSVC 14.1 compiler (Visual Studio 2017)...
|
||||
* `#10458 <https://github.com/numpy/numpy/pull/10458>`__: BLD: Use zip_safe=False in setup() call
|
||||
* `#10459 <https://github.com/numpy/numpy/pull/10459>`__: MAINT: Remove duplicated logic between array_wrap and array_prepare
|
||||
* `#10463 <https://github.com/numpy/numpy/pull/10463>`__: ENH: Add entry_points for f2py, conv_template, and from_template.
|
||||
* `#10465 <https://github.com/numpy/numpy/pull/10465>`__: MAINT: Fix miscellaneous sign-compare warnings.
|
||||
* `#10472 <https://github.com/numpy/numpy/pull/10472>`__: DOC: Document A@B in Matlab/NumPy summary table
|
||||
* `#10473 <https://github.com/numpy/numpy/pull/10473>`__: BUG: Fixed polydiv for Complex Numbers
|
||||
* `#10475 <https://github.com/numpy/numpy/pull/10475>`__: DOC: Add CircleCI builder for devdocs
|
||||
* `#10476 <https://github.com/numpy/numpy/pull/10476>`__: DOC: fix formatting in interp example
|
||||
* `#10477 <https://github.com/numpy/numpy/pull/10477>`__: BUG: Align type definition with generated lapack
|
||||
* `#10478 <https://github.com/numpy/numpy/pull/10478>`__: DOC: Minor punctuation cleanups and improved explanation.
|
||||
* `#10479 <https://github.com/numpy/numpy/pull/10479>`__: BUG: Fix calling ufuncs with a positional output argument.
|
||||
* `#10482 <https://github.com/numpy/numpy/pull/10482>`__: BUG: Add missing DECREF in Py2 int() cast
|
||||
* `#10484 <https://github.com/numpy/numpy/pull/10484>`__: MAINT: Remove unused code path for applying maskedarray domains...
|
||||
* `#10497 <https://github.com/numpy/numpy/pull/10497>`__: DOC: Tell matlab users about np.block
|
||||
* `#10498 <https://github.com/numpy/numpy/pull/10498>`__: MAINT: Remove special cases in np.unique
|
||||
* `#10501 <https://github.com/numpy/numpy/pull/10501>`__: BUG: fromregex: asbytes called on regexp objects
|
||||
* `#10502 <https://github.com/numpy/numpy/pull/10502>`__: MAINT: Use AxisError in swapaxes, unique, and diagonal
|
||||
* `#10503 <https://github.com/numpy/numpy/pull/10503>`__: BUG: Fix unused-result warning.
|
||||
* `#10506 <https://github.com/numpy/numpy/pull/10506>`__: MAINT: Delete unused `_build_utils/common.py`
|
||||
* `#10508 <https://github.com/numpy/numpy/pull/10508>`__: BUG: Add missing `#define _MULTIARRAYMODULE` to vdot.c
|
||||
* `#10509 <https://github.com/numpy/numpy/pull/10509>`__: MAINT: Use new-style format strings for clarity
|
||||
* `#10516 <https://github.com/numpy/numpy/pull/10516>`__: MAINT: Allow errors to escape from InitOperators
|
||||
* `#10518 <https://github.com/numpy/numpy/pull/10518>`__: ENH: Add a repr to np._NoValue
|
||||
* `#10522 <https://github.com/numpy/numpy/pull/10522>`__: MAINT: Remove the unmaintained umath ``__version__`` constant.
|
||||
* `#10524 <https://github.com/numpy/numpy/pull/10524>`__: BUG: fix np.save issue with python 2.7.5
|
||||
* `#10529 <https://github.com/numpy/numpy/pull/10529>`__: BUG: Provide a better error message for out-of-order fields
|
||||
* `#10543 <https://github.com/numpy/numpy/pull/10543>`__: DEP: Issue FutureWarning when malformed records detected.
|
||||
* `#10544 <https://github.com/numpy/numpy/pull/10544>`__: BUG: infinite recursion in str of 0d subclasses
|
||||
* `#10546 <https://github.com/numpy/numpy/pull/10546>`__: BUG: In numpy.i, clear CARRAY flag if wrapped buffer is not C_CONTIGUOUS.
|
||||
* `#10547 <https://github.com/numpy/numpy/pull/10547>`__: DOC: Fix incorrect formula in gradient docstring.
|
||||
* `#10548 <https://github.com/numpy/numpy/pull/10548>`__: BUG: Set missing exception after malloc
|
||||
* `#10549 <https://github.com/numpy/numpy/pull/10549>`__: ENH: Make NpzFile conform to the Mapping protocol
|
||||
* `#10553 <https://github.com/numpy/numpy/pull/10553>`__: MAINT: Cleanups to promote_types and result_types
|
||||
* `#10554 <https://github.com/numpy/numpy/pull/10554>`__: DOC: promote_types is not associative by design,
|
||||
* `#10555 <https://github.com/numpy/numpy/pull/10555>`__: BUG: Add missing PyErr_NoMemory() after malloc
|
||||
* `#10564 <https://github.com/numpy/numpy/pull/10564>`__: BUG: Provide correct format in Py_buffer for scalars
|
||||
* `#10566 <https://github.com/numpy/numpy/pull/10566>`__: BUG: Fix travis failure in previous commit
|
||||
* `#10571 <https://github.com/numpy/numpy/pull/10571>`__: BUG: Fix corner-case behavior of cond() and use SVD when possible
|
||||
* `#10576 <https://github.com/numpy/numpy/pull/10576>`__: MAINT: Fix misc. documentation typos
|
||||
* `#10583 <https://github.com/numpy/numpy/pull/10583>`__: MAINT: Fix typos in DISTUTILS.rst.txt.
|
||||
* `#10588 <https://github.com/numpy/numpy/pull/10588>`__: BUG: Revert sort optimization in np.unique.
|
||||
* `#10589 <https://github.com/numpy/numpy/pull/10589>`__: BUG: fix entry_points typo for from-template
|
||||
* `#10591 <https://github.com/numpy/numpy/pull/10591>`__: ENH: Add histogram_bin_edges function and test
|
||||
* `#10592 <https://github.com/numpy/numpy/pull/10592>`__: DOC: Corrected url for Guide to NumPy book; see part of #8520,...
|
||||
* `#10596 <https://github.com/numpy/numpy/pull/10596>`__: MAINT: Update sphinxext submodule hash.
|
||||
* `#10599 <https://github.com/numpy/numpy/pull/10599>`__: ENH: Make flatnonzero call asanyarray before ravel()
|
||||
* `#10603 <https://github.com/numpy/numpy/pull/10603>`__: MAINT: Improve error message in histogram.
|
||||
* `#10604 <https://github.com/numpy/numpy/pull/10604>`__: MAINT: Fix Misc. typos
|
||||
* `#10606 <https://github.com/numpy/numpy/pull/10606>`__: MAINT: Do not use random roots when testing roots.
|
||||
* `#10618 <https://github.com/numpy/numpy/pull/10618>`__: MAINT: Stop using non-tuple indices internally
|
||||
* `#10619 <https://github.com/numpy/numpy/pull/10619>`__: BUG: np.ma.flatnotmasked_contiguous behaves differently on mask=nomask...
|
||||
* `#10621 <https://github.com/numpy/numpy/pull/10621>`__: BUG: deallocate recursive closure in arrayprint.py
|
||||
* `#10623 <https://github.com/numpy/numpy/pull/10623>`__: BUG: Correctly identify comma separated dtype strings
|
||||
* `#10625 <https://github.com/numpy/numpy/pull/10625>`__: BUG: Improve the accuracy of the FFT implementation
|
||||
* `#10635 <https://github.com/numpy/numpy/pull/10635>`__: ENH: Implement initial kwarg for ufunc.add.reduce
|
||||
* `#10641 <https://github.com/numpy/numpy/pull/10641>`__: MAINT: Post 1.14.1 release updates for master branch
|
||||
* `#10650 <https://github.com/numpy/numpy/pull/10650>`__: BUG: Fix missing NPY_VISIBILITY_HIDDEN on npy_longdouble_to_PyLong
|
||||
* `#10653 <https://github.com/numpy/numpy/pull/10653>`__: MAINT: Remove duplicate implementation for aliased functions.
|
||||
* `#10657 <https://github.com/numpy/numpy/pull/10657>`__: BUG: f2py: fix f2py generated code to work on Pypy
|
||||
* `#10658 <https://github.com/numpy/numpy/pull/10658>`__: BUG: Make np.partition and np.sort work on np.matrix when axis=None
|
||||
* `#10660 <https://github.com/numpy/numpy/pull/10660>`__: BUG/MAINT: Remove special cases for 0d arrays in interp
|
||||
* `#10661 <https://github.com/numpy/numpy/pull/10661>`__: MAINT: Unify reductions in fromnumeric.py
|
||||
* `#10665 <https://github.com/numpy/numpy/pull/10665>`__: ENH: umath: don't make temporary copies for in-place accumulation
|
||||
* `#10666 <https://github.com/numpy/numpy/pull/10666>`__: BUG: fix complex casting error in cov with aweights
|
||||
* `#10669 <https://github.com/numpy/numpy/pull/10669>`__: MAINT: Covariance must be symmetric as well as positive-semidefinite.
|
||||
* `#10670 <https://github.com/numpy/numpy/pull/10670>`__: DEP: Deprecate np.sum(generator)
|
||||
* `#10671 <https://github.com/numpy/numpy/pull/10671>`__: DOC/MAINT: More misc. typos
|
||||
* `#10672 <https://github.com/numpy/numpy/pull/10672>`__: ENH: Allow dtype field names to be ascii encoded unicode in Python2
|
||||
* `#10676 <https://github.com/numpy/numpy/pull/10676>`__: BUG: F2py mishandles quoted control characters
|
||||
* `#10677 <https://github.com/numpy/numpy/pull/10677>`__: STY: Minor stylistic cleanup of numeric.py
|
||||
* `#10679 <https://github.com/numpy/numpy/pull/10679>`__: DOC: zeros, empty, and ones now have consistent docstrings
|
||||
* `#10684 <https://github.com/numpy/numpy/pull/10684>`__: ENH: Modify intersect1d to return common indices
|
||||
* `#10689 <https://github.com/numpy/numpy/pull/10689>`__: BLD: Add configuration changes to allow cross platform builds...
|
||||
* `#10691 <https://github.com/numpy/numpy/pull/10691>`__: DOC: add versionadded for NDArrayOperatorsMixin.
|
||||
* `#10694 <https://github.com/numpy/numpy/pull/10694>`__: DOC: Improve docstring of memmap
|
||||
* `#10698 <https://github.com/numpy/numpy/pull/10698>`__: BUG: Further back-compat fix for subclassed array repr (forward...
|
||||
* `#10699 <https://github.com/numpy/numpy/pull/10699>`__: DOC: Grammar of np.gradient docstring
|
||||
* `#10702 <https://github.com/numpy/numpy/pull/10702>`__: TST, DOC: Upload devdocs and neps after circleci build
|
||||
* `#10703 <https://github.com/numpy/numpy/pull/10703>`__: MAINT: NEP process updates
|
||||
* `#10708 <https://github.com/numpy/numpy/pull/10708>`__: BUG: fix problem with modifying pyf lines containing ';' in f2py
|
||||
* `#10710 <https://github.com/numpy/numpy/pull/10710>`__: BUG: fix error message in numpy.select
|
||||
* `#10711 <https://github.com/numpy/numpy/pull/10711>`__: MAINT: Hard tab and whitespace cleanup.
|
||||
* `#10715 <https://github.com/numpy/numpy/pull/10715>`__: MAINT: Fixed C++ guard in f2py test.
|
||||
* `#10716 <https://github.com/numpy/numpy/pull/10716>`__: BUG: dragon4 fractional output mode adds too many trailing zeros
|
||||
* `#10718 <https://github.com/numpy/numpy/pull/10718>`__: BUG: Fix bug in asserting near equality of float16 arrays.
|
||||
* `#10719 <https://github.com/numpy/numpy/pull/10719>`__: DOC: add documentation for constants
|
||||
* `#10720 <https://github.com/numpy/numpy/pull/10720>`__: BUG: distutils: Remove named templates from the processed output...
|
||||
* `#10722 <https://github.com/numpy/numpy/pull/10722>`__: MAINT: Misc small fixes.
|
||||
* `#10730 <https://github.com/numpy/numpy/pull/10730>`__: DOC: Fix minor typo in how-to-document.
|
||||
* `#10732 <https://github.com/numpy/numpy/pull/10732>`__: BUG: Fix `setup.py build install egg_info`, which did not previously...
|
||||
* `#10734 <https://github.com/numpy/numpy/pull/10734>`__: DOC: Post 1.14.2 release update.
|
||||
* `#10737 <https://github.com/numpy/numpy/pull/10737>`__: MAINT: Fix low-hanging PyPy compatibility issues
|
||||
* `#10739 <https://github.com/numpy/numpy/pull/10739>`__: BUG: Fix histogram bins="auto" for data with little variance
|
||||
* `#10740 <https://github.com/numpy/numpy/pull/10740>`__: MAINT, TST: Fixes for Python 3.7
|
||||
* `#10743 <https://github.com/numpy/numpy/pull/10743>`__: MAINT: Import abstract classes from collections.abc
|
||||
* `#10745 <https://github.com/numpy/numpy/pull/10745>`__: ENH: Add object loops to the comparison ufuncs
|
||||
* `#10746 <https://github.com/numpy/numpy/pull/10746>`__: MAINT: Fix typo in warning message
|
||||
* `#10748 <https://github.com/numpy/numpy/pull/10748>`__: DOC: a.size and np.prod(a.shape) are not equivalent
|
||||
* `#10750 <https://github.com/numpy/numpy/pull/10750>`__: DOC: Add graph showing different behaviors of np.percentile
|
||||
* `#10755 <https://github.com/numpy/numpy/pull/10755>`__: DOC: Move bin estimator documentation from `histogram` to `histogram_bin_edges`
|
||||
* `#10758 <https://github.com/numpy/numpy/pull/10758>`__: TST: Change most travisci tests to Python3.6.
|
||||
* `#10763 <https://github.com/numpy/numpy/pull/10763>`__: BUG: floating types should override tp_print
|
||||
* `#10766 <https://github.com/numpy/numpy/pull/10766>`__: MAINT: Remove the unused scalarmath getters for fmod and sqrt
|
||||
* `#10773 <https://github.com/numpy/numpy/pull/10773>`__: BUG: Use dummy_threading on platforms that don't support threading
|
||||
* `#10774 <https://github.com/numpy/numpy/pull/10774>`__: BUG: Fix SQRT_MIN for platforms with 8-byte long double
|
||||
* `#10775 <https://github.com/numpy/numpy/pull/10775>`__: BUG: Return NULL from PyInit_* when exception is raised
|
||||
* `#10777 <https://github.com/numpy/numpy/pull/10777>`__: MAINT: Remove use of unittest in NumPy tests.
|
||||
* `#10778 <https://github.com/numpy/numpy/pull/10778>`__: BUG: test, fix for missing flags['WRITEBACKIFCOPY'] key
|
||||
* `#10781 <https://github.com/numpy/numpy/pull/10781>`__: ENH: NEP index builder
|
||||
* `#10785 <https://github.com/numpy/numpy/pull/10785>`__: DOC: Fixed author name in reference to book
|
||||
* `#10786 <https://github.com/numpy/numpy/pull/10786>`__: ENH: Add "stable" option to np.sort as an alias for "mergesort".
|
||||
* `#10790 <https://github.com/numpy/numpy/pull/10790>`__: TST: Various fixes prior to switching to pytest
|
||||
* `#10795 <https://github.com/numpy/numpy/pull/10795>`__: BUG: Allow spaces in output string of einsum
|
||||
* `#10796 <https://github.com/numpy/numpy/pull/10796>`__: BUG: fix wrong inplace vectorization on overlapping arguments
|
||||
* `#10798 <https://github.com/numpy/numpy/pull/10798>`__: BUG: error checking before mapping of einsum axes.
|
||||
* `#10800 <https://github.com/numpy/numpy/pull/10800>`__: DOC: Add remarks about array vs scalar output to every ufunc
|
||||
* `#10802 <https://github.com/numpy/numpy/pull/10802>`__: BUG/DOC/MAINT: Tidy up histogramdd
|
||||
* `#10807 <https://github.com/numpy/numpy/pull/10807>`__: DOC: Update link to tox in development docs (#10806)
|
||||
* `#10812 <https://github.com/numpy/numpy/pull/10812>`__: MAINT: Rearrange `numpy/testing` files
|
||||
* `#10814 <https://github.com/numpy/numpy/pull/10814>`__: BUG: verify the OS supports avx instruction
|
||||
* `#10822 <https://github.com/numpy/numpy/pull/10822>`__: BUG: fixes exception in numpy.genfromtxt, see #10780
|
||||
* `#10824 <https://github.com/numpy/numpy/pull/10824>`__: BUG: test, fix PyArray_DiscardWritebackIfCopy refcount issue...
|
||||
* `#10826 <https://github.com/numpy/numpy/pull/10826>`__: BUG: np.squeeze() now respects older API axis expectation
|
||||
* `#10827 <https://github.com/numpy/numpy/pull/10827>`__: ENH: Add tester for pytest.
|
||||
* `#10828 <https://github.com/numpy/numpy/pull/10828>`__: BUG: fix obvious mistake in testing/decorators warning.
|
||||
* `#10829 <https://github.com/numpy/numpy/pull/10829>`__: BLD: use Python 3.6 instead of 2.7 as default for doc build.
|
||||
* `#10830 <https://github.com/numpy/numpy/pull/10830>`__: BUG: Fix obvious warning bugs.
|
||||
* `#10831 <https://github.com/numpy/numpy/pull/10831>`__: DOC: Fix minor typos
|
||||
* `#10832 <https://github.com/numpy/numpy/pull/10832>`__: ENH: datetime64: support AC dates starting with '+'
|
||||
* `#10833 <https://github.com/numpy/numpy/pull/10833>`__: ENH: Add support for the 64-bit RISC-V architecture
|
||||
* `#10834 <https://github.com/numpy/numpy/pull/10834>`__: DOC: note that NDEBUG should be set when OPT should increase...
|
||||
* `#10836 <https://github.com/numpy/numpy/pull/10836>`__: MAINT: Fix script name for pushing NEP docs to repo
|
||||
* `#10840 <https://github.com/numpy/numpy/pull/10840>`__: MAINT: Fix typo in code example.
|
||||
* `#10842 <https://github.com/numpy/numpy/pull/10842>`__: TST: Switch to pytest
|
||||
* `#10849 <https://github.com/numpy/numpy/pull/10849>`__: DOC: fix examples in docstring for np.flip
|
||||
* `#10850 <https://github.com/numpy/numpy/pull/10850>`__: DEP: Issue deprecation warnings for some imports.
|
||||
* `#10858 <https://github.com/numpy/numpy/pull/10858>`__: MAINT: Post pytest switch cleanup
|
||||
* `#10859 <https://github.com/numpy/numpy/pull/10859>`__: MAINT: Remove yield tests
|
||||
* `#10860 <https://github.com/numpy/numpy/pull/10860>`__: BUG: core: fix NPY_TITLE_KEY macro on pypy
|
||||
* `#10863 <https://github.com/numpy/numpy/pull/10863>`__: MAINT: More Histogramdd cleanup
|
||||
* `#10867 <https://github.com/numpy/numpy/pull/10867>`__: DOC: Cross Link full/full_like in a few see-also sections.
|
||||
* `#10869 <https://github.com/numpy/numpy/pull/10869>`__: BUG: Fix encoding regression in ma/bench.py (Issue #10868)
|
||||
* `#10871 <https://github.com/numpy/numpy/pull/10871>`__: MAINT: Remove unnecessary special case in np.histogramdd for...
|
||||
* `#10872 <https://github.com/numpy/numpy/pull/10872>`__: ENH: Extend np.flip to work over multiple axes
|
||||
* `#10874 <https://github.com/numpy/numpy/pull/10874>`__: DOC: State in docstring that lexsort is stable (#10873).
|
||||
* `#10875 <https://github.com/numpy/numpy/pull/10875>`__: BUG: fix savetxt, loadtxt for '+-' in complex
|
||||
* `#10878 <https://github.com/numpy/numpy/pull/10878>`__: DOC: rework documents and silence warnings during sphinx build
|
||||
* `#10882 <https://github.com/numpy/numpy/pull/10882>`__: BUG: have `_array_from_buffer_3118` correctly handle errors
|
||||
* `#10883 <https://github.com/numpy/numpy/pull/10883>`__: DOC: Fix negative binomial documentation.
|
||||
* `#10885 <https://github.com/numpy/numpy/pull/10885>`__: TST: Re-enable test display on appveyor
|
||||
* `#10890 <https://github.com/numpy/numpy/pull/10890>`__: MAINT: lstsq: compute residuals inside the ufunc
|
||||
* `#10891 <https://github.com/numpy/numpy/pull/10891>`__: TST: Extract a helper function to test for reference cycles
|
||||
* `#10898 <https://github.com/numpy/numpy/pull/10898>`__: ENH: Have dtype transfer for equivalent user dtypes prefer user-defined...
|
||||
* `#10901 <https://github.com/numpy/numpy/pull/10901>`__: DOC, BUG : Bad link to `np.random.randint`
|
||||
* `#10903 <https://github.com/numpy/numpy/pull/10903>`__: DOC: Fix link in `See Also` section of `randn` docstring.
|
||||
* `#10907 <https://github.com/numpy/numpy/pull/10907>`__: TST: reactivate module docstring tests, fix float formatting
|
||||
* `#10911 <https://github.com/numpy/numpy/pull/10911>`__: BUG: Fix casting between npy_half and float in einsum
|
||||
* `#10916 <https://github.com/numpy/numpy/pull/10916>`__: BUG: Add missing underscore to prototype in check_embedded_lapack
|
||||
* `#10919 <https://github.com/numpy/numpy/pull/10919>`__: BUG: Pass non-None outputs to `__array_prepare__` and `__array_wrap__`
|
||||
* `#10921 <https://github.com/numpy/numpy/pull/10921>`__: DOC: clear up warnings, fix matplotlib plot
|
||||
* `#10923 <https://github.com/numpy/numpy/pull/10923>`__: BUG: fixed dtype alignment for array of structs in case of converting...
|
||||
* `#10925 <https://github.com/numpy/numpy/pull/10925>`__: DOC: Fix typos in 1.15.0 changelog
|
||||
* `#10936 <https://github.com/numpy/numpy/pull/10936>`__: DOC: Fix NumpyVersion example (closes gh-10935)
|
||||
* `#10938 <https://github.com/numpy/numpy/pull/10938>`__: MAINT: One step closer to vectorizing lstsq
|
||||
* `#10940 <https://github.com/numpy/numpy/pull/10940>`__: DOC: fix broken links for developer documentation
|
||||
* `#10943 <https://github.com/numpy/numpy/pull/10943>`__: ENH: Add a search box to the sidebar in the docs
|
||||
* `#10945 <https://github.com/numpy/numpy/pull/10945>`__: MAINT: Remove references to the 2008 documentation marathon
|
||||
* `#10946 <https://github.com/numpy/numpy/pull/10946>`__: BUG: 'style' arg to array2string broken in legacy mode
|
||||
* `#10949 <https://github.com/numpy/numpy/pull/10949>`__: DOC: cleanup documentation, continuation of nditer PR #9998
|
||||
* `#10951 <https://github.com/numpy/numpy/pull/10951>`__: BUG: it.close() disallows access to iterator, fixes #10950
|
||||
* `#10953 <https://github.com/numpy/numpy/pull/10953>`__: MAINT: address extraneous shape tuple checks in descriptor.c
|
||||
* `#10958 <https://github.com/numpy/numpy/pull/10958>`__: MAINT, DOC: Fix typos
|
||||
* `#10967 <https://github.com/numpy/numpy/pull/10967>`__: DOC: add quantile, nanquantile to toc
|
||||
* `#10970 <https://github.com/numpy/numpy/pull/10970>`__: WIP: Remove fragile use of `__array_interface__` in ctypeslib.as_array
|
||||
* `#10971 <https://github.com/numpy/numpy/pull/10971>`__: MAINT: Remove workaround for gh-10891
|
||||
* `#10973 <https://github.com/numpy/numpy/pull/10973>`__: DOC: advise against use of matrix.
|
||||
* `#10975 <https://github.com/numpy/numpy/pull/10975>`__: MAINT: move linalg tests using matrix to matrixlib
|
||||
* `#10980 <https://github.com/numpy/numpy/pull/10980>`__: DOC: link to governance, convert external link to internal
|
||||
* `#10984 <https://github.com/numpy/numpy/pull/10984>`__: MAINT: Added pytest cache folder to .gitignore
|
||||
* `#10985 <https://github.com/numpy/numpy/pull/10985>`__: MAINT, ENH: Move matrix_power to linalg and allow higher dimensions.
|
||||
* `#10986 <https://github.com/numpy/numpy/pull/10986>`__: MAINT: move all masked array matrix tests to matrixlib.
|
||||
* `#10987 <https://github.com/numpy/numpy/pull/10987>`__: DOC: Correction to docstring example (result was correct)
|
||||
* `#10988 <https://github.com/numpy/numpy/pull/10988>`__: MAINT: Small tidy-ups to ufunc_object.c
|
||||
* `#10991 <https://github.com/numpy/numpy/pull/10991>`__: DOC: Update genfromtxt docs to use StringIO and u-strings
|
||||
* `#10996 <https://github.com/numpy/numpy/pull/10996>`__: DOC: Make doc examples using StringIO python2-3 compatible
|
||||
* `#11003 <https://github.com/numpy/numpy/pull/11003>`__: DOC: work around GH isaacs/github#316 to show SVG image
|
||||
* `#11005 <https://github.com/numpy/numpy/pull/11005>`__: MAINT: Misc. typos
|
||||
* `#11006 <https://github.com/numpy/numpy/pull/11006>`__: TST, BUILD: add latex to circleci doc build
|
||||
* `#11008 <https://github.com/numpy/numpy/pull/11008>`__: REL: Fwd port 1.14.3 changelog
|
||||
* `#11009 <https://github.com/numpy/numpy/pull/11009>`__: DOC: release walkthrough updates from 1.14.3
|
||||
* `#11010 <https://github.com/numpy/numpy/pull/11010>`__: Move remaining Matrix tests to matrixlib
|
||||
* `#11011 <https://github.com/numpy/numpy/pull/11011>`__: MAINT: Simplify dimension-juggling in np.pad
|
||||
* `#11012 <https://github.com/numpy/numpy/pull/11012>`__: MAINT: np.pad: Add helper functions for producing slices along...
|
||||
* `#11018 <https://github.com/numpy/numpy/pull/11018>`__: ENH: Implement axis for generalized ufuncs.
|
||||
* `#11023 <https://github.com/numpy/numpy/pull/11023>`__: BUG: np.histogramdd loses precision on its inputs, leading to...
|
||||
* `#11026 <https://github.com/numpy/numpy/pull/11026>`__: MAINT: reduce code duplication in ufunc_frompyfunc
|
||||
* `#11033 <https://github.com/numpy/numpy/pull/11033>`__: BUG: Fix padding with large integers
|
||||
* `#11036 <https://github.com/numpy/numpy/pull/11036>`__: BUG: optimizing compilers can reorder call to npy_get_floatstatus
|
||||
* `#11037 <https://github.com/numpy/numpy/pull/11037>`__: BUG: initialize value before use
|
||||
* `#11038 <https://github.com/numpy/numpy/pull/11038>`__: ENH: Add `__deepcopy__` to MaskedConstant
|
||||
* `#11043 <https://github.com/numpy/numpy/pull/11043>`__: BUG: reduce using SSE only warns if inside SSE loop
|
||||
* `#11050 <https://github.com/numpy/numpy/pull/11050>`__: BUG: remove fast scalar power for arrays with object dtype
|
||||
* `#11053 <https://github.com/numpy/numpy/pull/11053>`__: DOC: bump scipy-sphinx-theme to current version
|
||||
* `#11055 <https://github.com/numpy/numpy/pull/11055>`__: DOC: Add explanation for comments=None in loadtxt.
|
||||
* `#11056 <https://github.com/numpy/numpy/pull/11056>`__: MAINT: Improve performance of random permutation
|
||||
* `#11057 <https://github.com/numpy/numpy/pull/11057>`__: BUG: use absolute imports in test files
|
||||
* `#11066 <https://github.com/numpy/numpy/pull/11066>`__: MAINT: `distutils.system_info`: handle Accelerate like any other...
|
||||
* `#11073 <https://github.com/numpy/numpy/pull/11073>`__: DOC: expand reasoning behind npy_*floatstatus_barrer()
|
||||
* `#11076 <https://github.com/numpy/numpy/pull/11076>`__: BUG: Ensure `PyArray_AssignRawScalar` respects `NPY_NEEDS_INIT`
|
||||
* `#11082 <https://github.com/numpy/numpy/pull/11082>`__: DOC: link to updated module docstring, not NEP
|
||||
* `#11083 <https://github.com/numpy/numpy/pull/11083>`__: ENH: remove nose from travis tests
|
||||
* `#11085 <https://github.com/numpy/numpy/pull/11085>`__: DOC: create label and ref, fixes broken link
|
||||
* `#11086 <https://github.com/numpy/numpy/pull/11086>`__: DOC: Mention we can return unitinitialized values
|
||||
* `#11089 <https://github.com/numpy/numpy/pull/11089>`__: BLD: cleanup `_configtest.o.d` during build
|
||||
* `#11090 <https://github.com/numpy/numpy/pull/11090>`__: BUG: Added support for index values 27-52 in C einsum
|
||||
* `#11091 <https://github.com/numpy/numpy/pull/11091>`__: BUG: Python2 doubles don't print correctly in interactive shell
|
||||
* `#11094 <https://github.com/numpy/numpy/pull/11094>`__: DOC: add numpy.lib.format to docs and link to it
|
||||
* `#11095 <https://github.com/numpy/numpy/pull/11095>`__: MAINT: Einsum argument parsing cleanup
|
||||
* `#11097 <https://github.com/numpy/numpy/pull/11097>`__: BUG: fix datetime.timedelta->timedelta64 unit detection logic
|
||||
* `#11098 <https://github.com/numpy/numpy/pull/11098>`__: ENH: Add keepdims argument for generalized ufuncs.
|
||||
* `#11105 <https://github.com/numpy/numpy/pull/11105>`__: ENH: Add (put|take)_along_axis
|
||||
* `#11111 <https://github.com/numpy/numpy/pull/11111>`__: BUG: fix case of ISA selector in ufunc selection
|
||||
* `#11116 <https://github.com/numpy/numpy/pull/11116>`__: BUG: Typo in variable name in binary_repr
|
||||
* `#11120 <https://github.com/numpy/numpy/pull/11120>`__: MAINT: remove redundant code in `MaskedArray.__new__`
|
||||
* `#11122 <https://github.com/numpy/numpy/pull/11122>`__: BUG,MAINT: Ensure masked elements can be tested against nan and...
|
||||
* `#11124 <https://github.com/numpy/numpy/pull/11124>`__: BUG: Ensure that fully masked arrays pass assert_array_equal.
|
||||
* `#11134 <https://github.com/numpy/numpy/pull/11134>`__: DOC: Clarify tofile requirements
|
||||
* `#11137 <https://github.com/numpy/numpy/pull/11137>`__: MAINT: move remaining MaskedArray matrix tests to matrixlib.
|
||||
* `#11139 <https://github.com/numpy/numpy/pull/11139>`__: TST: turn some build warnings into errors
|
||||
* `#11140 <https://github.com/numpy/numpy/pull/11140>`__: MAINT: Update artful to bionic for i386 testing
|
||||
* `#11141 <https://github.com/numpy/numpy/pull/11141>`__: MAINT: Extract a helper function for prepending and appending
|
||||
* `#11145 <https://github.com/numpy/numpy/pull/11145>`__: DOC: cleanup NEP creation
|
||||
* `#11146 <https://github.com/numpy/numpy/pull/11146>`__: DOC: add a NEP to split MaskedArray into a separate package
|
||||
* `#11148 <https://github.com/numpy/numpy/pull/11148>`__: TST: make build warning into an error in runtest.py
|
||||
* `#11149 <https://github.com/numpy/numpy/pull/11149>`__: BUG: guessing datetime, time precedence
|
||||
* `#11152 <https://github.com/numpy/numpy/pull/11152>`__: BENCH: Add basic benchmarks for numpy.pad
|
||||
* `#11155 <https://github.com/numpy/numpy/pull/11155>`__: BUG: Prevent stackoverflow in conversion to datetime types
|
||||
* `#11158 <https://github.com/numpy/numpy/pull/11158>`__: TST: disable gc in refcount test
|
||||
* `#11159 <https://github.com/numpy/numpy/pull/11159>`__: TST: Skip ctypes dependent test that fails on Python < 2.7.7.
|
||||
* `#11160 <https://github.com/numpy/numpy/pull/11160>`__: TST: windows builds now properly support floating error states
|
||||
* `#11163 <https://github.com/numpy/numpy/pull/11163>`__: MAINT: Work around non-deterministic Python readdir order in...
|
||||
* `#11167 <https://github.com/numpy/numpy/pull/11167>`__: MAINT: Cleanup dragon4 code in various ways
|
||||
* `#11168 <https://github.com/numpy/numpy/pull/11168>`__: TST: linalg: add regression test for gh-8577
|
||||
* `#11169 <https://github.com/numpy/numpy/pull/11169>`__: MAINT: add sanity-checks to be run at import time
|
||||
* `#11173 <https://github.com/numpy/numpy/pull/11173>`__: MAINT: Ensure that parsing errors are passed on even in tests.
|
||||
* `#11176 <https://github.com/numpy/numpy/pull/11176>`__: MAINT: avoid setting non-existing gufunc strides for keepdims=True.
|
||||
* `#11177 <https://github.com/numpy/numpy/pull/11177>`__: DOC: improvement of the documentation for gufunc.
|
||||
* `#11178 <https://github.com/numpy/numpy/pull/11178>`__: TST: Test dimensions/indices found from parsed gufunc signatures.
|
||||
* `#11180 <https://github.com/numpy/numpy/pull/11180>`__: BUG: void dtype setup checked offset not actual pointer for alignment
|
||||
* `#11182 <https://github.com/numpy/numpy/pull/11182>`__: BUG: Avoid deprecated non-tuple indexing
|
||||
* `#11184 <https://github.com/numpy/numpy/pull/11184>`__: MAINT: Add bitmask helper functions
|
||||
* `#11185 <https://github.com/numpy/numpy/pull/11185>`__: MAINT: Add comments to long_double detection code
|
||||
* `#11186 <https://github.com/numpy/numpy/pull/11186>`__: TST: Add np.core._multiarray_tests.format_float_OSprintf_g
|
||||
* `#11187 <https://github.com/numpy/numpy/pull/11187>`__: MAINT: Use the more common -1 / 0 to indicate error / success
|
||||
* `#11189 <https://github.com/numpy/numpy/pull/11189>`__: NEP: Array function protocol
|
||||
* `#11190 <https://github.com/numpy/numpy/pull/11190>`__: DOC: Update NEP0 to clarify that discussion should happen on...
|
||||
* `#11191 <https://github.com/numpy/numpy/pull/11191>`__: MAINT: remove darwin hardcoded LDOUBLE detection
|
||||
* `#11193 <https://github.com/numpy/numpy/pull/11193>`__: BUG: Fix reference count/memory leak exposed by better testing
|
||||
* `#11200 <https://github.com/numpy/numpy/pull/11200>`__: BUG: Bytes delimiter/comments in genfromtxt should be decoded
|
||||
* `#11209 <https://github.com/numpy/numpy/pull/11209>`__: DOC: Fix doctest formatting in `rot90()` examples
|
||||
* `#11218 <https://github.com/numpy/numpy/pull/11218>`__: BUG: Fixes einsum broadcasting bug when optimize=True
|
||||
* `#11222 <https://github.com/numpy/numpy/pull/11222>`__: DOC: Make reference doc nditer examples python3 friendly
|
||||
* `#11223 <https://github.com/numpy/numpy/pull/11223>`__: BUG: Forcibly promote shape to uint64 in numpy.memmap.
|
||||
* `#11225 <https://github.com/numpy/numpy/pull/11225>`__: DOC: add existing recfunctions documentation to output
|
||||
* `#11226 <https://github.com/numpy/numpy/pull/11226>`__: MAINT: add 'rst' to nep filename, fixup urls
|
||||
* `#11229 <https://github.com/numpy/numpy/pull/11229>`__: NEP: New RNG policy
|
||||
* `#11231 <https://github.com/numpy/numpy/pull/11231>`__: MAINT: ensure we do not create unnecessary tuples for outputs
|
||||
* `#11238 <https://github.com/numpy/numpy/pull/11238>`__: MAINT: Don't update the flags a second time
|
||||
* `#11239 <https://github.com/numpy/numpy/pull/11239>`__: MAINT: Use PyArray_NewFromDescr where possible, remove unused...
|
||||
* `#11240 <https://github.com/numpy/numpy/pull/11240>`__: MAINT: Remove dead code backporting py2.6 warnings
|
||||
* `#11246 <https://github.com/numpy/numpy/pull/11246>`__: BUG: Set ndarray.base before `__array_finalize__`
|
||||
* `#11247 <https://github.com/numpy/numpy/pull/11247>`__: MAINT/BUG: Remove out-of-band reference count in PyArray_Newshape,...
|
||||
* `#11248 <https://github.com/numpy/numpy/pull/11248>`__: MAINT: Don't update the flags a second time
|
||||
* `#11249 <https://github.com/numpy/numpy/pull/11249>`__: BUG: Remove errant flag meddling in .real and .imag
|
||||
* `#11252 <https://github.com/numpy/numpy/pull/11252>`__: DOC: show how to generate release notes in release walkthrough
|
||||
* `#11257 <https://github.com/numpy/numpy/pull/11257>`__: BUG: ensure extobj and axes have their own references.
|
||||
* `#11260 <https://github.com/numpy/numpy/pull/11260>`__: MAINT: Do proper cleanup in get_ufunc_arguments.
|
||||
* `#11263 <https://github.com/numpy/numpy/pull/11263>`__: DOC: Update master after NumPy 1.14.4 release.
|
||||
* `#11269 <https://github.com/numpy/numpy/pull/11269>`__: BUG: Correct use of NPY_UNUSED.
|
||||
* `#11273 <https://github.com/numpy/numpy/pull/11273>`__: BUG: Remove invalid read in searchsorted if needle is empty
|
||||
* `#11275 <https://github.com/numpy/numpy/pull/11275>`__: TST: Do not use empty arrays in tests (unless they are not read)
|
||||
* `#11277 <https://github.com/numpy/numpy/pull/11277>`__: BUG: Work around past and present PEP3118 issues in ctypes
|
||||
* `#11280 <https://github.com/numpy/numpy/pull/11280>`__: DOC: make docstring of np.interp clearer
|
||||
* `#11286 <https://github.com/numpy/numpy/pull/11286>`__: BUG: einsum needs to check overlap on an out argument
|
||||
* `#11287 <https://github.com/numpy/numpy/pull/11287>`__: DOC: Minor documentation improvements
|
||||
* `#11291 <https://github.com/numpy/numpy/pull/11291>`__: BUG: Remove extra trailing parentheses.
|
||||
* `#11293 <https://github.com/numpy/numpy/pull/11293>`__: DOC: fix hierarchy of numericaltype
|
||||
* `#11296 <https://github.com/numpy/numpy/pull/11296>`__: BUG: Fix segfault on failing `__array_wrap__`
|
||||
* `#11298 <https://github.com/numpy/numpy/pull/11298>`__: BUG: Undo behavior change in ma.masked_values(shrink=True)
|
||||
* `#11307 <https://github.com/numpy/numpy/pull/11307>`__: BUG: Fix memmap regression when shape=None
|
||||
* `#11314 <https://github.com/numpy/numpy/pull/11314>`__: MAINT: remove unused "npy_import"
|
||||
* `#11315 <https://github.com/numpy/numpy/pull/11315>`__: MAINT: Package `tools/allocation_tracking`
|
||||
* `#11319 <https://github.com/numpy/numpy/pull/11319>`__: REL, REV: Revert f2py fixes that exposed SciPy bug.
|
||||
* `#11327 <https://github.com/numpy/numpy/pull/11327>`__: DOC: Update release notes for 1.15.0.
|
||||
* `#11339 <https://github.com/numpy/numpy/pull/11339>`__: BUG: decref in failure path; replace PyObject_Type by Py_TYPE
|
||||
* `#11352 <https://github.com/numpy/numpy/pull/11352>`__: DEP: Actually deprecate the normed argument to histogram
|
||||
* `#11359 <https://github.com/numpy/numpy/pull/11359>`__: DOC: document new functions
|
||||
* `#11367 <https://github.com/numpy/numpy/pull/11367>`__: BUG: add missing NpyIter_Close in einsum
|
||||
* `#11368 <https://github.com/numpy/numpy/pull/11368>`__: BUG/TST: String indexing should just fail, not emit a futurewarning
|
||||
* `#11389 <https://github.com/numpy/numpy/pull/11389>`__: ENH: Remove NpyIter_Close
|
||||
* `#11392 <https://github.com/numpy/numpy/pull/11392>`__: BUG: Make scalar.squeeze accept axis arg
|
||||
* `#11393 <https://github.com/numpy/numpy/pull/11393>`__: REL,MAINT: Update numpyconfig.h for 1.15.
|
||||
* `#11394 <https://github.com/numpy/numpy/pull/11394>`__: MAINT: Update mailmap
|
||||
* `#11403 <https://github.com/numpy/numpy/pull/11403>`__: DOC: Remove npyiter close from notes
|
||||
* `#11427 <https://github.com/numpy/numpy/pull/11427>`__: BUG: Fix incorrect deprecation logic for histogram(normed=...)...
|
||||
* `#11489 <https://github.com/numpy/numpy/pull/11489>`__: BUG: Ensure out is returned in einsum.
|
||||
* `#11491 <https://github.com/numpy/numpy/pull/11491>`__: BUG/ENH: Einsum optimization path updates and bug fixes.
|
||||
* `#11493 <https://github.com/numpy/numpy/pull/11493>`__: BUG: Revert #10229 to fix DLL loads on Windows.
|
||||
* `#11494 <https://github.com/numpy/numpy/pull/11494>`__: MAINT: add PyPI classifier for Python 3.7
|
||||
* `#11495 <https://github.com/numpy/numpy/pull/11495>`__: BENCH: belated addition of lcm, gcd to ufunc benchmark.
|
||||
* `#11496 <https://github.com/numpy/numpy/pull/11496>`__: BUG: Advanced indexing assignment incorrectly took 1-D fastpath
|
||||
* `#11511 <https://github.com/numpy/numpy/pull/11511>`__: BUG: Fix #define for ppc64 and ppc64le
|
||||
* `#11529 <https://github.com/numpy/numpy/pull/11529>`__: ENH: Add density argument to histogramdd.
|
||||
* `#11532 <https://github.com/numpy/numpy/pull/11532>`__: BUG: Decref of field title caused segfault
|
||||
* `#11540 <https://github.com/numpy/numpy/pull/11540>`__: DOC: Update the 1.15.0 release notes.
|
||||
* `#11577 <https://github.com/numpy/numpy/pull/11577>`__: BLD: Modify cpu detection and printing to get working aarch64...
|
||||
* `#11578 <https://github.com/numpy/numpy/pull/11578>`__: DOC: link to TESTS.rst.txt testing guidelines, tweak testing...
|
||||
* `#11602 <https://github.com/numpy/numpy/pull/11602>`__: TST: Add Python 3.7 to CI testing
|
|
@ -0,0 +1,44 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 7 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Charles Harris
|
||||
* Chris Billington
|
||||
* Elliott Sales de Andrade +
|
||||
* Eric Wieser
|
||||
* Jeremy Manning +
|
||||
* Matti Picus
|
||||
* Ralf Gommers
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 24 pull requests were merged for this release.
|
||||
|
||||
* `#11647 <https://github.com/numpy/numpy/pull/11647>`__: MAINT: Filter Cython warnings in ``__init__.py``
|
||||
* `#11648 <https://github.com/numpy/numpy/pull/11648>`__: BUG: Fix doc source links to unwrap decorators
|
||||
* `#11657 <https://github.com/numpy/numpy/pull/11657>`__: BUG: Ensure singleton dimensions are not dropped when converting...
|
||||
* `#11661 <https://github.com/numpy/numpy/pull/11661>`__: BUG: Warn on Nan in minimum,maximum for scalars
|
||||
* `#11665 <https://github.com/numpy/numpy/pull/11665>`__: BUG: cython sometimes emits invalid gcc attribute
|
||||
* `#11682 <https://github.com/numpy/numpy/pull/11682>`__: BUG: Fix regression in void_getitem
|
||||
* `#11698 <https://github.com/numpy/numpy/pull/11698>`__: BUG: Make matrix_power again work for object arrays.
|
||||
* `#11700 <https://github.com/numpy/numpy/pull/11700>`__: BUG: Add missing PyErr_NoMemory after failing malloc
|
||||
* `#11719 <https://github.com/numpy/numpy/pull/11719>`__: BUG: Fix undefined functions on big-endian systems.
|
||||
* `#11720 <https://github.com/numpy/numpy/pull/11720>`__: MAINT: Make einsum optimize default to False.
|
||||
* `#11746 <https://github.com/numpy/numpy/pull/11746>`__: BUG: Fix regression in loadtxt for bz2 text files in Python 2.
|
||||
* `#11757 <https://github.com/numpy/numpy/pull/11757>`__: BUG: Revert use of `console_scripts`.
|
||||
* `#11758 <https://github.com/numpy/numpy/pull/11758>`__: BUG: Fix Fortran kind detection for aarch64 & s390x.
|
||||
* `#11759 <https://github.com/numpy/numpy/pull/11759>`__: BUG: Fix printing of longdouble on ppc64le.
|
||||
* `#11760 <https://github.com/numpy/numpy/pull/11760>`__: BUG: Fixes for unicode field names in Python 2
|
||||
* `#11761 <https://github.com/numpy/numpy/pull/11761>`__: BUG: Increase required cython version on python 3.7
|
||||
* `#11763 <https://github.com/numpy/numpy/pull/11763>`__: BUG: check return value of _buffer_format_string
|
||||
* `#11775 <https://github.com/numpy/numpy/pull/11775>`__: MAINT: Make assert_array_compare more generic.
|
||||
* `#11776 <https://github.com/numpy/numpy/pull/11776>`__: TST: Fix urlopen stubbing.
|
||||
* `#11777 <https://github.com/numpy/numpy/pull/11777>`__: BUG: Fix regression in intersect1d.
|
||||
* `#11779 <https://github.com/numpy/numpy/pull/11779>`__: BUG: Fix test sensitive to platform byte order.
|
||||
* `#11781 <https://github.com/numpy/numpy/pull/11781>`__: BUG: Avoid signed overflow in histogram
|
||||
* `#11785 <https://github.com/numpy/numpy/pull/11785>`__: BUG: Fix pickle and memoryview for datetime64, timedelta64 scalars
|
||||
* `#11786 <https://github.com/numpy/numpy/pull/11786>`__: BUG: Deprecation triggers segfault
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 4 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Charles Harris
|
||||
* Julian Taylor
|
||||
* Marten van Kerkwijk
|
||||
* Matti Picus
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 4 pull requests were merged for this release.
|
||||
|
||||
* `#11902 <https://github.com/numpy/numpy/pull/11902>`__: BUG: Fix matrix PendingDeprecationWarning suppression for pytest...
|
||||
* `#11981 <https://github.com/numpy/numpy/pull/11981>`__: BUG: fix cached allocations without the GIL for 1.15.x
|
||||
* `#11982 <https://github.com/numpy/numpy/pull/11982>`__: BUG: fix refcount leak in PyArray_AdaptFlexibleDType
|
||||
* `#11992 <https://github.com/numpy/numpy/pull/11992>`__: BUG: Ensure boolean indexing of subclasses sets base correctly.
|
|
@ -0,0 +1,32 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 7 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Allan Haldane
|
||||
* Charles Harris
|
||||
* Jeroen Demeyer
|
||||
* Kevin Sheppard
|
||||
* Matthew Bowden +
|
||||
* Matti Picus
|
||||
* Tyler Reddy
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 12 pull requests were merged for this release.
|
||||
|
||||
* `#12080 <https://github.com/numpy/numpy/pull/12080>`__: MAINT: Blacklist some MSVC complex functions.
|
||||
* `#12083 <https://github.com/numpy/numpy/pull/12083>`__: TST: Add azure CI testing to 1.15.x branch.
|
||||
* `#12084 <https://github.com/numpy/numpy/pull/12084>`__: BUG: test_path() now uses Path.resolve()
|
||||
* `#12085 <https://github.com/numpy/numpy/pull/12085>`__: TST, MAINT: Fix some failing tests on azure-pipelines mac and...
|
||||
* `#12187 <https://github.com/numpy/numpy/pull/12187>`__: BUG: Fix memory leak in mapping.c
|
||||
* `#12188 <https://github.com/numpy/numpy/pull/12188>`__: BUG: Allow boolean subtract in histogram
|
||||
* `#12189 <https://github.com/numpy/numpy/pull/12189>`__: BUG: Fix in-place permutation
|
||||
* `#12190 <https://github.com/numpy/numpy/pull/12190>`__: BUG: limit default for get_num_build_jobs() to 8
|
||||
* `#12191 <https://github.com/numpy/numpy/pull/12191>`__: BUG: OBJECT_to_* should check for errors
|
||||
* `#12192 <https://github.com/numpy/numpy/pull/12192>`__: DOC: Prepare for NumPy 1.15.3 release.
|
||||
* `#12237 <https://github.com/numpy/numpy/pull/12237>`__: BUG: Fix MaskedArray fill_value type conversion.
|
||||
* `#12238 <https://github.com/numpy/numpy/pull/12238>`__: TST: Backport azure-pipeline testing fixes for Mac
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 4 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Charles Harris
|
||||
* Matti Picus
|
||||
* Sebastian Berg
|
||||
* bbbbbbbbba +
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 4 pull requests were merged for this release.
|
||||
|
||||
* `#12296 <https://github.com/numpy/numpy/pull/12296>`__: BUG: Dealloc cached buffer info (#12249)
|
||||
* `#12297 <https://github.com/numpy/numpy/pull/12297>`__: BUG: Fix fill value in masked array '==' and '!=' ops.
|
||||
* `#12307 <https://github.com/numpy/numpy/pull/12307>`__: DOC: Correct the default value of `optimize` in `numpy.einsum`
|
||||
* `#12320 <https://github.com/numpy/numpy/pull/12320>`__: REL: Prepare for the NumPy 1.15.4 release
|
|
@ -0,0 +1,616 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 113 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Alan Fontenot +
|
||||
* Allan Haldane
|
||||
* Alon Hershenhorn +
|
||||
* Alyssa Quek +
|
||||
* Andreas Nussbaumer +
|
||||
* Anner +
|
||||
* Anthony Sottile +
|
||||
* Antony Lee
|
||||
* Ayappan P +
|
||||
* Bas van Schaik +
|
||||
* C.A.M. Gerlach +
|
||||
* Charles Harris
|
||||
* Chris Billington
|
||||
* Christian Clauss
|
||||
* Christoph Gohlke
|
||||
* Christopher Pezley +
|
||||
* Daniel B Allan +
|
||||
* Daniel Smith
|
||||
* Dawid Zych +
|
||||
* Derek Kim +
|
||||
* Dima Pasechnik +
|
||||
* Edgar Giovanni Lepe +
|
||||
* Elena Mokeeva +
|
||||
* Elliott Sales de Andrade +
|
||||
* Emil Hessman +
|
||||
* Eric Larson
|
||||
* Eric Schles +
|
||||
* Eric Wieser
|
||||
* Giulio Benetti +
|
||||
* Guillaume Gautier +
|
||||
* Guo Ci
|
||||
* Heath Henley +
|
||||
* Isuru Fernando +
|
||||
* J. Lewis Muir +
|
||||
* Jack Vreeken +
|
||||
* Jaime Fernandez
|
||||
* James Bourbeau
|
||||
* Jeff VanOss
|
||||
* Jeffrey Yancey +
|
||||
* Jeremy Chen +
|
||||
* Jeremy Manning +
|
||||
* Jeroen Demeyer
|
||||
* John Darbyshire +
|
||||
* John Kirkham
|
||||
* John Zwinck
|
||||
* Jonas Jensen +
|
||||
* Joscha Reimer +
|
||||
* Juan Azcarreta +
|
||||
* Julian Taylor
|
||||
* Kevin Sheppard
|
||||
* Krzysztof Chomski +
|
||||
* Kyle Sunden
|
||||
* Lars Grüter
|
||||
* Lilian Besson +
|
||||
* MSeifert04
|
||||
* Mark Harfouche
|
||||
* Marten van Kerkwijk
|
||||
* Martin Thoma
|
||||
* Matt Harrigan +
|
||||
* Matthew Bowden +
|
||||
* Matthew Brett
|
||||
* Matthias Bussonnier
|
||||
* Matti Picus
|
||||
* Max Aifer +
|
||||
* Michael Hirsch, Ph.D +
|
||||
* Michael James Jamie Schnaitter +
|
||||
* MichaelSaah +
|
||||
* Mike Toews
|
||||
* Minkyu Lee +
|
||||
* Mircea Akos Bruma +
|
||||
* Mircea-Akos Brumă +
|
||||
* Moshe Looks +
|
||||
* Muhammad Kasim +
|
||||
* Nathaniel J. Smith
|
||||
* Nikita Titov +
|
||||
* Paul Müller +
|
||||
* Paul van Mulbregt
|
||||
* Pauli Virtanen
|
||||
* Pierre Glaser +
|
||||
* Pim de Haan
|
||||
* Ralf Gommers
|
||||
* Robert Kern
|
||||
* Robin Aggleton +
|
||||
* Rohit Pandey +
|
||||
* Roman Yurchak +
|
||||
* Ryan Soklaski
|
||||
* Sebastian Berg
|
||||
* Sho Nakamura +
|
||||
* Simon Gibbons
|
||||
* Stan Seibert +
|
||||
* Stefan Otte
|
||||
* Stefan van der Walt
|
||||
* Stephan Hoyer
|
||||
* Stuart Archibald
|
||||
* Taylor Smith +
|
||||
* Tim Felgentreff +
|
||||
* Tim Swast +
|
||||
* Tim Teichmann +
|
||||
* Toshiki Kataoka
|
||||
* Travis Oliphant
|
||||
* Tyler Reddy
|
||||
* Uddeshya Singh +
|
||||
* Warren Weckesser
|
||||
* Weitang Li +
|
||||
* Wenjamin Petrenko +
|
||||
* William D. Irons
|
||||
* Yannick Jadoul +
|
||||
* Yaroslav Halchenko
|
||||
* Yug Khanna +
|
||||
* Yuji Kanagawa +
|
||||
* Yukun Guo +
|
||||
* @ankokumoyashi +
|
||||
* @lerbuke +
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 490 pull requests were merged for this release.
|
||||
|
||||
* `#6256 <https://github.com/numpy/numpy/pull/6256>`__: NEP: Add proposal for oindex and vindex.
|
||||
* `#6377 <https://github.com/numpy/numpy/pull/6377>`__: BUG: define "uint-alignment", fixes complex64 alignment
|
||||
* `#8206 <https://github.com/numpy/numpy/pull/8206>`__: ENH: add padding options to diff
|
||||
* `#8923 <https://github.com/numpy/numpy/pull/8923>`__: ENH: Add 'stone' estimator to np.histogram
|
||||
* `#8955 <https://github.com/numpy/numpy/pull/8955>`__: ENH: Allow ufunc.identity to be any python object
|
||||
* `#9022 <https://github.com/numpy/numpy/pull/9022>`__: BUG: don't silence `__array_wrap__` errors in `ufunc.reduce`
|
||||
* `#10551 <https://github.com/numpy/numpy/pull/10551>`__: BUG: memmap close files when it shouldn't, load leaves them open...
|
||||
* `#10602 <https://github.com/numpy/numpy/pull/10602>`__: MAINT: Move dtype string functions to python
|
||||
* `#10704 <https://github.com/numpy/numpy/pull/10704>`__: NEP 15: Merging multiarray and umath
|
||||
* `#10797 <https://github.com/numpy/numpy/pull/10797>`__: DEP: Updated `unravel_index()` to support `shape` kwarg
|
||||
* `#10915 <https://github.com/numpy/numpy/pull/10915>`__: ENH: implement nep 0015: merge multiarray and umath
|
||||
* `#10998 <https://github.com/numpy/numpy/pull/10998>`__: DOC: removed spurious FIXME comment in number.c
|
||||
* `#11002 <https://github.com/numpy/numpy/pull/11002>`__: MAINT: add clearer message to assist users with failed builds.
|
||||
* `#11016 <https://github.com/numpy/numpy/pull/11016>`__: ENH: Add AARCH32 support.
|
||||
* `#11084 <https://github.com/numpy/numpy/pull/11084>`__: DOC: link to TESTS.rst.txt testing guidelines, tweak testing...
|
||||
* `#11119 <https://github.com/numpy/numpy/pull/11119>`__: ENH: Chain exceptions to give better error messages for invalid...
|
||||
* `#11175 <https://github.com/numpy/numpy/pull/11175>`__: ENH: Generalized ufunc signature expansion for frozen and flexible...
|
||||
* `#11197 <https://github.com/numpy/numpy/pull/11197>`__: BUG/ENH: Removed non-standard scaling of the covariance matrix...
|
||||
* `#11234 <https://github.com/numpy/numpy/pull/11234>`__: DOC: Update einsum docs
|
||||
* `#11282 <https://github.com/numpy/numpy/pull/11282>`__: MAINT: move comparison operator special-handling out of ufunc...
|
||||
* `#11297 <https://github.com/numpy/numpy/pull/11297>`__: NEP: Expansion of gufunc signatures.
|
||||
* `#11299 <https://github.com/numpy/numpy/pull/11299>`__: BUG: Prevent crashes on 0-length structured void scalars
|
||||
* `#11303 <https://github.com/numpy/numpy/pull/11303>`__: DOC: revision of NEP-18 (`__array_function__`)
|
||||
* `#11312 <https://github.com/numpy/numpy/pull/11312>`__: WIP: DOC: slightly tweak the directions to create a release
|
||||
* `#11318 <https://github.com/numpy/numpy/pull/11318>`__: REL: Setup master for 1.16 development.
|
||||
* `#11323 <https://github.com/numpy/numpy/pull/11323>`__: DEP: Actually deprecate the normed argument to histogram
|
||||
* `#11324 <https://github.com/numpy/numpy/pull/11324>`__: MAINT: Don't use dtype strings when the dtypes themselves can...
|
||||
* `#11326 <https://github.com/numpy/numpy/pull/11326>`__: DOC: Update master after NumPy 1.14.5 release.
|
||||
* `#11328 <https://github.com/numpy/numpy/pull/11328>`__: MAINT: Misc numeric cleanup
|
||||
* `#11335 <https://github.com/numpy/numpy/pull/11335>`__: DOC: Change array lengths/entries in `broadcast_arrays` example...
|
||||
* `#11336 <https://github.com/numpy/numpy/pull/11336>`__: BUG: decref in failure path; replace `PyObject_Type` by `Py_TYPE`
|
||||
* `#11338 <https://github.com/numpy/numpy/pull/11338>`__: MAINT: Ensure ufunc override call each class only once, plus...
|
||||
* `#11340 <https://github.com/numpy/numpy/pull/11340>`__: BUG: sctypeDict['f8'] randomly points to double or longdouble...
|
||||
* `#11345 <https://github.com/numpy/numpy/pull/11345>`__: BUG/ENH: Einsum optimization path updates and bug fixes.
|
||||
* `#11347 <https://github.com/numpy/numpy/pull/11347>`__: DOC: Silence many sphinx warnings
|
||||
* `#11348 <https://github.com/numpy/numpy/pull/11348>`__: ENH: Improve support for pathlib.Path objects in load functions
|
||||
* `#11349 <https://github.com/numpy/numpy/pull/11349>`__: DOC: document new functions
|
||||
* `#11351 <https://github.com/numpy/numpy/pull/11351>`__: MAINT: Improve speed of ufunc kwargs parsing
|
||||
* `#11353 <https://github.com/numpy/numpy/pull/11353>`__: DOC, MAINT: HTTP -> HTTPS, and other linkrot fixes
|
||||
* `#11356 <https://github.com/numpy/numpy/pull/11356>`__: NEP: Update NEP 19: RNG Policy
|
||||
* `#11357 <https://github.com/numpy/numpy/pull/11357>`__: MAINT: Add new `_test.c` files and `benchmarks/html` to `gitignore`
|
||||
* `#11365 <https://github.com/numpy/numpy/pull/11365>`__: BUG: add missing NpyIter_Close in einsum
|
||||
* `#11366 <https://github.com/numpy/numpy/pull/11366>`__: BUG/TST: String indexing should just fail, not emit a futurewarning
|
||||
* `#11371 <https://github.com/numpy/numpy/pull/11371>`__: DOC: Clarify requirement that histogram bins are monotonic.
|
||||
* `#11373 <https://github.com/numpy/numpy/pull/11373>`__: TST: Show that histogramdd's normed argument is histogram's density
|
||||
* `#11374 <https://github.com/numpy/numpy/pull/11374>`__: WIP: additional revision for NEP-18 (`__array_function__`)
|
||||
* `#11376 <https://github.com/numpy/numpy/pull/11376>`__: ENH: Remove NpyIter_Close
|
||||
* `#11379 <https://github.com/numpy/numpy/pull/11379>`__: BUG: changed hardcoded axis to 0 for checking indices
|
||||
* `#11382 <https://github.com/numpy/numpy/pull/11382>`__: DEP: deprecate undocumented, unused dtype type dicts
|
||||
* `#11383 <https://github.com/numpy/numpy/pull/11383>`__: ENH: Allow size=0 in numpy.random.choice
|
||||
* `#11385 <https://github.com/numpy/numpy/pull/11385>`__: BUG: Make scalar.squeeze accept axis arg
|
||||
* `#11390 <https://github.com/numpy/numpy/pull/11390>`__: REL,MAINT: Update numpyconfig.h for 1.15.
|
||||
* `#11391 <https://github.com/numpy/numpy/pull/11391>`__: MAINT: Update mailmap
|
||||
* `#11396 <https://github.com/numpy/numpy/pull/11396>`__: TST: Added regression test for #11395
|
||||
* `#11405 <https://github.com/numpy/numpy/pull/11405>`__: BUG: Ensure comparisons on scalar strings pass without warning.
|
||||
* `#11406 <https://github.com/numpy/numpy/pull/11406>`__: BUG: Ensure out is returned in einsum.
|
||||
* `#11409 <https://github.com/numpy/numpy/pull/11409>`__: DOC: Update testing section of README.
|
||||
* `#11414 <https://github.com/numpy/numpy/pull/11414>`__: DOC: major revision of NEP 21, advanced indexing
|
||||
* `#11422 <https://github.com/numpy/numpy/pull/11422>`__: BENCH: Add benchmarks for np.loadtxt reading from CSV format...
|
||||
* `#11424 <https://github.com/numpy/numpy/pull/11424>`__: ENH: Allow use of svd on empty arrays
|
||||
* `#11425 <https://github.com/numpy/numpy/pull/11425>`__: DOC: Clear up confusion between np.where(cond) and np.where(cond,...
|
||||
* `#11428 <https://github.com/numpy/numpy/pull/11428>`__: BUG: Fix incorrect deprecation logic for histogram(normed=...)...
|
||||
* `#11429 <https://github.com/numpy/numpy/pull/11429>`__: NEP: accept NEP 20 partially (frozen, flexible, but not broadcastable...
|
||||
* `#11432 <https://github.com/numpy/numpy/pull/11432>`__: MAINT: Refactor differences between cblas_matrixproduct and PyArray_MatrixProduct2
|
||||
* `#11434 <https://github.com/numpy/numpy/pull/11434>`__: MAINT: add PyPI classifier for Python 3.7
|
||||
* `#11436 <https://github.com/numpy/numpy/pull/11436>`__: DOC: Document average return type
|
||||
* `#11440 <https://github.com/numpy/numpy/pull/11440>`__: BUG: fix interpolation with inf and NaN present
|
||||
* `#11444 <https://github.com/numpy/numpy/pull/11444>`__: DOC: Fix documentation for fromfunction
|
||||
* `#11449 <https://github.com/numpy/numpy/pull/11449>`__: BUG: Revert #10229 to fix DLL loads on Windows.
|
||||
* `#11450 <https://github.com/numpy/numpy/pull/11450>`__: MAINT/DEP: properly implement `ndarray.__pos__`
|
||||
* `#11453 <https://github.com/numpy/numpy/pull/11453>`__: BENCH: add ufunc argument parsing benchmarks.
|
||||
* `#11455 <https://github.com/numpy/numpy/pull/11455>`__: BENCH: belated addition of lcm, gcd to ufunc benchmark.
|
||||
* `#11459 <https://github.com/numpy/numpy/pull/11459>`__: NEP: Add some text to NEP 0 to clarify how a NEP is accepted
|
||||
* `#11461 <https://github.com/numpy/numpy/pull/11461>`__: MAINT: Add discussion link to NEP 15
|
||||
* `#11462 <https://github.com/numpy/numpy/pull/11462>`__: Add NEP 22, a high level overview for the duck array work
|
||||
* `#11463 <https://github.com/numpy/numpy/pull/11463>`__: MAINT: Produce a more readable repr of argument packs in benchmark
|
||||
* `#11464 <https://github.com/numpy/numpy/pull/11464>`__: BUG: Don't convert inputs to `np.float64` in digitize
|
||||
* `#11468 <https://github.com/numpy/numpy/pull/11468>`__: BUG: Advanced indexing assignment incorrectly took 1-D fastpath
|
||||
* `#11470 <https://github.com/numpy/numpy/pull/11470>`__: BLD: Don't leave the build task running if runtests.py is interrupted
|
||||
* `#11471 <https://github.com/numpy/numpy/pull/11471>`__: MAINT: Remove python-side docstrings from add_newdocs.
|
||||
* `#11472 <https://github.com/numpy/numpy/pull/11472>`__: DOC: include NEP number on each NEP page
|
||||
* `#11473 <https://github.com/numpy/numpy/pull/11473>`__: MAINT: Move pytesttester outside of np.testing, to avoid creating...
|
||||
* `#11474 <https://github.com/numpy/numpy/pull/11474>`__: MAINT: Move add_newdocs into core, since it only adds docs to...
|
||||
* `#11479 <https://github.com/numpy/numpy/pull/11479>`__: BUG: Fix #define for ppc64 and ppc64le
|
||||
* `#11480 <https://github.com/numpy/numpy/pull/11480>`__: MAINT: move ufunc override code to umath and multiarray as much...
|
||||
* `#11482 <https://github.com/numpy/numpy/pull/11482>`__: DOC: Include warning in np.resize() docs
|
||||
* `#11484 <https://github.com/numpy/numpy/pull/11484>`__: BUG: Increase required cython version on python 3.7
|
||||
* `#11487 <https://github.com/numpy/numpy/pull/11487>`__: DOC: extend sanity check message
|
||||
* `#11488 <https://github.com/numpy/numpy/pull/11488>`__: NEP: clarify bugfix policy for legacy RandomState.
|
||||
* `#11501 <https://github.com/numpy/numpy/pull/11501>`__: MAINT: Tidy cython invocation
|
||||
* `#11503 <https://github.com/numpy/numpy/pull/11503>`__: MAINT: improve error message for isposinf and isneginf on complex...
|
||||
* `#11512 <https://github.com/numpy/numpy/pull/11512>`__: DOC: Add templates for issues and PRs
|
||||
* `#11514 <https://github.com/numpy/numpy/pull/11514>`__: Prefer the same-python cython to the on-PATH cython
|
||||
* `#11515 <https://github.com/numpy/numpy/pull/11515>`__: BUG: decref of field title caused segfault
|
||||
* `#11518 <https://github.com/numpy/numpy/pull/11518>`__: MAINT: Speed up normalize_axis_tuple by about 30%
|
||||
* `#11522 <https://github.com/numpy/numpy/pull/11522>`__: BUG: fix np.load() of empty .npz file
|
||||
* `#11525 <https://github.com/numpy/numpy/pull/11525>`__: MAINT: Append `*FLAGS` instead of overriding
|
||||
* `#11526 <https://github.com/numpy/numpy/pull/11526>`__: ENH: add multi-field assignment helpers in np.lib.recfunctions
|
||||
* `#11527 <https://github.com/numpy/numpy/pull/11527>`__: DOC: Note that method is the polar form of Box-Muller.
|
||||
* `#11528 <https://github.com/numpy/numpy/pull/11528>`__: ENH: Add support for ipython latex printing to polynomial
|
||||
* `#11531 <https://github.com/numpy/numpy/pull/11531>`__: ENH: Add density argument to histogramdd.
|
||||
* `#11533 <https://github.com/numpy/numpy/pull/11533>`__: DOC: Fixed example code for cheb2poly and poly2cheb (see #11519)
|
||||
* `#11534 <https://github.com/numpy/numpy/pull/11534>`__: DOC: Minor improvements to np.concatenate docstring
|
||||
* `#11535 <https://github.com/numpy/numpy/pull/11535>`__: MAINT: Improve memory usage in PEP3118 format parsing
|
||||
* `#11553 <https://github.com/numpy/numpy/pull/11553>`__: DOC: Tiny typo on numpy/reference/arrays.dtypes.html
|
||||
* `#11556 <https://github.com/numpy/numpy/pull/11556>`__: BUG: Make assert_string_equal check str equality simply without...
|
||||
* `#11559 <https://github.com/numpy/numpy/pull/11559>`__: NEP: accept nep 0015
|
||||
* `#11560 <https://github.com/numpy/numpy/pull/11560>`__: NEP: accept nep 0019
|
||||
* `#11562 <https://github.com/numpy/numpy/pull/11562>`__: DOC: update release notes for LDFLAGS append behavior (gh-11525).
|
||||
* `#11565 <https://github.com/numpy/numpy/pull/11565>`__: MAINT: convert the doctests for polynomial to regular tests
|
||||
* `#11566 <https://github.com/numpy/numpy/pull/11566>`__: BLD: Do not use gcc warnings flags when 'gcc' is actually clang.
|
||||
* `#11567 <https://github.com/numpy/numpy/pull/11567>`__: TST: Integrate codecov testing
|
||||
* `#11568 <https://github.com/numpy/numpy/pull/11568>`__: BLD: Modify cpu detection and printing to get working aarch64...
|
||||
* `#11571 <https://github.com/numpy/numpy/pull/11571>`__: DOC: Updated array2string description
|
||||
* `#11572 <https://github.com/numpy/numpy/pull/11572>`__: DOC: Updated Slice Description
|
||||
* `#11573 <https://github.com/numpy/numpy/pull/11573>`__: TST: add broadcast_arrays() kwarg unit test for TypeError
|
||||
* `#11580 <https://github.com/numpy/numpy/pull/11580>`__: MAINT: refactor ufunc iter operand flags handling
|
||||
* `#11591 <https://github.com/numpy/numpy/pull/11591>`__: MAINT: update runtests.py node id example for pytest usage
|
||||
* `#11592 <https://github.com/numpy/numpy/pull/11592>`__: DOC: add Stefan van der Walt to Steering Council
|
||||
* `#11593 <https://github.com/numpy/numpy/pull/11593>`__: ENH: handle empty matrices in qr decomposition
|
||||
* `#11594 <https://github.com/numpy/numpy/pull/11594>`__: ENH: support for empty matrices in linalg.lstsq
|
||||
* `#11595 <https://github.com/numpy/numpy/pull/11595>`__: BUG:warn on Nan in minimum,maximum for scalars, float16
|
||||
* `#11596 <https://github.com/numpy/numpy/pull/11596>`__: NEP: backwards compatibility and deprecation policy
|
||||
* `#11598 <https://github.com/numpy/numpy/pull/11598>`__: TST: Add Python 3.7 to CI testing
|
||||
* `#11601 <https://github.com/numpy/numpy/pull/11601>`__: BUG: Make np.array([[1], 2]) and np.array([1, [2]]) behave in...
|
||||
* `#11606 <https://github.com/numpy/numpy/pull/11606>`__: DOC: Post 1.15.0 release updates for master.
|
||||
* `#11607 <https://github.com/numpy/numpy/pull/11607>`__: DOC: minor clarification and typo fix to NEP 21 (outer indexing).
|
||||
* `#11610 <https://github.com/numpy/numpy/pull/11610>`__: TST: including C source line coverage for CI / codecov
|
||||
* `#11611 <https://github.com/numpy/numpy/pull/11611>`__: NEP: Add roadmap section and subdocuments to NEPs
|
||||
* `#11613 <https://github.com/numpy/numpy/pull/11613>`__: BUG: have geometric() raise ValueError on p=0
|
||||
* `#11615 <https://github.com/numpy/numpy/pull/11615>`__: BUG: Clip uses wrong memory order in output
|
||||
* `#11616 <https://github.com/numpy/numpy/pull/11616>`__: DOC: add a brief note on "Protocols for methods" to NEP 18
|
||||
* `#11621 <https://github.com/numpy/numpy/pull/11621>`__: DOC: Use "real symmetric" rather than "symmetric" in ``eigh``...
|
||||
* `#11626 <https://github.com/numpy/numpy/pull/11626>`__: DOC: Show plot in meshgrid example.
|
||||
* `#11630 <https://github.com/numpy/numpy/pull/11630>`__: DOC: Include the versionadded to the isnat documentation.
|
||||
* `#11634 <https://github.com/numpy/numpy/pull/11634>`__: MAINT: Filter Cython warnings in `__init__.py`
|
||||
* `#11637 <https://github.com/numpy/numpy/pull/11637>`__: ENH: np.angle: Remove unnecessary multiplication, and allow subclasses...
|
||||
* `#11638 <https://github.com/numpy/numpy/pull/11638>`__: ENH: Make expand_dims work on subclasses
|
||||
* `#11642 <https://github.com/numpy/numpy/pull/11642>`__: BUG: Fixes for unicode field names in Python 2
|
||||
* `#11643 <https://github.com/numpy/numpy/pull/11643>`__: DOC: Insert up to date link to Spyder website in Dev Env doc...
|
||||
* `#11644 <https://github.com/numpy/numpy/pull/11644>`__: BUG: Fix doc source links to unwrap decorators
|
||||
* `#11652 <https://github.com/numpy/numpy/pull/11652>`__: BUG: Ensure singleton dimensions are not dropped when converting...
|
||||
* `#11660 <https://github.com/numpy/numpy/pull/11660>`__: ENH: Add Nan warnings for maximum, minimum on more dtypes
|
||||
* `#11669 <https://github.com/numpy/numpy/pull/11669>`__: BUG: Fix regression in `void_getitem`
|
||||
* `#11670 <https://github.com/numpy/numpy/pull/11670>`__: MAINT: trivially refactor mapped indexing
|
||||
* `#11673 <https://github.com/numpy/numpy/pull/11673>`__: DOC: Add geomspace to "See also" of linspace
|
||||
* `#11679 <https://github.com/numpy/numpy/pull/11679>`__: TST: ignore setup.py files for codecov reports
|
||||
* `#11688 <https://github.com/numpy/numpy/pull/11688>`__: DOC: Update broadcasting doc with current exception details
|
||||
* `#11691 <https://github.com/numpy/numpy/pull/11691>`__: BUG: Make matrix_power again work for object arrays.
|
||||
* `#11692 <https://github.com/numpy/numpy/pull/11692>`__: MAINT: Remove duplicate code.
|
||||
* `#11693 <https://github.com/numpy/numpy/pull/11693>`__: NEP: Mark NEP 18 as accepted
|
||||
* `#11694 <https://github.com/numpy/numpy/pull/11694>`__: BUG: Fix pickle and memoryview for datetime64, timedelta64 scalars
|
||||
* `#11695 <https://github.com/numpy/numpy/pull/11695>`__: BUG: Add missing PyErr_NoMemory after failing malloc
|
||||
* `#11703 <https://github.com/numpy/numpy/pull/11703>`__: MAINT: Remove np.pkgload, which seems to be unusable anyway
|
||||
* `#11708 <https://github.com/numpy/numpy/pull/11708>`__: BUG: Fix regression in np.loadtxt for bz2 text files in Python...
|
||||
* `#11710 <https://github.com/numpy/numpy/pull/11710>`__: BUG: Check for compiler used in env['CC'], then config_vars['CC']
|
||||
* `#11711 <https://github.com/numpy/numpy/pull/11711>`__: BUG: Fix undefined functions on big-endian systems.
|
||||
* `#11715 <https://github.com/numpy/numpy/pull/11715>`__: TST: Fix urlopen stubbing.
|
||||
* `#11717 <https://github.com/numpy/numpy/pull/11717>`__: MAINT: Make einsum optimize default to False.
|
||||
* `#11718 <https://github.com/numpy/numpy/pull/11718>`__: BUG: Revert use of `console_scripts`.
|
||||
* `#11722 <https://github.com/numpy/numpy/pull/11722>`__: MAINT: Remove duplicate docstring and correct location of `__all__`...
|
||||
* `#11725 <https://github.com/numpy/numpy/pull/11725>`__: BUG: Fix Fortran kind detection for aarch64 & s390x.
|
||||
* `#11727 <https://github.com/numpy/numpy/pull/11727>`__: BUG: Fix printing of longdouble on ppc64le.
|
||||
* `#11729 <https://github.com/numpy/numpy/pull/11729>`__: DOC: fix capitalization of kilojoules
|
||||
* `#11731 <https://github.com/numpy/numpy/pull/11731>`__: DOC: fix typo in vectorize docstring
|
||||
* `#11733 <https://github.com/numpy/numpy/pull/11733>`__: DOC: recommend polynomial.Polynomial over np.polyfit
|
||||
* `#11735 <https://github.com/numpy/numpy/pull/11735>`__: BUG: Fix test sensitive to platform byte order.
|
||||
* `#11738 <https://github.com/numpy/numpy/pull/11738>`__: TST, MAINT: add lgtm.yml to tweak LGTM.com analysis
|
||||
* `#11739 <https://github.com/numpy/numpy/pull/11739>`__: BUG: disallow setting flag to writeable after fromstring, frombuffer
|
||||
* `#11740 <https://github.com/numpy/numpy/pull/11740>`__: BUG: Deprecation triggers segfault
|
||||
* `#11742 <https://github.com/numpy/numpy/pull/11742>`__: DOC: Reduce warnings and cleanup redundant c-api documentation
|
||||
* `#11745 <https://github.com/numpy/numpy/pull/11745>`__: DOC: Small docstring fixes for old polyfit.
|
||||
* `#11754 <https://github.com/numpy/numpy/pull/11754>`__: BUG: check return value of `_buffer_format_string`
|
||||
* `#11755 <https://github.com/numpy/numpy/pull/11755>`__: MAINT: Fix typos in random.hypergeometric's notes
|
||||
* `#11756 <https://github.com/numpy/numpy/pull/11756>`__: MAINT: Make assert_array_compare more generic.
|
||||
* `#11765 <https://github.com/numpy/numpy/pull/11765>`__: DOC: Move documentation from `help(ndarray.ctypes)` to `help(some_array.ctypes)`
|
||||
* `#11771 <https://github.com/numpy/numpy/pull/11771>`__: BUG: Make `random.shuffle` work on 1-D instances of `ndarray`...
|
||||
* `#11774 <https://github.com/numpy/numpy/pull/11774>`__: BUG: Fix regression in intersect1d.
|
||||
* `#11778 <https://github.com/numpy/numpy/pull/11778>`__: BUG: Avoid signed overflow in histogram
|
||||
* `#11783 <https://github.com/numpy/numpy/pull/11783>`__: MAINT: check `_append_char` return value
|
||||
* `#11784 <https://github.com/numpy/numpy/pull/11784>`__: MAINT: reformat line spacing before test methods
|
||||
* `#11797 <https://github.com/numpy/numpy/pull/11797>`__: DOC: Update docs after 1.15.1 release.
|
||||
* `#11800 <https://github.com/numpy/numpy/pull/11800>`__: DOC: document use when f2py is not in the PATH
|
||||
* `#11802 <https://github.com/numpy/numpy/pull/11802>`__: ENH: Use entry_points to install the f2py scripts.
|
||||
* `#11805 <https://github.com/numpy/numpy/pull/11805>`__: BUG: add type cast check for ediff1d
|
||||
* `#11806 <https://github.com/numpy/numpy/pull/11806>`__: DOC: Polybase augmented assignment notes
|
||||
* `#11812 <https://github.com/numpy/numpy/pull/11812>`__: DOC: edit setup.py docstring that is displayed on PyPI.
|
||||
* `#11813 <https://github.com/numpy/numpy/pull/11813>`__: BUG: fix array_split incorrect behavior with array size bigger...
|
||||
* `#11814 <https://github.com/numpy/numpy/pull/11814>`__: DOC, MAINT: Fixes for errstate() and README.md documentation.
|
||||
* `#11817 <https://github.com/numpy/numpy/pull/11817>`__: DOC: add examples and extend existing dos for polynomial subclasses
|
||||
* `#11818 <https://github.com/numpy/numpy/pull/11818>`__: TST: add missing tests for all polynomial subclass pow fns.
|
||||
* `#11823 <https://github.com/numpy/numpy/pull/11823>`__: TST: add test for array2string unexpected kwarg
|
||||
* `#11830 <https://github.com/numpy/numpy/pull/11830>`__: MAINT: reduce void type repr code duplication
|
||||
* `#11834 <https://github.com/numpy/numpy/pull/11834>`__: MAINT, DOC: Replace 'an' by 'a' in some docstrings.
|
||||
* `#11837 <https://github.com/numpy/numpy/pull/11837>`__: DOC: Make clear the connection between numpy types and C types
|
||||
* `#11840 <https://github.com/numpy/numpy/pull/11840>`__: BUG: Let 0-D arrays of Python timedelta convert to np.timedelta64.
|
||||
* `#11843 <https://github.com/numpy/numpy/pull/11843>`__: MAINT: remove surviving, unused, list comprehension
|
||||
* `#11849 <https://github.com/numpy/numpy/pull/11849>`__: TST: reorder duplicate mem_overlap.c compile
|
||||
* `#11850 <https://github.com/numpy/numpy/pull/11850>`__: DOC: add comment to remove fn after python 2 support is dropped
|
||||
* `#11852 <https://github.com/numpy/numpy/pull/11852>`__: BUG: timedelta64 now accepts NumPy ints
|
||||
* `#11858 <https://github.com/numpy/numpy/pull/11858>`__: DOC: add docstrings for numeric types
|
||||
* `#11862 <https://github.com/numpy/numpy/pull/11862>`__: BUG: Re-add `_ones_like` to numpy.core.umath.
|
||||
* `#11864 <https://github.com/numpy/numpy/pull/11864>`__: TST: Update travis testing to use latest virtualenv.
|
||||
* `#11865 <https://github.com/numpy/numpy/pull/11865>`__: DOC: add a Code of Conduct document.
|
||||
* `#11866 <https://github.com/numpy/numpy/pull/11866>`__: TST: Drop Python 3.4 testing
|
||||
* `#11868 <https://github.com/numpy/numpy/pull/11868>`__: MAINT: include benchmarks, complete docs, dev tool files in sdist.
|
||||
* `#11870 <https://github.com/numpy/numpy/pull/11870>`__: MAINT: dtype(unicode) should raise TypeError on failure
|
||||
* `#11874 <https://github.com/numpy/numpy/pull/11874>`__: BENCH: split out slow setup method in bench_shape_base.Block
|
||||
* `#11877 <https://github.com/numpy/numpy/pull/11877>`__: BUG: Fix memory leak in pyfragments.swg
|
||||
* `#11880 <https://github.com/numpy/numpy/pull/11880>`__: BUG: The multiarray/ufunc merge broke old wheels.
|
||||
* `#11882 <https://github.com/numpy/numpy/pull/11882>`__: DOC: Recommend the use of `np.ndim` over `np.isscalar`, and explain...
|
||||
* `#11889 <https://github.com/numpy/numpy/pull/11889>`__: BENCH: Split bench_function_base.Sort into Sort and SortWorst.
|
||||
* `#11891 <https://github.com/numpy/numpy/pull/11891>`__: MAINT: remove exec_command() from build_ext
|
||||
* `#11892 <https://github.com/numpy/numpy/pull/11892>`__: TST: Parametrize PEP3118 scalar tests.
|
||||
* `#11893 <https://github.com/numpy/numpy/pull/11893>`__: TST: Fix duplicated test name.
|
||||
* `#11894 <https://github.com/numpy/numpy/pull/11894>`__: TST: Parametrize f2py tests.
|
||||
* `#11895 <https://github.com/numpy/numpy/pull/11895>`__: TST: Parametrize some linalg tests over types.
|
||||
* `#11896 <https://github.com/numpy/numpy/pull/11896>`__: BUG: Fix matrix PendingDeprecationWarning suppression for pytest...
|
||||
* `#11898 <https://github.com/numpy/numpy/pull/11898>`__: MAINT: remove exec_command usage from ccompiler.py
|
||||
* `#11899 <https://github.com/numpy/numpy/pull/11899>`__: MAINT: remove exec_command from system_info.py
|
||||
* `#11900 <https://github.com/numpy/numpy/pull/11900>`__: MAINT: remove exec_command from gnu.py
|
||||
* `#11901 <https://github.com/numpy/numpy/pull/11901>`__: MAINT: remove exec_command usage in ibm.py
|
||||
* `#11904 <https://github.com/numpy/numpy/pull/11904>`__: Use pytest for some already-parametrized core tests
|
||||
* `#11905 <https://github.com/numpy/numpy/pull/11905>`__: TST: Start testing with "-std=c99" on travisCI.
|
||||
* `#11906 <https://github.com/numpy/numpy/pull/11906>`__: TST: add shippable ARMv8 to CI
|
||||
* `#11907 <https://github.com/numpy/numpy/pull/11907>`__: Link HOWTO_DOCUMENT to specific section on docstrings
|
||||
* `#11909 <https://github.com/numpy/numpy/pull/11909>`__: MAINT: flake8 cleanups
|
||||
* `#11910 <https://github.com/numpy/numpy/pull/11910>`__: MAINT: test, refactor design of recursive closures
|
||||
* `#11912 <https://github.com/numpy/numpy/pull/11912>`__: DOC: dtype offset and itemsize is limited by range of C int
|
||||
* `#11914 <https://github.com/numpy/numpy/pull/11914>`__: DOC: Clarify difference between PySequence_GETITEM, PyArray_GETITEM
|
||||
* `#11916 <https://github.com/numpy/numpy/pull/11916>`__: DEP: deprecate np.set_numeric_ops and friends
|
||||
* `#11920 <https://github.com/numpy/numpy/pull/11920>`__: TST: Fix 'def' test_numerictypes.py::TestSctypeDict to 'class'...
|
||||
* `#11921 <https://github.com/numpy/numpy/pull/11921>`__: MAINT: Don't rely on `__name__` in bitname - use the information...
|
||||
* `#11922 <https://github.com/numpy/numpy/pull/11922>`__: TST: Add tests for maximum_sctype
|
||||
* `#11929 <https://github.com/numpy/numpy/pull/11929>`__: DOC: #defining -> #define / Added a short explanation for Numeric
|
||||
* `#11930 <https://github.com/numpy/numpy/pull/11930>`__: DOC: fix scipy-sphinx-theme license path
|
||||
* `#11932 <https://github.com/numpy/numpy/pull/11932>`__: MAINT: Move `np.dtype.name.__get__` to python
|
||||
* `#11933 <https://github.com/numpy/numpy/pull/11933>`__: TST: Fix unit tests that used to call unittest.TestCase.fail
|
||||
* `#11934 <https://github.com/numpy/numpy/pull/11934>`__: NEP: Revert "NEP: Mark NEP 18 as accepted"
|
||||
* `#11935 <https://github.com/numpy/numpy/pull/11935>`__: MAINT: remove usage of exec_command in config.py
|
||||
* `#11937 <https://github.com/numpy/numpy/pull/11937>`__: MAINT: remove exec_command() from f2py init
|
||||
* `#11941 <https://github.com/numpy/numpy/pull/11941>`__: BUG: Ensure einsum(optimize=True) dispatches tensordot deterministically
|
||||
* `#11943 <https://github.com/numpy/numpy/pull/11943>`__: DOC: Add warning/clarification about backwards compat in NEP-18
|
||||
* `#11948 <https://github.com/numpy/numpy/pull/11948>`__: DEP: finish making all comparisons to NaT false
|
||||
* `#11949 <https://github.com/numpy/numpy/pull/11949>`__: MAINT: Small tidy-ups to `np.core._dtype`
|
||||
* `#11950 <https://github.com/numpy/numpy/pull/11950>`__: MAINT: Extract tangential improvements made in #11175
|
||||
* `#11952 <https://github.com/numpy/numpy/pull/11952>`__: MAINT: test NPY_INTERNAL_BUILD only if defined
|
||||
* `#11953 <https://github.com/numpy/numpy/pull/11953>`__: TST: codecov.yml improvements
|
||||
* `#11957 <https://github.com/numpy/numpy/pull/11957>`__: ENH: mark that large allocations can use huge pages
|
||||
* `#11958 <https://github.com/numpy/numpy/pull/11958>`__: TST: Add a test for np.pad where constant_values is an object
|
||||
* `#11959 <https://github.com/numpy/numpy/pull/11959>`__: MAINT: Explicitely cause pagefaults to happen before starting...
|
||||
* `#11961 <https://github.com/numpy/numpy/pull/11961>`__: TST: Add more tests for np.pad
|
||||
* `#11962 <https://github.com/numpy/numpy/pull/11962>`__: ENH: maximum lines of content to be read from numpy.loadtxt
|
||||
* `#11965 <https://github.com/numpy/numpy/pull/11965>`__: BENCH: Add a benchmark comparing block to copy in the 3D case
|
||||
* `#11966 <https://github.com/numpy/numpy/pull/11966>`__: MAINT: Rewrite shape normalization in pad function
|
||||
* `#11967 <https://github.com/numpy/numpy/pull/11967>`__: BUG: fix refcount leak in PyArray_AdaptFlexibleDType
|
||||
* `#11971 <https://github.com/numpy/numpy/pull/11971>`__: MAINT: Block algorithm with a single copy per call to `block`
|
||||
* `#11973 <https://github.com/numpy/numpy/pull/11973>`__: BUG: fix cached allocations without the GIL
|
||||
* `#11976 <https://github.com/numpy/numpy/pull/11976>`__: MAINT/DOC: Show the location of an empty list in np.block
|
||||
* `#11979 <https://github.com/numpy/numpy/pull/11979>`__: MAINT: Ensure that a copy of the array is returned when calling...
|
||||
* `#11989 <https://github.com/numpy/numpy/pull/11989>`__: BUG: Ensure boolean indexing of subclasses sets base correctly.
|
||||
* `#11991 <https://github.com/numpy/numpy/pull/11991>`__: MAINT: speed up `_block` by avoiding a recursive closure
|
||||
* `#11996 <https://github.com/numpy/numpy/pull/11996>`__: TST: Parametrize and break apart dtype tests
|
||||
* `#11997 <https://github.com/numpy/numpy/pull/11997>`__: MAINT: Extract string helpers to a new private file
|
||||
* `#12002 <https://github.com/numpy/numpy/pull/12002>`__: Revert "NEP: Revert "NEP: Mark NEP 18 as accepted""
|
||||
* `#12004 <https://github.com/numpy/numpy/pull/12004>`__: BUG: Fix f2py compile function testing.
|
||||
* `#12005 <https://github.com/numpy/numpy/pull/12005>`__: ENH: initial implementation of core `__array_function__` machinery
|
||||
* `#12008 <https://github.com/numpy/numpy/pull/12008>`__: MAINT: Reassociate `np.cast` with the comment describing it
|
||||
* `#12009 <https://github.com/numpy/numpy/pull/12009>`__: MAINT: Eliminate the private `numerictypes._typestr`
|
||||
* `#12011 <https://github.com/numpy/numpy/pull/12011>`__: ENH: implementation of array_reduce_ex
|
||||
* `#12012 <https://github.com/numpy/numpy/pull/12012>`__: MAINT: Extract the crazy number of type aliases to their own...
|
||||
* `#12014 <https://github.com/numpy/numpy/pull/12014>`__: TST: prefer pytest.skip() over SkipTest
|
||||
* `#12015 <https://github.com/numpy/numpy/pull/12015>`__: TST: improve warnings parallel test safety
|
||||
* `#12017 <https://github.com/numpy/numpy/pull/12017>`__: NEP: add 3 missing data NEPs rescued from 2011-2012
|
||||
* `#12018 <https://github.com/numpy/numpy/pull/12018>`__: MAINT: Simplify parts of `_type_aliases`
|
||||
* `#12019 <https://github.com/numpy/numpy/pull/12019>`__: DOC: MAINT: address comments @eric-wieser on NEP 24-26 PR.
|
||||
* `#12020 <https://github.com/numpy/numpy/pull/12020>`__: TST: Add tests for np.sctype2char
|
||||
* `#12021 <https://github.com/numpy/numpy/pull/12021>`__: DOC: Post NumPy 1.15.2 release updates.[ci skip]
|
||||
* `#12024 <https://github.com/numpy/numpy/pull/12024>`__: MAINT: Normalize axes the normal way in fftpack.py
|
||||
* `#12027 <https://github.com/numpy/numpy/pull/12027>`__: DOC: Add docstrings for abstract types in scalar type hierarchy
|
||||
* `#12030 <https://github.com/numpy/numpy/pull/12030>`__: DOC: use "import numpy as np" style
|
||||
* `#12032 <https://github.com/numpy/numpy/pull/12032>`__: BUG: check return value from PyArray_PromoteTypes
|
||||
* `#12033 <https://github.com/numpy/numpy/pull/12033>`__: TST: Mark check for f2py script xfail.
|
||||
* `#12034 <https://github.com/numpy/numpy/pull/12034>`__: MAINT: Add version deprecated to some deprecation messages.
|
||||
* `#12035 <https://github.com/numpy/numpy/pull/12035>`__: BUG: Fix memory leak in PY3K buffer code.
|
||||
* `#12041 <https://github.com/numpy/numpy/pull/12041>`__: MAINT: remove duplicate imports
|
||||
* `#12042 <https://github.com/numpy/numpy/pull/12042>`__: MAINT: cleanup and better document core/overrides.py
|
||||
* `#12045 <https://github.com/numpy/numpy/pull/12045>`__: BUG: fix memory leak of buffer format string
|
||||
* `#12048 <https://github.com/numpy/numpy/pull/12048>`__: BLD: pin sphinx to 1.7.9
|
||||
* `#12051 <https://github.com/numpy/numpy/pull/12051>`__: TST: add macos azure testing to CI
|
||||
* `#12054 <https://github.com/numpy/numpy/pull/12054>`__: MAINT: avoid modifying mutable default values
|
||||
* `#12056 <https://github.com/numpy/numpy/pull/12056>`__: MAINT: The crackfortran function is called with an extra argument
|
||||
* `#12057 <https://github.com/numpy/numpy/pull/12057>`__: MAINT: remove unused imports
|
||||
* `#12058 <https://github.com/numpy/numpy/pull/12058>`__: MAINT: remove redundant assignment
|
||||
* `#12060 <https://github.com/numpy/numpy/pull/12060>`__: MAINT: remove unused stdlib imports
|
||||
* `#12061 <https://github.com/numpy/numpy/pull/12061>`__: MAINT: remove redundant imports
|
||||
* `#12062 <https://github.com/numpy/numpy/pull/12062>`__: BUG: `OBJECT_to_*` should check for errors
|
||||
* `#12064 <https://github.com/numpy/numpy/pull/12064>`__: MAINT: delay initialization of getlimits (circular imports)
|
||||
* `#12072 <https://github.com/numpy/numpy/pull/12072>`__: BUG: test_path() now uses Path.resolve()
|
||||
* `#12073 <https://github.com/numpy/numpy/pull/12073>`__: MAINT Avoid some memory copies in numpy.polynomial.hermite
|
||||
* `#12079 <https://github.com/numpy/numpy/pull/12079>`__: MAINT: Blacklist some MSVC complex functions.
|
||||
* `#12081 <https://github.com/numpy/numpy/pull/12081>`__: TST: add Windows test matrix to Azure CI
|
||||
* `#12082 <https://github.com/numpy/numpy/pull/12082>`__: TST: Add Python 3.5 to Azure windows CI.
|
||||
* `#12088 <https://github.com/numpy/numpy/pull/12088>`__: BUG: limit default for get_num_build_jobs() to 8
|
||||
* `#12089 <https://github.com/numpy/numpy/pull/12089>`__: BUG: Fix in-place permutation
|
||||
* `#12090 <https://github.com/numpy/numpy/pull/12090>`__: TST, MAINT: Update pickling tests by making them loop over all...
|
||||
* `#12091 <https://github.com/numpy/numpy/pull/12091>`__: TST: Install pickle5 for CI testing with python 3.6/7
|
||||
* `#12093 <https://github.com/numpy/numpy/pull/12093>`__: Provide information about what kind is actually not integer kind
|
||||
* `#12099 <https://github.com/numpy/numpy/pull/12099>`__: ENH: Validate dispatcher functions in array_function_dispatch
|
||||
* `#12102 <https://github.com/numpy/numpy/pull/12102>`__: TST: improve coverage of nd_grid
|
||||
* `#12103 <https://github.com/numpy/numpy/pull/12103>`__: MAINT: Add azure-pipeline status badge to README.md
|
||||
* `#12106 <https://github.com/numpy/numpy/pull/12106>`__: TST, MAINT: Skip some f2py tests on Mac.
|
||||
* `#12108 <https://github.com/numpy/numpy/pull/12108>`__: BUG: Allow boolean subtract in histogram
|
||||
* `#12109 <https://github.com/numpy/numpy/pull/12109>`__: TST: add unit test for issctype
|
||||
* `#12112 <https://github.com/numpy/numpy/pull/12112>`__: ENH: check getfield arguments to prevent invalid memory access
|
||||
* `#12115 <https://github.com/numpy/numpy/pull/12115>`__: ENH: `__array_function__` support for most of `numpy.core`
|
||||
* `#12116 <https://github.com/numpy/numpy/pull/12116>`__: ENH: `__array_function__` support for `np.lib`, part 1/2
|
||||
* `#12117 <https://github.com/numpy/numpy/pull/12117>`__: ENH: `__array_function__` support for `np.fft` and `np.linalg`
|
||||
* `#12119 <https://github.com/numpy/numpy/pull/12119>`__: ENH: `__array_function__` support for `np.lib`, part 2/2
|
||||
* `#12120 <https://github.com/numpy/numpy/pull/12120>`__: ENH: add timedelta modulus operator support (mm)
|
||||
* `#12121 <https://github.com/numpy/numpy/pull/12121>`__: MAINT: Clarify the error message for resize failure
|
||||
* `#12123 <https://github.com/numpy/numpy/pull/12123>`__: DEP: deprecate asscalar
|
||||
* `#12124 <https://github.com/numpy/numpy/pull/12124>`__: BUG: refactor float error status to support Alpine linux
|
||||
* `#12125 <https://github.com/numpy/numpy/pull/12125>`__: TST: expand cases in test_issctype()
|
||||
* `#12127 <https://github.com/numpy/numpy/pull/12127>`__: BUG: Fix memory leak in mapping.c
|
||||
* `#12131 <https://github.com/numpy/numpy/pull/12131>`__: BUG: fix PyDataType_ISBOOL
|
||||
* `#12133 <https://github.com/numpy/numpy/pull/12133>`__: MAINT, TST refactor pickle imports and tests
|
||||
* `#12134 <https://github.com/numpy/numpy/pull/12134>`__: DOC: Remove duplicated sentence in numpy.multiply
|
||||
* `#12137 <https://github.com/numpy/numpy/pull/12137>`__: TST: error tests for fill_diagonal()
|
||||
* `#12138 <https://github.com/numpy/numpy/pull/12138>`__: TST: error tests for diag_indices_from()
|
||||
* `#12140 <https://github.com/numpy/numpy/pull/12140>`__: DOC: fixups for NEP-18 based on the implementation
|
||||
* `#12141 <https://github.com/numpy/numpy/pull/12141>`__: DOC: minor tweak to CoC (update NumFOCUS contact address).
|
||||
* `#12145 <https://github.com/numpy/numpy/pull/12145>`__: MAINT: Update ndarrayobject.h `__cplusplus` block.
|
||||
* `#12146 <https://github.com/numpy/numpy/pull/12146>`__: MAINT: Fix typo in comment
|
||||
* `#12147 <https://github.com/numpy/numpy/pull/12147>`__: MAINT: Move duplicated type_reso_error code into a helper function
|
||||
* `#12148 <https://github.com/numpy/numpy/pull/12148>`__: DOC: document NEP-18 overrides in release notes
|
||||
* `#12151 <https://github.com/numpy/numpy/pull/12151>`__: TST: byte_bounds contiguity handling
|
||||
* `#12153 <https://github.com/numpy/numpy/pull/12153>`__: DOC, TST: cover setdiff1d assume_unique
|
||||
* `#12154 <https://github.com/numpy/numpy/pull/12154>`__: ENH: `__array_function__` for `np.core.defchararray`
|
||||
* `#12155 <https://github.com/numpy/numpy/pull/12155>`__: MAINT: Define Py_SETREF for pre-3.5.2 python and use in code
|
||||
* `#12157 <https://github.com/numpy/numpy/pull/12157>`__: ENH: Add support for third-party path-like objects by backporting...
|
||||
* `#12159 <https://github.com/numpy/numpy/pull/12159>`__: MAINT: remove unused nd_grid `__len__`.
|
||||
* `#12163 <https://github.com/numpy/numpy/pull/12163>`__: ENH: `__array_function__` for `np.einsum` and `np.block`
|
||||
* `#12165 <https://github.com/numpy/numpy/pull/12165>`__: Mark NEP 22 as accepted, and add "Informational" NEPs to NEP...
|
||||
* `#12166 <https://github.com/numpy/numpy/pull/12166>`__: NEP: Add zero-rank arrays historical info NEP
|
||||
* `#12173 <https://github.com/numpy/numpy/pull/12173>`__: NEP: add notes about updates to NEP-18
|
||||
* `#12174 <https://github.com/numpy/numpy/pull/12174>`__: NEP 16 abstract arrays: rebased and marked as "Withdrawn"
|
||||
* `#12175 <https://github.com/numpy/numpy/pull/12175>`__: ENH: `__array_function__` for multiarray functions
|
||||
* `#12176 <https://github.com/numpy/numpy/pull/12176>`__: TST: add test for weighted histogram mismatch
|
||||
* `#12177 <https://github.com/numpy/numpy/pull/12177>`__: MAINT: remove unused `_assertSquareness()`
|
||||
* `#12179 <https://github.com/numpy/numpy/pull/12179>`__: MAINT: Move `_kind_to_stem` to `np.core._dtype`, so that it can...
|
||||
* `#12180 <https://github.com/numpy/numpy/pull/12180>`__: NEP: change toc titles, cross reference, mark 16 superseded
|
||||
* `#12181 <https://github.com/numpy/numpy/pull/12181>`__: MAINT: fix depreciation message typo for np.sum
|
||||
* `#12185 <https://github.com/numpy/numpy/pull/12185>`__: TST: test multi_dot with 2 arrays
|
||||
* `#12199 <https://github.com/numpy/numpy/pull/12199>`__: TST: add Azure CI triggers
|
||||
* `#12209 <https://github.com/numpy/numpy/pull/12209>`__: Delay import of distutils.msvccompiler to avoid warning on non-Windows.
|
||||
* `#12211 <https://github.com/numpy/numpy/pull/12211>`__: DOC: Clarify the examples for argmax and argmin
|
||||
* `#12212 <https://github.com/numpy/numpy/pull/12212>`__: MAINT: `ndarray.__repr__` should not rely on `__array_function__`
|
||||
* `#12214 <https://github.com/numpy/numpy/pull/12214>`__: TST: add test for tensorinv()
|
||||
* `#12215 <https://github.com/numpy/numpy/pull/12215>`__: TST: test dims match on lstsq()
|
||||
* `#12216 <https://github.com/numpy/numpy/pull/12216>`__: TST: test invalid histogram range
|
||||
* `#12217 <https://github.com/numpy/numpy/pull/12217>`__: TST: test histogram bins dims
|
||||
* `#12219 <https://github.com/numpy/numpy/pull/12219>`__: ENH: make matmul into a ufunc
|
||||
* `#12222 <https://github.com/numpy/numpy/pull/12222>`__: TST: unit tests for column_stack.
|
||||
* `#12224 <https://github.com/numpy/numpy/pull/12224>`__: BUG: Fix MaskedArray fill_value type conversion.
|
||||
* `#12229 <https://github.com/numpy/numpy/pull/12229>`__: MAINT: Fix typo in comment
|
||||
* `#12236 <https://github.com/numpy/numpy/pull/12236>`__: BUG: maximum, minimum no longer emit warnings on NAN
|
||||
* `#12240 <https://github.com/numpy/numpy/pull/12240>`__: BUG: Fix crash in repr of void subclasses
|
||||
* `#12241 <https://github.com/numpy/numpy/pull/12241>`__: TST: arg handling tests in histogramdd
|
||||
* `#12243 <https://github.com/numpy/numpy/pull/12243>`__: BUG: Fix misleading assert message in assert_almost_equal #12200
|
||||
* `#12245 <https://github.com/numpy/numpy/pull/12245>`__: TST: tests for sort_complex()
|
||||
* `#12246 <https://github.com/numpy/numpy/pull/12246>`__: DOC: Update docs after NumPy 1.15.3 release.
|
||||
* `#12249 <https://github.com/numpy/numpy/pull/12249>`__: BUG: Dealloc cached buffer info
|
||||
* `#12250 <https://github.com/numpy/numpy/pull/12250>`__: DOC: add missing docs
|
||||
* `#12251 <https://github.com/numpy/numpy/pull/12251>`__: MAINT: improved error message when no `__array_function__` implementation...
|
||||
* `#12254 <https://github.com/numpy/numpy/pull/12254>`__: MAINT: Move ctype -> dtype conversion to python
|
||||
* `#12257 <https://github.com/numpy/numpy/pull/12257>`__: BUG: Fix fill value in masked array '==' and '!=' ops.
|
||||
* `#12259 <https://github.com/numpy/numpy/pull/12259>`__: TST: simplify how the different code paths for block are tested.
|
||||
* `#12265 <https://github.com/numpy/numpy/pull/12265>`__: BUG: Revert linspace import for concatenation funcs
|
||||
* `#12266 <https://github.com/numpy/numpy/pull/12266>`__: BUG: Avoid SystemErrors by checking the return value of PyPrint
|
||||
* `#12268 <https://github.com/numpy/numpy/pull/12268>`__: DOC: add broadcasting article from scipy old-wiki
|
||||
* `#12270 <https://github.com/numpy/numpy/pull/12270>`__: MAINT: set `__module__` for more `array_function_dispatch` uses
|
||||
* `#12276 <https://github.com/numpy/numpy/pull/12276>`__: MAINT: remove unused parse_index()
|
||||
* `#12279 <https://github.com/numpy/numpy/pull/12279>`__: NEP: tweak and mark NEP 0027 as final
|
||||
* `#12280 <https://github.com/numpy/numpy/pull/12280>`__: DEP: deprecate passing a generator to stack functions
|
||||
* `#12281 <https://github.com/numpy/numpy/pull/12281>`__: NEP: revise note for NEP 27
|
||||
* `#12285 <https://github.com/numpy/numpy/pull/12285>`__: ENH: array does not need to be writable to use as input to take
|
||||
* `#12286 <https://github.com/numpy/numpy/pull/12286>`__: ENH: Do not emit compiler warning if forcing old API
|
||||
* `#12288 <https://github.com/numpy/numpy/pull/12288>`__: BUILD: force LGTM to use cython>=0.29
|
||||
* `#12291 <https://github.com/numpy/numpy/pull/12291>`__: MAINT: `_set_out_array()` syntax fix
|
||||
* `#12292 <https://github.com/numpy/numpy/pull/12292>`__: MAINT: removed unused vars in f2py test code
|
||||
* `#12299 <https://github.com/numpy/numpy/pull/12299>`__: BUILD: use system python3 in the chroot
|
||||
* `#12302 <https://github.com/numpy/numpy/pull/12302>`__: DOC: Update the docstring of asfortranarray and ascontiguousarray
|
||||
* `#12306 <https://github.com/numpy/numpy/pull/12306>`__: TST: add 32-bit linux Azure CI job
|
||||
* `#12312 <https://github.com/numpy/numpy/pull/12312>`__: MAINT, TST: unreachable Python code paths
|
||||
* `#12321 <https://github.com/numpy/numpy/pull/12321>`__: MAINT: Simple speed-ups for getting overloaded types
|
||||
* `#12326 <https://github.com/numpy/numpy/pull/12326>`__: DOC: NumPy 1.15.4 post release documentation update.
|
||||
* `#12328 <https://github.com/numpy/numpy/pull/12328>`__: MAINT: Allow subclasses in `ndarray.__array_function__`.
|
||||
* `#12330 <https://github.com/numpy/numpy/pull/12330>`__: TST: test_tofile_fromfile now uses initialized memory
|
||||
* `#12331 <https://github.com/numpy/numpy/pull/12331>`__: DEV: change ASV benchmarks to run on Python 3.6 by default
|
||||
* `#12338 <https://github.com/numpy/numpy/pull/12338>`__: DOC: add a docstring for the function 'compare_chararrays' (See...
|
||||
* `#12342 <https://github.com/numpy/numpy/pull/12342>`__: BUG: Fix for np.dtype(ctypes.Structure) does not respect _pack_...
|
||||
* `#12347 <https://github.com/numpy/numpy/pull/12347>`__: DOC: typo in docstring numpy.random.beta, shape parameters must...
|
||||
* `#12349 <https://github.com/numpy/numpy/pull/12349>`__: TST, DOC: store circleci doc artifacts
|
||||
* `#12353 <https://github.com/numpy/numpy/pull/12353>`__: BUG: test, fix for threshold='nan'
|
||||
* `#12354 <https://github.com/numpy/numpy/pull/12354>`__: BUG: Fix segfault when an error occurs in np.fromfile
|
||||
* `#12355 <https://github.com/numpy/numpy/pull/12355>`__: BUG: fix a bug in npy_PyFile_Dup2 where it didn't return immediately...
|
||||
* `#12357 <https://github.com/numpy/numpy/pull/12357>`__: MAINT: Cleanup pavement file
|
||||
* `#12358 <https://github.com/numpy/numpy/pull/12358>`__: BUG: test, fix loading structured dtypes with padding
|
||||
* `#12362 <https://github.com/numpy/numpy/pull/12362>`__: MAINT: disable `__array_function__` dispatch unless environment...
|
||||
* `#12363 <https://github.com/numpy/numpy/pull/12363>`__: MAINT: update gfortran RPATH for AIX/Windows non-support.
|
||||
* `#12364 <https://github.com/numpy/numpy/pull/12364>`__: NEP: clarify the purpose of "types" in `__array_function__`.
|
||||
* `#12366 <https://github.com/numpy/numpy/pull/12366>`__: MAINT: Refactor sorting header file
|
||||
* `#12372 <https://github.com/numpy/numpy/pull/12372>`__: BUG: random: Fix handling of a=0 for numpy.random.weibull.
|
||||
* `#12373 <https://github.com/numpy/numpy/pull/12373>`__: MAINT: Improve error message for legal but unsupported PEP3118...
|
||||
* `#12376 <https://github.com/numpy/numpy/pull/12376>`__: BUG: do not override exception on import failure
|
||||
* `#12377 <https://github.com/numpy/numpy/pull/12377>`__: NEP: move nep 15 from accepted to final
|
||||
* `#12378 <https://github.com/numpy/numpy/pull/12378>`__: TST: Update complex long double precision tests.
|
||||
* `#12380 <https://github.com/numpy/numpy/pull/12380>`__: BUG: Fix for #10533 np.dtype(ctype) does not respect endianness
|
||||
* `#12381 <https://github.com/numpy/numpy/pull/12381>`__: BUG: graceful DataSource __del__ when __init__ fails
|
||||
* `#12382 <https://github.com/numpy/numpy/pull/12382>`__: ENH: set correct __module__ for objects in numpy's public API
|
||||
* `#12388 <https://github.com/numpy/numpy/pull/12388>`__: ENH: allow arrays for start and stop in {lin,log,geom}space
|
||||
* `#12390 <https://github.com/numpy/numpy/pull/12390>`__: DEV: remove shim added in 1.4
|
||||
* `#12391 <https://github.com/numpy/numpy/pull/12391>`__: DEP: raise on a call to deprecated numpy.lib.function_base.unique
|
||||
* `#12392 <https://github.com/numpy/numpy/pull/12392>`__: DOC: Add release notes for ctypes improvements
|
||||
* `#12398 <https://github.com/numpy/numpy/pull/12398>`__: BUG: fix possible overlap issues with avx enabled
|
||||
* `#12399 <https://github.com/numpy/numpy/pull/12399>`__: DOC: Fix typo in polyint. Fixes #12386.
|
||||
* `#12405 <https://github.com/numpy/numpy/pull/12405>`__: ENH: Add support for `np.dtype(ctypes.Union)`
|
||||
* `#12407 <https://github.com/numpy/numpy/pull/12407>`__: BUG: Fall back to 'ascii' locale in build (if needed)
|
||||
* `#12408 <https://github.com/numpy/numpy/pull/12408>`__: BUG: multifield-view of MaskedArray gets bad fill_value
|
||||
* `#12409 <https://github.com/numpy/numpy/pull/12409>`__: MAINT: correct the dtype.descr docstring
|
||||
* `#12413 <https://github.com/numpy/numpy/pull/12413>`__: BUG: Do not double-quote arguments to the command line
|
||||
* `#12414 <https://github.com/numpy/numpy/pull/12414>`__: MAINT: Update cversion hash.
|
||||
* `#12417 <https://github.com/numpy/numpy/pull/12417>`__: BUG: Fix regression on np.dtype(ctypes.c_void_p)
|
||||
* `#12419 <https://github.com/numpy/numpy/pull/12419>`__: Fix PyArray_FillFunc function definitions
|
||||
* `#12420 <https://github.com/numpy/numpy/pull/12420>`__: gfortran needs -lpthread & -maix64(64 build) in AIX
|
||||
* `#12422 <https://github.com/numpy/numpy/pull/12422>`__: MNT: Reword error message about loading pickled data.
|
||||
* `#12424 <https://github.com/numpy/numpy/pull/12424>`__: BUG: Fix inconsistent cache keying in ndpointer
|
||||
* `#12429 <https://github.com/numpy/numpy/pull/12429>`__: MAINT: Update mailmap for 1.16.0 release.
|
||||
* `#12431 <https://github.com/numpy/numpy/pull/12431>`__: BUG/ENH: Fix use of ndpointer in return values
|
||||
* `#12437 <https://github.com/numpy/numpy/pull/12437>`__: MAINT: refactor datetime.c_metadata creation
|
||||
* `#12439 <https://github.com/numpy/numpy/pull/12439>`__: BUG: test, fix NPY_VISIBILITY_HIDDEN on gcc, which becomes NPY_NO_EXPORT
|
||||
* `#12440 <https://github.com/numpy/numpy/pull/12440>`__: BUG: don't override original errors when casting inside np.dot()...
|
||||
* `#12443 <https://github.com/numpy/numpy/pull/12443>`__: MAINT Use set litterals
|
||||
* `#12445 <https://github.com/numpy/numpy/pull/12445>`__: MAINT: Use list and dict comprehension when possible
|
||||
* `#12446 <https://github.com/numpy/numpy/pull/12446>`__: MAINT: Fixups to new functions in np.lib.recfunctions
|
||||
* `#12447 <https://github.com/numpy/numpy/pull/12447>`__: ENH: add back the multifield copy->view change
|
||||
* `#12448 <https://github.com/numpy/numpy/pull/12448>`__: MAINT: Review F401,F841,F842 flake8 errors (unused variables...
|
||||
* `#12455 <https://github.com/numpy/numpy/pull/12455>`__: TST: use condition directive for Azure 2.7 check
|
||||
* `#12458 <https://github.com/numpy/numpy/pull/12458>`__: MAINT, DOC: fix Azure README badge
|
||||
* `#12464 <https://github.com/numpy/numpy/pull/12464>`__: BUG: IndexError for empty list on structured MaskedArray.
|
||||
* `#12466 <https://github.com/numpy/numpy/pull/12466>`__: TST: use openblas for Windows CI
|
||||
* `#12470 <https://github.com/numpy/numpy/pull/12470>`__: MAINT: remove wrapper functions from numpy.core.multiarray
|
||||
* `#12471 <https://github.com/numpy/numpy/pull/12471>`__: ENH: override support for np.linspace and friends
|
||||
* `#12474 <https://github.com/numpy/numpy/pull/12474>`__: TST: enable dispatcher test coverage
|
||||
* `#12477 <https://github.com/numpy/numpy/pull/12477>`__: DOC: fix example for __call__. See #12451
|
||||
* `#12486 <https://github.com/numpy/numpy/pull/12486>`__: DOC: Update copyright year in the license
|
||||
* `#12488 <https://github.com/numpy/numpy/pull/12488>`__: ENH: implement matmul on NDArrayOperatorsMixin
|
||||
* `#12493 <https://github.com/numpy/numpy/pull/12493>`__: BUG: fix records.fromfile fails to read data >4 GB
|
||||
* `#12494 <https://github.com/numpy/numpy/pull/12494>`__: BUG: test, fix matmul, dot for vector array with stride[i]=0
|
||||
* `#12498 <https://github.com/numpy/numpy/pull/12498>`__: TST: sync Azure Win openblas
|
||||
* `#12501 <https://github.com/numpy/numpy/pull/12501>`__: MAINT: removed word/typo from comment in site.cfg.example
|
||||
* `#12556 <https://github.com/numpy/numpy/pull/12556>`__: BUG: only override vector size for avx code for 1.16
|
||||
* `#12562 <https://github.com/numpy/numpy/pull/12562>`__: DOC, MAINT: Make `PYVER = 3` in doc/Makefile.
|
||||
* `#12563 <https://github.com/numpy/numpy/pull/12563>`__: DOC: more doc updates for structured arrays
|
||||
* `#12564 <https://github.com/numpy/numpy/pull/12564>`__: BUG: fix an unsafe PyTuple_GET_ITEM call
|
||||
* `#12565 <https://github.com/numpy/numpy/pull/12565>`__: Fix lgtm.com C/C++ build
|
||||
* `#12567 <https://github.com/numpy/numpy/pull/12567>`__: BUG: reorder operations for VS2015
|
||||
* `#12568 <https://github.com/numpy/numpy/pull/12568>`__: BUG: fix improper use of C-API
|
||||
* `#12569 <https://github.com/numpy/numpy/pull/12569>`__: BUG: Make new-lines in compiler error messages print to the console
|
||||
* `#12570 <https://github.com/numpy/numpy/pull/12570>`__: MAINT: don't check alignment size=0 arrays (RELAXED_STRIDES)
|
||||
* `#12573 <https://github.com/numpy/numpy/pull/12573>`__: BUG: fix refcount issue caused by #12524
|
||||
* `#12580 <https://github.com/numpy/numpy/pull/12580>`__: BUG: fix segfault in ctypeslib with obj being collected
|
||||
* `#12581 <https://github.com/numpy/numpy/pull/12581>`__: TST: activate shippable maintenance branches
|
||||
* `#12582 <https://github.com/numpy/numpy/pull/12582>`__: BUG: fix f2py pep338 execution method
|
||||
* `#12587 <https://github.com/numpy/numpy/pull/12587>`__: BUG: Make `arr.ctypes.data` hold a reference to the underlying...
|
||||
* `#12588 <https://github.com/numpy/numpy/pull/12588>`__: BUG: check for errors after PyArray_DESCR_REPLACE
|
||||
* `#12590 <https://github.com/numpy/numpy/pull/12590>`__: DOC, MAINT: Prepare for 1.16.0rc1 release.
|
||||
* `#12603 <https://github.com/numpy/numpy/pull/12603>`__: DOC: Fix markup in 1.16.0 release notes.
|
||||
* `#12621 <https://github.com/numpy/numpy/pull/12621>`__: BUG: longdouble with elsize 12 is never uint alignable.
|
||||
* `#12622 <https://github.com/numpy/numpy/pull/12622>`__: BUG: Add missing free in ufunc dealloc
|
||||
* `#12623 <https://github.com/numpy/numpy/pull/12623>`__: MAINT: add test for 12-byte alignment
|
||||
* `#12655 <https://github.com/numpy/numpy/pull/12655>`__: BUG: fix uint alignment asserts in lowlevel loops
|
||||
* `#12656 <https://github.com/numpy/numpy/pull/12656>`__: BENCH: don't fail at import time with old Numpy
|
||||
* `#12657 <https://github.com/numpy/numpy/pull/12657>`__: DOC: update 2018 -> 2019
|
||||
* `#12705 <https://github.com/numpy/numpy/pull/12705>`__: ENH: Better links in documentation
|
||||
* `#12706 <https://github.com/numpy/numpy/pull/12706>`__: MAINT: Further fixups to uint alignment checks
|
||||
* `#12707 <https://github.com/numpy/numpy/pull/12707>`__: BUG: Add 'sparc' to platforms implementing 16 byte reals.
|
||||
* `#12708 <https://github.com/numpy/numpy/pull/12708>`__: TST: Fix endianness in unstuctured_to_structured test
|
||||
* `#12710 <https://github.com/numpy/numpy/pull/12710>`__: TST: pin Azure brew version for stability.
|
|
@ -0,0 +1,62 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 16 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Antoine Pitrou
|
||||
* Arcesio Castaneda Medina +
|
||||
* Charles Harris
|
||||
* Chris Markiewicz +
|
||||
* Christoph Gohlke
|
||||
* Christopher J. Markiewicz +
|
||||
* Daniel Hrisca +
|
||||
* EelcoPeacs +
|
||||
* Eric Wieser
|
||||
* Kevin Sheppard
|
||||
* Matti Picus
|
||||
* OBATA Akio +
|
||||
* Ralf Gommers
|
||||
* Sebastian Berg
|
||||
* Stephan Hoyer
|
||||
* Tyler Reddy
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 33 pull requests were merged for this release.
|
||||
|
||||
* `#12754 <https://github.com/numpy/numpy/pull/12754>`__: BUG: Check paths are unicode, bytes or path-like
|
||||
* `#12767 <https://github.com/numpy/numpy/pull/12767>`__: ENH: add mm->q floordiv
|
||||
* `#12768 <https://github.com/numpy/numpy/pull/12768>`__: ENH: port np.core.overrides to C for speed
|
||||
* `#12769 <https://github.com/numpy/numpy/pull/12769>`__: ENH: Add np.ctypeslib.as_ctypes_type(dtype), improve `np.ctypeslib.as_ctypes`
|
||||
* `#12771 <https://github.com/numpy/numpy/pull/12771>`__: BUG: Ensure probabilities are not NaN in choice
|
||||
* `#12772 <https://github.com/numpy/numpy/pull/12772>`__: MAINT: add warning to numpy.distutils for LDFLAGS append behavior.
|
||||
* `#12773 <https://github.com/numpy/numpy/pull/12773>`__: ENH: add "max difference" messages to np.testing.assert_array_equal...
|
||||
* `#12774 <https://github.com/numpy/numpy/pull/12774>`__: BUG: Fix incorrect/missing reference cleanups found using valgrind
|
||||
* `#12776 <https://github.com/numpy/numpy/pull/12776>`__: BUG,TST: Remove the misguided `run_command` that wraps subprocess
|
||||
* `#12777 <https://github.com/numpy/numpy/pull/12777>`__: DOC, TST: Clean up matplotlib imports
|
||||
* `#12781 <https://github.com/numpy/numpy/pull/12781>`__: BUG: Fix reference counting for subarrays containing objects
|
||||
* `#12782 <https://github.com/numpy/numpy/pull/12782>`__: BUG: Ensure failing memory allocations are reported
|
||||
* `#12784 <https://github.com/numpy/numpy/pull/12784>`__: BUG: Fix leak of void scalar buffer info
|
||||
* `#12788 <https://github.com/numpy/numpy/pull/12788>`__: MAINT: Change the order of checking for local file.
|
||||
* `#12808 <https://github.com/numpy/numpy/pull/12808>`__: BUG: loosen kwargs requirements in ediff1d
|
||||
* `#12809 <https://github.com/numpy/numpy/pull/12809>`__: DOC: clarify the extend of __array_function__ support in NumPy...
|
||||
* `#12810 <https://github.com/numpy/numpy/pull/12810>`__: BUG: Check that dtype or formats arguments are not None.
|
||||
* `#12811 <https://github.com/numpy/numpy/pull/12811>`__: BUG: fix f2py problem to build wrappers using PGI's Fortran
|
||||
* `#12812 <https://github.com/numpy/numpy/pull/12812>`__: BUG: double decref of dtype in failure codepath. Test and fix
|
||||
* `#12813 <https://github.com/numpy/numpy/pull/12813>`__: BUG, DOC: test, fix that f2py.compile accepts str and bytes,...
|
||||
* `#12816 <https://github.com/numpy/numpy/pull/12816>`__: BUG: resolve writeback in arr_insert failure paths
|
||||
* `#12820 <https://github.com/numpy/numpy/pull/12820>`__: ENH: Add mm->qm divmod
|
||||
* `#12843 <https://github.com/numpy/numpy/pull/12843>`__: BUG: fix to check before apply `shlex.split`
|
||||
* `#12844 <https://github.com/numpy/numpy/pull/12844>`__: BUG: Fix SystemError when pickling datetime64 array with pickle5
|
||||
* `#12845 <https://github.com/numpy/numpy/pull/12845>`__: BUG: Fix rounding of denormals in double and float to half casts.
|
||||
* `#12868 <https://github.com/numpy/numpy/pull/12868>`__: TEST: pin mingw version
|
||||
* `#12869 <https://github.com/numpy/numpy/pull/12869>`__: BUG: ndarrays pickled by 1.16 cannot be loaded by 1.15.4 and...
|
||||
* `#12870 <https://github.com/numpy/numpy/pull/12870>`__: BUG: do not Py_DECREF NULL pointer
|
||||
* `#12890 <https://github.com/numpy/numpy/pull/12890>`__: ENH: add _dtype_ctype to namespace for freeze analysis
|
||||
* `#12891 <https://github.com/numpy/numpy/pull/12891>`__: BUG: fail if old multiarray module detected
|
||||
* `#12898 <https://github.com/numpy/numpy/pull/12898>`__: BUG: Do not double-quote arguments passed on to the linker
|
||||
* `#12899 <https://github.com/numpy/numpy/pull/12899>`__: BUG: Do not insert extra double quote into preprocessor macros
|
||||
* `#12902 <https://github.com/numpy/numpy/pull/12902>`__: DOC: Prepare for 1.16.1 release.
|
|
@ -0,0 +1,25 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 5 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Charles Harris
|
||||
* Eric Wieser
|
||||
* Matti Picus
|
||||
* Tyler Reddy
|
||||
* Tony LaTorre +
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 7 pull requests were merged for this release.
|
||||
|
||||
* `#12909 <https://github.com/numpy/numpy/pull/12909>`__: TST: fix vmImage dispatch in Azure
|
||||
* `#12923 <https://github.com/numpy/numpy/pull/12923>`__: MAINT: remove complicated test of multiarray import failure mode
|
||||
* `#13020 <https://github.com/numpy/numpy/pull/13020>`__: BUG: fix signed zero behavior in npy_divmod
|
||||
* `#13026 <https://github.com/numpy/numpy/pull/13026>`__: MAINT: Add functions to parse shell-strings in the platform-native...
|
||||
* `#13028 <https://github.com/numpy/numpy/pull/13028>`__: BUG: Fix regression in parsing of F90 and F77 environment variables
|
||||
* `#13038 <https://github.com/numpy/numpy/pull/13038>`__: BUG: parse shell escaping in extra_compile_args and extra_link_args
|
||||
* `#13041 <https://github.com/numpy/numpy/pull/13041>`__: BLD: Windows absolute path DLL loading
|
|
@ -0,0 +1,55 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 16 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Andreas Schwab
|
||||
* Bharat Raghunathan +
|
||||
* Bran +
|
||||
* Charles Harris
|
||||
* Eric Wieser
|
||||
* Jakub Wilk
|
||||
* Kevin Sheppard
|
||||
* Marten van Kerkwijk
|
||||
* Matti Picus
|
||||
* Paul Ivanov
|
||||
* Ralf Gommers
|
||||
* Sebastian Berg
|
||||
* Tyler Reddy
|
||||
* Warren Weckesser
|
||||
* Yu Feng
|
||||
* adeak +
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 26 pull requests were merged for this release.
|
||||
|
||||
* `#13072 <https://github.com/numpy/numpy/pull/13072>`__: BUG: Fixes to numpy.distutils.Configuration.get_version (#13056)
|
||||
* `#13082 <https://github.com/numpy/numpy/pull/13082>`__: BUG: Fix errors in string formatting while producing an error
|
||||
* `#13083 <https://github.com/numpy/numpy/pull/13083>`__: BUG: Convert fortran flags in environment variable
|
||||
* `#13084 <https://github.com/numpy/numpy/pull/13084>`__: BUG: Remove error-prone borrowed reference handling
|
||||
* `#13085 <https://github.com/numpy/numpy/pull/13085>`__: BUG: Add error checks when converting integers to datetime types
|
||||
* `#13091 <https://github.com/numpy/numpy/pull/13091>`__: BUG: Remove our patched version of `distutils.split_quoted`
|
||||
* `#13141 <https://github.com/numpy/numpy/pull/13141>`__: BUG: Fix testsuite failures on ppc and riscv
|
||||
* `#13142 <https://github.com/numpy/numpy/pull/13142>`__: BUG: Fix parameter validity checks in ``random.choice``
|
||||
* `#13143 <https://github.com/numpy/numpy/pull/13143>`__: BUG: Ensure linspace works on object input.
|
||||
* `#13144 <https://github.com/numpy/numpy/pull/13144>`__: BLD: fix include list for sdist building.
|
||||
* `#13145 <https://github.com/numpy/numpy/pull/13145>`__: BUG: __array_interface__ offset was always ignored
|
||||
* `#13274 <https://github.com/numpy/numpy/pull/13274>`__: MAINT: f2py: Add a cast to avoid a compiler warning.
|
||||
* `#13275 <https://github.com/numpy/numpy/pull/13275>`__: BUG, MAINT: fix reference count error on invalid input to ndarray.flat
|
||||
* `#13276 <https://github.com/numpy/numpy/pull/13276>`__: ENH: Cast covariance to double in random mvnormal
|
||||
* `#13278 <https://github.com/numpy/numpy/pull/13278>`__: BUG: Fix null pointer dereference in PyArray_DTypeFromObjectHelper
|
||||
* `#13339 <https://github.com/numpy/numpy/pull/13339>`__: BUG: Use C call to sysctlbyname for AVX detection on MacOS.
|
||||
* `#13340 <https://github.com/numpy/numpy/pull/13340>`__: BUG: Fix crash when calling savetxt on a padded array
|
||||
* `#13341 <https://github.com/numpy/numpy/pull/13341>`__: BUG: ufunc.at iteration variable size fix
|
||||
* `#13342 <https://github.com/numpy/numpy/pull/13342>`__: DOC: Add as_ctypes_type to the documentation
|
||||
* `#13350 <https://github.com/numpy/numpy/pull/13350>`__: BUG: Return the coefficients array directly
|
||||
* `#13351 <https://github.com/numpy/numpy/pull/13351>`__: BUG/MAINT: Tidy typeinfo.h and .c
|
||||
* `#13359 <https://github.com/numpy/numpy/pull/13359>`__: BUG: Make allow_pickle=False the default for loading
|
||||
* `#13360 <https://github.com/numpy/numpy/pull/13360>`__: DOC: fix some doctest failures
|
||||
* `#13363 <https://github.com/numpy/numpy/pull/13363>`__: BUG/MAINT: Tidy typeinfo.h and .c
|
||||
* `#13381 <https://github.com/numpy/numpy/pull/13381>`__: BLD: address mingw-w64 issue. Follow-up to gh-9977
|
||||
* `#13382 <https://github.com/numpy/numpy/pull/13382>`__: REL: Prepare for the NumPy release.
|
|
@ -0,0 +1,39 @@
|
|||
|
||||
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
|
||||
* Dennis Zollo +
|
||||
* Hunter Damron +
|
||||
* Jingbei Li +
|
||||
* Kevin Sheppard
|
||||
* Matti Picus
|
||||
* Nicola Soranzo +
|
||||
* Sebastian Berg
|
||||
* Tyler Reddy
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 16 pull requests were merged for this release.
|
||||
|
||||
* `#13392 <https://github.com/numpy/numpy/pull/13392>`__: BUG: Some PyPy versions lack PyStructSequence_InitType2.
|
||||
* `#13394 <https://github.com/numpy/numpy/pull/13394>`__: MAINT, DEP: Fix deprecated ``assertEquals()``
|
||||
* `#13396 <https://github.com/numpy/numpy/pull/13396>`__: BUG: Fix structured_to_unstructured on single-field types (backport)
|
||||
* `#13549 <https://github.com/numpy/numpy/pull/13549>`__: BLD: Make CI pass again with pytest 4.5
|
||||
* `#13552 <https://github.com/numpy/numpy/pull/13552>`__: TST: Register markers in conftest.py.
|
||||
* `#13559 <https://github.com/numpy/numpy/pull/13559>`__: BUG: Removes ValueError for empty kwargs in arraymultiter_new
|
||||
* `#13560 <https://github.com/numpy/numpy/pull/13560>`__: BUG: Add TypeError to accepted exceptions in crackfortran.
|
||||
* `#13561 <https://github.com/numpy/numpy/pull/13561>`__: BUG: Handle subarrays in descr_to_dtype
|
||||
* `#13562 <https://github.com/numpy/numpy/pull/13562>`__: BUG: Protect generators from log(0.0)
|
||||
* `#13563 <https://github.com/numpy/numpy/pull/13563>`__: BUG: Always return views from structured_to_unstructured when...
|
||||
* `#13564 <https://github.com/numpy/numpy/pull/13564>`__: BUG: Catch stderr when checking compiler version
|
||||
* `#13565 <https://github.com/numpy/numpy/pull/13565>`__: BUG: longdouble(int) does not work
|
||||
* `#13587 <https://github.com/numpy/numpy/pull/13587>`__: BUG: distutils/system_info.py fix missing subprocess import (#13523)
|
||||
* `#13620 <https://github.com/numpy/numpy/pull/13620>`__: BUG,DEP: Fix writeable flag setting for arrays without base
|
||||
* `#13641 <https://github.com/numpy/numpy/pull/13641>`__: MAINT: Prepare for the 1.16.4 release.
|
||||
* `#13644 <https://github.com/numpy/numpy/pull/13644>`__: BUG: special case object arrays when printing rel-, abs-error
|
|
@ -0,0 +1,54 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 18 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Alexander Shadchin
|
||||
* Allan Haldane
|
||||
* Bruce Merry +
|
||||
* Charles Harris
|
||||
* Colin Snyder +
|
||||
* Dan Allan +
|
||||
* Emile +
|
||||
* Eric Wieser
|
||||
* Grey Baker +
|
||||
* Maksim Shabunin +
|
||||
* Marten van Kerkwijk
|
||||
* Matti Picus
|
||||
* Peter Andreas Entschev +
|
||||
* Ralf Gommers
|
||||
* Richard Harris +
|
||||
* Sebastian Berg
|
||||
* Sergei Lebedev +
|
||||
* Stephan Hoyer
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 23 pull requests were merged for this release.
|
||||
|
||||
* `#13742 <https://github.com/numpy/numpy/pull/13742>`__: ENH: Add project URLs to setup.py
|
||||
* `#13823 <https://github.com/numpy/numpy/pull/13823>`__: TEST, ENH: fix tests and ctypes code for PyPy
|
||||
* `#13845 <https://github.com/numpy/numpy/pull/13845>`__: BUG: use npy_intp instead of int for indexing array
|
||||
* `#13867 <https://github.com/numpy/numpy/pull/13867>`__: TST: Ignore DeprecationWarning during nose imports
|
||||
* `#13905 <https://github.com/numpy/numpy/pull/13905>`__: BUG: Fix use-after-free in boolean indexing
|
||||
* `#13933 <https://github.com/numpy/numpy/pull/13933>`__: MAINT/BUG/DOC: Fix errors in _add_newdocs
|
||||
* `#13984 <https://github.com/numpy/numpy/pull/13984>`__: BUG: fix byte order reversal for datetime64[ns]
|
||||
* `#13994 <https://github.com/numpy/numpy/pull/13994>`__: MAINT,BUG: Use nbytes to also catch empty descr during allocation
|
||||
* `#14042 <https://github.com/numpy/numpy/pull/14042>`__: BUG: np.array cleared errors occurred in PyMemoryView_FromObject
|
||||
* `#14043 <https://github.com/numpy/numpy/pull/14043>`__: BUG: Fixes for Undefined Behavior Sanitizer (UBSan) errors.
|
||||
* `#14044 <https://github.com/numpy/numpy/pull/14044>`__: BUG: ensure that casting to/from structured is properly checked.
|
||||
* `#14045 <https://github.com/numpy/numpy/pull/14045>`__: MAINT: fix histogram*d dispatchers
|
||||
* `#14046 <https://github.com/numpy/numpy/pull/14046>`__: BUG: further fixup to histogram2d dispatcher.
|
||||
* `#14052 <https://github.com/numpy/numpy/pull/14052>`__: BUG: Replace contextlib.suppress for Python 2.7
|
||||
* `#14056 <https://github.com/numpy/numpy/pull/14056>`__: BUG: fix compilation of 3rd party modules with Py_LIMITED_API...
|
||||
* `#14057 <https://github.com/numpy/numpy/pull/14057>`__: BUG: Fix memory leak in dtype from dict constructor
|
||||
* `#14058 <https://github.com/numpy/numpy/pull/14058>`__: DOC: Document array_function at a higher level.
|
||||
* `#14084 <https://github.com/numpy/numpy/pull/14084>`__: BUG, DOC: add new recfunctions to `__all__`
|
||||
* `#14162 <https://github.com/numpy/numpy/pull/14162>`__: BUG: Remove stray print that causes a SystemError on python 3.7
|
||||
* `#14297 <https://github.com/numpy/numpy/pull/14297>`__: TST: Pin pytest version to 5.0.1.
|
||||
* `#14322 <https://github.com/numpy/numpy/pull/14322>`__: ENH: Enable huge pages in all Linux builds
|
||||
* `#14346 <https://github.com/numpy/numpy/pull/14346>`__: BUG: fix behavior of structured_to_unstructured on non-trivial...
|
||||
* `#14382 <https://github.com/numpy/numpy/pull/14382>`__: REL: Prepare for the NumPy 1.16.5 release.
|
|
@ -0,0 +1,36 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 10 people contributed to this release.
|
||||
|
||||
* CakeWithSteak
|
||||
* Charles Harris
|
||||
* Chris Burr
|
||||
* Eric Wieser
|
||||
* Fernando Saravia
|
||||
* Lars Grueter
|
||||
* Matti Picus
|
||||
* Maxwell Aladago
|
||||
* Qiming Sun
|
||||
* Warren Weckesser
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 14 pull requests were merged for this release.
|
||||
|
||||
* `#14211 <https://github.com/numpy/numpy/pull/14211>`__: BUG: Fix uint-overflow if padding with linear_ramp and negative...
|
||||
* `#14275 <https://github.com/numpy/numpy/pull/14275>`__: BUG: fixing to allow unpickling of PY3 pickles from PY2
|
||||
* `#14340 <https://github.com/numpy/numpy/pull/14340>`__: BUG: Fix misuse of .names and .fields in various places (backport...
|
||||
* `#14423 <https://github.com/numpy/numpy/pull/14423>`__: BUG: test, fix regression in converting to ctypes.
|
||||
* `#14434 <https://github.com/numpy/numpy/pull/14434>`__: BUG: Fixed maximum relative error reporting in assert_allclose
|
||||
* `#14509 <https://github.com/numpy/numpy/pull/14509>`__: BUG: Fix regression in boolean matmul.
|
||||
* `#14686 <https://github.com/numpy/numpy/pull/14686>`__: BUG: properly define PyArray_DescrCheck
|
||||
* `#14853 <https://github.com/numpy/numpy/pull/14853>`__: BLD: add 'apt update' to shippable
|
||||
* `#14854 <https://github.com/numpy/numpy/pull/14854>`__: BUG: Fix _ctypes class circular reference. (#13808)
|
||||
* `#14856 <https://github.com/numpy/numpy/pull/14856>`__: BUG: Fix `np.einsum` errors on Power9 Linux and z/Linux
|
||||
* `#14863 <https://github.com/numpy/numpy/pull/14863>`__: BLD: Prevent -flto from optimising long double representation...
|
||||
* `#14864 <https://github.com/numpy/numpy/pull/14864>`__: BUG: lib: Fix histogram problem with signed integer arrays.
|
||||
* `#15172 <https://github.com/numpy/numpy/pull/15172>`__: ENH: Backport improvements to testing functions.
|
||||
* `#15191 <https://github.com/numpy/numpy/pull/15191>`__: REL: Prepare for 1.16.6 release.
|
|
@ -0,0 +1,694 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 150 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Aaron Voelker +
|
||||
* Abdur Rehman +
|
||||
* Abdur-Rahmaan Janhangeer +
|
||||
* Abhinav Sagar +
|
||||
* Adam J. Stewart +
|
||||
* Adam Orr +
|
||||
* Albert Thomas +
|
||||
* Alex Watt +
|
||||
* Alexander Blinne +
|
||||
* Alexander Shadchin
|
||||
* Allan Haldane
|
||||
* Ander Ustarroz +
|
||||
* Andras Deak
|
||||
* Andrea Pattori +
|
||||
* Andreas Schwab
|
||||
* Andrew Naguib +
|
||||
* Andy Scholand +
|
||||
* Ankit Shukla +
|
||||
* Anthony Sottile
|
||||
* Antoine Pitrou
|
||||
* Antony Lee
|
||||
* Arcesio Castaneda Medina +
|
||||
* Assem +
|
||||
* Bernardt Duvenhage +
|
||||
* Bharat Raghunathan +
|
||||
* Bharat123rox +
|
||||
* Bran +
|
||||
* Bruce Merry +
|
||||
* Charles Harris
|
||||
* Chirag Nighut +
|
||||
* Christoph Gohlke
|
||||
* Christopher Whelan +
|
||||
* Chuanzhu Xu +
|
||||
* Colin Snyder +
|
||||
* Dan Allan +
|
||||
* Daniel Hrisca
|
||||
* Daniel Lawrence +
|
||||
* Debsankha Manik +
|
||||
* Dennis Zollo +
|
||||
* Dieter Werthmüller +
|
||||
* Dominic Jack +
|
||||
* EelcoPeacs +
|
||||
* Eric Larson
|
||||
* Eric Wieser
|
||||
* Fabrice Fontaine +
|
||||
* Gary Gurlaskie +
|
||||
* Gregory Lee +
|
||||
* Gregory R. Lee
|
||||
* Guillaume Horel +
|
||||
* Hameer Abbasi
|
||||
* Haoyu Sun +
|
||||
* Harmon +
|
||||
* He Jia +
|
||||
* Hunter Damron +
|
||||
* Ian Sanders +
|
||||
* Ilja +
|
||||
* Isaac Virshup +
|
||||
* Isaiah Norton +
|
||||
* Jackie Leng +
|
||||
* Jaime Fernandez
|
||||
* Jakub Wilk
|
||||
* Jan S. (Milania1) +
|
||||
* Jarrod Millman
|
||||
* Javier Dehesa +
|
||||
* Jeremy Lay +
|
||||
* Jim Turner +
|
||||
* Jingbei Li +
|
||||
* Joachim Hereth +
|
||||
* Johannes Hampp +
|
||||
* John Belmonte +
|
||||
* John Kirkham
|
||||
* John Law +
|
||||
* Jonas Jensen
|
||||
* Joseph Fox-Rabinovitz
|
||||
* Joseph Martinot-Lagarde
|
||||
* Josh Wilson
|
||||
* Juan Luis Cano Rodríguez
|
||||
* Julian Taylor
|
||||
* Jérémie du Boisberranger +
|
||||
* Kai Striega +
|
||||
* Katharine Hyatt +
|
||||
* Kevin Sheppard
|
||||
* Kexuan Sun
|
||||
* Kiko Correoso +
|
||||
* Kriti Singh +
|
||||
* Lars Grueter +
|
||||
* Luis Pedro Coelho
|
||||
* Maksim Shabunin +
|
||||
* Manvi07 +
|
||||
* Mark Harfouche
|
||||
* Marten van Kerkwijk
|
||||
* Martin Reinecke +
|
||||
* Matthew Brett
|
||||
* Matthias Bussonnier
|
||||
* Matti Picus
|
||||
* Michel Fruchart +
|
||||
* Mike Lui +
|
||||
* Mike Taves +
|
||||
* Min ho Kim +
|
||||
* Mircea Akos Bruma
|
||||
* Nick Minkyu Lee
|
||||
* Nick Papior
|
||||
* Nick R. Papior +
|
||||
* Nicola Soranzo +
|
||||
* Nimish Telang +
|
||||
* OBATA Akio +
|
||||
* Oleksandr Pavlyk
|
||||
* Ori Broda +
|
||||
* Paul Ivanov
|
||||
* Pauli Virtanen
|
||||
* Peter Andreas Entschev +
|
||||
* Peter Bell +
|
||||
* Pierre de Buyl
|
||||
* Piyush Jaipuriayar +
|
||||
* Prithvi MK +
|
||||
* Raghuveer Devulapalli +
|
||||
* Ralf Gommers
|
||||
* Richard Harris +
|
||||
* Rishabh Chakrabarti +
|
||||
* Riya Sharma +
|
||||
* Robert Kern
|
||||
* Roman Yurchak
|
||||
* Ryan Levy +
|
||||
* Sebastian Berg
|
||||
* Sergei Lebedev +
|
||||
* Shekhar Prasad Rajak +
|
||||
* Stefan van der Walt
|
||||
* Stephan Hoyer
|
||||
* Steve Stagg +
|
||||
* SuryaChand P +
|
||||
* Søren Rasmussen +
|
||||
* Thibault Hallouin +
|
||||
* Thomas A Caswell
|
||||
* Tobias Uelwer +
|
||||
* Tony LaTorre +
|
||||
* Toshiki Kataoka
|
||||
* Tyler Moncur +
|
||||
* Tyler Reddy
|
||||
* Valentin Haenel
|
||||
* Vrinda Narayan +
|
||||
* Warren Weckesser
|
||||
* Weitang Li
|
||||
* Wojtek Ruszczewski
|
||||
* Yu Feng
|
||||
* Yu Kobayashi +
|
||||
* Yury Kirienko +
|
||||
* aashuli +
|
||||
* luzpaz
|
||||
* parul +
|
||||
* spacescientist +
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 531 pull requests were merged for this release.
|
||||
|
||||
* `#4808 <https://github.com/numpy/numpy/pull/4808>`__: ENH: Make the `mode` parameter of np.pad default to 'constant'
|
||||
* `#8131 <https://github.com/numpy/numpy/pull/8131>`__: BUG: Fix help() formatting for deprecated functions.
|
||||
* `#8159 <https://github.com/numpy/numpy/pull/8159>`__: ENH: Add import time benchmarks.
|
||||
* `#8641 <https://github.com/numpy/numpy/pull/8641>`__: BUG: Preserve types of empty arrays in ix_ when known
|
||||
* `#8662 <https://github.com/numpy/numpy/pull/8662>`__: ENH: preserve subclasses in ufunc.outer
|
||||
* `#9330 <https://github.com/numpy/numpy/pull/9330>`__: ENH: Make errstate a ContextDecorator in Python3
|
||||
* `#10308 <https://github.com/numpy/numpy/pull/10308>`__: API: Make MaskedArray.mask return a view, rather than the underlying...
|
||||
* `#10417 <https://github.com/numpy/numpy/pull/10417>`__: ENH: Allow dtype objects to be indexed with multiple fields at...
|
||||
* `#10723 <https://github.com/numpy/numpy/pull/10723>`__: BUG: longdouble(int) does not work
|
||||
* `#10741 <https://github.com/numpy/numpy/pull/10741>`__: ENH: Implement `np.floating.as_integer_ratio`
|
||||
* `#10855 <https://github.com/numpy/numpy/pull/10855>`__: ENH: Adding a count parameter to np.unpackbits
|
||||
* `#11230 <https://github.com/numpy/numpy/pull/11230>`__: MAINT: More cleanup of einsum
|
||||
* `#11233 <https://github.com/numpy/numpy/pull/11233>`__: BUG: ensure i0 does not change the shape.
|
||||
* `#11684 <https://github.com/numpy/numpy/pull/11684>`__: BUG: Raise when unravel_index, ravel_multi_index are given empty...
|
||||
* `#11689 <https://github.com/numpy/numpy/pull/11689>`__: DOC: Add ref docs for C generic types.
|
||||
* `#11721 <https://github.com/numpy/numpy/pull/11721>`__: BUG: Make `arr.ctypes.data` hold onto a reference to the underlying...
|
||||
* `#11829 <https://github.com/numpy/numpy/pull/11829>`__: MAINT: Use textwrap.dedent in f2py tests
|
||||
* `#11859 <https://github.com/numpy/numpy/pull/11859>`__: BUG: test and fix np.dtype('i,L') #5645
|
||||
* `#11888 <https://github.com/numpy/numpy/pull/11888>`__: ENH: Add pocketfft sources to numpy for testing, benchmarks,...
|
||||
* `#11977 <https://github.com/numpy/numpy/pull/11977>`__: BUG: reference cycle in np.vectorize
|
||||
* `#12025 <https://github.com/numpy/numpy/pull/12025>`__: DOC: add detail for 'where' argument in ufunc
|
||||
* `#12152 <https://github.com/numpy/numpy/pull/12152>`__: TST: Added tests for np.tensordot()
|
||||
* `#12201 <https://github.com/numpy/numpy/pull/12201>`__: TST: coverage for _commonType()
|
||||
* `#12234 <https://github.com/numpy/numpy/pull/12234>`__: MAINT: refactor PyArray_AdaptFlexibleDType to return a meaningful...
|
||||
* `#12239 <https://github.com/numpy/numpy/pull/12239>`__: BUG: polyval returned non-masked arrays for masked input.
|
||||
* `#12253 <https://github.com/numpy/numpy/pull/12253>`__: DOC, TST: enable doctests
|
||||
* `#12308 <https://github.com/numpy/numpy/pull/12308>`__: ENH: add mm->q floordiv
|
||||
* `#12317 <https://github.com/numpy/numpy/pull/12317>`__: ENH: port np.core.overrides to C for speed
|
||||
* `#12333 <https://github.com/numpy/numpy/pull/12333>`__: DOC: update description of the Dirichlet distribution
|
||||
* `#12418 <https://github.com/numpy/numpy/pull/12418>`__: ENH: Add timsort to npysort
|
||||
* `#12428 <https://github.com/numpy/numpy/pull/12428>`__: ENH: always use zip64, upgrade pickle protocol to 3
|
||||
* `#12456 <https://github.com/numpy/numpy/pull/12456>`__: ENH: Add np.ctypeslib.as_ctypes_type(dtype), improve `np.ctypeslib.as_ctypes`
|
||||
* `#12457 <https://github.com/numpy/numpy/pull/12457>`__: TST: openblas for Azure MacOS
|
||||
* `#12463 <https://github.com/numpy/numpy/pull/12463>`__: DOC: fix docstrings for broadcastable inputs in ufunc
|
||||
* `#12502 <https://github.com/numpy/numpy/pull/12502>`__: TST: Azure Python version fix
|
||||
* `#12506 <https://github.com/numpy/numpy/pull/12506>`__: MAINT: Prepare master for 1.17.0 development.
|
||||
* `#12508 <https://github.com/numpy/numpy/pull/12508>`__: DOC, MAINT: Make `PYVER = 3` in doc/Makefile.
|
||||
* `#12511 <https://github.com/numpy/numpy/pull/12511>`__: BUG: don't check alignment of size=0 arrays (RELAXED_STRIDES)
|
||||
* `#12512 <https://github.com/numpy/numpy/pull/12512>`__: added template-generated files to .gitignore
|
||||
* `#12519 <https://github.com/numpy/numpy/pull/12519>`__: ENH/DEP: Use a ufunc under the hood for ndarray.clip
|
||||
* `#12522 <https://github.com/numpy/numpy/pull/12522>`__: BUG: Make new-lines in compiler error messages print to the console
|
||||
* `#12524 <https://github.com/numpy/numpy/pull/12524>`__: BUG: fix improper use of C-API
|
||||
* `#12526 <https://github.com/numpy/numpy/pull/12526>`__: BUG: reorder operations for VS2015
|
||||
* `#12527 <https://github.com/numpy/numpy/pull/12527>`__: DEV: Fix lgtm.com C/C++ build
|
||||
* `#12528 <https://github.com/numpy/numpy/pull/12528>`__: BUG: fix an unsafe PyTuple_GET_ITEM call
|
||||
* `#12532 <https://github.com/numpy/numpy/pull/12532>`__: DEV: add ctags option file
|
||||
* `#12534 <https://github.com/numpy/numpy/pull/12534>`__: DOC: Fix desc. of Ellipsis behavior in reference
|
||||
* `#12537 <https://github.com/numpy/numpy/pull/12537>`__: DOC: Change 'num' to 'np'
|
||||
* `#12538 <https://github.com/numpy/numpy/pull/12538>`__: MAINT: remove VC 9.0 from CI
|
||||
* `#12539 <https://github.com/numpy/numpy/pull/12539>`__: DEV: remove travis 32 bit job since it is running on azure
|
||||
* `#12543 <https://github.com/numpy/numpy/pull/12543>`__: TST: wheel-match Linux openblas in CI
|
||||
* `#12544 <https://github.com/numpy/numpy/pull/12544>`__: BUG: fix refcount issue caused by #12524
|
||||
* `#12545 <https://github.com/numpy/numpy/pull/12545>`__: BUG: Ensure probabilities are not NaN in choice
|
||||
* `#12546 <https://github.com/numpy/numpy/pull/12546>`__: BUG: check for errors after PyArray_DESCR_REPLACE
|
||||
* `#12547 <https://github.com/numpy/numpy/pull/12547>`__: ENH: Cast covariance to double in random mvnormal
|
||||
* `#12549 <https://github.com/numpy/numpy/pull/12549>`__: TST: relax codecov project threshold
|
||||
* `#12551 <https://github.com/numpy/numpy/pull/12551>`__: MAINT: add warning to numpy.distutils for LDFLAGS append behavior.
|
||||
* `#12552 <https://github.com/numpy/numpy/pull/12552>`__: BENCH: Improve benchmarks for numpy.pad
|
||||
* `#12554 <https://github.com/numpy/numpy/pull/12554>`__: DOC: more doc updates for structured arrays
|
||||
* `#12555 <https://github.com/numpy/numpy/pull/12555>`__: BUG: only override vector size for avx code
|
||||
* `#12560 <https://github.com/numpy/numpy/pull/12560>`__: DOC: fix some doctest failures
|
||||
* `#12566 <https://github.com/numpy/numpy/pull/12566>`__: BUG: fix segfault in ctypeslib with obj being collected
|
||||
* `#12571 <https://github.com/numpy/numpy/pull/12571>`__: Revert "Merge pull request #11721 from eric-wieser/fix-9647"
|
||||
* `#12572 <https://github.com/numpy/numpy/pull/12572>`__: BUG: Make `arr.ctypes.data` hold a reference to the underlying...
|
||||
* `#12575 <https://github.com/numpy/numpy/pull/12575>`__: ENH: improve performance for numpy.core.records.find_duplicate
|
||||
* `#12577 <https://github.com/numpy/numpy/pull/12577>`__: BUG: fix f2py pep338 execution method
|
||||
* `#12578 <https://github.com/numpy/numpy/pull/12578>`__: TST: activate shippable maintenance branches
|
||||
* `#12583 <https://github.com/numpy/numpy/pull/12583>`__: TST: add test for 'python -mnumpy.f2py'
|
||||
* `#12584 <https://github.com/numpy/numpy/pull/12584>`__: Clarify skiprows in loadtxt
|
||||
* `#12586 <https://github.com/numpy/numpy/pull/12586>`__: ENH: Implement radix sort
|
||||
* `#12589 <https://github.com/numpy/numpy/pull/12589>`__: MAINT: Update changelog.py for Python 3.
|
||||
* `#12591 <https://github.com/numpy/numpy/pull/12591>`__: ENH: add "max difference" messages to np.testing.assert_array_equal
|
||||
* `#12592 <https://github.com/numpy/numpy/pull/12592>`__: BUG,TST: Remove the misguided `run_command` that wraps subprocess
|
||||
* `#12593 <https://github.com/numpy/numpy/pull/12593>`__: ENH,WIP: Use richer exception types for ufunc type resolution...
|
||||
* `#12594 <https://github.com/numpy/numpy/pull/12594>`__: DEV, BUILD: add pypy3 to azure CI
|
||||
* `#12596 <https://github.com/numpy/numpy/pull/12596>`__: ENH: improve performance of numpy.core.records.fromarrays
|
||||
* `#12601 <https://github.com/numpy/numpy/pull/12601>`__: DOC: Correct documentation of `numpy.delete` obj parameter.
|
||||
* `#12602 <https://github.com/numpy/numpy/pull/12602>`__: DOC: Update RELEASE_WALKTHROUGH.rst.txt.
|
||||
* `#12604 <https://github.com/numpy/numpy/pull/12604>`__: BUG: Check that dtype and formats arguments for None.
|
||||
* `#12606 <https://github.com/numpy/numpy/pull/12606>`__: DOC: Document NPY_SORTKIND parameter in PyArray_Sort
|
||||
* `#12608 <https://github.com/numpy/numpy/pull/12608>`__: MAINT: Use `*.format` for some strings.
|
||||
* `#12609 <https://github.com/numpy/numpy/pull/12609>`__: ENH: Deprecate writeable broadcast_array
|
||||
* `#12610 <https://github.com/numpy/numpy/pull/12610>`__: TST: Update runtests.py to specify C99 for gcc.
|
||||
* `#12611 <https://github.com/numpy/numpy/pull/12611>`__: BUG: longdouble with elsize 12 is never uint alignable
|
||||
* `#12612 <https://github.com/numpy/numpy/pull/12612>`__: TST: Update `travis-test.sh` for C99
|
||||
* `#12616 <https://github.com/numpy/numpy/pull/12616>`__: BLD: Fix minimum Python version in setup.py
|
||||
* `#12617 <https://github.com/numpy/numpy/pull/12617>`__: BUG: Add missing free in ufunc dealloc
|
||||
* `#12618 <https://github.com/numpy/numpy/pull/12618>`__: MAINT: add test for 12-byte alignment
|
||||
* `#12620 <https://github.com/numpy/numpy/pull/12620>`__: BLD: move -std=c99 addition to CFLAGS to Azure config
|
||||
* `#12624 <https://github.com/numpy/numpy/pull/12624>`__: BUG: Fix incorrect/missing reference cleanups found using valgrind
|
||||
* `#12626 <https://github.com/numpy/numpy/pull/12626>`__: BUG: fix uint alignment asserts in lowlevel loops
|
||||
* `#12631 <https://github.com/numpy/numpy/pull/12631>`__: BUG: fix f2py problem to build wrappers using PGI's Fortran
|
||||
* `#12634 <https://github.com/numpy/numpy/pull/12634>`__: DOC, TST: remove "agg" setting from docs
|
||||
* `#12639 <https://github.com/numpy/numpy/pull/12639>`__: BENCH: don't fail at import time with old Numpy
|
||||
* `#12641 <https://github.com/numpy/numpy/pull/12641>`__: DOC: update 2018 -> 2019
|
||||
* `#12644 <https://github.com/numpy/numpy/pull/12644>`__: ENH: where for ufunc reductions
|
||||
* `#12645 <https://github.com/numpy/numpy/pull/12645>`__: DOC: Minor fix to pocketfft release note
|
||||
* `#12650 <https://github.com/numpy/numpy/pull/12650>`__: BUG: Fix reference counting for subarrays containing objects
|
||||
* `#12651 <https://github.com/numpy/numpy/pull/12651>`__: DOC: SimpleNewFromDescr cannot be given NULL for descr
|
||||
* `#12666 <https://github.com/numpy/numpy/pull/12666>`__: BENCH: add asv nanfunction benchmarks
|
||||
* `#12668 <https://github.com/numpy/numpy/pull/12668>`__: ENH: Improve error messages for non-matching shapes in concatenate.
|
||||
* `#12671 <https://github.com/numpy/numpy/pull/12671>`__: TST: Fix endianness in unstuctured_to_structured test
|
||||
* `#12672 <https://github.com/numpy/numpy/pull/12672>`__: BUG: Add 'sparc' to platforms implementing 16 byte reals.
|
||||
* `#12677 <https://github.com/numpy/numpy/pull/12677>`__: MAINT: Further fixups to uint alignment checks
|
||||
* `#12679 <https://github.com/numpy/numpy/pull/12679>`__: ENH: remove "Invalid value" warnings from median, percentile
|
||||
* `#12680 <https://github.com/numpy/numpy/pull/12680>`__: BUG: Ensure failing memory allocations are reported
|
||||
* `#12683 <https://github.com/numpy/numpy/pull/12683>`__: ENH: add mm->qm divmod
|
||||
* `#12684 <https://github.com/numpy/numpy/pull/12684>`__: DEV: remove _arg from public API, add matmul to benchmark ufuncs
|
||||
* `#12685 <https://github.com/numpy/numpy/pull/12685>`__: BUG: Make pocketfft handle long doubles.
|
||||
* `#12687 <https://github.com/numpy/numpy/pull/12687>`__: ENH: Better links in documentation
|
||||
* `#12690 <https://github.com/numpy/numpy/pull/12690>`__: WIP, ENH: add _nan_mask function
|
||||
* `#12693 <https://github.com/numpy/numpy/pull/12693>`__: ENH: Add a hermitian argument to `pinv` and `svd`, matching `matrix_rank`
|
||||
* `#12696 <https://github.com/numpy/numpy/pull/12696>`__: BUG: Fix leak of void scalar buffer info
|
||||
* `#12698 <https://github.com/numpy/numpy/pull/12698>`__: DOC: improve comments in copycast_isaligned
|
||||
* `#12700 <https://github.com/numpy/numpy/pull/12700>`__: ENH: chain additional exception on ufunc method lookup error
|
||||
* `#12702 <https://github.com/numpy/numpy/pull/12702>`__: TST: Check FFT results for C/Fortran ordered and non contiguous...
|
||||
* `#12704 <https://github.com/numpy/numpy/pull/12704>`__: TST: pin Azure brew version for stability
|
||||
* `#12709 <https://github.com/numpy/numpy/pull/12709>`__: TST: add ppc64le to Travis CI matrix
|
||||
* `#12713 <https://github.com/numpy/numpy/pull/12713>`__: BUG: loosen kwargs requirements in ediff1d
|
||||
* `#12722 <https://github.com/numpy/numpy/pull/12722>`__: BUG: Fix rounding of denormals in double and float to half casts...
|
||||
* `#12723 <https://github.com/numpy/numpy/pull/12723>`__: BENCH: Include other sort benchmarks
|
||||
* `#12724 <https://github.com/numpy/numpy/pull/12724>`__: BENCH: quiet DeprecationWarning
|
||||
* `#12727 <https://github.com/numpy/numpy/pull/12727>`__: DOC: fix and doctest tutorial
|
||||
* `#12728 <https://github.com/numpy/numpy/pull/12728>`__: DOC: clarify the suffix of single/extended precision math constants
|
||||
* `#12729 <https://github.com/numpy/numpy/pull/12729>`__: DOC: Extend documentation of `ndarray.tolist`
|
||||
* `#12731 <https://github.com/numpy/numpy/pull/12731>`__: DOC: Update release notes and changelog after 1.16.0 release.
|
||||
* `#12733 <https://github.com/numpy/numpy/pull/12733>`__: DOC: clarify the extend of __array_function__ support in NumPy...
|
||||
* `#12741 <https://github.com/numpy/numpy/pull/12741>`__: DOC: fix generalized eigenproblem reference in "NumPy for MATLAB...
|
||||
* `#12743 <https://github.com/numpy/numpy/pull/12743>`__: BUG: Fix crash in error message formatting introduced by gh-11230
|
||||
* `#12748 <https://github.com/numpy/numpy/pull/12748>`__: BUG: Fix SystemError when pickling datetime64 array with pickle5
|
||||
* `#12757 <https://github.com/numpy/numpy/pull/12757>`__: BUG: Added parens to macro argument expansions
|
||||
* `#12758 <https://github.com/numpy/numpy/pull/12758>`__: DOC: Update docstring of diff() to use 'i' not 'n'
|
||||
* `#12762 <https://github.com/numpy/numpy/pull/12762>`__: MAINT: Change the order of checking for locale file and import...
|
||||
* `#12783 <https://github.com/numpy/numpy/pull/12783>`__: DOC: document C99 requirement in dev guide
|
||||
* `#12787 <https://github.com/numpy/numpy/pull/12787>`__: DOC: remove recommendation to add main for testing
|
||||
* `#12805 <https://github.com/numpy/numpy/pull/12805>`__: BUG: double decref of dtype in failure codepath. Test and fix
|
||||
* `#12807 <https://github.com/numpy/numpy/pull/12807>`__: BUG, DOC: test, fix that f2py.compile accepts str and bytes,...
|
||||
* `#12814 <https://github.com/numpy/numpy/pull/12814>`__: BUG: resolve writeback in arr_insert failure paths
|
||||
* `#12815 <https://github.com/numpy/numpy/pull/12815>`__: BUG: Fix testing of f2py.compile from strings.
|
||||
* `#12818 <https://github.com/numpy/numpy/pull/12818>`__: DOC: remove python2-only methods, small cleanups
|
||||
* `#12824 <https://github.com/numpy/numpy/pull/12824>`__: BUG: fix to check before apply `shlex.split`
|
||||
* `#12830 <https://github.com/numpy/numpy/pull/12830>`__: ENH: __array_function__ updates for NumPy 1.17.0
|
||||
* `#12831 <https://github.com/numpy/numpy/pull/12831>`__: BUG: Catch stderr when checking compiler version
|
||||
* `#12842 <https://github.com/numpy/numpy/pull/12842>`__: BUG: ndarrays pickled by 1.16 cannot be loaded by 1.15.4 and...
|
||||
* `#12846 <https://github.com/numpy/numpy/pull/12846>`__: BUG: fix signed zero behavior in npy_divmod
|
||||
* `#12850 <https://github.com/numpy/numpy/pull/12850>`__: BUG: fail if old multiarray module detected
|
||||
* `#12851 <https://github.com/numpy/numpy/pull/12851>`__: TEST: use xenial by default for travis
|
||||
* `#12854 <https://github.com/numpy/numpy/pull/12854>`__: BUG: do not Py_DECREF NULL pointer
|
||||
* `#12857 <https://github.com/numpy/numpy/pull/12857>`__: STY: simplify code
|
||||
* `#12863 <https://github.com/numpy/numpy/pull/12863>`__: TEST: pin mingw version
|
||||
* `#12866 <https://github.com/numpy/numpy/pull/12866>`__: DOC: link to benchmarking info
|
||||
* `#12867 <https://github.com/numpy/numpy/pull/12867>`__: TST: Use same OpenBLAS build for testing as for current wheels.
|
||||
* `#12871 <https://github.com/numpy/numpy/pull/12871>`__: ENH: add c-imported modules to namespace for freeze analysis
|
||||
* `#12877 <https://github.com/numpy/numpy/pull/12877>`__: Remove deprecated ``sudo: false`` from .travis.yml
|
||||
* `#12879 <https://github.com/numpy/numpy/pull/12879>`__: DEP: deprecate exec_command
|
||||
* `#12885 <https://github.com/numpy/numpy/pull/12885>`__: DOC: fix math formatting of np.linalg.lstsq docs
|
||||
* `#12886 <https://github.com/numpy/numpy/pull/12886>`__: DOC: add missing character routines, fix #8578
|
||||
* `#12887 <https://github.com/numpy/numpy/pull/12887>`__: BUG: Fix np.rec.fromarrays on arrays which are already structured
|
||||
* `#12889 <https://github.com/numpy/numpy/pull/12889>`__: BUG: Make allow_pickle=False the default for loading
|
||||
* `#12892 <https://github.com/numpy/numpy/pull/12892>`__: BUG: Do not double-quote arguments passed on to the linker
|
||||
* `#12894 <https://github.com/numpy/numpy/pull/12894>`__: MAINT: Removed unused and confusingly indirect imports from mingw32ccompiler
|
||||
* `#12895 <https://github.com/numpy/numpy/pull/12895>`__: BUG: Do not insert extra double quote into preprocessor macros
|
||||
* `#12903 <https://github.com/numpy/numpy/pull/12903>`__: TST: fix vmImage dispatch in Azure
|
||||
* `#12905 <https://github.com/numpy/numpy/pull/12905>`__: BUG: fix byte order reversal for datetime64[ns]
|
||||
* `#12908 <https://github.com/numpy/numpy/pull/12908>`__: DOC: Update master following 1.16.1 release.
|
||||
* `#12911 <https://github.com/numpy/numpy/pull/12911>`__: BLD: fix doc build for distribution.
|
||||
* `#12915 <https://github.com/numpy/numpy/pull/12915>`__: ENH: pathlib support for fromfile(), .tofile() and .dump()
|
||||
* `#12920 <https://github.com/numpy/numpy/pull/12920>`__: MAINT: remove complicated test of multiarray import failure mode
|
||||
* `#12922 <https://github.com/numpy/numpy/pull/12922>`__: DOC: Add note about arbitrary code execution to numpy.load
|
||||
* `#12925 <https://github.com/numpy/numpy/pull/12925>`__: BUG: parse shell escaping in extra_compile_args and extra_link_args
|
||||
* `#12928 <https://github.com/numpy/numpy/pull/12928>`__: MAINT: Merge together the unary and binary type resolvers
|
||||
* `#12929 <https://github.com/numpy/numpy/pull/12929>`__: DOC: fix documentation bug in np.argsort and extend examples
|
||||
* `#12931 <https://github.com/numpy/numpy/pull/12931>`__: MAINT: Remove recurring check
|
||||
* `#12932 <https://github.com/numpy/numpy/pull/12932>`__: BUG: do not dereference NULL pointer
|
||||
* `#12937 <https://github.com/numpy/numpy/pull/12937>`__: DOC: Correct negative_binomial docstring
|
||||
* `#12944 <https://github.com/numpy/numpy/pull/12944>`__: BUG: Make timsort deal with zero length elements.
|
||||
* `#12945 <https://github.com/numpy/numpy/pull/12945>`__: BUG: Add timsort without breaking the API.
|
||||
* `#12949 <https://github.com/numpy/numpy/pull/12949>`__: DOC: ndarray.max is missing
|
||||
* `#12962 <https://github.com/numpy/numpy/pull/12962>`__: ENH: Add 'bitorder' keyword to packbits, unpackbits
|
||||
* `#12963 <https://github.com/numpy/numpy/pull/12963>`__: DOC: Grammatical fix in numpy doc
|
||||
* `#12964 <https://github.com/numpy/numpy/pull/12964>`__: DOC: Document that ``scale==0`` is now allowed in many distributions.
|
||||
* `#12965 <https://github.com/numpy/numpy/pull/12965>`__: DOC: Properly format Return section of ogrid Docstring,
|
||||
* `#12968 <https://github.com/numpy/numpy/pull/12968>`__: BENCH: Re-write sorting benchmarks
|
||||
* `#12971 <https://github.com/numpy/numpy/pull/12971>`__: ENH: Add 'offset' keyword to 'numpy.fromfile()'
|
||||
* `#12973 <https://github.com/numpy/numpy/pull/12973>`__: DOC: Recommend adding dimension to switch between row and column...
|
||||
* `#12983 <https://github.com/numpy/numpy/pull/12983>`__: DOC: Randomstate docstring fixes
|
||||
* `#12984 <https://github.com/numpy/numpy/pull/12984>`__: DOC: Add examples of negative shifts in np.roll
|
||||
* `#12986 <https://github.com/numpy/numpy/pull/12986>`__: BENCH: set ones in any/all benchmarks to 1 instead of 0
|
||||
* `#12988 <https://github.com/numpy/numpy/pull/12988>`__: ENH: Create boolean and integer ufuncs for isnan, isinf, and...
|
||||
* `#12989 <https://github.com/numpy/numpy/pull/12989>`__: ENH: Correct handling of infinities in np.interp (option B)
|
||||
* `#12995 <https://github.com/numpy/numpy/pull/12995>`__: BUG: Add missing PyErr_NoMemory() for reporting a failed malloc
|
||||
* `#12996 <https://github.com/numpy/numpy/pull/12996>`__: MAINT: Use the same multiplication order in interp for cached...
|
||||
* `#13002 <https://github.com/numpy/numpy/pull/13002>`__: DOC: reduce warnings when building, and rephrase slightly
|
||||
* `#13004 <https://github.com/numpy/numpy/pull/13004>`__: MAINT: minor changes for consistency to site.cfg.example
|
||||
* `#13008 <https://github.com/numpy/numpy/pull/13008>`__: MAINT: Move pickle import to numpy.compat
|
||||
* `#13019 <https://github.com/numpy/numpy/pull/13019>`__: BLD: Windows absolute path DLL loading
|
||||
* `#13023 <https://github.com/numpy/numpy/pull/13023>`__: BUG: Changes to string-to-shell parsing behavior broke paths...
|
||||
* `#13027 <https://github.com/numpy/numpy/pull/13027>`__: BUG: Fix regression in parsing of F90 and F77 environment variables
|
||||
* `#13031 <https://github.com/numpy/numpy/pull/13031>`__: MAINT: Replace if statement with a dictionary lookup for ease...
|
||||
* `#13032 <https://github.com/numpy/numpy/pull/13032>`__: MAINT: Extract the loop macros into their own header
|
||||
* `#13033 <https://github.com/numpy/numpy/pull/13033>`__: MAINT: Convert property to @property
|
||||
* `#13035 <https://github.com/numpy/numpy/pull/13035>`__: DOC: Draw more attention to which functions in random are convenience...
|
||||
* `#13036 <https://github.com/numpy/numpy/pull/13036>`__: BUG: __array_interface__ offset was always ignored
|
||||
* `#13039 <https://github.com/numpy/numpy/pull/13039>`__: BUG: Remove error-prone borrowed reference handling
|
||||
* `#13044 <https://github.com/numpy/numpy/pull/13044>`__: DOC: link to devdocs in README
|
||||
* `#13046 <https://github.com/numpy/numpy/pull/13046>`__: ENH: Add shape to *_like() array creation
|
||||
* `#13049 <https://github.com/numpy/numpy/pull/13049>`__: MAINT: remove undocumented __buffer__ attribute lookup
|
||||
* `#13050 <https://github.com/numpy/numpy/pull/13050>`__: BLD: make doc build work more robustly.
|
||||
* `#13054 <https://github.com/numpy/numpy/pull/13054>`__: DOC: Added maximum_sctype to documentation
|
||||
* `#13055 <https://github.com/numpy/numpy/pull/13055>`__: DOC: Post NumPy 1.16.2 release update.
|
||||
* `#13056 <https://github.com/numpy/numpy/pull/13056>`__: BUG: Fixes to numpy.distutils.Configuration.get_version
|
||||
* `#13058 <https://github.com/numpy/numpy/pull/13058>`__: DOC: update docstring in numpy.interp docstring
|
||||
* `#13060 <https://github.com/numpy/numpy/pull/13060>`__: BUG: Use C call to sysctlbyname for AVX detection on MacOS
|
||||
* `#13063 <https://github.com/numpy/numpy/pull/13063>`__: DOC: revert PR #13058 and fixup Makefile
|
||||
* `#13067 <https://github.com/numpy/numpy/pull/13067>`__: MAINT: Use with statements for opening files in distutils
|
||||
* `#13068 <https://github.com/numpy/numpy/pull/13068>`__: BUG: Add error checks when converting integers to datetime types
|
||||
* `#13071 <https://github.com/numpy/numpy/pull/13071>`__: DOC: Removed incorrect claim regarding shape constraints for...
|
||||
* `#13073 <https://github.com/numpy/numpy/pull/13073>`__: MAINT: Fix ABCPolyBase in various ways
|
||||
* `#13075 <https://github.com/numpy/numpy/pull/13075>`__: BUG: Convert fortran flags in environment variable
|
||||
* `#13076 <https://github.com/numpy/numpy/pull/13076>`__: BUG: Remove our patched version of `distutils.split_quoted`
|
||||
* `#13077 <https://github.com/numpy/numpy/pull/13077>`__: BUG: Fix errors in string formatting while producing an error
|
||||
* `#13078 <https://github.com/numpy/numpy/pull/13078>`__: MAINT: deduplicate fromroots in np.polynomial
|
||||
* `#13079 <https://github.com/numpy/numpy/pull/13079>`__: MAINT: Merge duplicate implementations of `*vander2d` and `*vander3d`...
|
||||
* `#13086 <https://github.com/numpy/numpy/pull/13086>`__: BLD: fix include list for sdist building
|
||||
* `#13090 <https://github.com/numpy/numpy/pull/13090>`__: BUILD: sphinx 1.8.3 can be used with our outdated templates
|
||||
* `#13092 <https://github.com/numpy/numpy/pull/13092>`__: BUG: ensure linspace works on object input.
|
||||
* `#13093 <https://github.com/numpy/numpy/pull/13093>`__: BUG: Fix parameter validity checks in ``random.choice``.
|
||||
* `#13095 <https://github.com/numpy/numpy/pull/13095>`__: BUG: Fix testsuite failures on ppc and riscv
|
||||
* `#13096 <https://github.com/numpy/numpy/pull/13096>`__: TEST: allow refcheck result to vary, increase discoverability...
|
||||
* `#13097 <https://github.com/numpy/numpy/pull/13097>`__: DOC: update doc of `ndarray.T`
|
||||
* `#13099 <https://github.com/numpy/numpy/pull/13099>`__: DOC: Add note about "copy and slicing"
|
||||
* `#13104 <https://github.com/numpy/numpy/pull/13104>`__: DOC: fix references in docs
|
||||
* `#13107 <https://github.com/numpy/numpy/pull/13107>`__: MAINT: Unify polynomial valnd functions
|
||||
* `#13108 <https://github.com/numpy/numpy/pull/13108>`__: MAINT: Merge duplicate implementations of `hermvander2d` and...
|
||||
* `#13109 <https://github.com/numpy/numpy/pull/13109>`__: Prevent traceback chaining in _wrapfunc.
|
||||
* `#13111 <https://github.com/numpy/numpy/pull/13111>`__: MAINT: Unify polydiv
|
||||
* `#13115 <https://github.com/numpy/numpy/pull/13115>`__: DOC: Fix #12050 by updating numpy.random.hypergeometric docs
|
||||
* `#13116 <https://github.com/numpy/numpy/pull/13116>`__: DOC: Add backticks in linalg docstrings.
|
||||
* `#13117 <https://github.com/numpy/numpy/pull/13117>`__: DOC: Fix arg type for np.pad, fix #9489
|
||||
* `#13118 <https://github.com/numpy/numpy/pull/13118>`__: DOC: update scipy-sphinx-theme, fixes search
|
||||
* `#13119 <https://github.com/numpy/numpy/pull/13119>`__: DOC: Fix c-api function documentation duplication.
|
||||
* `#13125 <https://github.com/numpy/numpy/pull/13125>`__: BUG: Fix unhandled exception in CBLAS detection
|
||||
* `#13126 <https://github.com/numpy/numpy/pull/13126>`__: DEP: polynomial: Be stricter about integral arguments
|
||||
* `#13127 <https://github.com/numpy/numpy/pull/13127>`__: DOC: Tidy 1.17.0 release note newlines
|
||||
* `#13128 <https://github.com/numpy/numpy/pull/13128>`__: MAINT: Unify polynomial addition and subtraction functions
|
||||
* `#13130 <https://github.com/numpy/numpy/pull/13130>`__: MAINT: Unify polynomial fitting functions
|
||||
* `#13131 <https://github.com/numpy/numpy/pull/13131>`__: BUILD: use 'quiet' when building docs
|
||||
* `#13132 <https://github.com/numpy/numpy/pull/13132>`__: BLD: Allow users to specify BLAS and LAPACK library link order
|
||||
* `#13134 <https://github.com/numpy/numpy/pull/13134>`__: ENH: Use AVX for float32 implementation of np.exp & np.log
|
||||
* `#13137 <https://github.com/numpy/numpy/pull/13137>`__: BUG: Fix build for glibc on ARC and uclibc.
|
||||
* `#13140 <https://github.com/numpy/numpy/pull/13140>`__: DEV: cleanup imports and some assignments (from LGTM)
|
||||
* `#13146 <https://github.com/numpy/numpy/pull/13146>`__: MAINT: Unify polynomial power functions
|
||||
* `#13147 <https://github.com/numpy/numpy/pull/13147>`__: DOC: Add description of overflow errors
|
||||
* `#13149 <https://github.com/numpy/numpy/pull/13149>`__: DOC: correction to numpy.pad docstring
|
||||
* `#13157 <https://github.com/numpy/numpy/pull/13157>`__: BLD: streamlined library names in site.cfg sections
|
||||
* `#13158 <https://github.com/numpy/numpy/pull/13158>`__: BLD: Add libflame as a LAPACK back-end
|
||||
* `#13161 <https://github.com/numpy/numpy/pull/13161>`__: BLD: streamlined CBLAS linkage tries, default to try libraries...
|
||||
* `#13162 <https://github.com/numpy/numpy/pull/13162>`__: BUILD: update numpydoc to latest version
|
||||
* `#13163 <https://github.com/numpy/numpy/pull/13163>`__: ENH: randomgen
|
||||
* `#13169 <https://github.com/numpy/numpy/pull/13169>`__: STY: Fix weird indents to be multiples of 4 spaces
|
||||
* `#13170 <https://github.com/numpy/numpy/pull/13170>`__: DOC, BUILD: fail the devdoc build if there are warnings
|
||||
* `#13174 <https://github.com/numpy/numpy/pull/13174>`__: DOC: Removed some c-api duplication
|
||||
* `#13176 <https://github.com/numpy/numpy/pull/13176>`__: BUG: fix reference count error on invalid input to ndarray.flat
|
||||
* `#13181 <https://github.com/numpy/numpy/pull/13181>`__: BENCH, BUG: fix Savez suite, previously was actually calling...
|
||||
* `#13182 <https://github.com/numpy/numpy/pull/13182>`__: MAINT: add overlap checks to choose, take, put, putmask
|
||||
* `#13188 <https://github.com/numpy/numpy/pull/13188>`__: MAINT: Simplify logic in convert_datetime_to_datetimestruct
|
||||
* `#13202 <https://github.com/numpy/numpy/pull/13202>`__: ENH: use rotated companion matrix to reduce error
|
||||
* `#13203 <https://github.com/numpy/numpy/pull/13203>`__: DOC: Use std docstring for multivariate normal
|
||||
* `#13205 <https://github.com/numpy/numpy/pull/13205>`__: DOC : Fix C-API documentation references to items that don't...
|
||||
* `#13206 <https://github.com/numpy/numpy/pull/13206>`__: BUILD: pin sphinx to 1.8.5
|
||||
* `#13208 <https://github.com/numpy/numpy/pull/13208>`__: MAINT: cleanup of fast_loop_macros.h
|
||||
* `#13216 <https://github.com/numpy/numpy/pull/13216>`__: Adding an example of successful execution of numpy.test() to...
|
||||
* `#13217 <https://github.com/numpy/numpy/pull/13217>`__: TST: always publish Azure tests
|
||||
* `#13218 <https://github.com/numpy/numpy/pull/13218>`__: ENH: `isfinite` support for `datetime64` and `timedelta64`
|
||||
* `#13219 <https://github.com/numpy/numpy/pull/13219>`__: ENH: nan_to_num keyword addition (was #9355)
|
||||
* `#13222 <https://github.com/numpy/numpy/pull/13222>`__: DOC: Document/ Deprecate functions exposed in "numpy" namespace
|
||||
* `#13224 <https://github.com/numpy/numpy/pull/13224>`__: Improve error message for negative valued argument
|
||||
* `#13226 <https://github.com/numpy/numpy/pull/13226>`__: DOC: Fix small issues in mtrand doc strings
|
||||
* `#13231 <https://github.com/numpy/numpy/pull/13231>`__: DOC: Change the required Sphinx version to build documentation
|
||||
* `#13234 <https://github.com/numpy/numpy/pull/13234>`__: DOC : PyArray_Descr.names undocumented
|
||||
* `#13239 <https://github.com/numpy/numpy/pull/13239>`__: DOC: Minor grammatical fixes in NumPy docs
|
||||
* `#13242 <https://github.com/numpy/numpy/pull/13242>`__: DOC: fix docstring for floor_divide
|
||||
* `#13243 <https://github.com/numpy/numpy/pull/13243>`__: MAINT: replace SETREF with assignment to ret array in ndarray.flat
|
||||
* `#13244 <https://github.com/numpy/numpy/pull/13244>`__: DOC: Improve mtrand docstrings
|
||||
* `#13250 <https://github.com/numpy/numpy/pull/13250>`__: MAINT: Improve efficiency of pad by avoiding use of apply_along_axis
|
||||
* `#13253 <https://github.com/numpy/numpy/pull/13253>`__: TST: fail Azure CI if test failures
|
||||
* `#13259 <https://github.com/numpy/numpy/pull/13259>`__: DOC: Small readability improvement
|
||||
* `#13262 <https://github.com/numpy/numpy/pull/13262>`__: DOC : Correcting bug on Documentation Page (Byteswapping)
|
||||
* `#13264 <https://github.com/numpy/numpy/pull/13264>`__: TST: use OpenBLAS v0.3.5 for POWER8 CI runs
|
||||
* `#13269 <https://github.com/numpy/numpy/pull/13269>`__: BUG, MAINT: f2py: Add a cast to avoid a compiler warning.
|
||||
* `#13270 <https://github.com/numpy/numpy/pull/13270>`__: TST: use OpenBLAS v0.3.5 for ARMv8 CI
|
||||
* `#13271 <https://github.com/numpy/numpy/pull/13271>`__: ENH: vectorize np.abs for unsigned ints and half, improving performance...
|
||||
* `#13273 <https://github.com/numpy/numpy/pull/13273>`__: BUG: Fix null pointer dereference in PyArray_DTypeFromObject
|
||||
* `#13277 <https://github.com/numpy/numpy/pull/13277>`__: DOC: Document caveat in random.uniform
|
||||
* `#13287 <https://github.com/numpy/numpy/pull/13287>`__: Add benchmark for sorting random array.
|
||||
* `#13289 <https://github.com/numpy/numpy/pull/13289>`__: DOC: add Quansight Labs as an Institutional Partner
|
||||
* `#13291 <https://github.com/numpy/numpy/pull/13291>`__: MAINT: fix unused variable warning in npy_math_complex.c.src
|
||||
* `#13292 <https://github.com/numpy/numpy/pull/13292>`__: DOC: update numpydoc to latest master
|
||||
* `#13293 <https://github.com/numpy/numpy/pull/13293>`__: DOC: add more info to failure message
|
||||
* `#13298 <https://github.com/numpy/numpy/pull/13298>`__: ENH: Added clearer exception for np.diff on 0-dimensional ndarray
|
||||
* `#13301 <https://github.com/numpy/numpy/pull/13301>`__: BUG: Fix crash when calling savetxt on a padded array
|
||||
* `#13305 <https://github.com/numpy/numpy/pull/13305>`__: NEP: Update NEP-18 to include the ``__skip_array_function__``...
|
||||
* `#13306 <https://github.com/numpy/numpy/pull/13306>`__: MAINT: better MemoryError message (#13225)
|
||||
* `#13309 <https://github.com/numpy/numpy/pull/13309>`__: DOC: list Quansight rather than Quansight Labs as Institutional...
|
||||
* `#13310 <https://github.com/numpy/numpy/pull/13310>`__: ENH: Add project_urls to setup
|
||||
* `#13311 <https://github.com/numpy/numpy/pull/13311>`__: BUG: Fix bad error message in np.memmap
|
||||
* `#13312 <https://github.com/numpy/numpy/pull/13312>`__: BUG: Close files if an error occurs in genfromtxt
|
||||
* `#13313 <https://github.com/numpy/numpy/pull/13313>`__: MAINT: fix typo in 'self'
|
||||
* `#13314 <https://github.com/numpy/numpy/pull/13314>`__: DOC: remove misplaced section at bottom of governance people...
|
||||
* `#13316 <https://github.com/numpy/numpy/pull/13316>`__: DOC: Added anti-diagonal examples to np.diagonal and np.fill_diagonal
|
||||
* `#13320 <https://github.com/numpy/numpy/pull/13320>`__: MAINT: remove unused file
|
||||
* `#13321 <https://github.com/numpy/numpy/pull/13321>`__: MAINT: Move exceptions from core._internal to core._exceptions
|
||||
* `#13322 <https://github.com/numpy/numpy/pull/13322>`__: MAINT: Move umath error helpers into their own module
|
||||
* `#13323 <https://github.com/numpy/numpy/pull/13323>`__: BUG: ufunc.at iteration variable size fix
|
||||
* `#13324 <https://github.com/numpy/numpy/pull/13324>`__: MAINT: Move asarray helpers into their own module
|
||||
* `#13326 <https://github.com/numpy/numpy/pull/13326>`__: DEP: Deprecate collapsing shape-1 dtype fields to scalars.
|
||||
* `#13328 <https://github.com/numpy/numpy/pull/13328>`__: MAINT: Tidy up error message for accumulate and reduceat
|
||||
* `#13331 <https://github.com/numpy/numpy/pull/13331>`__: DOC, BLD: fix doc build issues in preparation for the next numpydoc...
|
||||
* `#13332 <https://github.com/numpy/numpy/pull/13332>`__: BUG: Always return views from structured_to_unstructured when...
|
||||
* `#13334 <https://github.com/numpy/numpy/pull/13334>`__: BUG: Fix structured_to_unstructured on single-field types
|
||||
* `#13335 <https://github.com/numpy/numpy/pull/13335>`__: DOC: Add as_ctypes_type to the documentation
|
||||
* `#13336 <https://github.com/numpy/numpy/pull/13336>`__: BUILD: fail documentation build if numpy version does not match
|
||||
* `#13337 <https://github.com/numpy/numpy/pull/13337>`__: DOC: Add docstrings for consistency in aliases
|
||||
* `#13346 <https://github.com/numpy/numpy/pull/13346>`__: BUG/MAINT: Tidy typeinfo.h and .c
|
||||
* `#13348 <https://github.com/numpy/numpy/pull/13348>`__: BUG: Return the coefficients array directly
|
||||
* `#13354 <https://github.com/numpy/numpy/pull/13354>`__: TST: Added test_fftpocket.py::test_axes
|
||||
* `#13367 <https://github.com/numpy/numpy/pull/13367>`__: DOC: reorganize developer docs, use scikit-image as a base for...
|
||||
* `#13371 <https://github.com/numpy/numpy/pull/13371>`__: BUG/ENH: Make floor, ceil, and trunc call the matching special...
|
||||
* `#13374 <https://github.com/numpy/numpy/pull/13374>`__: DOC: Specify range for numpy.angle
|
||||
* `#13377 <https://github.com/numpy/numpy/pull/13377>`__: DOC: Add missing macros to C API documentation
|
||||
* `#13379 <https://github.com/numpy/numpy/pull/13379>`__: BLD: address mingw-w64 issue. Follow-up to gh-9977
|
||||
* `#13383 <https://github.com/numpy/numpy/pull/13383>`__: MAINT, DOC: Post 1.16.3 release updates
|
||||
* `#13388 <https://github.com/numpy/numpy/pull/13388>`__: BUG: Some PyPy versions lack PyStructSequence_InitType2.
|
||||
* `#13389 <https://github.com/numpy/numpy/pull/13389>`__: ENH: implement ``__skip_array_function__`` attribute for NEP-18
|
||||
* `#13390 <https://github.com/numpy/numpy/pull/13390>`__: ENH: Add support for Fraction to percentile and quantile
|
||||
* `#13391 <https://github.com/numpy/numpy/pull/13391>`__: MAINT, DEP: Fix deprecated ``assertEquals()``
|
||||
* `#13395 <https://github.com/numpy/numpy/pull/13395>`__: DOC: note re defaults allclose to assert_allclose
|
||||
* `#13397 <https://github.com/numpy/numpy/pull/13397>`__: DOC: Resolve confusion regarding hashtag in header line of csv
|
||||
* `#13399 <https://github.com/numpy/numpy/pull/13399>`__: ENH: Improved performance of PyArray_FromAny for sequences of...
|
||||
* `#13402 <https://github.com/numpy/numpy/pull/13402>`__: DOC: Show the default value of deletechars in the signature of...
|
||||
* `#13403 <https://github.com/numpy/numpy/pull/13403>`__: DOC: fix typos in dev/index
|
||||
* `#13404 <https://github.com/numpy/numpy/pull/13404>`__: DOC: Add Sebastian Berg as sponsored by BIDS
|
||||
* `#13406 <https://github.com/numpy/numpy/pull/13406>`__: DOC: clarify array_{2string,str,repr} defaults
|
||||
* `#13409 <https://github.com/numpy/numpy/pull/13409>`__: BUG: (py2 only) fix unicode support for savetxt fmt string
|
||||
* `#13413 <https://github.com/numpy/numpy/pull/13413>`__: DOC: document existence of linalg backends
|
||||
* `#13415 <https://github.com/numpy/numpy/pull/13415>`__: BUG: fixing bugs in AVX exp/log while handling special value...
|
||||
* `#13416 <https://github.com/numpy/numpy/pull/13416>`__: BUG: Protect generators from log(0.0)
|
||||
* `#13417 <https://github.com/numpy/numpy/pull/13417>`__: DOC: dimension sizes are non-negative, not positive
|
||||
* `#13425 <https://github.com/numpy/numpy/pull/13425>`__: MAINT: fixed typo 'Mismacth' from numpy/core/setup_common.py
|
||||
* `#13433 <https://github.com/numpy/numpy/pull/13433>`__: BUG: Handle subarrays in descr_to_dtype
|
||||
* `#13435 <https://github.com/numpy/numpy/pull/13435>`__: BUG: Add TypeError to accepted exceptions in crackfortran.
|
||||
* `#13436 <https://github.com/numpy/numpy/pull/13436>`__: TST: Add file-not-closed check to LGTM analysis.
|
||||
* `#13440 <https://github.com/numpy/numpy/pull/13440>`__: MAINT: fixed typo 'wtihout' from numpy/core/shape_base.py
|
||||
* `#13443 <https://github.com/numpy/numpy/pull/13443>`__: BLD, TST: implicit func errors
|
||||
* `#13445 <https://github.com/numpy/numpy/pull/13445>`__: MAINT: refactor PyArrayMultiIterObject constructors
|
||||
* `#13446 <https://github.com/numpy/numpy/pull/13446>`__: MANT: refactor unravel_index for code repetition
|
||||
* `#13449 <https://github.com/numpy/numpy/pull/13449>`__: BUG: missing git raises an OSError
|
||||
* `#13456 <https://github.com/numpy/numpy/pull/13456>`__: TST: refine Azure fail reports
|
||||
* `#13463 <https://github.com/numpy/numpy/pull/13463>`__: BUG,DEP: Fix writeable flag setting for arrays without base
|
||||
* `#13467 <https://github.com/numpy/numpy/pull/13467>`__: ENH: err msg for too large sequences. See #13450
|
||||
* `#13469 <https://github.com/numpy/numpy/pull/13469>`__: DOC: correct "version added" in npymath docs
|
||||
* `#13471 <https://github.com/numpy/numpy/pull/13471>`__: LICENSE: split license file in standard BSD 3-clause and bundled.
|
||||
* `#13477 <https://github.com/numpy/numpy/pull/13477>`__: DOC: have notes in histogram_bin_edges match parameter style
|
||||
* `#13479 <https://github.com/numpy/numpy/pull/13479>`__: DOC: Mention the handling of nan in the assert_equal docstring.
|
||||
* `#13482 <https://github.com/numpy/numpy/pull/13482>`__: TEST: add duration report to tests, speed up two outliers
|
||||
* `#13483 <https://github.com/numpy/numpy/pull/13483>`__: DOC: update mailmap for Bill Spotz
|
||||
* `#13485 <https://github.com/numpy/numpy/pull/13485>`__: DOC: add security vulnerability reporting and doc links to README
|
||||
* `#13491 <https://github.com/numpy/numpy/pull/13491>`__: BUG/ENH: Create npy format 3.0 to support extended unicode characters...
|
||||
* `#13495 <https://github.com/numpy/numpy/pull/13495>`__: BUG: test all ufunc.types for return type, fix for exp, log
|
||||
* `#13496 <https://github.com/numpy/numpy/pull/13496>`__: BUG: ma.tostring should respect the order parameter
|
||||
* `#13498 <https://github.com/numpy/numpy/pull/13498>`__: DOC: Clarify rcond normalization in linalg.pinv
|
||||
* `#13499 <https://github.com/numpy/numpy/pull/13499>`__: MAINT: Use with statement to open/close files to fix LGTM alerts
|
||||
* `#13503 <https://github.com/numpy/numpy/pull/13503>`__: ENH: Support object arrays in matmul
|
||||
* `#13504 <https://github.com/numpy/numpy/pull/13504>`__: DOC: Update links in PULL_REQUEST_TEMPLATE.md
|
||||
* `#13506 <https://github.com/numpy/numpy/pull/13506>`__: ENH: Add sparse option to np.core.numeric.indices
|
||||
* `#13507 <https://github.com/numpy/numpy/pull/13507>`__: BUG: np.array cleared errors occurred in PyMemoryView_FromObject
|
||||
* `#13508 <https://github.com/numpy/numpy/pull/13508>`__: BUG: Removes ValueError for empty kwargs in arraymultiter_new
|
||||
* `#13518 <https://github.com/numpy/numpy/pull/13518>`__: MAINT: implement assert_array_compare without converting array...
|
||||
* `#13520 <https://github.com/numpy/numpy/pull/13520>`__: BUG: exp, log AVX loops do not use steps
|
||||
* `#13523 <https://github.com/numpy/numpy/pull/13523>`__: BUG: distutils/system_info.py fix missing subprocess import
|
||||
* `#13529 <https://github.com/numpy/numpy/pull/13529>`__: MAINT: Use exec() instead array_function_dispatch to improve...
|
||||
* `#13530 <https://github.com/numpy/numpy/pull/13530>`__: BENCH: Modify benchmarks for radix sort.
|
||||
* `#13534 <https://github.com/numpy/numpy/pull/13534>`__: BLD: Make CI pass again with pytest 4.5
|
||||
* `#13541 <https://github.com/numpy/numpy/pull/13541>`__: ENH: restore unpack bit lookup table
|
||||
* `#13544 <https://github.com/numpy/numpy/pull/13544>`__: ENH: Allow broadcast to be called with zero arguments
|
||||
* `#13550 <https://github.com/numpy/numpy/pull/13550>`__: TST: Register markers in conftest.py.
|
||||
* `#13551 <https://github.com/numpy/numpy/pull/13551>`__: DOC: Add note to ``nonzero`` docstring.
|
||||
* `#13558 <https://github.com/numpy/numpy/pull/13558>`__: MAINT: Fix errors seen on new python 3.8
|
||||
* `#13570 <https://github.com/numpy/numpy/pull/13570>`__: DOC: Remove duplicate documentation of the PyArray_SimpleNew...
|
||||
* `#13571 <https://github.com/numpy/numpy/pull/13571>`__: DOC: Mention that expand_dims returns a view
|
||||
* `#13574 <https://github.com/numpy/numpy/pull/13574>`__: DOC: remove performance claim from searchsorted()
|
||||
* `#13575 <https://github.com/numpy/numpy/pull/13575>`__: TST: Apply ufunc signature and type test fixmes.
|
||||
* `#13581 <https://github.com/numpy/numpy/pull/13581>`__: ENH: AVX support for exp/log for strided float32 arrays
|
||||
* `#13584 <https://github.com/numpy/numpy/pull/13584>`__: DOC: roadmap update
|
||||
* `#13589 <https://github.com/numpy/numpy/pull/13589>`__: MAINT: Increment stacklevel for warnings to account for NEP-18...
|
||||
* `#13590 <https://github.com/numpy/numpy/pull/13590>`__: BUG: Fixes for Undefined Behavior Sanitizer (UBSan) errors.
|
||||
* `#13595 <https://github.com/numpy/numpy/pull/13595>`__: NEP: update NEP 19 with API terminology
|
||||
* `#13599 <https://github.com/numpy/numpy/pull/13599>`__: DOC: Fixed minor doc error in take_along_axis
|
||||
* `#13603 <https://github.com/numpy/numpy/pull/13603>`__: TST: bump / verify OpenBLAS in CI
|
||||
* `#13619 <https://github.com/numpy/numpy/pull/13619>`__: DOC: Add missing return value documentation in ndarray.require
|
||||
* `#13621 <https://github.com/numpy/numpy/pull/13621>`__: DOC: Update boolean indices in index arrays with slices example
|
||||
* `#13623 <https://github.com/numpy/numpy/pull/13623>`__: BUG: Workaround for bug in clang7.0
|
||||
* `#13624 <https://github.com/numpy/numpy/pull/13624>`__: DOC: revert __skip_array_function__ from NEP-18
|
||||
* `#13626 <https://github.com/numpy/numpy/pull/13626>`__: DOC: update isfortran docs with return value
|
||||
* `#13627 <https://github.com/numpy/numpy/pull/13627>`__: MAINT: revert __skip_array_function__ from NEP-18
|
||||
* `#13629 <https://github.com/numpy/numpy/pull/13629>`__: BUG: setup.py install --skip-build fails
|
||||
* `#13632 <https://github.com/numpy/numpy/pull/13632>`__: MAINT: Collect together the special-casing of 0d nonzero into...
|
||||
* `#13633 <https://github.com/numpy/numpy/pull/13633>`__: DOC: caution against relying upon NumPy's implementation in subclasses
|
||||
* `#13634 <https://github.com/numpy/numpy/pull/13634>`__: MAINT: avoid nested dispatch in numpy.core.shape_base
|
||||
* `#13636 <https://github.com/numpy/numpy/pull/13636>`__: DOC: Add return section to linalg.matrix_rank & tensordot
|
||||
* `#13639 <https://github.com/numpy/numpy/pull/13639>`__: MAINT: Update mailmap for 1.17.0
|
||||
* `#13642 <https://github.com/numpy/numpy/pull/13642>`__: BUG: special case object arrays when printing rel-, abs-error...
|
||||
* `#13648 <https://github.com/numpy/numpy/pull/13648>`__: BUG: ensure that casting to/from structured is properly checked.
|
||||
* `#13649 <https://github.com/numpy/numpy/pull/13649>`__: DOC: Mention PyArray_GetField steals a reference
|
||||
* `#13652 <https://github.com/numpy/numpy/pull/13652>`__: MAINT: remove superfluous setting in can_cast_safely_table.
|
||||
* `#13655 <https://github.com/numpy/numpy/pull/13655>`__: BUG/MAINT: Non-native byteorder in random ints
|
||||
* `#13656 <https://github.com/numpy/numpy/pull/13656>`__: PERF: Use intrinsic rotr on Windows
|
||||
* `#13657 <https://github.com/numpy/numpy/pull/13657>`__: BUG: Avoid leading underscores in C function names.
|
||||
* `#13660 <https://github.com/numpy/numpy/pull/13660>`__: DOC: Updates following NumPy 1.16.4 release.
|
||||
* `#13663 <https://github.com/numpy/numpy/pull/13663>`__: BUG: regression for array([pandas.DataFrame()])
|
||||
* `#13664 <https://github.com/numpy/numpy/pull/13664>`__: MAINT: Misc. typo fixes
|
||||
* `#13665 <https://github.com/numpy/numpy/pull/13665>`__: MAINT: Use intrinsics in Win64-PCG64
|
||||
* `#13670 <https://github.com/numpy/numpy/pull/13670>`__: BUG: Fix RandomState argument name
|
||||
* `#13672 <https://github.com/numpy/numpy/pull/13672>`__: DOC: Fix rst markup in RELEASE_WALKTHROUGH.
|
||||
* `#13678 <https://github.com/numpy/numpy/pull/13678>`__: BUG: fix benchmark suite importability on Numpy<1.17
|
||||
* `#13682 <https://github.com/numpy/numpy/pull/13682>`__: ENH: Support __length_hint__ in PyArray_FromIter
|
||||
* `#13684 <https://github.com/numpy/numpy/pull/13684>`__: BUG: Move ndarray.dump to python and make it close the file it...
|
||||
* `#13687 <https://github.com/numpy/numpy/pull/13687>`__: DOC: Remove misleading statement
|
||||
* `#13688 <https://github.com/numpy/numpy/pull/13688>`__: MAINT: Correct masked aliases
|
||||
* `#13690 <https://github.com/numpy/numpy/pull/13690>`__: MAINT: Remove version added from Generator
|
||||
* `#13691 <https://github.com/numpy/numpy/pull/13691>`__: BUG: Prevent passing of size 0 to array alloc C functions
|
||||
* `#13692 <https://github.com/numpy/numpy/pull/13692>`__: DOC: Update C-API documentation of scanfunc, fromstr
|
||||
* `#13693 <https://github.com/numpy/numpy/pull/13693>`__: ENH: Pass input strides and dimensions by pointer to const
|
||||
* `#13695 <https://github.com/numpy/numpy/pull/13695>`__: BUG: Ensure Windows choice returns int32
|
||||
* `#13696 <https://github.com/numpy/numpy/pull/13696>`__: DOC: Put the useful constants first
|
||||
* `#13697 <https://github.com/numpy/numpy/pull/13697>`__: MAINT: speed up hstack and vstack by eliminating list comprehension.
|
||||
* `#13700 <https://github.com/numpy/numpy/pull/13700>`__: Add links for GitHub Sponsors button.
|
||||
* `#13703 <https://github.com/numpy/numpy/pull/13703>`__: DOC: Adds documentation for numpy.dtype.base
|
||||
* `#13704 <https://github.com/numpy/numpy/pull/13704>`__: DOC: Mention PyArray_DIMS can be NULL
|
||||
* `#13708 <https://github.com/numpy/numpy/pull/13708>`__: DEP: Deprecate nonzero(0d) in favor of calling atleast_1d explicitly
|
||||
* `#13715 <https://github.com/numpy/numpy/pull/13715>`__: BUG: Fix use-after-free in boolean indexing
|
||||
* `#13716 <https://github.com/numpy/numpy/pull/13716>`__: BUG: Fix random.choice when probability is not C contiguous
|
||||
* `#13720 <https://github.com/numpy/numpy/pull/13720>`__: MAINT/BUG: Manage more files with with statements
|
||||
* `#13721 <https://github.com/numpy/numpy/pull/13721>`__: MAINT,BUG: More ufunc exception cleanup
|
||||
* `#13724 <https://github.com/numpy/numpy/pull/13724>`__: MAINT: fix use of cache_dim
|
||||
* `#13725 <https://github.com/numpy/numpy/pull/13725>`__: BUG: fix compilation of 3rd party modules with Py_LIMITED_API...
|
||||
* `#13726 <https://github.com/numpy/numpy/pull/13726>`__: MAINT: Update PCG jump sizes
|
||||
* `#13729 <https://github.com/numpy/numpy/pull/13729>`__: DOC: Merge together DISTUTILS.rst.txt#template-files" and distutils.r…
|
||||
* `#13730 <https://github.com/numpy/numpy/pull/13730>`__: MAINT: Change keyword from reserved word
|
||||
* `#13737 <https://github.com/numpy/numpy/pull/13737>`__: DOC: Mention and try to explain pairwise summation in sum
|
||||
* `#13741 <https://github.com/numpy/numpy/pull/13741>`__: MAINT: random: Remove unused empty file binomial.h.
|
||||
* `#13743 <https://github.com/numpy/numpy/pull/13743>`__: MAINT: random: Rename legacy distributions file.
|
||||
* `#13744 <https://github.com/numpy/numpy/pull/13744>`__: DOC: Update the C style guide for C99.
|
||||
* `#13745 <https://github.com/numpy/numpy/pull/13745>`__: BUG: fix segfault on side-effect in __bool__ function in array.nonzero()
|
||||
* `#13746 <https://github.com/numpy/numpy/pull/13746>`__: [WIP] DOC : Refactor C-API -- Python Types and C structures
|
||||
* `#13757 <https://github.com/numpy/numpy/pull/13757>`__: MAINT: fix histogram*d dispatchers
|
||||
* `#13760 <https://github.com/numpy/numpy/pull/13760>`__: DOC: update test guidelines document to use pytest for skipif
|
||||
* `#13761 <https://github.com/numpy/numpy/pull/13761>`__: MAINT: random: Rewrite the hypergeometric distribution.
|
||||
* `#13762 <https://github.com/numpy/numpy/pull/13762>`__: MAINT: Use textwrap.dedent for multiline strings
|
||||
* `#13763 <https://github.com/numpy/numpy/pull/13763>`__: MAINT: Use with statements and dedent in core/setup.py
|
||||
* `#13767 <https://github.com/numpy/numpy/pull/13767>`__: DOC: Adds examples for dtype attributes
|
||||
* `#13770 <https://github.com/numpy/numpy/pull/13770>`__: MAINT: random: Combine ziggurat.h and ziggurat_constants.h
|
||||
* `#13771 <https://github.com/numpy/numpy/pull/13771>`__: DOC: Change random to uninitialized and unpredictable in empty...
|
||||
* `#13772 <https://github.com/numpy/numpy/pull/13772>`__: BUILD: use numpy-wheels/openblas_support.py to create _distributor_init.py
|
||||
* `#13773 <https://github.com/numpy/numpy/pull/13773>`__: DOC: Update of reference to paper for Lemire's method
|
||||
* `#13774 <https://github.com/numpy/numpy/pull/13774>`__: BUG: Make ``Generator._masked`` flag default to ``False``.
|
||||
* `#13777 <https://github.com/numpy/numpy/pull/13777>`__: MAINT: Remove duplication of should_use_min_scalar_type function
|
||||
* `#13780 <https://github.com/numpy/numpy/pull/13780>`__: ENH: use SeedSequence instead of seed()
|
||||
* `#13781 <https://github.com/numpy/numpy/pull/13781>`__: DOC: Update TESTS.rst.txt for pytest
|
||||
* `#13786 <https://github.com/numpy/numpy/pull/13786>`__: MAINT: random: Fix a few compiler warnings.
|
||||
* `#13787 <https://github.com/numpy/numpy/pull/13787>`__: DOC: Fixed the problem of "versionadded"
|
||||
* `#13788 <https://github.com/numpy/numpy/pull/13788>`__: MAINT: fix 'in' -> 'is' typo
|
||||
* `#13789 <https://github.com/numpy/numpy/pull/13789>`__: MAINT: Fix warnings in radixsort.c.src: comparing integers of...
|
||||
* `#13791 <https://github.com/numpy/numpy/pull/13791>`__: MAINT: remove dSFMT
|
||||
* `#13792 <https://github.com/numpy/numpy/pull/13792>`__: LICENSE: update dragon4 license to MIT
|
||||
* `#13793 <https://github.com/numpy/numpy/pull/13793>`__: MAINT: remove xoshiro* BitGenerators
|
||||
* `#13795 <https://github.com/numpy/numpy/pull/13795>`__: DOC: Update description of sep in fromstring
|
||||
* `#13803 <https://github.com/numpy/numpy/pull/13803>`__: DOC: Improve documentation for ``defchararray``
|
||||
* `#13813 <https://github.com/numpy/numpy/pull/13813>`__: BUG: further fixup to histogram2d dispatcher.
|
||||
* `#13815 <https://github.com/numpy/numpy/pull/13815>`__: MAINT: Correct intrinsic use on Windows
|
||||
* `#13818 <https://github.com/numpy/numpy/pull/13818>`__: TST: Add tests for ComplexWarning in astype
|
||||
* `#13819 <https://github.com/numpy/numpy/pull/13819>`__: DOC: Fix documented default value of ``__array_priority__`` for...
|
||||
* `#13820 <https://github.com/numpy/numpy/pull/13820>`__: MAINT, DOC: Fix misspelled words in documentation.
|
||||
* `#13821 <https://github.com/numpy/numpy/pull/13821>`__: MAINT: core: Fix a compiler warning.
|
||||
* `#13830 <https://github.com/numpy/numpy/pull/13830>`__: MAINT: Update tox for supported Python versions
|
||||
* `#13832 <https://github.com/numpy/numpy/pull/13832>`__: MAINT: remove pcg32 BitGenerator
|
||||
* `#13833 <https://github.com/numpy/numpy/pull/13833>`__: MAINT: remove ThreeFry BitGenerator
|
||||
* `#13837 <https://github.com/numpy/numpy/pull/13837>`__: MAINT, BUG: fixes from seedsequence
|
||||
* `#13838 <https://github.com/numpy/numpy/pull/13838>`__: ENH: SFC64 BitGenerator
|
||||
* `#13839 <https://github.com/numpy/numpy/pull/13839>`__: MAINT: Ignore some generated files.
|
||||
* `#13840 <https://github.com/numpy/numpy/pull/13840>`__: ENH: np.random.default_gen()
|
||||
* `#13843 <https://github.com/numpy/numpy/pull/13843>`__: DOC: remove note about `__array_ufunc__` being provisional for...
|
||||
* `#13849 <https://github.com/numpy/numpy/pull/13849>`__: DOC: np.random documentation cleanup and expansion.
|
||||
* `#13850 <https://github.com/numpy/numpy/pull/13850>`__: DOC: Update performance numbers
|
||||
* `#13851 <https://github.com/numpy/numpy/pull/13851>`__: MAINT: Update shippable.yml to remove Python 2 dependency
|
||||
* `#13855 <https://github.com/numpy/numpy/pull/13855>`__: BUG: Fix memory leak in dtype from dict constructor
|
||||
* `#13856 <https://github.com/numpy/numpy/pull/13856>`__: MAINT: move location of bitgen.h
|
||||
* `#13858 <https://github.com/numpy/numpy/pull/13858>`__: BUG: do not force emulation of 128-bit arithmetic.
|
||||
* `#13859 <https://github.com/numpy/numpy/pull/13859>`__: DOC: Update performance numbers for PCG64
|
||||
* `#13861 <https://github.com/numpy/numpy/pull/13861>`__: BUG: Ensure consistent interpretation of uint64 states.
|
||||
* `#13863 <https://github.com/numpy/numpy/pull/13863>`__: DOC: Document the precise PCG variant.
|
||||
* `#13864 <https://github.com/numpy/numpy/pull/13864>`__: TST: Ignore DeprecationWarning during nose imports
|
||||
* `#13869 <https://github.com/numpy/numpy/pull/13869>`__: DOC: Prepare for 1.17.0rc1 release
|
||||
* `#13870 <https://github.com/numpy/numpy/pull/13870>`__: MAINT,BUG: Use nbytes to also catch empty descr during allocation
|
||||
* `#13873 <https://github.com/numpy/numpy/pull/13873>`__: ENH: Rename default_gen -> default_rng
|
||||
* `#13893 <https://github.com/numpy/numpy/pull/13893>`__: DOC: fix links in 1.17 release note
|
||||
* `#13897 <https://github.com/numpy/numpy/pull/13897>`__: DOC: Use Cython >= 0.29.11 for Python 3.8 support.
|
||||
* `#13932 <https://github.com/numpy/numpy/pull/13932>`__: MAINT,BUG,DOC: Fix errors in _add_newdocs
|
||||
* `#13963 <https://github.com/numpy/numpy/pull/13963>`__: ENH, BUILD: refactor all OpenBLAS downloads into a single, testable...
|
||||
* `#13971 <https://github.com/numpy/numpy/pull/13971>`__: DOC: emphasize random API changes
|
||||
* `#13972 <https://github.com/numpy/numpy/pull/13972>`__: MAINT: Rewrite Floyd algorithm
|
||||
* `#13992 <https://github.com/numpy/numpy/pull/13992>`__: BUG: Do not crash on recursive `.dtype` attribute lookup.
|
||||
* `#13993 <https://github.com/numpy/numpy/pull/13993>`__: DEP: Speed up WarnOnWrite deprecation in buffer interface
|
||||
* `#13995 <https://github.com/numpy/numpy/pull/13995>`__: BLD: Remove Trusty dist in Travis CI build
|
||||
* `#13996 <https://github.com/numpy/numpy/pull/13996>`__: BUG: Handle weird bytestrings in dtype()
|
||||
* `#13997 <https://github.com/numpy/numpy/pull/13997>`__: BUG: i0 Bessel function regression on array-likes supporting...
|
||||
* `#13998 <https://github.com/numpy/numpy/pull/13998>`__: BUG: Missing warnings import in polyutils.
|
||||
* `#13999 <https://github.com/numpy/numpy/pull/13999>`__: DOC: Document array_function at a higher level.
|
||||
* `#14001 <https://github.com/numpy/numpy/pull/14001>`__: DOC: Show workaround for Generator.integers backward compatibility
|
||||
* `#14021 <https://github.com/numpy/numpy/pull/14021>`__: DOC: Prepare 1.17.0rc2 release.
|
||||
* `#14040 <https://github.com/numpy/numpy/pull/14040>`__: DOC: Improve quickstart documentation of new random Generator.
|
||||
* `#14041 <https://github.com/numpy/numpy/pull/14041>`__: TST, MAINT: expand OpenBLAS version checking
|
||||
* `#14080 <https://github.com/numpy/numpy/pull/14080>`__: BUG, DOC: add new recfunctions to `__all__`
|
||||
* `#14081 <https://github.com/numpy/numpy/pull/14081>`__: BUG: fix build issue on icc 2016
|
||||
* `#14082 <https://github.com/numpy/numpy/pull/14082>`__: BUG: Fix file-like object check when saving arrays
|
||||
* `#14109 <https://github.com/numpy/numpy/pull/14109>`__: REV: "ENH: Improved performance of PyArray_FromAny for sequences...
|
||||
* `#14126 <https://github.com/numpy/numpy/pull/14126>`__: BUG, TEST: Adding validation test suite to validate float32 exp
|
||||
* `#14127 <https://github.com/numpy/numpy/pull/14127>`__: DOC: Add blank line above doctest for intersect1d
|
||||
* `#14128 <https://github.com/numpy/numpy/pull/14128>`__: MAINT: adjustments to test_ufunc_noncontigous
|
||||
* `#14129 <https://github.com/numpy/numpy/pull/14129>`__: MAINT: Use equality instead of identity check with literal
|
||||
* `#14133 <https://github.com/numpy/numpy/pull/14133>`__: MAINT: Update mailmap and changelog for 1.17.0
|
|
@ -0,0 +1,55 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 17 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Alexander Jung +
|
||||
* Allan Haldane
|
||||
* Charles Harris
|
||||
* Eric Wieser
|
||||
* Giuseppe Cuccu +
|
||||
* Hiroyuki V. Yamazaki
|
||||
* Jérémie du Boisberranger
|
||||
* Kmol Yuan +
|
||||
* Matti Picus
|
||||
* Max Bolingbroke +
|
||||
* Maxwell Aladago +
|
||||
* Oleksandr Pavlyk
|
||||
* Peter Andreas Entschev
|
||||
* Sergei Lebedev
|
||||
* Seth Troisi +
|
||||
* Vladimir Pershin +
|
||||
* Warren Weckesser
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 24 pull requests were merged for this release.
|
||||
|
||||
* `#14156 <https://github.com/numpy/numpy/pull/14156>`__: TST: Allow fuss in testing strided/non-strided exp/log loops
|
||||
* `#14157 <https://github.com/numpy/numpy/pull/14157>`__: BUG: avx2_scalef_ps must be static
|
||||
* `#14158 <https://github.com/numpy/numpy/pull/14158>`__: BUG: Remove stray print that causes a SystemError on python 3.7.
|
||||
* `#14159 <https://github.com/numpy/numpy/pull/14159>`__: BUG: Fix DeprecationWarning in python 3.8.
|
||||
* `#14160 <https://github.com/numpy/numpy/pull/14160>`__: BLD: Add missing gcd/lcm definitions to npy_math.h
|
||||
* `#14161 <https://github.com/numpy/numpy/pull/14161>`__: DOC, BUILD: cleanups and fix (again) 'build dist'
|
||||
* `#14166 <https://github.com/numpy/numpy/pull/14166>`__: TST: Add 3.8-dev to travisCI testing.
|
||||
* `#14194 <https://github.com/numpy/numpy/pull/14194>`__: BUG: Remove the broken clip wrapper (Backport)
|
||||
* `#14198 <https://github.com/numpy/numpy/pull/14198>`__: DOC: Fix hermitian argument docs in svd.
|
||||
* `#14199 <https://github.com/numpy/numpy/pull/14199>`__: MAINT: Workaround for Intel compiler bug leading to failing test
|
||||
* `#14200 <https://github.com/numpy/numpy/pull/14200>`__: TST: Clean up of test_pocketfft.py
|
||||
* `#14201 <https://github.com/numpy/numpy/pull/14201>`__: BUG: Make advanced indexing result on read-only subclass writeable...
|
||||
* `#14236 <https://github.com/numpy/numpy/pull/14236>`__: BUG: Fixed default BitGenerator name
|
||||
* `#14237 <https://github.com/numpy/numpy/pull/14237>`__: ENH: add c-imported modules for freeze analysis in np.random
|
||||
* `#14296 <https://github.com/numpy/numpy/pull/14296>`__: TST: Pin pytest version to 5.0.1
|
||||
* `#14301 <https://github.com/numpy/numpy/pull/14301>`__: BUG: Fix leak in the f2py-generated module init and `PyMem_Del`...
|
||||
* `#14302 <https://github.com/numpy/numpy/pull/14302>`__: BUG: Fix formatting error in exception message
|
||||
* `#14307 <https://github.com/numpy/numpy/pull/14307>`__: MAINT: random: Match type of SeedSequence.pool_size to DEFAULT_POOL_SIZE.
|
||||
* `#14308 <https://github.com/numpy/numpy/pull/14308>`__: BUG: Fix numpy.random bug in platform detection
|
||||
* `#14309 <https://github.com/numpy/numpy/pull/14309>`__: ENH: Enable huge pages in all Linux builds
|
||||
* `#14330 <https://github.com/numpy/numpy/pull/14330>`__: BUG: Fix segfault in `random.permutation(x)` when x is a string.
|
||||
* `#14338 <https://github.com/numpy/numpy/pull/14338>`__: BUG: don't fail when lexsorting some empty arrays (#14228)
|
||||
* `#14339 <https://github.com/numpy/numpy/pull/14339>`__: BUG: Fix misuse of .names and .fields in various places (backport...
|
||||
* `#14345 <https://github.com/numpy/numpy/pull/14345>`__: BUG: fix behavior of structured_to_unstructured on non-trivial...
|
||||
* `#14350 <https://github.com/numpy/numpy/pull/14350>`__: REL: Prepare 1.17.1 release
|
|
@ -0,0 +1,28 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 7 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* CakeWithSteak +
|
||||
* Charles Harris
|
||||
* Dan Allan
|
||||
* Hameer Abbasi
|
||||
* Lars Grueter
|
||||
* Matti Picus
|
||||
* Sebastian Berg
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 8 pull requests were merged for this release.
|
||||
|
||||
* `#14418 <https://github.com/numpy/numpy/pull/14418>`__: BUG: Fix aradixsort indirect indexing.
|
||||
* `#14420 <https://github.com/numpy/numpy/pull/14420>`__: DOC: Fix a minor typo in dispatch documentation.
|
||||
* `#14421 <https://github.com/numpy/numpy/pull/14421>`__: BUG: test, fix regression in converting to ctypes
|
||||
* `#14430 <https://github.com/numpy/numpy/pull/14430>`__: BUG: Do not show Override module in private error classes.
|
||||
* `#14432 <https://github.com/numpy/numpy/pull/14432>`__: BUG: Fixed maximum relative error reporting in assert_allclose.
|
||||
* `#14433 <https://github.com/numpy/numpy/pull/14433>`__: BUG: Fix uint-overflow if padding with linear_ramp and negative...
|
||||
* `#14436 <https://github.com/numpy/numpy/pull/14436>`__: BUG: Update 1.17.x with 1.18.0-dev pocketfft.py.
|
||||
* `#14446 <https://github.com/numpy/numpy/pull/14446>`__: REL: Prepare for NumPy 1.17.2 release.
|
|
@ -0,0 +1,32 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 7 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Allan Haldane
|
||||
* Charles Harris
|
||||
* Kevin Sheppard
|
||||
* Matti Picus
|
||||
* Ralf Gommers
|
||||
* Sebastian Berg
|
||||
* Warren Weckesser
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 12 pull requests were merged for this release.
|
||||
|
||||
* `#14456 <https://github.com/numpy/numpy/pull/14456>`__: MAINT: clean up pocketfft modules inside numpy.fft namespace.
|
||||
* `#14463 <https://github.com/numpy/numpy/pull/14463>`__: BUG: random.hypergeometic assumes npy_long is npy_int64, hung...
|
||||
* `#14502 <https://github.com/numpy/numpy/pull/14502>`__: BUG: random: Revert gh-14458 and refix gh-14557.
|
||||
* `#14504 <https://github.com/numpy/numpy/pull/14504>`__: BUG: add a specialized loop for boolean matmul.
|
||||
* `#14506 <https://github.com/numpy/numpy/pull/14506>`__: MAINT: Update pytest version for Python 3.8
|
||||
* `#14512 <https://github.com/numpy/numpy/pull/14512>`__: DOC: random: fix doc linking, was referencing private submodules.
|
||||
* `#14513 <https://github.com/numpy/numpy/pull/14513>`__: BUG,MAINT: Some fixes and minor cleanup based on clang analysis
|
||||
* `#14515 <https://github.com/numpy/numpy/pull/14515>`__: BUG: Fix randint when range is 2**32
|
||||
* `#14519 <https://github.com/numpy/numpy/pull/14519>`__: MAINT: remove the entropy c-extension module
|
||||
* `#14563 <https://github.com/numpy/numpy/pull/14563>`__: DOC: remove note about Pocketfft license file (non-existing here).
|
||||
* `#14578 <https://github.com/numpy/numpy/pull/14578>`__: BUG: random: Create a legacy implementation of random.binomial.
|
||||
* `#14687 <https://github.com/numpy/numpy/pull/14687>`__: BUG: properly define PyArray_DescrCheck
|
|
@ -0,0 +1,26 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 5 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Charles Harris
|
||||
* Chris Burr +
|
||||
* Matti Picus
|
||||
* Qiming Sun +
|
||||
* Warren Weckesser
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 8 pull requests were merged for this release.
|
||||
|
||||
* `#14758 <https://github.com/numpy/numpy/pull/14758>`__: BLD: declare support for python 3.8
|
||||
* `#14781 <https://github.com/numpy/numpy/pull/14781>`__: BUG: random: biased samples from integers() with 8 or 16 bit...
|
||||
* `#14851 <https://github.com/numpy/numpy/pull/14851>`__: BUG: Fix _ctypes class circular reference. (#13808)
|
||||
* `#14852 <https://github.com/numpy/numpy/pull/14852>`__: BLD: add 'apt update' to shippable
|
||||
* `#14855 <https://github.com/numpy/numpy/pull/14855>`__: BUG: Fix `np.einsum` errors on Power9 Linux and z/Linux
|
||||
* `#14857 <https://github.com/numpy/numpy/pull/14857>`__: BUG: lib: Fix histogram problem with signed integer arrays.
|
||||
* `#14858 <https://github.com/numpy/numpy/pull/14858>`__: BLD: Prevent -flto from optimising long double representation...
|
||||
* `#14866 <https://github.com/numpy/numpy/pull/14866>`__: MAINT: move buffer.h -> npy_buffer.h to avoid conflicts
|
|
@ -0,0 +1,26 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 6 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Charles Harris
|
||||
* Eric Wieser
|
||||
* Ilhan Polat
|
||||
* Matti Picus
|
||||
* Michael Hudson-Doyle
|
||||
* Ralf Gommers
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 7 pull requests were merged for this release.
|
||||
|
||||
* `#14593 <https://github.com/numpy/numpy/pull/14593>`__: MAINT: backport Cython API cleanup to 1.17.x, remove docs
|
||||
* `#14937 <https://github.com/numpy/numpy/pull/14937>`__: BUG: fix integer size confusion in handling array's ndmin argument
|
||||
* `#14939 <https://github.com/numpy/numpy/pull/14939>`__: BUILD: remove SSE2 flag from numpy.random builds
|
||||
* `#14993 <https://github.com/numpy/numpy/pull/14993>`__: MAINT: Added Python3.8 branch to dll lib discovery
|
||||
* `#15038 <https://github.com/numpy/numpy/pull/15038>`__: BUG: Fix refcounting in ufunc object loops
|
||||
* `#15067 <https://github.com/numpy/numpy/pull/15067>`__: BUG: Exceptions tracebacks are dropped
|
||||
* `#15175 <https://github.com/numpy/numpy/pull/15175>`__: ENH: Backport improvements to testing functions.
|
|
@ -0,0 +1,533 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 114 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Abhinav Sagar
|
||||
* Alex Henrie +
|
||||
* Alexander Jung +
|
||||
* Allan Haldane
|
||||
* Andrea Pattori
|
||||
* Andrew Liu +
|
||||
* Anis Ladram +
|
||||
* Anne Bonner +
|
||||
* Antoine Dechaume +
|
||||
* Aryan Naraghi +
|
||||
* Bastian Eichenberger +
|
||||
* Brian Wignall +
|
||||
* Brigitta Sipocz
|
||||
* CakeWithSteak +
|
||||
* Charles Harris
|
||||
* Chris Barker
|
||||
* Chris Burr +
|
||||
* Chris Markiewicz +
|
||||
* Christoph Gohlke
|
||||
* Christopher Whelan
|
||||
* Colin Snyder
|
||||
* Dan Allan
|
||||
* Daniel Ching
|
||||
* David Stansby +
|
||||
* David Zwicker +
|
||||
* Dieter Werthmüller
|
||||
* Disconnect3d +
|
||||
* Dmytro +
|
||||
* Doug Davis +
|
||||
* Eric Larson
|
||||
* Eric Wieser
|
||||
* Esben Haabendal +
|
||||
* Eugene Prilepin +
|
||||
* Felix Divo +
|
||||
* Gary Gurlaskie
|
||||
* Gina +
|
||||
* Giuseppe Cuccu +
|
||||
* Grzegorz Bokota +
|
||||
* Guanqun Lu +
|
||||
* Guilherme Leobas +
|
||||
* Guillaume Horel
|
||||
* Géraud Le Falher +
|
||||
* Hameer Abbasi
|
||||
* Harmon
|
||||
* Hiroyuki V. Yamazaki
|
||||
* Huang, Guangtai +
|
||||
* Hugo +
|
||||
* Hyeonguk Ryu +
|
||||
* Ilhan Polat +
|
||||
* Isaac Virshup
|
||||
* Jack J. Woehr +
|
||||
* Jack Woehr +
|
||||
* Jackie Leng
|
||||
* Jaime Fernandez
|
||||
* Jeff Hale +
|
||||
* Johann Faouzi +
|
||||
* Jon Dufresne +
|
||||
* Joseph Fox-Rabinovitz
|
||||
* Joseph R. Fox-Rabinovitz +
|
||||
* João Marcos Gris +
|
||||
* Justus Magin +
|
||||
* Jérémie du Boisberranger
|
||||
* Kai Striega
|
||||
* Kevin Sheppard
|
||||
* Kexuan Sun
|
||||
* Kmol Yuan +
|
||||
* Kriti Singh
|
||||
* Larry Bradley +
|
||||
* Lars Grueter
|
||||
* Luis Pedro Coelho
|
||||
* MSeifert04
|
||||
* Magdalena Proszewska +
|
||||
* Manny +
|
||||
* Mark Harfouche
|
||||
* Martin Reinecke
|
||||
* Martin Thoma
|
||||
* Matt Haberland +
|
||||
* Matt McCormick +
|
||||
* Matthias Bussonnier
|
||||
* Matti Picus
|
||||
* Max Bolingbroke +
|
||||
* Maxwell Aladago +
|
||||
* Michael Hudson-Doyle +
|
||||
* Oleksandr Pavlyk
|
||||
* Omar Merghany +
|
||||
* Pauli Virtanen
|
||||
* Peter Andreas Entschev
|
||||
* Peter Bell
|
||||
* Peter Cock +
|
||||
* Pradeep Reddy Raamana +
|
||||
* Qiming Sun +
|
||||
* Raghuveer Devulapalli
|
||||
* Ralf Gommers
|
||||
* Samesh +
|
||||
* Samesh Lakhotia +
|
||||
* Sebastian Berg
|
||||
* Sergei Lebedev
|
||||
* Seth Troisi +
|
||||
* Siddhesh Poyarekar +
|
||||
* Simon +
|
||||
* Simon Notley +
|
||||
* Stefan van der Walt
|
||||
* Stephan Hoyer
|
||||
* Steve Stagg
|
||||
* Thomas A Caswell
|
||||
* Thomas Kluyver
|
||||
* Tim Hoffmann +
|
||||
* Tirth Patel +
|
||||
* Tyler Reddy
|
||||
* Vladimir Pershin +
|
||||
* Warren Weckesser
|
||||
* Yadong Zhang +
|
||||
* Zieji Pohz +
|
||||
* Zolisa Bleki +
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 406 pull requests were merged for this release.
|
||||
|
||||
* `#9301 <https://github.com/numpy/numpy/pull/9301>`__: DOC: added note to docstring of numpy.savez
|
||||
* `#10151 <https://github.com/numpy/numpy/pull/10151>`__: BUG: Numpy scalar types sometimes have the same name
|
||||
* `#12129 <https://github.com/numpy/numpy/pull/12129>`__: DOC: Improve axes shift description and example in np.tensordot
|
||||
* `#12205 <https://github.com/numpy/numpy/pull/12205>`__: MAINT: avoid relying on `np.generic.__name__` in `np.dtype.name`
|
||||
* `#12284 <https://github.com/numpy/numpy/pull/12284>`__: ENH: supply our version of numpy.pxd, requires cython>=0.29
|
||||
* `#12633 <https://github.com/numpy/numpy/pull/12633>`__: BUG: General fixes to f2py reference counts (dereferencing)
|
||||
* `#12658 <https://github.com/numpy/numpy/pull/12658>`__: BUG: NaT now sorts to ends of arrays
|
||||
* `#12828 <https://github.com/numpy/numpy/pull/12828>`__: DOC: Updates to nditer usage instructions
|
||||
* `#13003 <https://github.com/numpy/numpy/pull/13003>`__: BUG: Do not crash on recursive `.dtype` attribute lookup.
|
||||
* `#13368 <https://github.com/numpy/numpy/pull/13368>`__: ENH: Use AVX for float32 implementation of np.sin & np.cos
|
||||
* `#13605 <https://github.com/numpy/numpy/pull/13605>`__: DEP: Deprecate silent ignoring of bad data in fromfile/fromstring
|
||||
* `#13610 <https://github.com/numpy/numpy/pull/13610>`__: ENH: Always produce a consistent shape in the result of `argwhere`
|
||||
* `#13673 <https://github.com/numpy/numpy/pull/13673>`__: DOC: array(obj, dtype=dt) can downcast
|
||||
* `#13698 <https://github.com/numpy/numpy/pull/13698>`__: DOC: Document ma.filled behavior with non-scalar fill_value
|
||||
* `#13710 <https://github.com/numpy/numpy/pull/13710>`__: DOC: Add note to irfft-like functions about the default sizes
|
||||
* `#13739 <https://github.com/numpy/numpy/pull/13739>`__: BUG: Don't produce undefined behavior for a << b if b >= bitsof(a)
|
||||
* `#13766 <https://github.com/numpy/numpy/pull/13766>`__: MAINT: Update NEP template.
|
||||
* `#13794 <https://github.com/numpy/numpy/pull/13794>`__: ENH: random: Add the multivariate hypergeometric distribution.
|
||||
* `#13799 <https://github.com/numpy/numpy/pull/13799>`__: DOC: Fix unrendered links
|
||||
* `#13812 <https://github.com/numpy/numpy/pull/13812>`__: MAINT: Rewrite Floyd algorithm
|
||||
* `#13825 <https://github.com/numpy/numpy/pull/13825>`__: DOC: Add missing macros to C-API documentation
|
||||
* `#13829 <https://github.com/numpy/numpy/pull/13829>`__: ENH: Add axis argument to random.permutation and random.shuffle
|
||||
* `#13847 <https://github.com/numpy/numpy/pull/13847>`__: DOC: Adds documentation of functions exposed in numpy namespace
|
||||
* `#13860 <https://github.com/numpy/numpy/pull/13860>`__: BUG: Refcount fixes
|
||||
* `#13871 <https://github.com/numpy/numpy/pull/13871>`__: MAINT: Ensure array_dealloc does not modify refcount of self
|
||||
* `#13874 <https://github.com/numpy/numpy/pull/13874>`__: MAINT: Prepare master for 1.18.0 development.
|
||||
* `#13876 <https://github.com/numpy/numpy/pull/13876>`__: MAINT,BUG,DOC: Fix errors in _add_newdocs
|
||||
* `#13880 <https://github.com/numpy/numpy/pull/13880>`__: MAINT: Remove an unnessary backslash between two string literals
|
||||
* `#13881 <https://github.com/numpy/numpy/pull/13881>`__: MAINT: Update pavement to use python3 in shell commands.
|
||||
* `#13882 <https://github.com/numpy/numpy/pull/13882>`__: MAINT: Remove unnecessary backslashes (and replace others by...
|
||||
* `#13883 <https://github.com/numpy/numpy/pull/13883>`__: MAINT: Replace integers in places where booleans are expected
|
||||
* `#13884 <https://github.com/numpy/numpy/pull/13884>`__: DOC: Add missing parameter description for keepdims in MaskedArray
|
||||
* `#13885 <https://github.com/numpy/numpy/pull/13885>`__: ENH: use AVX for float32 and float64 implementation of sqrt,...
|
||||
* `#13886 <https://github.com/numpy/numpy/pull/13886>`__: DOC: reformat top-level release index
|
||||
* `#13892 <https://github.com/numpy/numpy/pull/13892>`__: DOC : Refactor Array API documentation -- Array Structure and...
|
||||
* `#13895 <https://github.com/numpy/numpy/pull/13895>`__: DOC: Fix typo in "make_mask" documentation
|
||||
* `#13896 <https://github.com/numpy/numpy/pull/13896>`__: MAINT: Delete unused _aliased_types.py
|
||||
* `#13901 <https://github.com/numpy/numpy/pull/13901>`__: BLD: Remove Trusty dist in Travis CI build
|
||||
* `#13907 <https://github.com/numpy/numpy/pull/13907>`__: BUG: Handle weird bytestrings in dtype()
|
||||
* `#13908 <https://github.com/numpy/numpy/pull/13908>`__: ENH: use towncrier to build the release note
|
||||
* `#13913 <https://github.com/numpy/numpy/pull/13913>`__: ENH: improve error message for ragged-array creation failure
|
||||
* `#13914 <https://github.com/numpy/numpy/pull/13914>`__: DOC: Update the description of byteswap
|
||||
* `#13916 <https://github.com/numpy/numpy/pull/13916>`__: BUG: i0 Bessel function regression on array-likes supporting...
|
||||
* `#13920 <https://github.com/numpy/numpy/pull/13920>`__: ENH, BUILD: refactor all OpenBLAS downloads into a single, testable...
|
||||
* `#13922 <https://github.com/numpy/numpy/pull/13922>`__: MAINT: Remove unnecessary parenthesis in numpy.ma.core
|
||||
* `#13925 <https://github.com/numpy/numpy/pull/13925>`__: MAINT: Fix wrong spelling of ufunc
|
||||
* `#13926 <https://github.com/numpy/numpy/pull/13926>`__: DOC: Remove explicit .next method calls with built-in next function...
|
||||
* `#13928 <https://github.com/numpy/numpy/pull/13928>`__: DOC: Don't override MaskedArray.view documentation with the one...
|
||||
* `#13930 <https://github.com/numpy/numpy/pull/13930>`__: BUG: Fix incorrect GIL release in array.nonzero
|
||||
* `#13935 <https://github.com/numpy/numpy/pull/13935>`__: MAINT: Warn if `_add_newdocs.py` is used to add docstrings to...
|
||||
* `#13943 <https://github.com/numpy/numpy/pull/13943>`__: MAINT: Revert #13876, "MAINT,BUG,DOC: Fix errors in _add_newdocs"
|
||||
* `#13944 <https://github.com/numpy/numpy/pull/13944>`__: MAINT,BUG,DOC: Fix errors in _add_newdocs
|
||||
* `#13945 <https://github.com/numpy/numpy/pull/13945>`__: DOC, MAINT: emphasize random API changes, remove Generator.randint
|
||||
* `#13946 <https://github.com/numpy/numpy/pull/13946>`__: DOC: Add a numpy-doc docstring to add_newdoc
|
||||
* `#13947 <https://github.com/numpy/numpy/pull/13947>`__: DOC: Fix rst rendering in data types
|
||||
* `#13948 <https://github.com/numpy/numpy/pull/13948>`__: DOC:Update the description of set_printoptions in quickstart...
|
||||
* `#13950 <https://github.com/numpy/numpy/pull/13950>`__: Fixing failure on Python 2.7 on Windows 7
|
||||
* `#13952 <https://github.com/numpy/numpy/pull/13952>`__: Fix a typo related to the range of indices
|
||||
* `#13959 <https://github.com/numpy/numpy/pull/13959>`__: DOC: add space between words across lines
|
||||
* `#13964 <https://github.com/numpy/numpy/pull/13964>`__: BUG, DOC: add new recfunctions to `__all__`
|
||||
* `#13967 <https://github.com/numpy/numpy/pull/13967>`__: DOC: Change (old) range() to np.arange()
|
||||
* `#13968 <https://github.com/numpy/numpy/pull/13968>`__: DOC: improve np.sort docstring
|
||||
* `#13970 <https://github.com/numpy/numpy/pull/13970>`__: DOC: spellcheck numpy/doc/broadcasting.py
|
||||
* `#13976 <https://github.com/numpy/numpy/pull/13976>`__: MAINT, TST: remove test-installed-numpy.py
|
||||
* `#13979 <https://github.com/numpy/numpy/pull/13979>`__: DOC: Document array_function at a higher level.
|
||||
* `#13985 <https://github.com/numpy/numpy/pull/13985>`__: DOC: show workaround for backward compatibility
|
||||
* `#13988 <https://github.com/numpy/numpy/pull/13988>`__: DOC: Add a call for contribution paragraph to the readme
|
||||
* `#13989 <https://github.com/numpy/numpy/pull/13989>`__: BUG: Missing warnings import in polyutils
|
||||
* `#13990 <https://github.com/numpy/numpy/pull/13990>`__: BUILD: adapt "make version-check" to "make dist"
|
||||
* `#13991 <https://github.com/numpy/numpy/pull/13991>`__: DOC: emphasize need for matching numpy, git versions
|
||||
* `#14002 <https://github.com/numpy/numpy/pull/14002>`__: TST, MAINT, BUG: expand OpenBLAS version checking
|
||||
* `#14004 <https://github.com/numpy/numpy/pull/14004>`__: ENH: Chain exception for typed item assignment
|
||||
* `#14005 <https://github.com/numpy/numpy/pull/14005>`__: MAINT: Fix spelling error in npy_tempita kwarg
|
||||
* `#14010 <https://github.com/numpy/numpy/pull/14010>`__: DOC: Array API : Directory restructure and code cleanup
|
||||
* `#14011 <https://github.com/numpy/numpy/pull/14011>`__: [DOC] Remove unused/deprecated functions
|
||||
* `#14022 <https://github.com/numpy/numpy/pull/14022>`__: Update system_info.py
|
||||
* `#14025 <https://github.com/numpy/numpy/pull/14025>`__: DOC:Link between the two indexing documentation pages
|
||||
* `#14026 <https://github.com/numpy/numpy/pull/14026>`__: DOC: Update NumFOCUS subcommittee replacing Nathaniel with Sebastian
|
||||
* `#14027 <https://github.com/numpy/numpy/pull/14027>`__: DOC: update "Contributing to NumPy" with more activities/roles
|
||||
* `#14028 <https://github.com/numpy/numpy/pull/14028>`__: DOC: Improve quickstart documentation of new random Generator
|
||||
* `#14030 <https://github.com/numpy/numpy/pull/14030>`__: DEP: Speed up WarnOnWrite deprecation in buffer interface
|
||||
* `#14032 <https://github.com/numpy/numpy/pull/14032>`__: NEP: numpy.org website redesign
|
||||
* `#14035 <https://github.com/numpy/numpy/pull/14035>`__: DOC: Fix docstring of numpy.allclose regarding NaNs
|
||||
* `#14036 <https://github.com/numpy/numpy/pull/14036>`__: DEP: Raise warnings for deprecated functions PyArray_As1D, PyArray_As2D
|
||||
* `#14039 <https://github.com/numpy/numpy/pull/14039>`__: DEP: Remove np.rank which has been deprecated for more than 5...
|
||||
* `#14048 <https://github.com/numpy/numpy/pull/14048>`__: BUG, TEST: Adding validation test suite to validate float32 exp
|
||||
* `#14051 <https://github.com/numpy/numpy/pull/14051>`__: ENH,DEP: Allow multiple axes in expand_dims
|
||||
* `#14053 <https://github.com/numpy/numpy/pull/14053>`__: ENH: add pyproject.toml
|
||||
* `#14060 <https://github.com/numpy/numpy/pull/14060>`__: DOC: Update cversions.py links and wording
|
||||
* `#14062 <https://github.com/numpy/numpy/pull/14062>`__: DOC, BUILD: cleanups and fix (again) 'make dist'
|
||||
* `#14063 <https://github.com/numpy/numpy/pull/14063>`__: BUG: Fix file-like object check when saving arrays
|
||||
* `#14064 <https://github.com/numpy/numpy/pull/14064>`__: DOC: Resolve bad references in Sphinx warnings
|
||||
* `#14068 <https://github.com/numpy/numpy/pull/14068>`__: MAINT: bump ARMv8 / POWER8 OpenBLAS in CI
|
||||
* `#14069 <https://github.com/numpy/numpy/pull/14069>`__: DOC: Emphasize the need to run tests when building from source
|
||||
* `#14070 <https://github.com/numpy/numpy/pull/14070>`__: DOC:Add example to clarify "numpy.save" behavior on already open...
|
||||
* `#14072 <https://github.com/numpy/numpy/pull/14072>`__: DEP: Deprecate full and economic modes for linalg.qr
|
||||
* `#14073 <https://github.com/numpy/numpy/pull/14073>`__: DOC: Doc release
|
||||
* `#14074 <https://github.com/numpy/numpy/pull/14074>`__: BUG: fix build issue on icc 2016
|
||||
* `#14076 <https://github.com/numpy/numpy/pull/14076>`__: TST: Add 3.8-dev to travisCI testing.
|
||||
* `#14085 <https://github.com/numpy/numpy/pull/14085>`__: DOC: Add blank line above doctest for intersect1d
|
||||
* `#14086 <https://github.com/numpy/numpy/pull/14086>`__: ENH: Propose standard policy for dropping support of old Python...
|
||||
* `#14089 <https://github.com/numpy/numpy/pull/14089>`__: DOC: Use `pip install .` where possible instead of calling setup.py
|
||||
* `#14091 <https://github.com/numpy/numpy/pull/14091>`__: MAINT: adjustments to test_ufunc_noncontigous
|
||||
* `#14092 <https://github.com/numpy/numpy/pull/14092>`__: MAINT: Improve NEP template
|
||||
* `#14096 <https://github.com/numpy/numpy/pull/14096>`__: DOC: fix documentation of i and j for tri.
|
||||
* `#14097 <https://github.com/numpy/numpy/pull/14097>`__: MAINT: Lazy import testing on python >=3.7
|
||||
* `#14100 <https://github.com/numpy/numpy/pull/14100>`__: DEP: Deprecate PyArray_FromDimsAndDataAndDescr, PyArray_FromDims
|
||||
* `#14101 <https://github.com/numpy/numpy/pull/14101>`__: MAINT: Clearer error message while padding with stat_length=0
|
||||
* `#14106 <https://github.com/numpy/numpy/pull/14106>`__: MAINT: remove duplicate variable assignments
|
||||
* `#14108 <https://github.com/numpy/numpy/pull/14108>`__: BUG: initialize variable that is passed by pointer
|
||||
* `#14110 <https://github.com/numpy/numpy/pull/14110>`__: DOC: fix typo in c-api/array.rst doc
|
||||
* `#14121 <https://github.com/numpy/numpy/pull/14121>`__: BUG: Add gcd/lcm definitions to npy_math.h
|
||||
* `#14122 <https://github.com/numpy/numpy/pull/14122>`__: MAINT: Mark umath accuracy test xfail.
|
||||
* `#14124 <https://github.com/numpy/numpy/pull/14124>`__: MAINT: Use equality instead of identity check with literal
|
||||
* `#14130 <https://github.com/numpy/numpy/pull/14130>`__: MAINT: Fix small typo in quickstart docs
|
||||
* `#14134 <https://github.com/numpy/numpy/pull/14134>`__: DOC, MAINT: Update master after 1.17.0 release.
|
||||
* `#14141 <https://github.com/numpy/numpy/pull/14141>`__: ENH: add c-imported modules for freeze analysis in np.random
|
||||
* `#14143 <https://github.com/numpy/numpy/pull/14143>`__: BUG: Fix DeprecationWarning in python 3.8
|
||||
* `#14144 <https://github.com/numpy/numpy/pull/14144>`__: BUG: Remove stray print that causes a SystemError on python 3.7...
|
||||
* `#14145 <https://github.com/numpy/numpy/pull/14145>`__: BUG: Remove the broken clip wrapper
|
||||
* `#14152 <https://github.com/numpy/numpy/pull/14152>`__: BUG: avx2_scalef_ps must be static
|
||||
* `#14153 <https://github.com/numpy/numpy/pull/14153>`__: TST: Allow fuss in testing strided/non-strided exp/log loops
|
||||
* `#14170 <https://github.com/numpy/numpy/pull/14170>`__: NEP: Proposal for __duckarray__ protocol
|
||||
* `#14171 <https://github.com/numpy/numpy/pull/14171>`__: BUG: Make advanced indexing result on read-only subclass writeable
|
||||
* `#14178 <https://github.com/numpy/numpy/pull/14178>`__: TST: Clean up of test_pocketfft.py
|
||||
* `#14181 <https://github.com/numpy/numpy/pull/14181>`__: DEP: Deprecate np.alen
|
||||
* `#14185 <https://github.com/numpy/numpy/pull/14185>`__: MAINT: Workaround for Intel compiler bug leading to failing test
|
||||
* `#14190 <https://github.com/numpy/numpy/pull/14190>`__: DOC: Fix hermitian argument docs in `svd`
|
||||
* `#14195 <https://github.com/numpy/numpy/pull/14195>`__: MAINT: Fix a docstring typo.
|
||||
* `#14196 <https://github.com/numpy/numpy/pull/14196>`__: DOC: Fix links in `/.github/CONTRIBUTING.md`.
|
||||
* `#14197 <https://github.com/numpy/numpy/pull/14197>`__: ENH: Multivariate normal speedups
|
||||
* `#14203 <https://github.com/numpy/numpy/pull/14203>`__: MAINT: Improve mismatch message of np.testing.assert_array_equal
|
||||
* `#14204 <https://github.com/numpy/numpy/pull/14204>`__: DOC,MAINT: Move towncrier files and fixup categories
|
||||
* `#14207 <https://github.com/numpy/numpy/pull/14207>`__: BUG: Fixed default BitGenerator name
|
||||
* `#14209 <https://github.com/numpy/numpy/pull/14209>`__: BUG: Fix uint-overflow if padding with linear_ramp and negative...
|
||||
* `#14216 <https://github.com/numpy/numpy/pull/14216>`__: ENH: Enable huge pages in all Linux builds
|
||||
* `#14217 <https://github.com/numpy/numpy/pull/14217>`__: BUG: Fix leak in the f2py-generated module init and `PyMem_Del`...
|
||||
* `#14219 <https://github.com/numpy/numpy/pull/14219>`__: DOC: new nan_to_num keywords are from 1.17 onwards
|
||||
* `#14223 <https://github.com/numpy/numpy/pull/14223>`__: TST: Add tests for deprecated C functions (PyArray_As1D, PyArray_As1D)
|
||||
* `#14224 <https://github.com/numpy/numpy/pull/14224>`__: DOC: mention `take_along_axis` in `choose`
|
||||
* `#14227 <https://github.com/numpy/numpy/pull/14227>`__: ENH: Parse complex number from string
|
||||
* `#14231 <https://github.com/numpy/numpy/pull/14231>`__: DOC: update or remove outdated sourceforge links
|
||||
* `#14234 <https://github.com/numpy/numpy/pull/14234>`__: MAINT: Better error message for norm
|
||||
* `#14235 <https://github.com/numpy/numpy/pull/14235>`__: DOC: add backlinks to numpy.org
|
||||
* `#14240 <https://github.com/numpy/numpy/pull/14240>`__: BUG: Don't fail when lexsorting some empty arrays.
|
||||
* `#14241 <https://github.com/numpy/numpy/pull/14241>`__: BUG: Fix segfault in `random.permutation(x)` when x is a string.
|
||||
* `#14245 <https://github.com/numpy/numpy/pull/14245>`__: Doc: fix a typo in NEP21
|
||||
* `#14249 <https://github.com/numpy/numpy/pull/14249>`__: DOC: set status of NEP 28 (website redesign) to Accepted
|
||||
* `#14250 <https://github.com/numpy/numpy/pull/14250>`__: BLD: MAINT: change default behavior of build flag appending.
|
||||
* `#14252 <https://github.com/numpy/numpy/pull/14252>`__: BUG: Fixes StopIteration error from 'np.genfromtext' for empty...
|
||||
* `#14255 <https://github.com/numpy/numpy/pull/14255>`__: BUG: fix inconsistent axes ordering for axis in function `unique`
|
||||
* `#14256 <https://github.com/numpy/numpy/pull/14256>`__: DEP: Deprecate load/dump functions in favour of pickle methods
|
||||
* `#14257 <https://github.com/numpy/numpy/pull/14257>`__: MAINT: Update NEP-30
|
||||
* `#14259 <https://github.com/numpy/numpy/pull/14259>`__: DEP: Deprecate arrayprint formatting functions
|
||||
* `#14266 <https://github.com/numpy/numpy/pull/14266>`__: DOC: remove scipy.org from the breadcrumb formattiong
|
||||
* `#14270 <https://github.com/numpy/numpy/pull/14270>`__: BUG: Fix formatting error in exception message
|
||||
* `#14272 <https://github.com/numpy/numpy/pull/14272>`__: DOC: Address typos in dispatch docs
|
||||
* `#14279 <https://github.com/numpy/numpy/pull/14279>`__: BUG: Fix ZeroDivisionError for zero length arrays in pocketfft.
|
||||
* `#14290 <https://github.com/numpy/numpy/pull/14290>`__: BUG: Fix misuse of .names and .fields in various places
|
||||
* `#14291 <https://github.com/numpy/numpy/pull/14291>`__: TST, BUG: Use python3.6-dbg.
|
||||
* `#14295 <https://github.com/numpy/numpy/pull/14295>`__: BUG: core: Handle large negative np.int64 args in binary_repr.
|
||||
* `#14298 <https://github.com/numpy/numpy/pull/14298>`__: BUG: Fix numpy.random bug in platform detection
|
||||
* `#14303 <https://github.com/numpy/numpy/pull/14303>`__: MAINT: random: Match type of SeedSequence.pool_size to DEFAULT_POOL_SIZE.
|
||||
* `#14310 <https://github.com/numpy/numpy/pull/14310>`__: Bug: Fix behavior of structured_to_unstructured on non-trivial...
|
||||
* `#14311 <https://github.com/numpy/numpy/pull/14311>`__: DOC: add two commas, move one word
|
||||
* `#14313 <https://github.com/numpy/numpy/pull/14313>`__: DOC: Clarify rules about broadcasting when empty arrays are involved.
|
||||
* `#14321 <https://github.com/numpy/numpy/pull/14321>`__: TST, MAINT: bump to OpenBLAS 0.3.7 stable
|
||||
* `#14325 <https://github.com/numpy/numpy/pull/14325>`__: DEP: numpy.testing.rand
|
||||
* `#14335 <https://github.com/numpy/numpy/pull/14335>`__: DEP: Deprecate class `SafeEval`
|
||||
* `#14341 <https://github.com/numpy/numpy/pull/14341>`__: BUG: revert detecting and raising error on ragged arrays
|
||||
* `#14342 <https://github.com/numpy/numpy/pull/14342>`__: DOC: Improve documentation of `isscalar`.
|
||||
* `#14349 <https://github.com/numpy/numpy/pull/14349>`__: MAINT: Fix bloated mismatch error percentage in array comparisons.
|
||||
* `#14351 <https://github.com/numpy/numpy/pull/14351>`__: DOC: Fix a minor typo in dispatch documentation.
|
||||
* `#14352 <https://github.com/numpy/numpy/pull/14352>`__: MAINT: Remove redundant deprecation checks
|
||||
* `#14353 <https://github.com/numpy/numpy/pull/14353>`__: MAINT: polynomial: Add an N-d vander implementation used under...
|
||||
* `#14355 <https://github.com/numpy/numpy/pull/14355>`__: DOC: clarify that PytestTester is non-public
|
||||
* `#14356 <https://github.com/numpy/numpy/pull/14356>`__: DOC: support and require sphinx>=2.2
|
||||
* `#14360 <https://github.com/numpy/numpy/pull/14360>`__: DOC: random: fix doc linking, was referencing private submodules.
|
||||
* `#14364 <https://github.com/numpy/numpy/pull/14364>`__: MAINT: Fixes for prospective Python 3.10 and 4.0
|
||||
* `#14365 <https://github.com/numpy/numpy/pull/14365>`__: DOC: lib: Add more explanation of the weighted average calculation.
|
||||
* `#14368 <https://github.com/numpy/numpy/pull/14368>`__: MAINT: Avoid BytesWarning in PyArray_DescrConverter()
|
||||
* `#14369 <https://github.com/numpy/numpy/pull/14369>`__: MAINT: Post NumPy 1.17.1 update.
|
||||
* `#14370 <https://github.com/numpy/numpy/pull/14370>`__: DOC: Fixed dtype docs for var, nanvar.
|
||||
* `#14372 <https://github.com/numpy/numpy/pull/14372>`__: DOC: Document project as Python 3 only with a trove classifier
|
||||
* `#14378 <https://github.com/numpy/numpy/pull/14378>`__: BUILD: move all test dependencies to ./test_requirements.txt
|
||||
* `#14381 <https://github.com/numpy/numpy/pull/14381>`__: BUG: lib: Fix histogram problem with signed integer arrays.
|
||||
* `#14385 <https://github.com/numpy/numpy/pull/14385>`__: REL: Update master after NumPy 1.16.5 release.
|
||||
* `#14387 <https://github.com/numpy/numpy/pull/14387>`__: BUG: test, fix regression in converting to ctypes
|
||||
* `#14389 <https://github.com/numpy/numpy/pull/14389>`__: NEP: Add initial draft of NEP-31: Context-local and global overrides...
|
||||
* `#14390 <https://github.com/numpy/numpy/pull/14390>`__: DOC: document numpy/doc update process
|
||||
* `#14392 <https://github.com/numpy/numpy/pull/14392>`__: DOC: update np.around docstring with note about floating-point...
|
||||
* `#14393 <https://github.com/numpy/numpy/pull/14393>`__: BUG: view with fieldless dtype should raise if itemsize != 0
|
||||
* `#14395 <https://github.com/numpy/numpy/pull/14395>`__: DOC: fix issue with __new__ usage in subclassing doc.
|
||||
* `#14398 <https://github.com/numpy/numpy/pull/14398>`__: DOC: Fix release notes table of contents
|
||||
* `#14399 <https://github.com/numpy/numpy/pull/14399>`__: NEP 32: Remove the financial functions from NumPy
|
||||
* `#14404 <https://github.com/numpy/numpy/pull/14404>`__: BLD: Update RELEASE_WALKTHROUGH and cythonize.
|
||||
* `#14407 <https://github.com/numpy/numpy/pull/14407>`__: Bump pytest from 5.1.1 to 5.1.2
|
||||
* `#14408 <https://github.com/numpy/numpy/pull/14408>`__: TST: Remove build job since we now use Dependabot
|
||||
* `#14410 <https://github.com/numpy/numpy/pull/14410>`__: BLD: Only allow using Cython module when cythonizing.
|
||||
* `#14411 <https://github.com/numpy/numpy/pull/14411>`__: TST: Add dependabot config file.
|
||||
* `#14416 <https://github.com/numpy/numpy/pull/14416>`__: BUG: Fix format statement associated with AttributeError.
|
||||
* `#14417 <https://github.com/numpy/numpy/pull/14417>`__: BUG: Fix aradixsort indirect indexing.
|
||||
* `#14426 <https://github.com/numpy/numpy/pull/14426>`__: DOC: add the reference to 'printoptions'
|
||||
* `#14429 <https://github.com/numpy/numpy/pull/14429>`__: BUG: Do not show Override module in private error classes.
|
||||
* `#14444 <https://github.com/numpy/numpy/pull/14444>`__: DOC: Make implementation bullet points consistent in NEP 29
|
||||
* `#14447 <https://github.com/numpy/numpy/pull/14447>`__: MAINT: Clarify policy language in NEP-29.
|
||||
* `#14448 <https://github.com/numpy/numpy/pull/14448>`__: REL: Update master after 1.17.2 release.
|
||||
* `#14452 <https://github.com/numpy/numpy/pull/14452>`__: MAINT: clean up pocketfft modules inside numpy.fft namespace
|
||||
* `#14453 <https://github.com/numpy/numpy/pull/14453>`__: BLD: remove generated Cython files from sdist
|
||||
* `#14454 <https://github.com/numpy/numpy/pull/14454>`__: MAINT: add test to prevent new public-looking modules being added
|
||||
* `#14458 <https://github.com/numpy/numpy/pull/14458>`__: BUG: random.hypergeometic assumes npy_long is npy_int64, hangs...
|
||||
* `#14459 <https://github.com/numpy/numpy/pull/14459>`__: ENH: Print the amount of memory that would be used by a failed...
|
||||
* `#14460 <https://github.com/numpy/numpy/pull/14460>`__: MAINT: use test_requirements.txt in tox and shippable, ship it...
|
||||
* `#14464 <https://github.com/numpy/numpy/pull/14464>`__: BUG: add a specialized loop for boolean matmul
|
||||
* `#14469 <https://github.com/numpy/numpy/pull/14469>`__: BUG: Fix _ctypes class circular reference. (#13808)
|
||||
* `#14472 <https://github.com/numpy/numpy/pull/14472>`__: BUG: core: Fix the str function of the rational dtype.
|
||||
* `#14475 <https://github.com/numpy/numpy/pull/14475>`__: DOC: add timedelta64 signature
|
||||
* `#14477 <https://github.com/numpy/numpy/pull/14477>`__: MAINT: Extract raising of MemoryError to a helper function
|
||||
* `#14483 <https://github.com/numpy/numpy/pull/14483>`__: BUG,MAINT: Some fixes and minor cleanup based on clang analysis
|
||||
* `#14484 <https://github.com/numpy/numpy/pull/14484>`__: MAINT: Add `NPY_UNUSED` and `const` qualified suggested by clang
|
||||
* `#14485 <https://github.com/numpy/numpy/pull/14485>`__: MAINT: Silence integer comparison build warnings in assert statements
|
||||
* `#14486 <https://github.com/numpy/numpy/pull/14486>`__: MAINT: distutils: Add newline at the end of printed warnings.
|
||||
* `#14490 <https://github.com/numpy/numpy/pull/14490>`__: BUG: random: Revert gh-14458 and refix gh-14557.
|
||||
* `#14493 <https://github.com/numpy/numpy/pull/14493>`__: DOC: Fix reference NPY_ARRAY_OWNDATA instead of NPY_OWNDATA.
|
||||
* `#14495 <https://github.com/numpy/numpy/pull/14495>`__: ENH: Allow NPY_PKG_CONFIG_PATH environment variable override
|
||||
* `#14498 <https://github.com/numpy/numpy/pull/14498>`__: MAINT: remove the entropy c-extension module
|
||||
* `#14499 <https://github.com/numpy/numpy/pull/14499>`__: DOC: Add backslashes so PyUFunc_FromFuncAndDataAndSignatureAndIdentity...
|
||||
* `#14500 <https://github.com/numpy/numpy/pull/14500>`__: DOC: Fix a minor typo in changelog readme
|
||||
* `#14501 <https://github.com/numpy/numpy/pull/14501>`__: BUG: Fix randint when range is 2**32
|
||||
* `#14503 <https://github.com/numpy/numpy/pull/14503>`__: DOC: tweak np.round docstring to clarify floating-point error
|
||||
* `#14508 <https://github.com/numpy/numpy/pull/14508>`__: DOC: Add warning to NPV function
|
||||
* `#14510 <https://github.com/numpy/numpy/pull/14510>`__: API: Do not return None from recfunctions.drop_fields
|
||||
* `#14511 <https://github.com/numpy/numpy/pull/14511>`__: BUG: Fix flatten_dtype so that nested 0-field structs are flattened...
|
||||
* `#14514 <https://github.com/numpy/numpy/pull/14514>`__: DOC: Build release notes during CircleCI step
|
||||
* `#14518 <https://github.com/numpy/numpy/pull/14518>`__: BUILD: Hide platform configuration probe behind --debug-configure
|
||||
* `#14520 <https://github.com/numpy/numpy/pull/14520>`__: Mention that split() returns views into the original array
|
||||
* `#14521 <https://github.com/numpy/numpy/pull/14521>`__: MAINT: Simplify lookfor function
|
||||
* `#14523 <https://github.com/numpy/numpy/pull/14523>`__: MAINT: random: Remove a few duplicated C function prototypes.
|
||||
* `#14525 <https://github.com/numpy/numpy/pull/14525>`__: BUILD, MAINT: run tests with verbose for PyPY, also do not leak...
|
||||
* `#14526 <https://github.com/numpy/numpy/pull/14526>`__: BUG: fix release snippet failures caught only after merging
|
||||
* `#14527 <https://github.com/numpy/numpy/pull/14527>`__: BLD: add warn-error option, adds -Werror to compiler
|
||||
* `#14531 <https://github.com/numpy/numpy/pull/14531>`__: BUG: random: Create a legacy implementation of random.binomial.
|
||||
* `#14534 <https://github.com/numpy/numpy/pull/14534>`__: MAINT: remove unused functions, rearrange headers (from CC=clang)
|
||||
* `#14535 <https://github.com/numpy/numpy/pull/14535>`__: DOC: Fix a bit of code in 'Beyond the Basics' C API user guide.
|
||||
* `#14536 <https://github.com/numpy/numpy/pull/14536>`__: MAINT: Cleanup old_defines in DOC
|
||||
* `#14540 <https://github.com/numpy/numpy/pull/14540>`__: DOC: Added missing versionadded to diff(prepend)
|
||||
* `#14543 <https://github.com/numpy/numpy/pull/14543>`__: BUG: Avoid ctypes in Generators
|
||||
* `#14545 <https://github.com/numpy/numpy/pull/14545>`__: Changing ImportWarning to DeprecationWarning
|
||||
* `#14548 <https://github.com/numpy/numpy/pull/14548>`__: MAINT: handle case where GIT_VERSION is empty string
|
||||
* `#14554 <https://github.com/numpy/numpy/pull/14554>`__: MAINT: core: Remove duplicated inner loop ee->e from log, exp,...
|
||||
* `#14555 <https://github.com/numpy/numpy/pull/14555>`__: DOC: clarify input types in basics.io.genfromtxt.rst
|
||||
* `#14557 <https://github.com/numpy/numpy/pull/14557>`__: DOC: remove note about Pocketfft license file (non-existing here).
|
||||
* `#14558 <https://github.com/numpy/numpy/pull/14558>`__: DOC: Fix code that generates the table in the 'Casting Rules'...
|
||||
* `#14562 <https://github.com/numpy/numpy/pull/14562>`__: MAINT: don't install partial numpy.random C/Cython API.
|
||||
* `#14564 <https://github.com/numpy/numpy/pull/14564>`__: TST: ensure coercion tables aren't printed on failing public...
|
||||
* `#14567 <https://github.com/numpy/numpy/pull/14567>`__: DEP: remove deprecated (and private) numpy.testing submodules.
|
||||
* `#14568 <https://github.com/numpy/numpy/pull/14568>`__: BLD, DOC: fix gh-14518, add release note
|
||||
* `#14570 <https://github.com/numpy/numpy/pull/14570>`__: BUG: importing build_src breaks setuptools monkeypatch for msvc14
|
||||
* `#14572 <https://github.com/numpy/numpy/pull/14572>`__: DOC: Note runtests.py `-- -s` method to use pytests `-s`
|
||||
* `#14573 <https://github.com/numpy/numpy/pull/14573>`__: DOC: update submodule docstrings, remove info.py files
|
||||
* `#14576 <https://github.com/numpy/numpy/pull/14576>`__: DOC: Document the NPY_SCALARKIND values as C variables.
|
||||
* `#14582 <https://github.com/numpy/numpy/pull/14582>`__: MAINT: Bump pytest from 5.1.2 to 5.1.3
|
||||
* `#14583 <https://github.com/numpy/numpy/pull/14583>`__: DEP: remove deprecated select behaviour
|
||||
* `#14585 <https://github.com/numpy/numpy/pull/14585>`__: BUG: Add missing check for 0-sized array in ravel_multi_index
|
||||
* `#14586 <https://github.com/numpy/numpy/pull/14586>`__: BUG: dtype refcount cleanups
|
||||
* `#14587 <https://github.com/numpy/numpy/pull/14587>`__: DOC: Fix a minor typo in changelog entry
|
||||
* `#14592 <https://github.com/numpy/numpy/pull/14592>`__: MAINT: Fix typo: remoge → remove
|
||||
* `#14595 <https://github.com/numpy/numpy/pull/14595>`__: DOC: Change the promotion table checkmark to 'Y'.
|
||||
* `#14596 <https://github.com/numpy/numpy/pull/14596>`__: DEP: Complete deprecation of invalid array/memory order
|
||||
* `#14598 <https://github.com/numpy/numpy/pull/14598>`__: DOC: Add to doc that interp cannot contain NaN
|
||||
* `#14600 <https://github.com/numpy/numpy/pull/14600>`__: NEP: Accept NEP 32.
|
||||
* `#14601 <https://github.com/numpy/numpy/pull/14601>`__: NEP: Fix discrepancies in NEPs
|
||||
* `#14603 <https://github.com/numpy/numpy/pull/14603>`__: NEP: Only list "Active" NEPs under "Meta-NEPs"
|
||||
* `#14604 <https://github.com/numpy/numpy/pull/14604>`__: API: restructure and document numpy.random C-API
|
||||
* `#14605 <https://github.com/numpy/numpy/pull/14605>`__: BUG: properly define PyArray_DescrCheck{,Exact}
|
||||
* `#14607 <https://github.com/numpy/numpy/pull/14607>`__: MAINT: Remove duplicate files from .gitignore
|
||||
* `#14608 <https://github.com/numpy/numpy/pull/14608>`__: API: rearrange the cython files in numpy.random
|
||||
* `#14614 <https://github.com/numpy/numpy/pull/14614>`__: MAINT: Bump pytest from 5.1.3 to 5.2.0
|
||||
* `#14615 <https://github.com/numpy/numpy/pull/14615>`__: MAINT: Add "MAINT" tag to dependabot commit msg
|
||||
* `#14616 <https://github.com/numpy/numpy/pull/14616>`__: DOC: Updated sphinx directive formatting
|
||||
* `#14620 <https://github.com/numpy/numpy/pull/14620>`__: DEP: Finish deprecation of non-integer `num` in linspace
|
||||
* `#14621 <https://github.com/numpy/numpy/pull/14621>`__: DOC: s/OR/AND/ in np.logical_and docstring
|
||||
* `#14623 <https://github.com/numpy/numpy/pull/14623>`__: DOC: misleading np.sinc() documentation
|
||||
* `#14629 <https://github.com/numpy/numpy/pull/14629>`__: DOC: clarify residual in np.polyfit
|
||||
* `#14630 <https://github.com/numpy/numpy/pull/14630>`__: BUILD: change to build_src --verbose-cfg, runtests.py --debug-info
|
||||
* `#14631 <https://github.com/numpy/numpy/pull/14631>`__: BUG: always free clean_sep
|
||||
* `#14634 <https://github.com/numpy/numpy/pull/14634>`__: DOC: Create `class Extension` docstring and add it to documentation.
|
||||
* `#14636 <https://github.com/numpy/numpy/pull/14636>`__: DOC: add `printoptions` as a context manager to `set_printoptions`
|
||||
* `#14639 <https://github.com/numpy/numpy/pull/14639>`__: DOC: Fix typo in NEP 29
|
||||
* `#14643 <https://github.com/numpy/numpy/pull/14643>`__: MAINT: Use scalar math power function directly
|
||||
* `#14649 <https://github.com/numpy/numpy/pull/14649>`__: DOC: Add IPython to dependencies needed to build docs.
|
||||
* `#14652 <https://github.com/numpy/numpy/pull/14652>`__: MAINT: Bump pytest-cov from 2.7.1 to 2.8.1
|
||||
* `#14653 <https://github.com/numpy/numpy/pull/14653>`__: MAINT: Bump pytest from 5.2.0 to 5.2.1
|
||||
* `#14654 <https://github.com/numpy/numpy/pull/14654>`__: MAINT: Bump pytz from 2019.2 to 2019.3
|
||||
* `#14656 <https://github.com/numpy/numpy/pull/14656>`__: MAINT: Use `extract_unit` throughout datetime
|
||||
* `#14657 <https://github.com/numpy/numpy/pull/14657>`__: BUG: fix fromfile behavior when reading sub-array dtypes
|
||||
* `#14662 <https://github.com/numpy/numpy/pull/14662>`__: BUG: random: Use correct length when axis is given to shuffle.
|
||||
* `#14669 <https://github.com/numpy/numpy/pull/14669>`__: BUG: Do not rely on undefined behaviour to cast from float to...
|
||||
* `#14674 <https://github.com/numpy/numpy/pull/14674>`__: NEP: add default-dtype-object-deprecation nep 34
|
||||
* `#14681 <https://github.com/numpy/numpy/pull/14681>`__: MAINT: Remove unused boolean negative/subtract loops
|
||||
* `#14682 <https://github.com/numpy/numpy/pull/14682>`__: DEP: ufunc `out` argument must be a tuple for multiple outputs
|
||||
* `#14693 <https://github.com/numpy/numpy/pull/14693>`__: BUG: Fix `np.einsum` errors on Power9 Linux and z/Linux
|
||||
* `#14696 <https://github.com/numpy/numpy/pull/14696>`__: DOC: Note release notes process changes on devdocs start page
|
||||
* `#14699 <https://github.com/numpy/numpy/pull/14699>`__: Doc warnings
|
||||
* `#14705 <https://github.com/numpy/numpy/pull/14705>`__: DOC: Switch Markdown link to RST in NEP 29
|
||||
* `#14709 <https://github.com/numpy/numpy/pull/14709>`__: TST: Divide Azure CI Pipelines into stages.
|
||||
* `#14710 <https://github.com/numpy/numpy/pull/14710>`__: DEP: Finish the out kwarg deprecation for ufunc calls
|
||||
* `#14711 <https://github.com/numpy/numpy/pull/14711>`__: DOC: Removing mentions of appveyor
|
||||
* `#14714 <https://github.com/numpy/numpy/pull/14714>`__: BUG: Default start to 0 for timedelta arange
|
||||
* `#14717 <https://github.com/numpy/numpy/pull/14717>`__: API: NaT (arg)min/max behavior
|
||||
* `#14718 <https://github.com/numpy/numpy/pull/14718>`__: API: Forbid Q<->m safe casting
|
||||
* `#14720 <https://github.com/numpy/numpy/pull/14720>`__: DEP: deprecate financial functions.
|
||||
* `#14721 <https://github.com/numpy/numpy/pull/14721>`__: DOC: Move newsfragment to correct folder
|
||||
* `#14723 <https://github.com/numpy/numpy/pull/14723>`__: DOC: cleaning up examples in maskedarray.generic
|
||||
* `#14725 <https://github.com/numpy/numpy/pull/14725>`__: MAINT: umath: Change error message for unsupported bool subtraction.
|
||||
* `#14730 <https://github.com/numpy/numpy/pull/14730>`__: ENH: Add complex number support for fromfile
|
||||
* `#14732 <https://github.com/numpy/numpy/pull/14732>`__: TST: run refguide-check on rst files in doc/*
|
||||
* `#14734 <https://github.com/numpy/numpy/pull/14734>`__: DOC: Edit NEP procedure for better discussion
|
||||
* `#14736 <https://github.com/numpy/numpy/pull/14736>`__: DOC: Post 1.17.3 release update.
|
||||
* `#14737 <https://github.com/numpy/numpy/pull/14737>`__: NEP: Accept NEP 29 as final
|
||||
* `#14738 <https://github.com/numpy/numpy/pull/14738>`__: BUG: Don't narrow intp to int when producing error messages
|
||||
* `#14742 <https://github.com/numpy/numpy/pull/14742>`__: DOC: lib: Fix deprecation markup in financial function docstrings.
|
||||
* `#14743 <https://github.com/numpy/numpy/pull/14743>`__: DOC: Change from HTTP to HTTPS
|
||||
* `#14745 <https://github.com/numpy/numpy/pull/14745>`__: BUG: clear only attribute errors in get_attr_string.h::maybe_get_attr
|
||||
* `#14762 <https://github.com/numpy/numpy/pull/14762>`__: MAINT: doc: Remove doc/newdtype_example/
|
||||
* `#14763 <https://github.com/numpy/numpy/pull/14763>`__: Reword cautionary note about dtype.descr
|
||||
* `#14769 <https://github.com/numpy/numpy/pull/14769>`__: BUG: fix integer size confusion in handling array's ndmin argument
|
||||
* `#14771 <https://github.com/numpy/numpy/pull/14771>`__: TST, BUILD: add a gcc 4.8 run on ubuntu 18.04
|
||||
* `#14775 <https://github.com/numpy/numpy/pull/14775>`__: Update CLASSIFIERS with python 3.8 support
|
||||
* `#14777 <https://github.com/numpy/numpy/pull/14777>`__: BUG: random: biased samples from integers() with 8 or 16 bit...
|
||||
* `#14782 <https://github.com/numpy/numpy/pull/14782>`__: DOC: Add release note about changed random variate stream from...
|
||||
* `#14786 <https://github.com/numpy/numpy/pull/14786>`__: DOC: Make changes to NEP procedure
|
||||
* `#14790 <https://github.com/numpy/numpy/pull/14790>`__: DOC: random: Remove redundant 'See Also' entry in 'uniform' docstring.
|
||||
* `#14791 <https://github.com/numpy/numpy/pull/14791>`__: MAINT: Minor typo fix
|
||||
* `#14792 <https://github.com/numpy/numpy/pull/14792>`__: MAINT: Bump pytest from 5.2.1 to 5.2.2
|
||||
* `#14793 <https://github.com/numpy/numpy/pull/14793>`__: DOC: Adjust NEP-31 to new template.
|
||||
* `#14794 <https://github.com/numpy/numpy/pull/14794>`__: DEP: issue deprecation warning when creating ragged array (NEP...
|
||||
* `#14798 <https://github.com/numpy/numpy/pull/14798>`__: NEP: move 'NEP 29 random' from Accepted to Final
|
||||
* `#14799 <https://github.com/numpy/numpy/pull/14799>`__: DOC: Add take_along_axis to the see also section in argmin, argmax...
|
||||
* `#14800 <https://github.com/numpy/numpy/pull/14800>`__: ENH: change object-array comparisons to prefer OO->O unfuncs
|
||||
* `#14805 <https://github.com/numpy/numpy/pull/14805>`__: TST: Don't construct Fraction instances from numpy scalars
|
||||
* `#14814 <https://github.com/numpy/numpy/pull/14814>`__: Rename helper functions to not use the word rank
|
||||
* `#14820 <https://github.com/numpy/numpy/pull/14820>`__: MAINT: Use templating to merge float loops
|
||||
* `#14826 <https://github.com/numpy/numpy/pull/14826>`__: BUILD: ignore more build.log warnings
|
||||
* `#14827 <https://github.com/numpy/numpy/pull/14827>`__: BLD: Prevent -flto from optimising long double representation...
|
||||
* `#14829 <https://github.com/numpy/numpy/pull/14829>`__: BUG: raise ValueError for empty arrays passed to _pyarray_correlate
|
||||
* `#14830 <https://github.com/numpy/numpy/pull/14830>`__: MAINT: move buffer.h -> npy_buffer.h to avoid conflicts
|
||||
* `#14836 <https://github.com/numpy/numpy/pull/14836>`__: MAINT: Bump cython from 0.29.13 to 0.29.14
|
||||
* `#14841 <https://github.com/numpy/numpy/pull/14841>`__: ENH: add isinf, isnan, fmin, fmax loops for datetime64, timedelta64
|
||||
* `#14842 <https://github.com/numpy/numpy/pull/14842>`__: BLD: add 'apt update' to shippable
|
||||
* `#14845 <https://github.com/numpy/numpy/pull/14845>`__: MAINT: revert gh-14800, which gave precedence to OO->O over OO->?
|
||||
* `#14874 <https://github.com/numpy/numpy/pull/14874>`__: REL: Update master after 1.17.4 release.
|
||||
* `#14878 <https://github.com/numpy/numpy/pull/14878>`__: BUILD: remove SSE2 flag from numpy.random builds
|
||||
* `#14879 <https://github.com/numpy/numpy/pull/14879>`__: DOC: Update NEP29 with Python3.8 informations.
|
||||
* `#14881 <https://github.com/numpy/numpy/pull/14881>`__: BUG: Remove builtins from __all__
|
||||
* `#14898 <https://github.com/numpy/numpy/pull/14898>`__: MAINT: Delete and ignore generated files
|
||||
* `#14899 <https://github.com/numpy/numpy/pull/14899>`__: Update FUNDING.yml
|
||||
* `#14901 <https://github.com/numpy/numpy/pull/14901>`__: MAINT: Remove uses of scalar aliases
|
||||
* `#14903 <https://github.com/numpy/numpy/pull/14903>`__: NEP: move nep 34 to accepted
|
||||
* `#14907 <https://github.com/numpy/numpy/pull/14907>`__: TST: Add s390x to the TravisCI test matrix.
|
||||
* `#14912 <https://github.com/numpy/numpy/pull/14912>`__: DOC: Note FFT type promotion
|
||||
* `#14914 <https://github.com/numpy/numpy/pull/14914>`__: TST: Test with Python3.8 on Windows.
|
||||
* `#14915 <https://github.com/numpy/numpy/pull/14915>`__: TST: Update travis.yml
|
||||
* `#14921 <https://github.com/numpy/numpy/pull/14921>`__: TST: add no_tracing decorator to refcount-sensitive codepath...
|
||||
* `#14926 <https://github.com/numpy/numpy/pull/14926>`__: MAINT: Bump pytest from 5.2.2 to 5.2.4
|
||||
* `#14929 <https://github.com/numpy/numpy/pull/14929>`__: BUG: Fix step returned by linspace when num=1 and endpoint=False
|
||||
* `#14932 <https://github.com/numpy/numpy/pull/14932>`__: DOC: Compare 'tolist' function to 'list' in example
|
||||
* `#14935 <https://github.com/numpy/numpy/pull/14935>`__: DOC: Clarify return type for default_rng
|
||||
* `#14944 <https://github.com/numpy/numpy/pull/14944>`__: MAINT: move numpy/random/examples -> numpy/random/_examples
|
||||
* `#14947 <https://github.com/numpy/numpy/pull/14947>`__: DOC: testing: Note handling of scalars in assert_array_equal...
|
||||
* `#14948 <https://github.com/numpy/numpy/pull/14948>`__: DOC, API: add random.__init__.pxd and document random.* functions
|
||||
* `#14951 <https://github.com/numpy/numpy/pull/14951>`__: DOC: Clean up examples of low-level random access
|
||||
* `#14954 <https://github.com/numpy/numpy/pull/14954>`__: TST. API: test using distributions.h via cffi
|
||||
* `#14962 <https://github.com/numpy/numpy/pull/14962>`__: TST: skip if cython is not available
|
||||
* `#14967 <https://github.com/numpy/numpy/pull/14967>`__: MAINT: Cleaned up mintypecode for Py3
|
||||
* `#14973 <https://github.com/numpy/numpy/pull/14973>`__: DOC: fix docstring of np.linalg.norm
|
||||
* `#14974 <https://github.com/numpy/numpy/pull/14974>`__: MAINT: Added Python3.8 branch to dll lib discovery on Windows
|
||||
* `#14976 <https://github.com/numpy/numpy/pull/14976>`__: DEV: update asv.conf.json
|
||||
* `#14978 <https://github.com/numpy/numpy/pull/14978>`__: MAINT: Bump pytest from 5.2.4 to 5.3.0
|
||||
* `#14982 <https://github.com/numpy/numpy/pull/14982>`__: MAINT: Fix typos
|
||||
* `#14983 <https://github.com/numpy/numpy/pull/14983>`__: REV: "ENH: Improved performance of PyArray_FromAny for sequences...
|
||||
* `#14994 <https://github.com/numpy/numpy/pull/14994>`__: BUG: warn when saving dtype with metadata
|
||||
* `#14996 <https://github.com/numpy/numpy/pull/14996>`__: DEP: Deprecate the axis argument to masked_rows and masked_cols
|
||||
* `#15004 <https://github.com/numpy/numpy/pull/15004>`__: MAINT: Fix long name of PCG64
|
||||
* `#15007 <https://github.com/numpy/numpy/pull/15007>`__: DOC, API: improve the C-API/Cython documentation and interfaces...
|
||||
* `#15009 <https://github.com/numpy/numpy/pull/15009>`__: DOC: Fix typo in numpy.loadtxt and numpy.genfromtxt documentation
|
||||
* `#15012 <https://github.com/numpy/numpy/pull/15012>`__: ENH: allow using symbol-suffixed 64-bit BLAS/LAPACK for numpy.dot...
|
||||
* `#15014 <https://github.com/numpy/numpy/pull/15014>`__: DOC: add a more useful comment to compat.py3k.py
|
||||
* `#15019 <https://github.com/numpy/numpy/pull/15019>`__: DOC: lib: Use a clearer example of ddof in the notes of the cov...
|
||||
* `#15021 <https://github.com/numpy/numpy/pull/15021>`__: TST: machinery for tests requiring large memory + lapack64 smoketest
|
||||
* `#15023 <https://github.com/numpy/numpy/pull/15023>`__: MAINT: Only copy input array in _replace_nan() if there are nans...
|
||||
* `#15025 <https://github.com/numpy/numpy/pull/15025>`__: MAINT: Bump pytest from 5.3.0 to 5.3.1
|
||||
* `#15027 <https://github.com/numpy/numpy/pull/15027>`__: REV: "ENH: Improved performance of PyArray_FromAny for sequences...
|
||||
* `#15031 <https://github.com/numpy/numpy/pull/15031>`__: REL: Prepare for 1.18 branch
|
||||
* `#15032 <https://github.com/numpy/numpy/pull/15032>`__: MAINT: Cleaned up mintypecode for Py3 (pt. 2)
|
||||
* `#15036 <https://github.com/numpy/numpy/pull/15036>`__: BUG: Fix refcounting in ufunc object loops
|
||||
* `#15039 <https://github.com/numpy/numpy/pull/15039>`__: BUG: Exceptions tracebacks are dropped
|
||||
* `#15053 <https://github.com/numpy/numpy/pull/15053>`__: REV: Revert "Merge pull request #14794 from mattip/nep-0034-impl"
|
||||
* `#15058 <https://github.com/numpy/numpy/pull/15058>`__: API, DOC: change names to multivariate_hypergeometric, improve docs
|
||||
* `#15059 <https://github.com/numpy/numpy/pull/15059>`__: REL: Prepare for NumPy 1.18.0 release.
|
||||
* `#15109 <https://github.com/numpy/numpy/pull/15109>`__: TST: Check requires_memory immediately before the test
|
||||
* `#15111 <https://github.com/numpy/numpy/pull/15111>`__: ENH: Add support to sort timedelta64 `NaT` to end of the array
|
||||
* `#15112 <https://github.com/numpy/numpy/pull/15112>`__: MAINT: follow-up cleanup for blas64 PR
|
||||
* `#15113 <https://github.com/numpy/numpy/pull/15113>`__: ENH: f2py: add --f2cmap option for specifying the name of .f2py_f2cmap
|
||||
* `#15114 <https://github.com/numpy/numpy/pull/15114>`__: ENH: add support for ILP64 OpenBLAS (without symbol suffix)
|
||||
* `#15146 <https://github.com/numpy/numpy/pull/15146>`__: REL: Prepare for 1.18.0 release.
|
|
@ -0,0 +1,33 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 7 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Charles Harris
|
||||
* Matti Picus
|
||||
* Maxwell Aladago
|
||||
* Pauli Virtanen
|
||||
* Ralf Gommers
|
||||
* Tyler Reddy
|
||||
* Warren Weckesser
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 13 pull requests were merged for this release.
|
||||
|
||||
* `#15158 <https://github.com/numpy/numpy/pull/15158>`__: MAINT: Update pavement.py for towncrier.
|
||||
* `#15159 <https://github.com/numpy/numpy/pull/15159>`__: DOC: add moved modules to 1.18 release note
|
||||
* `#15161 <https://github.com/numpy/numpy/pull/15161>`__: MAINT, DOC: Minor backports and updates for 1.18.x
|
||||
* `#15176 <https://github.com/numpy/numpy/pull/15176>`__: TST: Add assert_array_equal test for big integer arrays
|
||||
* `#15184 <https://github.com/numpy/numpy/pull/15184>`__: BUG: use tmp dir and check version for cython test (#15170)
|
||||
* `#15220 <https://github.com/numpy/numpy/pull/15220>`__: BUG: distutils: fix msvc+gfortran openblas handling corner case
|
||||
* `#15221 <https://github.com/numpy/numpy/pull/15221>`__: BUG: remove -std=c99 for c++ compilation (#15194)
|
||||
* `#15222 <https://github.com/numpy/numpy/pull/15222>`__: MAINT: unskip test on win32
|
||||
* `#15223 <https://github.com/numpy/numpy/pull/15223>`__: TST: add BLAS ILP64 run in Travis & Azure
|
||||
* `#15245 <https://github.com/numpy/numpy/pull/15245>`__: MAINT: only add --std=c99 where needed
|
||||
* `#15246 <https://github.com/numpy/numpy/pull/15246>`__: BUG: lib: Fix handling of integer arrays by gradient.
|
||||
* `#15247 <https://github.com/numpy/numpy/pull/15247>`__: MAINT: Do not use private Python function in testing
|
||||
* `#15250 <https://github.com/numpy/numpy/pull/15250>`__: REL: Prepare for the NumPy 1.18.1 release.
|
|
@ -0,0 +1,25 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 5 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Charles Harris
|
||||
* Ganesh Kathiresan +
|
||||
* Matti Picus
|
||||
* Sebastian Berg
|
||||
* przemb +
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 7 pull requests were merged for this release.
|
||||
|
||||
* `#15675 <https://github.com/numpy/numpy/pull/15675>`__: TST: move _no_tracing to testing._private
|
||||
* `#15676 <https://github.com/numpy/numpy/pull/15676>`__: MAINT: Large overhead in some random functions
|
||||
* `#15677 <https://github.com/numpy/numpy/pull/15677>`__: TST: Do not create gfortran link in azure Mac testing.
|
||||
* `#15679 <https://github.com/numpy/numpy/pull/15679>`__: BUG: Added missing error check in `ndarray.__contains__`
|
||||
* `#15722 <https://github.com/numpy/numpy/pull/15722>`__: MAINT: use list-based APIs to call subprocesses
|
||||
* `#15729 <https://github.com/numpy/numpy/pull/15729>`__: REL: Prepare for 1.18.2 release.
|
||||
* `#15734 <https://github.com/numpy/numpy/pull/15734>`__: BUG: fix logic error when nm fails on 32-bit
|
|
@ -0,0 +1,24 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 6 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Charles Harris
|
||||
* Max Balandat +
|
||||
* @Mibu287 +
|
||||
* Pan Jan +
|
||||
* Sebastian Berg
|
||||
* @panpiort8 +
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 5 pull requests were merged for this release.
|
||||
|
||||
* `#15916 <https://github.com/numpy/numpy/pull/15916>`__: BUG: Fix eigh and cholesky methods of numpy.random.multivariate_normal
|
||||
* `#15929 <https://github.com/numpy/numpy/pull/15929>`__: BUG,MAINT: Remove incorrect special case in string to number...
|
||||
* `#15930 <https://github.com/numpy/numpy/pull/15930>`__: BUG: Guarantee array is in valid state after memory error occurs...
|
||||
* `#15954 <https://github.com/numpy/numpy/pull/15954>`__: BUG: Check that `pvals` is 1D in `_generator.multinomial`.
|
||||
* `#16017 <https://github.com/numpy/numpy/pull/16017>`__: BUG: Alpha parameter must be 1D in `generator.dirichlet`
|
|
@ -0,0 +1,23 @@
|
|||
|
||||
Contributors
|
||||
============
|
||||
|
||||
A total of 4 people contributed to this release. People with a "+" by their
|
||||
names contributed a patch for the first time.
|
||||
|
||||
* Charles Harris
|
||||
* Matti Picus
|
||||
* Sebastian Berg
|
||||
* Warren Weckesser
|
||||
|
||||
Pull requests merged
|
||||
====================
|
||||
|
||||
A total of 6 pull requests were merged for this release.
|
||||
|
||||
* `#16055 <https://github.com/numpy/numpy/pull/16055>`__: BLD: add i686 for 1.18 builds
|
||||
* `#16090 <https://github.com/numpy/numpy/pull/16090>`__: BUG: random: ``Generator.integers(2**32)`` always returned 0.
|
||||
* `#16091 <https://github.com/numpy/numpy/pull/16091>`__: BLD: fix path to libgfortran on macOS
|
||||
* `#16109 <https://github.com/numpy/numpy/pull/16109>`__: REV: Reverts side-effect changes to casting
|
||||
* `#16114 <https://github.com/numpy/numpy/pull/16114>`__: BLD: put openblas library in local directory on windows
|
||||
* `#16132 <https://github.com/numpy/numpy/pull/16132>`__: DOC: Change import error "howto" to link to new troubleshooting...
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue