summaryrefslogtreecommitdiff
path: root/numpy/lib
Commit message (Collapse)AuthorAgeFilesLines
* DOC: Fix syntax errors in docstrings for versionchanged, versionadded (#17338)Bradley Dice2020-09-172-2/+2
| | | * DOC: Fix typos in versionchanged.
* MAINT: Chaining exceptions in npyio.pyBijesh Mohan2020-09-161-5/+5
|
* Merge pull request #17285 from seberg/tune-down-financial-warningCharles Harris2020-09-121-1/+1
|\ | | | | DEP: Change the financial name access warning to DeprecationWarning
| * DEP: Change the financial name access warning to DeprecationWarningSebastian Berg2020-09-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Most end-users will probably not care about the warning in any case, since they will not just import the function but also use it. We can't just remove it, due to gh-17143: Astropy currently pulls in these functions (but doesn't use them), so that plain removal would lead to an unusable astropy if a new NumPy is installed. Even more annoying, due to a (faulty?) astropy pytest plugin, this affects all pytest runs (which do not use `PYTEST_DISABLE_PLUGIN_AUTOLOAD`). Changing it to a DeprecationWarning seems to remove the issue from pytest runs, this may make the warning less visible in rare cases where it should be seen, but hopefully it will still be visible enough.
* | ENH: Allow genfromtxt to unpack structured arrays (#16650)Andrew Eckart2020-09-112-6/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | * ENH: Allow genfromtxt to unpack structured arrays genfromtxt failed to transpose output when unpack=True and `dtype` was structured (or None). This patch resolves the issue by returning a list of arrays, as in `loadtxt`. Co-authored-by: Matti Picus <matti.picus@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Sebastian Berg <sebastian@sipsolutions.net> Co-authored-by: Ross Barnowski <rossbar@berkeley.edu>
* | Merge pull request #17250 from albertvillanova/fix-docstringCharles Harris2020-09-103-13/+28
|\ \ | |/ |/| DOC: Fix docstring cross-referencing
| * DOC: add autosummary of emath functionsRoss Barnowski2020-09-091-0/+16
| |
| * DOC: reformat meshgrid see also linksRoss Barnowski2020-09-091-4/+3
| |
| * Fix docstring cross-referencingAlbert Villanova del Moral2020-09-042-11/+11
| |
* | Merge pull request #17104 from BvB93/sub-modulesCharles Harris2020-09-071-0/+177
|\ \ | | | | | | ENH: Add placeholder stubs for all sub-modules
| * | ENH: Replace module-level `__getattr__` with explicitly defined objectsBas van Beek2020-08-191-2/+175
| | |
| * | ENH: Add placeholder stubs for all sub-modulesBas van Beek2020-08-191-0/+4
| | |
* | | Merge pull request #17235 from hugovk/rm-old-codeCharles Harris2020-09-071-38/+8
|\ \ \ | | | | | | | | MAINT: Remove old PY_VERSION_HEX and sys.version_info code
| * | | MAINT: Remove old sys.version_info codeHugo2020-09-031-38/+8
| | | |
* | | | Merge pull request #17193 from eric-wieser/clean-compatSebastian Berg2020-09-033-3/+3
|\ \ \ \ | | | | | | | | | | MAINT: Remove some callers of functions in numpy.compat
| * | | | MAINT: Remove users of `numpy.compat.bytes`Eric Wieser2020-08-313-3/+3
| | | | | | | | | | | | | | | | | | | | Some more Python 2 cleanup.
* | | | | MAINT: added exception chaining in shape_base.py (gh-17240)EthanCJ-git2020-09-031-1/+1
| | | | | | | | | | | | | | | | | | | | This edit is relation to issue gh-15986. Chained exception in shape_base.py
* | | | | Merge pull request #17233 from eric-wieser/deprecate-ndincrSebastian Berg2020-09-031-0/+9
|\ \ \ \ \ | |_|_|_|/ |/| | | | DEP: Deprecated ndindex.ndincr
| * | | | DEP: Deprecated ndindex.ndincrEric Wieser2020-09-031-0/+9
| | |/ / | |/| | | | | | | | | | The "do not use" comment has been here since bb0e4f356cce2f199d9c08ffe572fbabadc846d1.
* | | | MAINT, DOC: move informational files from numpy.doc.*.py to their *.rst ↵Matti Picus2020-09-021-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | counterparts (#17222) * DOC: redistribute docstring-only content from numpy/doc * DOC: post-transition clean-up * DOC, MAINT: reskip doctests, fix a few easy ones
* | | ENH: Make the window functions exactly symmetricEric Wieser2020-08-312-12/+12
|/ / | | | | | | | | | | This relies on the fact that `cos` is exactly symmetric around zero, but not around the floating-point approximation of `pi`. Closes gh-17169.
* | ENH: implement NEP-35's `like=` argument (gh-16935)Peter Andreas Entschev2020-08-282-6/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR adds the implementation of NEP-35's like= argument, allowing dispatch of array creation functions with __array_function__ based on a reference array. * ENH: Add like= kwarg via __array_function__ dispatcher to asarray * ENH: Add new function for __array_function__ dispatching from C This new function allows dispatching from C directly, while also implementing the new `like=` argument, requiring only minimal changes to existing array creation functions that need to add support for that argument. * ENH: Add like= support to numpy.array The implementation uses array_implement_c_array_function, thus introducing minimal complexity to the original _array_fromobject code. * BUG: Fix like= dispatcher for np.full * ENH: Remove np.asarray like= dispatcher via Python np.asarray can rely on np.array's C dispatcher instead. * TST: Add some tests for like= argument Tests comprise some of the functions that have been implemented already: * np.array (C dispatcher) * np.asarray (indirect C dispatcher via np.array) * np.full (Python dispatcher) * np.ones (Python dispatcher) * ENH: Remove like= argument during array_implement_array_function * ENH: Add like= kwarg to ones and full * BUG: prevent duplicate removal of `like=` argument * ENH: Make `like=` a keyword-only argument * ENH: Use PyUnicode_InternFromString in arrayfunction_override Replace PyUnicode_FromString by PyUnicode_InternFromString to cache "like" string. * ENH: Check for arrayfunction_override import errors Check and handle errors on importing NumPy's Python functions * BUG: Fix array_implement_c_array_function error handling * ENH: Handle exceptions with C implementation of `like=` * ENH: Add `like=` dispatch for all asarray functions Using Python dispatcher for all of them. Using the C dispatcher directly on the `np.array` call can result in incorrect behavior. Incorrect behavior may happen if the downstream library's implementation is different or if not all keyword arguments are supported. * ENH: Simplify handling of exceptions with `like=` * TST: Add test for exception handling with `like=` * ENH: Add support for `like=` to `np.empty` and `np.zeros` * TST: Add `like=` tests for `np.empty` and `np.zeros` * ENH: Add `like=` to remaining multiarraymodule.c functions Functions are: * np.arange * np.frombuffer * np.fromfile * np.fromiter * np.fromstring * TST: Add tests for multiarraymodule.c functions with like= Functions are: * np.arange * np.frombuffer * np.fromfile * np.fromiter * np.fromstring * ENH: Add `like=` support to more creation functions Support for the following functions is added: * np.eye * np.fromfunction * np.genfromtxt * np.identity * np.loadtxt * np.tri * TST: Add `like=` tests for multiple functions Tests for the following functions are added: * np.eye * np.fromfunction * np.genfromtxt * np.identity * np.loadtxt * np.tri * TST: Reduce code duplication in `like=` tests * DOC: Document `like=` in functions that support it Add documentations for the following functions: * np.array * np.arange * np.asarray * np.asanyarray * np.ascontiguousarray * np.asfortranarray * np.require * np.empty * np.full * np.ones * np.zeros * np.identity * np.eye * np.tri * np.frombuffer * np.fromfile * np.fromiter * np.fromstring * np.loadtxt * np.genfromtxt * ENH: Add `like=` to numpy/__init__.pyi stubs * BUG: Remove duplicate `like=` dispatching in as*array Functions `np.asanyarray`, `np.contiguousarray` and `np.fortranarray` were dispatching both via their definitions and `np.array` calls, the latter should be avoided. * BUG: Fix missing check in array_implement_array_function * BUG: Add missing keyword-only markers in stubs * BUG: Fix duplicate keyword-only marker in array stub * BUG: Fix syntax error in numpy/__init__.pyi * BUG: Fix more syntax errors in numpy/__init__.pyi * ENH: Intern arrayfunction_override strings in multiarraymodule * STY: Add missing brackets to arrayfunction_override.c * MAINT: Remove arrayfunction_override dict check for kwarg * TST: Assert that 'like' is not in TestArrayLike kwargs * MAINT: Rename array_implement_c_array_function(_creation) This is done to be more explicit as to its usage being intended for array creation functions only. * MAINT: Use NotImplemented to indicate fallback to default * TST: Test that results with `like=np.array` are correct * TST: Avoid duplicating MyArray code in TestArrayLike * TST: Don't delete temp file, it may cause issues with Windows * TST: Don't rely on eval in TestArrayLike * TST: Use lambda with StringIO in TestArrayLike * ENH: Avoid unnecessary Py_XDECREF in arrayfunction_override * TST: Make TestArrayLike more readable * ENH: Cleaner error handling in arrayfunction_override * ENH: Simplify array_implement_c_array_function_creation * STY: Add missing spaces to multiarraymodule.c * STY: C99 declaration style in arrayfunction_override.c * ENH: Simplify arrayfunction_override.c further Remove cleanup label from array_implementation_c_array_function, simplifying the code. Fix unitialized variable warning in array_implementation_array_function_internal. * DOC: Use string replacement for `like=` documentation Avoid repeating the full text for the `like=` argument by storing it as a variable and using `replace` on each docstring. * DOC: Update `like=` docstring * TST: Test like= with array not implementing __array_function__ * TST: Add missing asanyarray to TestArrayLike * ENH: Use helper function for like= dispatching Avoid dispatching like= from Python implementation functions to improve their performance. This is achieved by only calling a dispatcher function when like is passed by the users. * ENH: Rename array_function_dispatch kwarg to public_api * BUG: Add accidentally removed decorator for np.eye back * DOC: Add set_array_function_like_doc function The function keeps Python files cleaner and resolve errors when __doc__ is not defined due to PYTHONOPTIMIZE or -OO . * DOC: Add mention to like= kwarg being experimental * TST: Test like= with not implemented downstream function * DOC: Fix like= docstring reference to NEP 35. * ENH: Prevent silent errors if public_api is not callable * ENH: Make set_array_function_like_doc a decorator * ENH: Simplify `_*_with_like` functions * BUG: Fix multiple `like=` dispatching in `require` * MAINT: Remove now unused public_api from array_function_dispatch Co-authored-by: Sebastian Berg <sebastian@sipsolutions.net>
* | BUG: revert trim_zeros changes from gh-16911mattip2020-08-272-56/+4
| |
* | Merge pull request #17143 from WarrenWeckesser/finfuncs-warnCharles Harris2020-08-231-6/+7
|\ \ | | | | | | MAINT: Change handling of the expired financial functions.
| * | MAINT: lib: Change handling of the expired financial functions.Warren Weckesser2020-08-221-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a previous commit, the expired financial functions were removed from NumPy, and code was added to __init__.py using the module __getattr__ to raise a customized AttributeError on any attempt to reference the expired names in the numpy namespace. That change broke released versions astropy, which has code that imports the financial functions. astropy never calls the functions, so they never saw the deprecation warnings that have been in place since numpy 1.18. This means that attempting to use a released version of astropy with numpy 1.20 will cause astropy to crash with the custom AttributeError. In this commit, instead of raising an exception when one of the expired names is referenced, a warning is generated. If the function is *called*, an exception is raised.
* | | MAINT: Chain some exceptions in arraysetops. (#17132)Raghav Khanna2020-08-231-3/+3
|/ / | | | | | | | | | | | | | | | | | | | | * MAINT: chain type error line 303 arraysetops.py * MAINT: chain axis error line 281 arraysetops.py * Revert "MAINT: chain axis error line 281 arraysetops.py" This reverts commit f6e1f544bebb7e5346cb83bdac9756be6ee9f4f6. * MAINT: chain axis error line 281 arraysetops.py to be from None
* | DOC: Fix spacing in vectorize docKevin Sheppard2020-08-201-2/+2
|/ | | | Fix spacing that produced incorrect rendering
* Merge pull request #17058 from BvB93/trim_zeros2Matti Picus2020-08-192-9/+31
|\ | | | | MAINT: Revert boolean casting back to elementwise comparisons in `trim_zeros`
| * TST: Added / updated object array-related testsBas van Beek2020-08-131-1/+18
| |
| * MAINT: Issue the DeprecationWarning after creating the to-be returned arrayBas van Beek2020-08-131-4/+5
| |
| * MAINT: Catching warnings is expensive; remove itBas van Beek2020-08-111-5/+6
| |
| * ENH: Use elementwise comparisons with 0 rather than boolean castingBas van Beek2020-08-112-4/+7
| |
* | BUG: fix typo in polydiv that prevented promotion to poly1d (#17053)jakobjakobson132020-08-172-1/+10
| | | | | | Fix bug caused by typo and added tests
* | DEP: lib: Remove the deprecated financial functions. (#17067)Warren Weckesser2020-08-124-1349/+12
| | | | | | | | | | | | | | | | | | As explained in NEP 32, the financial functions are to be removed from version 1.20. They are now replaced with module level `__getattr__` to give a useful error message for those surprised by the `AttributeError`. This only works for Python 3.7+, but it is expected that by the 1.20 release Python 3.6 will not be supported.
* | API, BUG: Raise error on complex input to i0 (#17062)peterbell102020-08-122-15/+17
|/ | | | * BUG, API: Raise error on complex input to np.i0
* DOC: Use a less ambiguous example for array_split (#17039)raisinghanii2020-08-101-4/+4
| | | Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
* DOC: Fix non-matching pronoun in format.py documentation. (gh-17022)Phoenix Meadowlark2020-08-061-1/+1
| | | Follow up to [this commit](https://github.com/numpy/numpy/commit/36f71788620bb17d123669cf03f086fb2b87b3a8), which missed the second pronoun in this sentence.
* DOC: Improve intersect1d docstring (#16420)Dima Kogan2020-08-051-1/+3
| | | | | | The docstring now says what to expect if you call intersect1d(assume_unique=True) but pass in non-unique data. Co-authored-by: Ross Barnowski <rossbar@berkeley.edu>
* ENH: Speed up trim_zeros (#16911)Bas van Beek2020-08-042-20/+93
| | | | | | | | | | | | | * Added a benchmark for `trim_zeros()` * Improve the performance of `np.trim_zeros()` * Increase the variety of the tests Fall back to the old `np.trim_zeros()` implementation if an exception is encountered. Emit a `DeprecationWarning` in such case. * DEP,REL: Added a deprecation release note
* DOC: update val to be scalar or array like optional closes #16901 (#16907)Paul2020-07-311-3/+5
| | | | | * DOC: update val to be scalar or array like optional closes #16901 Co-authored-by: Ross Barnowski <rossbar@berkeley.edu>
* Merge pull request #16974 from mattip/pypy-win32Charles Harris2020-07-292-17/+33
|\ | | | | TST: Add pypy win32 CI testing.
| * TST: fix tests for windows + PyPymattip2020-07-302-17/+33
| |
* | DOC: Fixed typo in lib/recfunctions.py (#16973)Jesse Li2020-07-291-2/+2
| |
* | update numpy/lib/arraypad.py with appropriate chain exception (#16953)Noman Arshad2020-07-281-1/+1
|/ | | | | * update numpy/lib/arraypad.py with appropriate chain exception Co-authored-by: Noman Arshad <noman.arshad@northbaysolutions.com>
* Merge pull request #16815 from cjblocker/mgrid-floatMatti Picus2020-07-252-7/+34
|\ | | | | BUG: fix mgrid output for lower precision float inputs
| * MAINT: reference issue in comments for added index_tricks testsCameron Blocker2020-07-131-0/+2
| |
| * TST: update mgrid test from code reviewCameron Blocker2020-07-131-4/+6
| | | | | | Co-authored-by: Ross Barnowski <rossbar@berkeley.edu>
| * TST: fixed dtype check error from code reviewCameron Blocker2020-07-121-2/+2
| |
| * BUG: fix mgrid output for lower precision float inputsCameron Blocker2020-07-122-7/+30
| | | | | | | | | | | | Floats besides float64 were being coerced to integers and complex step sizes for the index trick classes would fail for complex64 input. Fixes #16466
* | Revert "Merge pull request #16248 from alexrockhill/edge"mattip2020-07-232-30/+3
| |