<div dir="ltr"><span style="font-family:monospace">========================<br>Announcing NumExpr 2.7.2<br>========================<br><br>Hi everyone, <br><br>It's been awhile since the last update to NumExpr, mostly as the existing scientific <br>Python tool chain for building wheels on PyPi became defunct and we have had to <br>redevelop a new one based on `cibuildwheel` and GitHub Actions. This release also<br>brings us support (and wheels for) Python 3.9.<br><br>There have been a number of changes to enhance how NumExpr works when NumPy <br>uses MKL as a backend.<br><br>Project documentation is available at:<br><br><a href="http://numexpr.readthedocs.io/">http://numexpr.readthedocs.io/</a><br><br>Changes from 2.7.1 to 2.7.2<br>---------------------------<br><br>- Support for Python 2.7 and 3.5 is deprecated and will be discontinued when <br>  `cibuildwheels` and/or GitHub Actions no longer support these versions.<br>- Wheels are now provided for Python 3.7, 3.5, 3.6, 3.7, 3.8, and 3.9 via <br>  GitHub Actions.<br>- The block size is now exported into the namespace as `numexpr.__BLOCK_SIZE1__`<br>  as a read-only value.<br>- If using MKL, the number of threads for VML is no longer forced to 1 on loading <br>  the module. Testing has shown that VML never runs in multi-threaded mode for <br>  the default BLOCKSIZE1 of 1024 elements, and forcing to 1 can have deleterious <br>  effects on NumPy functions when built with MKL. See issue #355 for details.<br>- Use of `ndarray.tostring()` in tests has been switch to `ndarray.tobytes()` <br>  for future-proofing deprecation of `.tostring()`, if the version of NumPy is <br>  greater than 1.9.<br>- Added a utility method `get_num_threads` that returns the (maximum) number of <br>  threads currently in use by the virtual machine. The functionality of <br>  `set_num_threads` whereby it returns the previous value has been deprecated <br>  and will be removed in 2.8.X.<br><br>What's Numexpr?<br>---------------<br><br>Numexpr is a fast numerical expression evaluator for NumPy.  With it,<br>expressions that operate on arrays (like "3*a+4*b") are accelerated<br>and use less memory than doing the same calculation in Python.<br><br>It has multi-threaded capabilities, as well as support for Intel's<br>MKL (Math Kernel Library), which allows an extremely fast evaluation<br>of transcendental functions (sin, cos, tan, exp, log...) while<br>squeezing the last drop of performance out of your multi-core<br>processors.  Look here for a some benchmarks of numexpr using MKL:<br><br><a href="https://github.com/pydata/numexpr/wiki/NumexprMKL">https://github.com/pydata/numexpr/wiki/NumexprMKL</a><br><br>Its only dependency is NumPy (MKL is optional), so it works well as an<br>easy-to-deploy, easy-to-use, computational engine for projects that<br>don't want to adopt other solutions requiring more heavy dependencies.<br><br>Where I can find Numexpr?<br>-------------------------<br><br>The project is hosted at GitHub in:<br><br><a href="https://github.com/pydata/numexpr">https://github.com/pydata/numexpr</a><br><br>You can get the packages from PyPI as well (but not for RC releases):<br><br><a href="http://pypi.python.org/pypi/numexpr">http://pypi.python.org/pypi/numexpr</a><br><br>Documentation is hosted at:<br><br><a href="http://numexpr.readthedocs.io/en/latest/">http://numexpr.readthedocs.io/en/latest/</a><br><br>Share your experience<br>---------------------<br><br>Let us know of any bugs, suggestions, gripes, kudos, etc. you may<br>have.<br><br>Enjoy data!<br><br clear="all"><br>-- <br></span><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><span style="font-family:monospace">Robert McLeod</span></div><div><span style="font-family:monospace"><a href="mailto:robbmcleod@gmail.com" target="_blank">robbmcleod@gmail.com</a></span></div><div><span style="font-family:monospace"><a href="mailto:robert.mcleod@hitachi-hhtc.ca" target="_blank">robert.mcleod@hitachi-hhtc.ca</a></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div>