Commit graph

30 commits

Author SHA1 Message Date
wiz
c7894a6585 py-numexpr: update to 2.8.1.
Changes from 2.8.0 to 2.8.1
---------------------------

* Fixed dependency list.
* Added ``pyproject.toml`` and modernize the ``setup.py`` script. Thanks to
Antonio Valentino for the PR.

Changes from 2.7.3 to 2.8.0
---------------------------

* Wheels for Python 3.10 are now provided.
* Support for Python 2.7 and 3.5 has been discontinued.
* All residual support for Python 2.X syntax has been removed, and therefore
  the setup build no longer makes calls to the `2to3` script. The `setup.py`
  has been refactored to be more modern.
* The examples on how to link into Intel VML/MKL/oneAPI now use the dynamic
  library.
2022-01-04 23:35:37 +00:00
wiz
bb579283d0 *: bump PKGREVISION for egg.mk users
They now have a tool dependency on py-setuptools instead of a DEPENDS
2022-01-04 20:53:26 +00:00
adam
54fe3b553b Forget about Python 3.6 2021-12-30 13:05:27 +00:00
wiz
941ebcf178 py-numexpr: mark as not for python 2.7 2021-12-19 14:00:47 +00:00
nia
414fc7869d math: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
2021-10-26 10:55:21 +00:00
nia
3c576fbd23 math: Remove SHA1 hashes for distfiles 2021-10-07 14:27:43 +00:00
nia
57b1e1ac6e py-numpy: "Python version >= 3.7 required." 2021-06-29 08:41:59 +00:00
adam
290f00755c py-numexpr: updated to 2.7.3
Changes from 2.7.2 to 2.7.3
---------------------------
- Pinned Numpy versions to minimum supported version in an effort to alleviate
  issues seen in Windows machines not having the same MSVC runtime installed as
  was used to build the wheels.
- ARMv8 wheels are now available, thanks to `odidev` for the pull request.


Changes from 2.7.1 to 2.7.2
---------------------------
- Support for Python 2.7 and 3.5 is deprecated and will be discontinued when
  `cibuildwheels` and/or GitHub Actions no longer support these versions.
- Wheels are now provided for Python 3.7, 3.5, 3.6, 3.7, 3.8, and 3.9 via
  GitHub Actions.
- The block size is now exported into the namespace as `numexpr.__BLOCK_SIZE1__`
  as a read-only value.
- If using MKL, the number of threads for VML is no longer forced to 1 on loading
  the module. Testing has shown that VML never runs in multi-threaded mode for
  the default BLOCKSIZE1 of 1024 elements, and forcing to 1 can have deleterious
  effects on NumPy functions when built with MKL.
- Use of `ndarray.tostring()` in tests has been switch to `ndarray.tobytes()`
  for future-proofing deprecation of `.tostring()`, if the version of NumPy is
  greater than 1.9.
- Added a utility method `get_num_threads` that returns the (maximum) number of
  threads currently in use by the virtual machine. The functionality of
  `set_num_threads` whereby it returns the previous value has been deprecated
  and will be removed in 2.8.X.
2021-05-05 10:05:19 +00:00
bacon
87edcb24b1 math/blas, math/lapack: Install interchangeable BLAS system
Install the new interchangeable BLAS system created by Thomas Orgis,
currently supporting Netlib BLAS/LAPACK, OpenBLAS, cblas, lapacke, and
Apple's Accelerate.framework.  This system allows the user to select any
BLAS implementation without modifying packages or using package options, by
setting PKGSRC_BLAS_TYPES in mk.conf. See mk/blas.buildlink3.mk for details.

This commit should not alter behavior of existing packages as the system
defaults to Netlib BLAS/LAPACK, which until now has been the only supported
implementation.

Details:

Add new mk/blas.buildlink3.mk for inclusion in dependent packages
Install compatible Netlib math/blas and math/lapack packages
Update math/blas and math/lapack MAINTAINER approved by adam@
OpenBLAS, cblas, and lapacke will follow in separate commits
Update direct dependents to use mk/blas.buildlink3.mk
Perform recursive revbump
2020-10-12 21:51:57 +00:00
adam
215458529d py-numexpr: updated to 2.7.1
Changes from 2.7.0 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.
2020-04-28 13:21:33 +00:00
adam
524db661d7 py-numexpr: updated to 2.7.0
Changes from 2.6.9 to 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.
2019-11-09 21:36:15 +00:00
adam
9c7c73efd9 py-numexpr: updated to 2.6.9
Changes from 2.6.8 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.
2018-12-22 09:38:19 +00:00
adam
a7ae6d21c4 py-numexpr: updated to 2.6.8
Changes from 2.6.7 to 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
2018-08-30 11:01:35 +00:00
adam
edefd1a983 py-numexpr: updated to 2.6.7
Changes from 2.6.6 to 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.
2018-08-14 13:43:25 +00:00
adam
5313ae697d py-numexpr: updated to 2.6.6
Changes from 2.6.5 to 2.6.6:
Fix to the thread barrier that occassionally suffered from spurious wakeups on MacOSX.
2018-07-19 08:57:48 +00:00
adam
190ee55663 py-numexpr: updated to 2.6.5
Changes from 2.6.4 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.
2018-07-04 08:10:07 +00:00
adam
d9dec0d835 py-numexpr: update to 2.6.4
Changes from 2.6.3 to 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
   test, so thanks to him for that.
2017-09-18 17:03:45 +00:00
adam
3cb3dfeff1 py-numexpr: update to 2.6.3
Changes from 2.6.2 to 2.6.3
- Documentation now available at readthedocs.io_.
- 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.
- Sphinx autodocs support added for documentation on readthedocs.org.
- 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.
2017-09-14 10:52:01 +00:00
adam
04f0066229 Changes 2.6.2:
Updates to keep with API changes in newer NumPy versions
Removed several warnings
Fix bugs in function stringcontains()
Detection of the POWER processor
Fix pow result casting
Fix integers to negative integer powers
Detect numpy exceptions in expression evaluation
Better handling of RC versions
2017-05-21 07:06:57 +00:00
alnsn
a6232a77fa Update to 2.6.1.
Prompted by beta.repology.org.

Changes from 2.6.0 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.
2016-11-17 07:26:47 +00:00
wiz
a69d907db2 Remove unneeded bl3.mk file. 2016-07-15 07:24:22 +00:00
wiz
6ec7cbfaf5 Add upstream bug report URL. 2016-07-15 07:21:36 +00:00
wiz
6eec67e691 Updated py-numexpr to 2.6.0.
Fix CPU detection patch while here.

Changes from 2.5.2 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 `setup.py` returning the name of the package
  is honored now (issue #215).


Changes from 2.5.1 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!


Changes from 2.5 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.


Changes from 2.4.6 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).


Changes from 2.4.5 to 2.4.6
===========================

- Fixed some UserWarnings in Solaris (PR #189, Graham Jones).

- Better handling of MSVC defines. (#168, Francesc Alted).


Changes from 2.4.4 to 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).


Changes from 2.4.3 to 2.4.4
===========================

- Fix bad #ifdef for including stdint on Windows (PR #186, Mike Sarahan).


Changes from 2.4.3 to 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).


Changes from 2.4.2 to 2.4.3
===========================

* Comparisons with empty strings work correctly now.  Fixes #121 and
  PyTables #184.

Changes from 2.4.1 to 2.4.2
===========================

* Improved setup.py so that pip can query the name and version without
  actually doing the installation.  Thanks to Joris Borgdorff.

Changes from 2.4 to 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.

Changes from 2.3.1 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 setup.py that allows better management of NumPy
  dependency.  See PR #133.  Thanks to Aleks Bunin.

Changes from 2.3 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.
2016-07-15 07:18:45 +00:00
agc
286ea2536c Add SHA512 digests for distfiles for math category
Problems found locating distfiles:
	Package dfftpack: missing distfile dfftpack-20001209.tar.gz
	Package eispack: missing distfile eispack-20001130.tar.gz
	Package fftpack: missing distfile fftpack-20001130.tar.gz
	Package linpack: missing distfile linpack-20010510.tar.gz
	Package minpack: missing distfile minpack-20001130.tar.gz
	Package odepack: missing distfile odepack-20001130.tar.gz
	Package py-networkx: missing distfile networkx-1.10.tar.gz
	Package py-sympy: missing distfile sympy-0.7.6.1.tar.gz
	Package quadpack: missing distfile quadpack-20001130.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 23:33:26 +00:00
bad
f80cec310e Fix build. This is an egg hence has an egg-info dir not a file. 2014-07-19 12:46:53 +00:00
wiz
c8af012c74 Remove unused patch 2014-01-23 18:42:34 +00:00
wiz
77f7d6abdf Update to 2.2.2. Set LICENSE. Update HOMEPAGE.
Changes from 2.2.1 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.


Changes from 2.2 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.

Changes from 2.1 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
  (https://code.google.com/p/numexpr/issues/detail?id=110).

* [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:
  https://code.google.com/p/numexpr/wiki/UsersGuide#General_routines.
  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
  (https://code.google.com/p/numexpr/wiki/UsersGuide).

Changes from 2.0.1 to 2.1
===========================

* Dropped compatibility with Python < 2.6.

* Improve compatibiity 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

* 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 suggesting that '&', '|' and
  '~' should be used instead (fixes #24).

Changes from 2.0 to 2.0.1
=========================

* Added compatibility with Python 2.5 (2.4 is definitely not supported
  anymore).

* `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.


Changes from 1.x series 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
  arrays).

- 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).
2014-01-21 13:26:52 +00:00
asau
b63c74fdfd "user-destdir" is default these days 2012-09-11 23:04:15 +00:00
drochner
217ba8e41e update to 1.4.1
changes:
-Added support for multi-threading in pure C
-refactorization of the opcode machinery, Added a couple of opcodes
-fixes
-release GIL during computations for better resource usage for
 multithreaded apps
2010-11-02 19:25:04 +00:00
drochner
6d481a51cc add py-numexpr-1.3.1, a numerical expression evaluator for NumPy 2010-07-16 12:12:17 +00:00