Package Release Info


Update Info: Base Release
Available in Package Hub : 15 SP2





Change Logs

* Wed Jan 08 2020 Todd R <>
- Update to 2.7.1
  * Python 3.8 support has been added.
  * Python 3.4 support is discontinued.
  * The tests are now compatible with NumPy 1.18.
  * site.cfg.example was updated to use the libraries tag instead
    of mkl_libs, which is recommended for newer version of NumPy.
- Drop upstream-included fix_test.patch
* Sat Aug 31 2019 Arun Persaud <>
- specfile:
  * update copyright year
  * added fix to call python in tests: fix_test.patch
- update to version 2.7.0:
  * The default number of 'safe' threads has been restored to the
    historical limit of 8, if the environment variable
    "NUMEXPR_MAX_THREADS" has not been set.
  * Thanks to @eltoder who fixed a small memory leak.
  * Support for Python 2.6 has been dropped, as it is no longer
    available via TravisCI.
  * A typo in the test suite that had a less than rather than greater
    than symbol in the NumPy version check has been corrected thanks
    to dhomeier.
  * The file site.cfg was being accidently included in the sdists on
    PyPi. It has now been excluded.
* Sat Dec 22 2018 Todd R <>
- Update to 2.6.9
  * Thanks to Mike Toews for more robust handling of the thread-setting environment variables.
  * With Appveyor updating to Python 3.7.1, wheels for Python 3.7 are now available in addition to those for other OSes.
* Sun Sep 02 2018
- update to version 2.6.8:
  * Add check to make sure that f_locals is not actually f_globals
    when we do the f_locals clear to avoid the #310 memory leak issue.
  * Compare NumPy versions using distutils.version.LooseVersion to
    avoid issue #312 when working with NumPy development versions.
  * As part of multibuild, wheels for Python 3.7 for Linux and MacOSX
    are now available on PyPI.
- changes from version 2.6.7:
  * Thanks to Lehman Garrison for finding and fixing a bug that
    exhibited memory leak-like behavior. The use in numexpr.evaluate
    of sys._getframe combined with .f_locals from that frame object
    results an extra refcount on objects in the frame that calls
    numexpr.evaluate, and not evaluate's frame. So if the calling
    frame remains in scope for a long time (such as a procedural
    script where numexpr is called from the base frame) garbage
    collection would never occur.
  * Imports for the numexpr.test submodule were made lazy in the
    numexpr module.
* Mon Aug 06 2018
- Update to 2.6.6
  * Thanks to Mark Dickinson for a fix to the thread barrier that occassionally suffered from spurious wakeups on MacOSX.
- Update to 2.6.5
  * The maximum thread count can now be set at import-time by setting the environment variable ‘NUMEXPR_MAX_THREADS’. The default number of max threads was lowered from 4096 (which was deemed excessive) to 64.
  * A number of imports were removed (pkg_resources) or made lazy (cpuinfo) in order to speed load-times for downstream packages (such as pandas, sympy, and tables). Import time has dropped from about 330 ms to 90 ms. Thanks to Jason Sachs for pointing out the source of the slow-down.
  * Thanks to Alvaro Lopez Ortega for updates to benchmarks to be compatible with Python 3.
  * Travis and AppVeyor now fail if the test module fails or errors.
  * Thanks to Mahdi Ben Jelloul for a patch that removed a bug where constants in where calls would raise a ValueError.
  * Fixed a bug whereby all-constant power operations would lead to infinite recursion.
Version: 2.6.4-bp150.2.4
* Mon Oct 02 2017
- Ensure neutrality of description.
* Sun Sep 24 2017
- update to version 2.6.4:
  * Christoph Gohkle noticed a lack of coverage for the 2.6.3 floor
    and ceil functions for MKL that caused seg-faults in
- changes from version 2.6.2:
  * Documentation now available at
  * Support for floor() and ceil() functions added by Caleb P. Burns.
  * NumPy requirement increased from 1.6 to 1.7 due to changes in
    iterator flags (#245).
  * Sphinx autodocs support added for documentation on
  * Fixed a bug where complex constants would return an error, fixing
    problems with sympy when using NumExpr as a backend.
  * Fix for #277 whereby arrays of shape (1,...) would be reduced as
    if they were full reduction. Behavoir now matches that of NumPy.
  * String literals are automatically encoded into 'ascii' bytes for
    convience (see #281).
* Wed Apr 19 2017
- Source url must be https.
* Wed Apr 19 2017
- Update to 2.6.2
  * Updates to keep with API changes in newer NumPy versions (#228).
    Thanks to Oleksandr Pavlyk.
  * Removed several warnings (#226 and #227).  Thanks to Oleksander Pavlyk.
  * Fix bugs in function `stringcontains()` (#230).  Thanks to Alexander Shadchin.
  * Detection of the POWER processor (#232).  Thanks to Breno Leitao.
  * Fix pow result casting (#235).  Thanks to Fernando Seiti Furusato.
  * Fix integers to negative integer powers (#240).  Thanks to Antonio Valentino.
  * Detect numpy exceptions in expression evaluation (#240).  Thanks to Antonio Valentino.
  * Better handling of RC versions (#243).  Thanks to Antonio Valentino.
- Update to 2.6.1
  * Fixed a performance regression in some situations as consequence of
    increasing too much the BLOCK_SIZE1 constant.  After more careful
    benchmarks (both in VML and non-VML modes), the value has been set
    again to 1024 (down from 8192).  The benchmarks have been made with
    a relatively new processor (Intel Xeon E3-1245 v5 @ 3.50GHz), so
    they should work well for a good range of processors again.
  * Added NetBSD support to CPU detection.  Thanks to Thomas Klausner.
- Update to 2.6.0
  * Introduced a new re_evaluate() function for re-evaluating the
    previous executed array expression without any check.  This is meant
    for accelerating loops that are re-evaluating the same expression
    repeatedly without changing anything else than the operands.  If
    unsure, use evaluate() which is safer.
  * The BLOCK_SIZE1 and BLOCK_SIZE2 constants have been re-checked in
    order to find a value maximizing most of the benchmarks in bench/
    directory.  The new values (8192 and 16 respectively) give somewhat
    better results (~5%) overall.  The CPU used for fine tuning is a
    relatively new Haswell processor (E3-1240 v3).
  * The '--name' flag for `` returning the name of the package
    is honored now (issue #215).
- Update to 2.5.2
  * conj() and abs() actually added as VML-powered functions, preventing
    the same problems than log10() before (PR #212).  Thanks to Tom Kooij
    for the fix!
- Update to 2.5.1
  * Fix for log10() and conj() functions.  These produced wrong results
    when numexpr was compiled with Intel's MKL (which is a popular build
    since Anaconda ships it by default) and non-contiguous data (issue
    [#210]).  Thanks to Arne de Laat and Tom Kooij for reporting and
    providing a nice test unit.
  * Fix that allows numexpr-powered apps to be profiled with pympler.
    Thanks to @nbecker.
- Update to 2.5
  * Added locking for allowing the use of numexpr in multi-threaded
    callers (this does not prevent numexpr to use multiple cores
    simultaneously).  (PR #199, Antoine Pitrou, PR #200, Jenn Olsen).
  * Added new min() and max() functions (PR #195, CJ Carey).
- Implement single-spec version
* Mon Feb 01 2016
- update to version 2.4.6:
  * Fixed some UserWarnings in Solaris (PR #189, Graham Jones).
  * Better handling of MSVC defines. (#168, Francesc Alted).
- update to version 2.4.5:
  * Undone a 'fix' for a harmless data race. (#185 Benedikt Reinartz,
    Francesc Alted).
  * Ignore NumPy warnings (overflow/underflow, divide by zero and
    others) that only show up in Python3. Masking these warnings in
    tests is fine because all the results are checked to be
    valid. (#183, Francesc Alted).
- update to version 2.4.4:
  * Honor OMP_NUM_THREADS as a fallback in case NUMEXPR_NUM_THREADS is
    not set. Fixes #161. (PR #175, Stefan Erb).
  * Added support for AppVeyor (PR #178 Andrea Bedini)
  * Fix to allow numexpr to be imported after eventlet.monkey_patch(),
    as suggested in #118 (PR #180 Ben Moran).
  * Fix harmless data race that triggers false positives in
    ThreadSanitizer. (PR #179, Clement Courbet).
  * Fixed some string tests on Python 3 (PR #182, Antonio Valentino).
* Thu May 07 2015
- update to version 2.4.3:
  * Comparisons with empty strings work correctly now. Fixes #121
    and PyTables #184.
- additional changes from version 2.4.2:
  * Improved so that pip can query the name and version
    without actually doing the installation. Thanks to Joris
- additional changes from version 2.4.1:
  * Added more configuration examples for compiling with MKL/VML
    support. Thanks to Davide Del Vento.
  * Symbol MKL_VML changed into MKL_DOMAIN_VML because the former
    is deprecated in newer MKL. Thanks to Nick Papior Andersen.
  * Better determination of methods in cpuinfo module. Thanks to
    Marc Jofre.
  * Improved NumPy version determination (handy for 1.10.0). Thanks
    to Åsmund Hjulstad.
  * Benchmarks run now with both Python 2 and Python 3. Thanks to
    Zoran Plesivčak.
- remove shebang of instead of setting it executable
- remove unneeded clean section
* Thu May 08 2014
- Update to 2.4
  * A new `contains()` function has been added for detecting substrings
    in strings.  Only plain strings (bytes) are supported for now.  See
    PR #135 and ticket #142.  Thanks to Marcin Krol.
  * New version of that allows better management of NumPy
    dependency.  See PR #133.  Thanks to Aleks Bunin.
* Wed Mar 12 2014
- update to 2.3.1
  * Added support for shift-left (<<) and shift-right (>>) binary operators.
    See PR #131. Thanks to fish2000!
  * Removed the rpath flag for the GCC linker, because it is probably
    not necessary and it chokes to clang.
- update to 2.3
  * Site has been migrated to  All
    new tickets and PR should be directed there.
  * [ENH] A `conj()` function for computing the conjugate of complex
    arrays has been added.  Thanks to David Menéndez.  See PR #125.
  * [FIX] Fixed a DeprecationWarning derived of using oa_ndim == 0 and
    op_axes == NULL when using NpyIter_AdvancedNew() and NumPy 1.8.
    Thanks to Mark Wiebe for advise on how to fix this properly.
* Tue Oct 22 2013
- update to 2.2.2
  * The `copy_args` argument of `NumExpr` function has been brought
    back.  This has been mainly necessary for compatibility with
    PyTables < 3.0, which I decided to continue to support.  Fixed #115.
  * The `__nonzero__` method in `ExpressionNode` class has been
    commented out.  This is also for compatibility with PyTables < 3.0.
    See #24 for details.
  * Fixed the type of some parameters in the C extension so that s390
    architecture compiles.  Fixes #116.  Thank to Antonio Valentino for
    reporting and the patch.
- update to 2.2.1
  * Fixes a secondary effect of "from numpy.testing import `*`", where
    division is imported now too, so only then necessary functions from
    there are imported now.  Thanks to Christoph Gohlke for the patch.
- update to 2.2
  * [LICENSE] Fixed a problem with the license of the
    numexpr/win32/pthread.{c,h} files emulating pthreads on Windows
    platforms.  After persmission from the original authors is granted,
    these files adopt the MIT license and can be redistributed without
    problems.  See issue #109 for details
  * [ENH] Improved the algorithm to decide the initial number of threads
    to be used.  This was necessary because by default, numexpr was
    using a number of threads equal to the detected number of cores, and
    this can be just too much for moder systems where this number can be
    too high (and counterporductive for performance in many cases).
    Now, the 'NUMEXPR_NUM_THREADS' environment variable is honored, and
    in case this is not present, a maximum number of *8* threads are
    setup initially.  The new algorithm is fully described in the Users
    Guide now in the note of 'General routines' section:
    Closes #110.
  * [ENH] numexpr.test() returns `TestResult` instead of None now.
    Closes #111.
  * [FIX] Modulus with zero with integers no longer crashes the
    interpreter.  It nows puts a zero in the result.  Fixes #107.
  * [API CLEAN] Removed `copy_args` argument of `evaluate`.  This should
    only be used by old versions of PyTables (< 3.0).
  * [DOC] Documented the `optimization` and `truediv` flags of
    `evaluate` in Users Guide
* Mon May 06 2013
- python3 package added
- update to 2.1
  * New compatibility with Python 3:
  * switch from PyString to PyBytes API (requires Python >= 2.6).
  * fixed incompatibilities regarding the int/long API
  * use the Py_TYPE macro
  * use the PyVarObject_HEAD_INIT macro instead of PyObject_HEAD_INIT
  * Dropped compatibility with Python < 2.6.
  * Fixed several issues with different platforms not supporting
  multithreading or subprocess properly (see tickets #75 and #77).
  * Now, when trying to use pure Python boolean operators, 'and',
  'or' and 'not, an error is issued and suggesting that '&', '|'
  and '~' should be used instead (fixes #24).
* Tue Aug 14 2012
- fix requiements for SLE 11
* Tue Jul 31 2012
- Update to 2.0.1
  * Added compatibility with Python 2.5 (2.4 is definitely not supported
  * `numexpr.evaluate` is fully documented now, in particular the new
  `out`, `order` and `casting` parameters.
  * Reduction operations are fully documented now.
  * Negative axis in reductions are not supported (they have never been
    actually), and a `ValueError` will be raised if they are used.
- Update to 2.0
  - Added support for the new iterator object in NumPy 1.6 and later.
    This allows for better performance with operations that implies
    broadcast operations, fortran-ordered or non-native byte orderings.
    Performance for other scenarios is preserved (except for very small
  - Division in numexpr is consistent now with Python/NumPy.    Fixes #22
    and #58.
  - Constants like "2." or "2.0" must be evaluated as float, not
    integer.    Fixes #59.
  - `evaluate()` function has received a new parameter `out` for storing
    the result in already allocated arrays.    This is very useful when
    dealing with large arrays, and a allocating new space for keeping
    the result is not acceptable.    Closes #56.
  - Maximum number of threads raised from 256 to 4096.    Machines with a
    higher number of cores will still be able to import numexpr, but
    limited to 4096 (which is an absurdly high number already).
- Update to 1.4.2
  - Multithreaded operation is disabled for small arrays (< 32 KB).
    This allows to remove the overhead of multithreading for such a
    small arrays.    Closes #36.
  - Dividing int arrays by zero gives a 0 as result now (and not a
    floating point exception anymore.    This behaviour mimics NumPy.
    Thanks to Gaëtan de Menten for the fix.    Closes #37.
  - When compiled with VML support, the number of threads is set to 1
    for VML core, and to the number of cores for the native pthreads
    implementation.    This leads to much better performance.    Closes #39.
  - Fixed different issues with reduction operations (`sum`, `prod`).
    The problem is that the threaded code does not work well for
    broadcasting or reduction operations.    Now, the serial code is used
    in those cases.    Closes #41.
  - Optimization of "compilation phase" through a better hash.    This can
    lead up to a 25% of improvement when operating with variable
    expressions over small arrays.    Thanks to Gaëtan de Menten for the
    patch.    Closes #43.
  - The ``set_num_threads`` now returns the number of previous thread
    setting, as stated in the docstrings.
* Fri Jul 01 2011
- Require python-numpy
* Fri Jul 01 2011
- Initial version