summaryrefslogtreecommitdiff
path: root/numpy/__init__.py
Commit message (Collapse)AuthorAgeFilesLines
* STY: unify imports in __init__.py (#18187)Amarnath19042021-01-241-3/+3
| | | minor style cleanup
* DOC: Warn when reloading numpy or using numpy in sub-interpreterSebastian Berg2020-12-151-0/+5
| | | | | | | | This adds a warning when the main NumPy module is reloaded with the assumption that in this case objects such as `np.matrix`, `np._NoValue` or exceptions may be cached internally. It also gives a warning when NumPy is imported in a sub-interpreter.
* ENH: Use versioneer to manage numpy versions.Charles Harris2020-12-081-3/+12
| | | | | | | | | | | | The new tags look like '1.21.0.dev0+98.gaa0453721f', where '98' is the number of commits since the 1.21.0 branch was started and 'aa0453721f'. The chosen form may be specified in the 'setup.cfg' file. This PR adds two new files 'numpy/_version.py' and 'numpy/version.py'. The latter is kept because it is part of the public API and is actually used by some downstream projects, but it is no longer dynamically created. See https://github.com/python-versioneer/python-versioneer/ for more information.
* 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.
* Use a better name for the collection of expired functions.Warren Weckesser2020-08-231-2/+2
|
* MAINT: lib: Change handling of the expired financial functions.Warren Weckesser2020-08-221-5/+10
| | | | | | | | | | | | | | | | | | 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.
* DEP: lib: Remove the deprecated financial functions. (#17067)Warren Weckesser2020-08-121-0/+21
| | | | | | | | | 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.
* Fix exception causes in __init__.pyashutosh619-sudo2020-07-191-1/+1
|
* Fix exception causes in __init__.pyashutosh619-sudo2020-07-191-2/+2
|
* MAINT: Disable use_hugepages in case of ValueErrorAnirudh Subramanian2020-06-301-5/+12
|
* Merge pull request #14882 from eric-wieser/6103-alias-__getattr__-deprecationSebastian Berg2020-06-161-17/+61
|\ | | | | DEP: Deprecate aliases of builtin types in python 3.7+
| * DEP: Deprecate aliases of builtin types in python 3.7+Eric Wieser2020-06-121-17/+61
| | | | | | | | | | | | | | | | This: * Makes accessing these attributes emit a deprecation warning * Removes them from `dir(numpy)`, so as not to emit warnings for user of `inspect.getmembers` These aliases are a continual source of confusion for beginners, and are still often used by accident by experts.
* | DOC,ENH: extend error message when Accelerate is detectedmattip2020-05-311-5/+4
|/
* DEP: Deprecate `numpy.dual`.Warren Weckesser2020-05-041-1/+3
| | | | | | Add a deprecation warning in the `numpy.dual` module, and remove the use of `numpy.dual` from the few places where it is used in the numpy code.
* Merge pull request #15769 from seberg/hugepages-allow-togglingMatti Picus2020-05-031-0/+21
|\ | | | | ENH: Allow toggling madvise hugepage and fix default
| * Fixup: Implement suggestions by MattiSebastian Berg2020-04-281-1/+1
| |
| * ENH: Allow toggling madvise hugepage and fix defaultSebastian Berg2020-03-171-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | By default this disables madvise hugepage on kernels before 4.6, since we expect that these typically see large performance regressions when using hugepages due to slow defragementation code presumably fixed by: https://github.com/torvalds/linux/commit/7cf91a98e607c2f935dbcc177d70011e95b8faff This adds support to set the behaviour at startup time through the ``NUMPY_MADVISE_HUGEPAGE`` environment variable. Fixes gh-15545
* | MAINT: simplify code that assumes str/unicode and int/long are different ↵Eric Wieser2020-03-261-2/+1
|/ | | | | types (#15816) Cleanup from the dropping of python 2
* MAINT: Test during import to detect bugs with Accelerate(MacOS) LAPACK (#15695)Rakesh Vasudevan2020-03-151-0/+32
| | | | | | | * TST: Test during import to detect bugs with Accelerate(MacOS) LAPACK fixes #15647 * Pipeline update for Accelerate(MacOS) testing
* FIXME -> NOTE: more precise language in comment.Ross Barnowski2020-03-011-2/+2
| | | | Reference multiple relevant discussions on GH
* MAINT: Added comment pointing FIXME to relevant PR.Ross Barnowski2020-03-011-0/+1
| | | | | | | Clarifies a FIXME comment in numpy/__init__.py by referencing relevant discussion in issue tracker. Closes #15668.
* MAINT: dir(numpy) returned duplicate "testing" (gh-15425)SanthoshBala182020-01-271-1/+1
| | | | | Modified __dir__() to remove duplicate "Tester/Testing" attribute. Also added a test to verify this. Closes gh-15383
* MAINT/DOC: Remove use of old Python __builtin__, now known as builtinsMike Taves2020-01-241-5/+2
|
* MAINT: Remove unnecessary 'from __future__ import ...' statementsJon Dufresne2020-01-031-2/+0
| | | | | As numpy is Python 3 only, these import statements are now unnecessary and don't alter runtime behavior.
* BUG: Remove builtins from __all__Eric Wieser2019-11-121-2/+6
| | | | | | | | This was introduced in 3ca0eb1136102ff01bcc171f53c106326fa4445b, due to an incorrect implementation of `__dir__` (fixed in the previous commit). It was never released, so this is not a breaking change. In that commit, `from numpy import *` would reset all the builtins to their defaults, and set `unicode = str`, `long = int`.
* BUG: Fix np.__dir__ to correctly handle new propertiesEric Wieser2019-11-111-1/+1
| | | | | | | | | | Previously this would fail, but only on python 3.7+ ``` np.new_member = 1 assert 'new_member' in dir(np) ``` While this isn't something we support anyway, it certainly wasn't intentional.
* DOC: add some comments to explain namespace cleanup in numpy/__init__.pyRalf Gommers2019-09-191-0/+4
| | | | [ci skip]
* MAINT: add missing 'Arrayterator' to `numpy.lib.__all__`Ralf Gommers2019-09-191-0/+6
| | | | | | | Also finish the TODO about figuring out which np.lib.<submodule>'s are public. This is a giant mess ...
* BUG: Fix format statement associated with AttributeError.Warren Weckesser2019-09-041-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | Before this fix, a reference such as `numpy.wxyz` produced an incorrect error message because of the invalid format specifiers in the error message string: >>> import numpy >>> numpy.wxyz Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/.../numpy/__init__.py", line 206, in __getattr__ "module %s has no attribute $s".format(__name__, attr)) AttributeError: module %s has no attribute $s After the fix: >>> import numpy >>> numpy.wxyz Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/.../numpy/__init__.py", line 206, in __getattr__ "{!r}".format(__name__, attr)) AttributeError: module 'numpy' has no attribute 'wxyz'
* MAINT: Lazy import testing on python >=3.7 (#14097)Mark Harfouche2019-08-221-3/+31
| | | | | On new python versions, the module level `__getattr__` can be used to import testing and Tester only when needed (at no speed cost, except for the first time import). Since most users never use testing, this avoids an expensive import.
* MAINT: cleanup getlimit global varsAllan Haldane2018-10-091-1/+1
|
* MAINT: delay initialization of getlimits (circular imports)Allan Haldane2018-10-091-0/+2
| | | | | | | getlimits previously called numpy code before all of numpy was loaded, which often causes circular import issues. This delays getlimits init. Fixes #12063
* DEP: Remove np.pkgload, which was deprecated in 1.10Eric Wieser2018-08-121-10/+1
| | | | | | | | Attempts to use this on either cpython27 or cpython35, in either a shell or a script, gives: NameError: name '__path__' is not defined Perhaps I'm calling it wrong, but it might just be broken.
* ignore cython warnings in initJeremy Manning2018-07-291-0/+5
|
* DOC: extend sanity check messagemattip2018-07-041-1/+3
|
* MAINT: Move add_newdocs into core, since it only adds docs to those piecesEric Wieser2018-07-021-3/+1
|
* MAINT: Move pytesttester outside of np.testing, to avoid creating ↵Eric Wieser2018-07-021-1/+1
| | | | | | | | unnecessary import dependencies pytesttester is used by every single subpackage, so making it depend on np.testing just creates cyclic dependencies that can lead to circular imports Relates to #11457
* HTTP -> HTTPS, and other linkrot fixesMike Toews2018-06-161-2/+2
|
* MAINT: add sanity-checks to be run at import timePauli Virtanen2018-05-271-0/+25
| | | | This checks for potential BLAS issues, which are useful to catch early.
* TST: Update modules `test` to PytestTester.Charles Harris2018-04-041-11/+9
| | | | | | | | Numpy can now be tested using the standard `python -c"import numpy; numpy.test()"` construct.
* MAINT: Remove "bench" from testing modules `__init__`s.Charles Harris2018-03-311-1/+0
| | | | | The "bench" testing with the old bench files is no longer supported. These days we use `runtests.py` and `asv`.
* MAINT: Rearrange files in numpy/testing module.Charles Harris2017-07-041-3/+3
| | | | | | | | | | | | | | | | | The aim here is to separate out the nose dependent files prior to adding pytest support. This could be done by adding new files to the general numpy/testing directory, but I felt that it was to have the relevant files separated out as it makes it easier to completely remove nose dependencies when needed. Many places were accessing submodules in numpy/testing directly, and in some cases incorrectly. That presented a backwards compatibility problem. The solution adapted here is to have "dummy" files whose contents will depend on whether of not pytest is active. That way the module looks the same as before from the outside. In the case of numpy itself, direct accesses have been fixed. Having proper `__all__` lists in the submodules helped in that.
* DOC: change Numpy to NumPy in dosctrings and commentsPierre de Buyl2016-09-061-2/+2
| | | | The strings in error messages were left untouched
* BUG: Make sure numpy globals keep identity after reload.Charles Harris2016-08-161-50/+8
| | | | | | | | | | | | Reloading currently causes problems because global classes defined in numpy/__init__.py change their identity (a is b) after reload. The solution taken here is to move those classes to a new non-reloadable module numpy/_globals and import them into numpy from there. Classes moved are ModuleDeprecationWarning, VisibleDeprecationWarning, and _NoValue. Closes #7844.
* BUG: Raise RuntimeError when reloading numpy is attempted.Charles Harris2016-07-201-9/+18
| | | | | | | | | | There seems to be little use in reloading numpy as any changed modules that are imported into numpy would need to be reloaded first in order to see any changes. Furthermore, reloading causes problems as global classes defined in numpy/__init__.py change their identity. Hence we raise a RuntimeError when an attempt to reload numpy is made. Closes #7844.
* ENH: platform-specific install hook to change initMatthew Brett2016-03-071-0/+3
| | | | | | Give hook to allow platform-specific installs to modify the initialization of numpy. Particular use-case is to allow check for SSE2 on Windows when shipping with ATLAS wheel.
* [TST] Refactor new raise_warnings logic for subpackage test suitesNathaniel J. Smith2015-12-301-6/+4
|
* [FIX] fix NoseTester's raise_warning defaultNathaniel J. Smith2015-12-291-2/+6
| | | | | | | | | | | | | | | | Our test-runner's raise_warning mode traditionally has varied depending on whether we have a development or release version of numpy: for development versions we raise on warnings, and for release versions we don't. This is all very sensible... *if* you're running numpy's test suite. But our test-runner is also used by other packages like scipy, and it doesn't make sense for scipy's raise_warning mode to vary depending on whether *numpy* is a development or release version. (It should vary depending on whether the scipy-under-test is a development or release version.) So this commit moves the numpy-version-dependent raise_warning logic out of the generic NoseTester class and into numpy-specific code. (See scipy/scipy#5609 for more discussion.)
* MAINT: add a warning filter for possible "ndarray size changed" Cython noise.Ralf Gommers2015-04-051-0/+1
| | | | | See gh-432 for details. Motivation for adding this now is the discussion on gh-5343.
* ENH: _NoValue class at top-level to test kwargsMatthew Brett2015-03-151-0/+10
| | | | | | | | | | Add _NoValue class at top level to make it possible to detect when non-default values got passed to a keyword argument, as in: def func(a, b=np._NoValue): if b is not np._NoValue: warnings.warn("Argument b is deprecated", DeprecationWarning)