Path to this page:
Subject: CVS commit: pkgsrc/math/py-numba
From: Adam Ciarcinski
Date: 2020-01-14 17:25:34
Message id: 20200114162535.06510FBF4@cvs.NetBSD.org
Log Message:
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
Files: