pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/math/py-numba py-numba: updated to 0.47.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/619dcaf95626
branches:  trunk
changeset: 421303:619dcaf95626
user:      adam <adam%pkgsrc.org@localhost>
date:      Tue Jan 14 16:25:34 2020 +0000

description:
py-numba: updated to 0.47.0

Version 0.47.0
--------------

This release expands the capability of Numba in a number of important areas and
is also significant as it is the last major point release with support for
Python 2 and Python 3.5 included. The next release (0.48.0) will be for Python
3.6+ only!  (This follows NumPy's deprecation schedule as specified in
`NEP 29 <https://numpy.org/neps/nep-0029-deprecation_policy.html>`_.)

Highlights of core feature changes include:

* Full support for Python 3.8 (Siu Kwan Lam)
* Opt-in bounds checking (Aaron Meurer)
* Support for ``map``, ``filter`` and ``reduce`` (Stuart Archibald)

Intel also kindly sponsored research and development that lead to some exciting
new features:

* Initial support for basic ``try``/``except`` use (Siu Kwan Lam)
* The ability to pass functions created from closures/lambdas as arguments
  (Stuart Archibald)
* ``sorted`` and ``list.sort()`` now accept the ``key`` argument (Stuart
  Archibald and Siu Kwan Lam)
* A new compiler pass triggered through the use of the function
  ``numba.literal_unroll`` which permits iteration over heterogeneous tuples
  and constant lists of constants. (Stuart Archibald)

Enhancements from user contributed PRs (with thanks!):

* Ankit Mahato added a reference to a new talk on Numba at PyCon India 2019
* Brian Wignall kindly fixed some spelling mistakes and typos
* Denis Smirnov wrote numerous methods to considerable enhance string support
  including:

  * ``str.rindex()``
  * ``str.isprintable()``
  * ``str.index()``
  * ``start/end`` parameters for ``str.find()``
  * ``str.isspace()``
  * ``str.isidentifier()``
  * ``str.rpartition()``
  * ``str.lower()`` and ``str.islower()``

* Elena Totmenina implemented both ``str.isalnum()``, ``str.isalpha()`` and
  ``str.isascii``
* Eric Larson fixed a bug in literal comparison
* Ethan Pronovost updated the ``np.arange`` implementation to allow
  the use of the ``dtype`` key word argument and also added ``bool``
  implementations for several types.
* Graham Markall fixed some issues with the CUDA target, namely:

  * Added physical limits for CC 7.0 / 7.5 to CUDA autotune
  * Fixed bugs in TestCudaWarpOperations
  * Improved errors / warnings for the CUDA vectorize decorator

* Guilherme Leobas fixed a typo in the ``urem`` implementation
* Isaac Virshup contributed a number of patches that fixed bugs, added support
  for more NumPy functions and enhanced Python feature support. These
  contributions included:

  * Allow array construction with mixed type shape tuples
  * Implementing ``np.lcm``
  * Implement np.gcd and math.gcd
  * Make slice constructor more similar to python.
  * Added support for slice.indices
  * Clarify numba ufunc supported features

* James Bourbeau fixed some issues with tooling, add ``setuptools`` as a
  dependency and add pre-commit hooks for ``flake8`` compliance.
* Leo Fang made ``numba.dummyarray.Array`` iterable
* Marc Garcia fixed the ``numba.jit`` parameter name signature_or_function
* Marcelo Duarte Trevisani patched the llvmlite requirement to ``>=0.30.0``
* Matt Cooper fixed a long standing CI problem by remove maxParallel
* Matti Picus fixed an issue with ``collections.abc``
  from Azure Pipelines.
* Rob Ennis patched a bug in ``np.interp`` ``float32`` handling
* VDimir fixed a bug in array transposition layouts and re-enabled and
  fixed some idle tests.
* Vyacheslav Smirnov Enable support for `str.istitle()``

General Enhancements:

* Bounds checking
* Add pre-commit hooks
* Handle kw args in inliner when callee is a function
* Permits closures to become functions, enables map(), filter()
* Implement method title() for unicode based on Cpython
* Enable support for istitle() method for unicode string
* Implement str.lower() and str.islower()
* Implement str.rfind()
* Refactor `overload*` and support `jit_options` and `inline`
* Added support for slice.indices
* Add `bool` overload for several types
* Allow array construction with mixed type shape tuples
* Python3.8 support
* Add parfor support for ndarray.fill.
* Update typeconv error message to ask for sys.executable.
* Update `np.arange` implementation with `@overload`
* Make slice constructor more similar to python.
* Implement np.gcd and math.gcd
* Add setuptools as a dependency
* put git hash into build string
* Better compiler error messages for improperly used reduction
  variables.
* Typed list implement and expose allocation
* Typed list faster copy
* Implement str.isspace() based on CPython
* Implement str.isprintable() based on CPython
* Implement str.isidentifier() based on CPython
* Implement str.isalnum() based on CPython
* Implement str.isalpha() based on CPython
* Implement str.rpartition() based on CPython
* Implement str.isascii() based on CPython
* Add graphviz output for FunctionIR
* Python3.8 looplifting
* Implement str.expandtabs() based on CPython
* Implement str.index() based on CPython
* Implement str.rindex() based on CPython
* Support params start/end for str.find()
* Bump to llvmlite 0.31
* Specialise arange dtype on arch + python version.
* basic support for try except
* Implement np.lcm
* loop canonicalisation and type aware tuple unroller/loop body
  versioning passes
* Update hash(tuple) for Python 3.8.
* Implement sort/sorted with key.
* Add `is_internal` property to all Type classes.

Fixes:

* Update to LLVM8 memset/memcpy intrinsic
* Convert sub to add and div to mul when doing the reduction across
  the per-thread reduction array.
* Handle 0 correctly as slice parameter.
* Remove multiply defined variables from all blocks' equivalence sets.
* Fix pickling of dufunc
* BUG: Comparison for literal
* Change get_call_table to support intermediate Vars.
* Requires  llvmlite >=0.30.0
* prefer to import from collections.abc
* fix flake8 errors
* Fix and enable idle tests from test_array_manipulation
* Fix transpose output array layout
* Fix issue with SVML (and knock-on function resolution effects).
* Treat 0d arrays like scalars.
* fix missing incref on flags
* fix typos in numba/targets/base.py
* fix typos
* fix spelling in now-failing tests
* windowing test should check equality only up to double precision
  errors
* fix refining list by using extend on an iterator
* Fix return type in arange and zero step size handling.
* suppress spurious RuntimeWarning about ufunc sizes
* skip the xfail test for now.  Py3.8 CFG refactor seems to have
  changed the test case
* regex needs to accept singular form of "argument"
* fix typed list equals
* Fix some spelling typos
* np.interp bugfix for float32 handling
* fix creating list with JIT disabled
* fix creating dict with JIT disabled
* Better handling of prange with multiple reductions on the same
  variable.
* Improve the error message for `raise <string>`.
* Move overload of literal_unroll to avoid circular dependency that
  breaks Python 2.7
* Fix test error on windows
* Fixes a bug in the relabelling logic in literal_unroll.
* Fix overload_method problem with stararg
* Add ind_to_const to enable fewer equivalence classes.
* Remove xfail for test which has since had underlying issue fixed.
* skip pycc test on Python 3.8 + macOS because of distutils issue

diffstat:

 math/py-numba/Makefile |   7 ++++---
 math/py-numba/PLIST    |  29 +++++++++++++++++++++++++----
 math/py-numba/distinfo |  10 +++++-----
 3 files changed, 34 insertions(+), 12 deletions(-)

diffs (128 lines):

diff -r 345f2970c265 -r 619dcaf95626 math/py-numba/Makefile
--- a/math/py-numba/Makefile    Tue Jan 14 16:22:33 2020 +0000
+++ b/math/py-numba/Makefile    Tue Jan 14 16:25:34 2020 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.12 2019/10/19 14:17:02 adam Exp $
+# $NetBSD: Makefile,v 1.13 2020/01/14 16:25:34 adam Exp $
 
-DISTNAME=      numba-0.46.0
+DISTNAME=      numba-0.47.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=    math python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=n/numba/}
@@ -10,7 +10,8 @@
 COMMENT=       NumPy aware dynamic Python compiler using LLVM
 LICENSE=       2-clause-bsd
 
-DEPENDS+=      ${PYPKGPREFIX}-llvmlite>=0.30.0:../../devel/py-llvmlite
+DEPENDS+=      ${PYPKGPREFIX}-llvmlite>=0.31.0:../../devel/py-llvmlite
+DEPENDS+=      ${PYPKGPREFIX}-setuptools-[0-9]*:../../devel/py-setuptools
 
 USE_LANGUAGES= c c++
 
diff -r 345f2970c265 -r 619dcaf95626 math/py-numba/PLIST
--- a/math/py-numba/PLIST       Tue Jan 14 16:22:33 2020 +0000
+++ b/math/py-numba/PLIST       Tue Jan 14 16:25:34 2020 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.9 2019/10/19 14:17:02 adam Exp $
+@comment $NetBSD: PLIST,v 1.10 2020/01/14 16:25:34 adam Exp $
 bin/numba-${PYVERSSUFFIX}
 bin/pycc-${PYVERSSUFFIX}
 ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
@@ -59,6 +59,9 @@
 ${PYSITELIB}/numba/bytecode.py
 ${PYSITELIB}/numba/bytecode.pyc
 ${PYSITELIB}/numba/bytecode.pyo
+${PYSITELIB}/numba/byteflow.py
+${PYSITELIB}/numba/byteflow.pyc
+${PYSITELIB}/numba/byteflow.pyo
 ${PYSITELIB}/numba/caching.py
 ${PYSITELIB}/numba/caching.pyc
 ${PYSITELIB}/numba/caching.pyo
@@ -1060,9 +1063,9 @@
 ${PYSITELIB}/numba/targets/listobj.py
 ${PYSITELIB}/numba/targets/listobj.pyc
 ${PYSITELIB}/numba/targets/listobj.pyo
-${PYSITELIB}/numba/targets/literal_dispatch.py
-${PYSITELIB}/numba/targets/literal_dispatch.pyc
-${PYSITELIB}/numba/targets/literal_dispatch.pyo
+${PYSITELIB}/numba/targets/literal.py
+${PYSITELIB}/numba/targets/literal.pyc
+${PYSITELIB}/numba/targets/literal.pyo
 ${PYSITELIB}/numba/targets/mathimpl.py
 ${PYSITELIB}/numba/targets/mathimpl.pyc
 ${PYSITELIB}/numba/targets/mathimpl.pyo
@@ -1291,6 +1294,9 @@
 ${PYSITELIB}/numba/tests/test_blackscholes.py
 ${PYSITELIB}/numba/tests/test_blackscholes.pyc
 ${PYSITELIB}/numba/tests/test_blackscholes.pyo
+${PYSITELIB}/numba/tests/test_boundscheck.py
+${PYSITELIB}/numba/tests/test_boundscheck.pyc
+${PYSITELIB}/numba/tests/test_boundscheck.pyo
 ${PYSITELIB}/numba/tests/test_buffer_protocol.py
 ${PYSITELIB}/numba/tests/test_buffer_protocol.pyc
 ${PYSITELIB}/numba/tests/test_buffer_protocol.pyo
@@ -1510,18 +1516,27 @@
 ${PYSITELIB}/numba/tests/test_looplifting.py
 ${PYSITELIB}/numba/tests/test_looplifting.pyc
 ${PYSITELIB}/numba/tests/test_looplifting.pyo
+${PYSITELIB}/numba/tests/test_make_function_to_jit_function.py
+${PYSITELIB}/numba/tests/test_make_function_to_jit_function.pyc
+${PYSITELIB}/numba/tests/test_make_function_to_jit_function.pyo
 ${PYSITELIB}/numba/tests/test_mandelbrot.py
 ${PYSITELIB}/numba/tests/test_mandelbrot.pyc
 ${PYSITELIB}/numba/tests/test_mandelbrot.pyo
 ${PYSITELIB}/numba/tests/test_mangling.py
 ${PYSITELIB}/numba/tests/test_mangling.pyc
 ${PYSITELIB}/numba/tests/test_mangling.pyo
+${PYSITELIB}/numba/tests/test_map_filter_reduce.py
+${PYSITELIB}/numba/tests/test_map_filter_reduce.pyc
+${PYSITELIB}/numba/tests/test_map_filter_reduce.pyo
 ${PYSITELIB}/numba/tests/test_mathlib.py
 ${PYSITELIB}/numba/tests/test_mathlib.pyc
 ${PYSITELIB}/numba/tests/test_mathlib.pyo
 ${PYSITELIB}/numba/tests/test_maxmin.py
 ${PYSITELIB}/numba/tests/test_maxmin.pyc
 ${PYSITELIB}/numba/tests/test_maxmin.pyo
+${PYSITELIB}/numba/tests/test_mixed_tuple_unroller.py
+${PYSITELIB}/numba/tests/test_mixed_tuple_unroller.pyc
+${PYSITELIB}/numba/tests/test_mixed_tuple_unroller.pyo
 ${PYSITELIB}/numba/tests/test_multi3.py
 ${PYSITELIB}/numba/tests/test_multi3.pyc
 ${PYSITELIB}/numba/tests/test_multi3.pyo
@@ -1666,6 +1681,9 @@
 ${PYSITELIB}/numba/tests/test_tracing.py
 ${PYSITELIB}/numba/tests/test_tracing.pyc
 ${PYSITELIB}/numba/tests/test_tracing.pyo
+${PYSITELIB}/numba/tests/test_try_except.py
+${PYSITELIB}/numba/tests/test_try_except.pyc
+${PYSITELIB}/numba/tests/test_try_except.pyo
 ${PYSITELIB}/numba/tests/test_tuples.py
 ${PYSITELIB}/numba/tests/test_tuples.pyc
 ${PYSITELIB}/numba/tests/test_tuples.pyo
@@ -1880,6 +1898,9 @@
 ${PYSITELIB}/numba/unsafe/bytes.py
 ${PYSITELIB}/numba/unsafe/bytes.pyc
 ${PYSITELIB}/numba/unsafe/bytes.pyo
+${PYSITELIB}/numba/unsafe/eh.py
+${PYSITELIB}/numba/unsafe/eh.pyc
+${PYSITELIB}/numba/unsafe/eh.pyo
 ${PYSITELIB}/numba/unsafe/ndarray.py
 ${PYSITELIB}/numba/unsafe/ndarray.pyc
 ${PYSITELIB}/numba/unsafe/ndarray.pyo
diff -r 345f2970c265 -r 619dcaf95626 math/py-numba/distinfo
--- a/math/py-numba/distinfo    Tue Jan 14 16:22:33 2020 +0000
+++ b/math/py-numba/distinfo    Tue Jan 14 16:25:34 2020 +0000
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.11 2019/10/19 14:17:02 adam Exp $
+$NetBSD: distinfo,v 1.12 2020/01/14 16:25:34 adam Exp $
 
-SHA1 (numba-0.46.0.tar.gz) = df31d56c208b7d88452bbb1bf8d6f89b7c35ab62
-RMD160 (numba-0.46.0.tar.gz) = b86b8bf167a8b03c896cd6dbfce2748e60113178
-SHA512 (numba-0.46.0.tar.gz) = 845308d0d7d920c5d8aa70ead9ecc2546018ab9004839423c92a60fa10e9283526504b5fc04652ea6dcdb9ae1f53e0a96fb4584f575c1bf953683b075c9d7da8
-Size (numba-0.46.0.tar.gz) = 1851254 bytes
+SHA1 (numba-0.47.0.tar.gz) = ce163d458c9a7bded4993d6de9dbc6feb1a15380
+RMD160 (numba-0.47.0.tar.gz) = be1bb3d60153a154c6f6382400b2f6298dd968cf
+SHA512 (numba-0.47.0.tar.gz) = 1bff2e466942498ca641f227b7416a47240df9968b9af281f97ea03fcf9a64706d4bdba6f1465aa5e1dc1c37ec6aa138431cf6ff81dc71d8c5b2f17864883b4c
+Size (numba-0.47.0.tar.gz) = 1935290 bytes
 SHA1 (patch-numba_npyufunc_workqueue.c) = 0bcbeff869174265a2d776f847e880a99676d812



Home | Main Index | Thread Index | Old Index