Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-numba for openSUSE:Factory 
checked in at 2022-07-13 13:45:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-numba (Old)
 and      /work/SRC/openSUSE:Factory/.python-numba.new.1523 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-numba"

Wed Jul 13 13:45:09 2022 rev:33 rq:988613 version:0.55.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-numba/python-numba.changes        
2022-02-02 22:45:01.110065843 +0100
+++ /work/SRC/openSUSE:Factory/.python-numba.new.1523/python-numba.changes      
2022-07-13 13:45:21.442029193 +0200
@@ -1,0 +2,14 @@
+Mon Jul 11 16:05:33 UTC 2022 - Ben Greiner <[email protected]>
+
+- Update to 0.55.2
+  * This is a maintenance release to support NumPy 1.22 and Apple
+    M1.
+  * Backport #8027: Support for NumPy 1.22
+  * update max NumPy for 0.55.2
+  * Backport #8052 Ensure pthread is linked in when building for
+    ppc64le.
+  * Backport #8102 to fix numpy requirements
+  * Backport #8109 Pin TBB support with respect to incompatible
+    2021.6 API.
+
+-------------------------------------------------------------------

Old:
----
  numba-0.55.1.tar.gz

New:
----
  numba-0.55.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-numba.spec ++++++
--- /var/tmp/diff_new_pack.Sw8E8l/_old  2022-07-13 13:45:22.034030032 +0200
+++ /var/tmp/diff_new_pack.Sw8E8l/_new  2022-07-13 13:45:22.034030032 +0200
@@ -19,6 +19,9 @@
 %{?!python_module:%define python_module() python3-%{**}}
 %define skip_python2 1
 %define plainpython python
+# upper bound is exclusive: min-numpy_ver <= numpy < max_numpy_ver
+%define min_numpy_ver 1.18
+%define max_numpy_ver 1.23
 %global flavor @BUILD_FLAVOR@%{nil}
 %if "%{flavor}" == "test"
 %define psuffix -test
@@ -28,7 +31,7 @@
 %bcond_with test
 %endif
 Name:           python-numba%{psuffix}
-Version:        0.55.1
+Version:        0.55.2
 Release:        0
 Summary:        NumPy-aware optimizing compiler for Python using LLVM
 License:        BSD-2-Clause
@@ -39,16 +42,16 @@
 # PATCH-FIX-OPENSUSE skip tests failing due to OBS specifics
 Patch3:         skip-failing-tests.patch
 BuildRequires:  %{python_module devel >= 3.7}
-BuildRequires:  %{python_module numpy-devel >= 1.18 with %python-numpy-devel < 
1.22}
+BuildRequires:  %{python_module numpy-devel >= %{min_numpy_ver} with 
%python-numpy-devel < %{max_numpy_ver}}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
 BuildRequires:  python-rpm-macros
-BuildRequires:  tbb-devel >= 2021
+BuildRequires:  (tbb-devel >= 2021 with tbb-devel < 2021.6)
 Requires:       (python-llvmlite >= 0.38 with python-llvmlite < 0.39)
-Requires:       (python-numpy >= 1.18 with python-numpy < 1.22)
+Requires:       (python-numpy >= %{min_numpy_ver} with python-numpy < 
%{max_numpy_ver})
 Requires(post): update-alternatives
-Requires(preun):update-alternatives
+Requires(postun):update-alternatives
 Recommends:     python-Jinja2
 Recommends:     python-Pygments
 Recommends:     python-cffi
@@ -60,8 +63,8 @@
 BuildRequires:  %{python_module Pygments}
 BuildRequires:  %{python_module cffi}
 BuildRequires:  %{python_module ipython}
-BuildRequires:  %{python_module numba >= %{version}}
-BuildRequires:  %{python_module numba-devel >= %{version}}
+BuildRequires:  %{python_module numba = %{version}}
+BuildRequires:  %{python_module numba-devel = %{version}}
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module psutil}
 BuildRequires:  %{python_module pytest}
@@ -94,8 +97,8 @@
 Summary:        Development files for numba applications
 Requires:       %{name} = %{version}
 Requires:       python-devel
-Requires:       python-numpy-devel >= 1.11
 Requires:       %{plainpython}(abi) = %{python_version}
+Requires:       (python-numpy-devel >= %{min_numpy_ver} with 
python-numpy-devel < %{max_numpy_ver})
 
 %description    devel
 This package contains files for developing applications using numba.
@@ -143,7 +146,7 @@
 
 %if !%{with test}
 %post
-%{python_install_alternative numba pycc}
+%python_install_alternative numba pycc
 
 %postun
 %python_uninstall_alternative numba

++++++ numba-0.55.1.tar.gz -> numba-0.55.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/CHANGE_LOG new/numba-0.55.2/CHANGE_LOG
--- old/numba-0.55.1/CHANGE_LOG 2022-01-27 16:38:45.397385000 +0100
+++ new/numba-0.55.2/CHANGE_LOG 2022-05-25 21:14:46.939496800 +0200
@@ -1,3 +1,33 @@
+Version 0.55.2 (25 May, 2022)
+-----------------------------
+
+This is a maintenance release to support NumPy 1.22 and Apple M1.
+
+Pull-Requests:
+
+* PR `#8067 <https://github.com/numba/numba/pull/8067>`_: Backport #8027: 
Support for NumPy 1.22 (`stuartarchibald <https://github.com/stuartarchibald>`_)
+* PR `#8069 <https://github.com/numba/numba/pull/8069>`_: Install llvmlite 
0.38 for Numba 0.55.* (`esc <https://github.com/esc>`_)
+* PR `#8075 <https://github.com/numba/numba/pull/8075>`_: update max NumPy for 
0.55.2 (`esc <https://github.com/esc>`_)
+* PR `#8078 <https://github.com/numba/numba/pull/8078>`_: Backport #7804: 
update local references from master -> main (`esc <https://github.com/esc>`_)
+* PR `#8082 <https://github.com/numba/numba/pull/8082>`_: Backport #8080: fix 
windows failure due to timeout (`Siu Kwan Lam <https://github.com/sklam>`_)
+* PR `#8084 <https://github.com/numba/numba/pull/8084>`_: Pin meta.yaml to 
llvmlite 0.38 series (`Siu Kwan Lam <https://github.com/sklam>`_)
+* PR `#8093 <https://github.com/numba/numba/pull/8093>`_: Backport #7904: 
Support m1 (`esc <https://github.com/esc>`_)
+* PR `#8094 <https://github.com/numba/numba/pull/8094>`_: Backport #8052 
Ensure pthread is linked in when building for ppc64le. (`Siu Kwan Lam 
<https://github.com/sklam>`_)
+* PR `#8098 <https://github.com/numba/numba/pull/8098>`_: Backport #8097: 
Exclude libopenblas 0.3.20 on osx-arm64 (`esc <https://github.com/esc>`_)
+* PR `#8100 <https://github.com/numba/numba/pull/8100>`_: Backport #7786 for 
0.55.2: Remove dependency on intel-openmp for OSX  (`stuartarchibald 
<https://github.com/stuartarchibald>`_)
+* PR `#8103 <https://github.com/numba/numba/pull/8103>`_: Backport #8102 to 
fix numpy requirements (`Siu Kwan Lam <https://github.com/sklam>`_)
+* PR `#8114 <https://github.com/numba/numba/pull/8114>`_: Backport #8109 Pin 
TBB support with respect to incompatible 2021.6 API. (`stuartarchibald 
<https://github.com/stuartarchibald>`_)
+
+Total PRs: 12
+
+Authors:
+
+* `esc <https://github.com/esc>`_
+* `Siu Kwan Lam <https://github.com/sklam>`_
+* `stuartarchibald <https://github.com/stuartarchibald>`_
+
+Total authors: 3
+
 Version 0.55.1 (27 January, 2022)
 ---------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/PKG-INFO new/numba-0.55.2/PKG-INFO
--- old/numba-0.55.1/PKG-INFO   2022-01-27 23:04:11.793878800 +0100
+++ new/numba-0.55.2/PKG-INFO   2022-05-25 21:14:57.059358000 +0200
@@ -1,10 +1,9 @@
 Metadata-Version: 2.1
 Name: numba
-Version: 0.55.1
+Version: 0.55.2
 Summary: compiling Python code using LLVM
 Home-page: https://numba.pydata.org
 License: BSD
-Platform: UNKNOWN
 Classifier: Development Status :: 4 - Beta
 Classifier: Intended Audience :: Developers
 Classifier: License :: OSI Approved :: BSD License
@@ -72,7 +71,7 @@
 
 * Python versions: 3.7-3.10
 * llvmlite 0.38.*
-* NumPy >=1.18,<1.22 (can build with 1.11 for ABI compatibility).
+* NumPy >=1.18,<1.23 (can build with 1.11 for ABI compatibility).
 
 Optionally:
 
@@ -110,8 +109,6 @@
 Continuous Integration
 ======================
 
-.. image:: 
https://dev.azure.com/numba/numba/_apis/build/status/numba.numba?branchName=master
-    :target: 
https://dev.azure.com/numba/numba/_build/latest?definitionId=1?branchName=master
+.. image:: 
https://dev.azure.com/numba/numba/_apis/build/status/numba.numba?branchName=main
+    :target: 
https://dev.azure.com/numba/numba/_build/latest?definitionId=1?branchName=main
     :alt: Azure Pipelines
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/README.rst new/numba-0.55.2/README.rst
--- old/numba-0.55.1/README.rst 2022-01-27 16:29:53.090034500 +0100
+++ new/numba-0.55.2/README.rst 2022-05-25 21:14:46.939496800 +0200
@@ -50,7 +50,7 @@
 
 * Python versions: 3.7-3.10
 * llvmlite 0.38.*
-* NumPy >=1.18,<1.22 (can build with 1.11 for ABI compatibility).
+* NumPy >=1.18,<1.23 (can build with 1.11 for ABI compatibility).
 
 Optionally:
 
@@ -88,6 +88,6 @@
 Continuous Integration
 ======================
 
-.. image:: 
https://dev.azure.com/numba/numba/_apis/build/status/numba.numba?branchName=master
-    :target: 
https://dev.azure.com/numba/numba/_build/latest?definitionId=1?branchName=master
+.. image:: 
https://dev.azure.com/numba/numba/_apis/build/status/numba.numba?branchName=main
+    :target: 
https://dev.azure.com/numba/numba/_build/latest?definitionId=1?branchName=main
     :alt: Azure Pipelines
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/docs/source/_ext/ghfiles.py 
new/numba-0.55.2/docs/source/_ext/ghfiles.py
--- old/numba-0.55.1/docs/source/_ext/ghfiles.py        2021-03-26 
14:28:28.960990400 +0100
+++ new/numba-0.55.2/docs/source/_ext/ghfiles.py        2022-05-25 
21:14:46.787499000 +0200
@@ -16,9 +16,9 @@
     """ Make hyperlink to Github """
     full_path = path.join(top, text)
     if path.isfile(full_path):
-        ref = "https://www.github.com/numba/numba/blob/master/"; + text
+        ref = "https://www.github.com/numba/numba/blob/main/"; + text
     elif path.isdir(full_path):
-        ref = "https://www.github.com/numba/numba/tree/master/"; + text
+        ref = "https://www.github.com/numba/numba/tree/main/"; + text
     else:
         logger.warn("Failed to find file in repomap: " + text)
         ref = "https://www.github.com/numba/numba";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/docs/source/developer/contributing.rst 
new/numba-0.55.2/docs/source/developer/contributing.rst
--- old/numba-0.55.1/docs/source/developer/contributing.rst     2021-12-13 
14:48:56.747190700 +0100
+++ new/numba-0.55.2/docs/source/developer/contributing.rst     2022-05-25 
21:14:46.939496800 +0200
@@ -99,8 +99,7 @@
 .. note::
    This installs an environment based on Python 3.8, but you can of course
    choose another version supported by Numba.  To test additional features,
-   you may also need to install ``tbb`` and/or ``llvm-openmp`` and
-   ``intel-openmp``.
+   you may also need to install ``tbb`` and/or ``llvm-openmp``.
 
 To activate the environment for the current shell session::
 
@@ -277,7 +276,7 @@
 Stability
 '''''''''
 
-The repository's ``master`` branch is expected to be stable at all times.
+The repository's ``main`` branch is expected to be stable at all times.
 This translates into the fact that the test suite passes without errors
 on all supported platforms (see below).  This also means that a pull request
 also needs to pass the test suite before it is merged in.
@@ -287,7 +286,7 @@
 Platform support
 ''''''''''''''''
 
-Every commit to the master branch is automatically tested on all of the
+Every commit to the main branch is automatically tested on all of the
 platforms Numba supports. This includes ARMv8, POWER8, and NVIDIA GPUs.
 The build system however is internal to Anaconda, so we also use
 `Azure <https://dev.azure.com/numba/numba/_build>`_ to provide public 
continuous
@@ -465,4 +464,4 @@
 
 
 .. _typeguard: https://typeguard.readthedocs.io/en/latest/
-.. _runtests.py: https://github.com/numba/numba/blob/master/runtests.py
+.. _runtests.py: https://github.com/numba/numba/blob/main/runtests.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/numba-0.55.1/docs/source/developer/live_variable_analysis.rst 
new/numba-0.55.2/docs/source/developer/live_variable_analysis.rst
--- old/numba-0.55.1/docs/source/developer/live_variable_analysis.rst   
2021-03-26 14:28:28.983677600 +0100
+++ new/numba-0.55.2/docs/source/developer/live_variable_analysis.rst   
2022-05-25 21:14:46.795498800 +0200
@@ -10,7 +10,7 @@
 requires cooperation by the compiler.  The Numba IR encodes the location
 where a decref must be inserted.  These locations are determined by live
 variable analysis.  The corresponding source code is the ``_insert_var_dels()``
-method in https://github.com/numba/numba/blob/master/numba/interpreter.py.
+method in https://github.com/numba/numba/blob/main/numba/interpreter.py.
 
 
 In Python semantic, once a variable is defined inside a function, it is alive
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/docs/source/developer/numba-runtime.rst 
new/numba-0.55.2/docs/source/developer/numba-runtime.rst
--- old/numba-0.55.1/docs/source/developer/numba-runtime.rst    2021-12-13 
14:48:56.748500300 +0100
+++ new/numba-0.55.2/docs/source/developer/numba-runtime.rst    2022-05-25 
21:14:46.795498800 +0200
@@ -101,7 +101,7 @@
 --------------------
 
 The start of `numba/core/runtime/nrt.h
-<https://github.com/numba/numba/blob/master/numba/core/runtime/nrt.h>`_
+<https://github.com/numba/numba/blob/main/numba/core/runtime/nrt.h>`_
 has these lines:
 
 .. code-block:: C
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/docs/source/user/installing.rst 
new/numba-0.55.2/docs/source/user/installing.rst
--- old/numba-0.55.1/docs/source/user/installing.rst    2022-01-27 
16:38:45.403106200 +0100
+++ new/numba-0.55.2/docs/source/user/installing.rst    2022-05-25 
21:14:46.943496700 +0200
@@ -5,8 +5,8 @@
 Compatibility
 -------------
 
-Numba is compatible with Python 3.7--3.10, and Numpy versions 1.18 up 
-to 1.21.
+Numba is compatible with Python 3.7--3.10, and Numpy versions 1.18 up
+to 1.22.
 
 Our supported platforms are:
 
@@ -143,6 +143,7 @@
   * Linux ``ARM``: no conda packages, use the system compiler
   * Mac OSX: ``clang_osx-64`` and ``clangxx_osx-64`` or the system compiler at
     ``/usr/bin/clang`` (Mojave onwards)
+  * Mac OSX (M1): ``clang_osx-arm64`` and ``clangxx_osx-arm64``
   * Windows: a version of Visual Studio appropriate for the Python version in
     use
 
@@ -168,9 +169,9 @@
   * For Linux and Windows it is necessary to provide OpenMP C headers and
     runtime  libraries compatible with the compiler tool chain mentioned above,
     and for these to be accessible to the compiler via standard flags.
-  * For OSX the conda packages ``llvm-openmp`` and ``intel-openmp`` provide
-    suitable C headers and libraries. If the compilation requirements are not
-    met the OpenMP threading backend will not be compiled
+  * For OSX the conda package ``llvm-openmp`` provides suitable C headers and
+    libraries. If the compilation requirements are not met the OpenMP threading
+    backend will not be compiled.
 
 .. envvar:: NUMBA_DISABLE_TBB (default: not set)
 
@@ -212,10 +213,9 @@
 
   * ``llvm-openmp`` (OSX) - provides headers for compiling OpenMP support into
     Numba's threading backend
-  * ``intel-openmp`` (OSX) - provides OpenMP library support for Numba's
-    threading backend.
   * ``tbb-devel`` - provides TBB headers/libraries for compiling TBB support
-    into Numba's threading backend (version >= 2021 required).
+    into Numba's threading backend (2021 <= version < 2021.6 required).
+  * ``importlib_metadata`` (for Python versions < 3.9)
 
 * Optional runtime are:
 
@@ -226,8 +226,10 @@
   * ``jinja2`` - for "pretty" type annotation output (HTML) via the ``numba``
     CLI
   * ``cffi`` - permits use of CFFI bindings in Numba compiled functions
-  * ``intel-openmp`` - (OSX) provides OpenMP library support for Numba's OpenMP
-    threading backend
+  * ``llvm-openmp`` - (OSX) provides OpenMP library support for Numba's OpenMP
+    threading backend.
+  * ``intel-openmp`` - (OSX) provides an alternative OpenMP library for use 
with
+    Numba's OpenMP threading backend.
   * ``ipython`` - if in use, caching will use IPython's cache
     directories/caching still works
   * ``pyyaml`` - permits the use of a ``.numba_config.yaml``
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/docs/source/user/threading-layer.rst 
new/numba-0.55.2/docs/source/user/threading-layer.rst
--- old/numba-0.55.1/docs/source/user/threading-layer.rst       2021-12-13 
14:48:56.760486600 +0100
+++ new/numba-0.55.2/docs/source/user/threading-layer.rst       2022-05-25 
21:14:46.799498800 +0200
@@ -157,8 +157,9 @@
 |                      | Windows   | MS OpenMP libraries (very likely this 
will|
 |                      |           | already exist)                            
|
 |                      |           |                                           
|
-|                      | OSX       | The ``intel-openmp`` package (``$ conda   
|
-|                      |           | install intel-openmp``)                   
|
+|                      | OSX       | Either the ``intel-openmp`` package or 
the|
+|                      |           | ``llvm-openmp`` package                   
|
+|                      |           | (``conda install`` the package as named). 
|
 
+----------------------+-----------+-------------------------------------------+
 | ``workqueue``        | All       | None                                      
|
 
+----------------------+-----------+-------------------------------------------+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/__init__.py 
new/numba-0.55.2/numba/__init__.py
--- old/numba-0.55.1/numba/__init__.py  2022-01-27 16:29:53.096627000 +0100
+++ new/numba-0.55.2/numba/__init__.py  2022-05-25 21:14:46.943496700 +0200
@@ -136,8 +136,8 @@
 
     if numpy_version < (1, 18):
         raise ImportError("Numba needs NumPy 1.18 or greater")
-    elif numpy_version > (1, 21):
-        raise ImportError("Numba needs NumPy 1.21 or less")
+    elif numpy_version > (1, 22):
+        raise ImportError("Numba needs NumPy 1.22 or less")
 
     try:
         import scipy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/_version.py 
new/numba-0.55.2/numba/_version.py
--- old/numba-0.55.1/numba/_version.py  2022-01-27 23:04:11.794193700 +0100
+++ new/numba-0.55.2/numba/_version.py  2022-05-25 21:14:57.059358000 +0200
@@ -4,8 +4,8 @@
 # unpacked source archive. Distribution tarballs contain a pre-generated copy
 # of this file.
 
-version_version = '0.55.1'
-version_full = '76720bf88350c70b99ab3d4272d01bd9f14eeace'
+version_version = '0.55.2'
+version_full = '2298ad6186d177f39c564046890263b0f1c74ecc'
 def get_versions(default={}, verbose=False):
     return {'version': version_version, 'full': version_full}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/core/config.py 
new/numba-0.55.2/numba/core/config.py
--- old/numba-0.55.1/numba/core/config.py       2022-01-27 16:38:45.405955300 
+0100
+++ new/numba-0.55.2/numba/core/config.py       2022-05-25 21:14:46.947496700 
+0200
@@ -14,6 +14,7 @@
 
 import llvmlite.binding as ll
 
+
 IS_WIN32 = sys.platform.startswith('win32')
 IS_OSX = sys.platform.startswith('darwin')
 MACHINE_BITS = tuple.__itemsize__ * 8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/misc/help/inspector.py 
new/numba-0.55.2/numba/misc/help/inspector.py
--- old/numba-0.55.1/numba/misc/help/inspector.py       2021-11-25 
16:24:33.802848000 +0100
+++ new/numba-0.55.2/numba/misc/help/inspector.py       2022-05-25 
21:14:46.847498200 +0200
@@ -23,7 +23,7 @@
             "Cannot find git commit hash. Source links could be inaccurate.",
             category=errors.NumbaWarning,
         )
-        return 'master'
+        return 'main'
     return full
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/misc/numba_sysinfo.py 
new/numba-0.55.2/numba/misc/numba_sysinfo.py
--- old/numba-0.55.1/numba/misc/numba_sysinfo.py        2021-12-15 
08:20:43.352752700 +0100
+++ new/numba-0.55.2/numba/misc/numba_sysinfo.py        2022-05-25 
21:14:46.963496400 +0200
@@ -10,6 +10,7 @@
 from datetime import datetime
 from io import StringIO
 from subprocess import check_output, PIPE, CalledProcessError
+import numpy as np
 import llvmlite.binding as llvmbind
 from llvmlite import __version__ as llvmlite_version
 from numba import cuda as cu, __version__ as version_number
@@ -61,6 +62,12 @@
 _cu_nvidia_bindings = 'NVIDIA CUDA Bindings'
 _cu_nvidia_bindings_used = 'NVIDIA CUDA Bindings In Use'
 _cu_detect_out, _cu_lib_test = 'CUDA Detect Output', 'CUDA Lib Test'
+# NumPy info
+_numpy_version = 'NumPy Version'
+_numpy_supported_simd_features = 'NumPy Supported SIMD features'
+_numpy_supported_simd_dispatch = 'NumPy Supported SIMD dispatch'
+_numpy_supported_simd_baseline = 'NumPy Supported SIMD baseline'
+_numpy_AVX512_SKX_detected = 'NumPy AVX512_SKX detected'
 # SVML info
 _svml_state, _svml_loaded = 'SVML State', 'SVML Lib Loaded'
 _llvm_svml_patched = 'LLVM SVML Patched'
@@ -381,6 +388,23 @@
                 "(device and driver present, runtime problem?)\n"
                 f"(cuda) {type(e)}: {e}")
 
+    # NumPy information
+    sys_info[_numpy_version] = np.version.full_version
+    try:
+        # NOTE: These consts were added in NumPy 1.20
+        from numpy.core._multiarray_umath import (__cpu_features__,
+                                                  __cpu_dispatch__,
+                                                  __cpu_baseline__,)
+    except ImportError:
+        sys_info[_numpy_AVX512_SKX_detected] = False
+    else:
+        feat_filtered = [k for k, v in __cpu_features__.items() if v]
+        sys_info[_numpy_supported_simd_features] = feat_filtered
+        sys_info[_numpy_supported_simd_dispatch] = __cpu_dispatch__
+        sys_info[_numpy_supported_simd_baseline] = __cpu_baseline__
+        sys_info[_numpy_AVX512_SKX_detected] = \
+            __cpu_features__.get("AVX512_SKX", False)
+
     # SVML information
     # Replicate some SVML detection logic from numba.__init__ here.
     # If SVML load fails in numba.__init__ the splitting of the logic
@@ -569,6 +593,20 @@
         ("CUDA Libraries Test Output:",),
         (info.get(_cu_lib_test, "None"),),
         ("",),
+        ("__NumPy Information__",),
+        ("NumPy Version", info.get(_numpy_version, '?')),
+        ("NumPy Supported SIMD features",
+         DisplaySeq(info.get(_numpy_supported_simd_features, [])
+                    or ('None found.',))),
+        ("NumPy Supported SIMD dispatch",
+         DisplaySeq(info.get(_numpy_supported_simd_dispatch, [])
+                    or ('None found.',))),
+        ("NumPy Supported SIMD baseline",
+         DisplaySeq(info.get(_numpy_supported_simd_baseline, [])
+                    or ('None found.',))),
+        ("NumPy AVX512_SKX support detected",
+         info.get(_numpy_AVX512_SKX_detected, '?')),
+        ("",),
         ("__SVML Information__",),
         ("SVML State, config.USING_SVML", info.get(_svml_state, '?')),
         ("SVML Library Loaded", info.get(_svml_loaded, '?')),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/np/arraymath.py 
new/numba-0.55.2/numba/np/arraymath.py
--- old/numba-0.55.1/numba/np/arraymath.py      2021-12-13 14:48:56.859820800 
+0100
+++ new/numba-0.55.2/numba/np/arraymath.py      2022-05-25 21:14:46.967496400 
+0200
@@ -8,6 +8,7 @@
 from enum import IntEnum
 from functools import partial
 import operator
+import warnings
 
 import numpy as np
 
@@ -28,7 +29,7 @@
 from numba.core.extending import intrinsic
 from numba.core.errors import (RequireLiteralValue, TypingError,
                                NumbaValueError, NumbaNotImplementedError,
-                               NumbaTypeError)
+                               NumbaTypeError, NumbaDeprecationWarning)
 from numba.core.overload_glue import glue_lowering
 from numba.cpython.unsafe.tuple import tuple_setitem
 
@@ -4042,14 +4043,36 @@
 iinfo = namedtuple('iinfo', _iinfo_supported)
 
 
-@overload(np.MachAr)
-def MachAr_impl():
-    f = np.MachAr()
-    _mach_ar_data = tuple([getattr(f, x) for x in _mach_ar_supported])
+# This module is imported under the compiler lock which should deal with the
+# lack of thread safety in the warning filter.
+def _gen_np_machar():
+    np122plus = numpy_version >= (1, 22)
+    w = None
+    with warnings.catch_warnings(record=True) as w:
+        msg = r'`np.MachAr` is deprecated \(NumPy 1.22\)'
+        warnings.filterwarnings("always", message=msg,
+                                category=DeprecationWarning,
+                                module=r'.*numba.*arraymath')
+        np_MachAr = np.MachAr
+
+    @overload(np_MachAr)
+    def MachAr_impl():
+        f = np_MachAr()
+        _mach_ar_data = tuple([getattr(f, x) for x in _mach_ar_supported])
+
+        if np122plus and w:
+            wmsg = w[0]
+            warnings.warn_explicit(wmsg.message.args[0],
+                                   NumbaDeprecationWarning,
+                                   wmsg.filename,
+                                   wmsg.lineno)
 
-    def impl():
-        return MachAr(*_mach_ar_data)
-    return impl
+        def impl():
+            return MachAr(*_mach_ar_data)
+        return impl
+
+
+_gen_np_machar()
 
 
 def generate_xinfo(np_func, container, attr):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/np/ufunc/tbbpool.cpp 
new/numba-0.55.2/numba/np/ufunc/tbbpool.cpp
--- old/numba-0.55.1/numba/np/ufunc/tbbpool.cpp 2021-12-15 08:20:43.356799100 
+0100
+++ new/numba-0.55.2/numba/np/ufunc/tbbpool.cpp 2022-05-25 21:14:46.967496400 
+0200
@@ -27,8 +27,8 @@
  * from here:
  * https://github.com/intel/tbb/blob/2019_U5/include/tbb/tbb_stddef.h#L29
  */
-#if TBB_INTERFACE_VERSION < 12010
-#error "TBB version is too old, 2021 update 1, i.e. TBB_INTERFACE_VERSION >= 
12010 required"
+#if (TBB_INTERFACE_VERSION >= 12060) || (TBB_INTERFACE_VERSION < 12010)
+#error "TBB version is incompatible, 2021.1 through to 2021.5 required, i.e. 
12010 <= TBB_INTERFACE_VERSION < 12060"
 #endif
 
 #define _DEBUG 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/np/ufunc_db.py 
new/numba-0.55.2/numba/np/ufunc_db.py
--- old/numba-0.55.1/numba/np/ufunc_db.py       2021-12-13 14:48:56.873009700 
+0100
+++ new/numba-0.55.2/numba/np/ufunc_db.py       2022-05-25 21:14:46.855498000 
+0200
@@ -230,9 +230,12 @@
         'QQ->Q': npyfuncs.np_int_udiv_impl,
         'ff->f': npyfuncs.np_real_floor_div_impl,
         'dd->d': npyfuncs.np_real_floor_div_impl,
-        'FF->F': npyfuncs.np_complex_floor_div_impl,
-        'DD->D': npyfuncs.np_complex_floor_div_impl,
     }
+    if numpy_version < (1, 22): # removed in 1.22+
+        ufunc_db[np.floor_divide].update({
+            'FF->F': npyfuncs.np_complex_floor_div_impl,
+            'DD->D': npyfuncs.np_complex_floor_div_impl,
+        })
 
     ufunc_db[np.remainder] = {
         'bb->b': npyfuncs.np_int_srem_impl,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/pycc/cc.py 
new/numba-0.55.2/numba/pycc/cc.py
--- old/numba-0.55.1/numba/pycc/cc.py   2021-03-26 14:28:29.235933500 +0100
+++ new/numba-0.55.2/numba/pycc/cc.py   2022-05-25 21:14:46.859498000 +0200
@@ -174,6 +174,10 @@
         extra_ldflags = self._extra_ldflags.get(sys.platform, [])
         if not extra_ldflags:
             extra_ldflags = self._extra_ldflags.get(os.name, [])
+        # helperlib uses pthread on linux. make sure we are linking to it.
+        if sys.platform.startswith("linux"):
+            if "-pthread" not in extra_ldflags:
+                extra_ldflags.append('-pthread')
         return extra_ldflags
 
     def _compile_mixins(self, build_dir):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/testing/main.py 
new/numba-0.55.2/numba/testing/main.py
--- old/numba-0.55.1/numba/testing/main.py      2021-11-25 16:24:33.825022200 
+0100
+++ new/numba-0.55.2/numba/testing/main.py      2022-05-25 21:14:46.971496300 
+0200
@@ -207,7 +207,7 @@
         parser.add_argument('-g', '--gitdiff', dest='gitdiff', 
type=git_diff_str,
                             default=False, nargs='?',
                             help=('Run tests from changes made against '
-                                  'origin/master as identified by `git diff`. '
+                                  'origin/release0.55 as identified by `git 
diff`. '
                                   'If set to "ancestor", the diff compares '
                                   'against the common ancestor.'))
         return parser
@@ -399,9 +399,9 @@
     path = os.path.join('numba', 'tests')
     if use_common_ancestor:
         print(f"Git diff by common ancestor")
-        target = 'origin/master...HEAD'
+        target = 'origin/release0.55...HEAD'
     else:
-        target = 'origin/master..HEAD'
+        target = 'origin/release0.55..HEAD'
     gdiff_paths = repo.git.diff(target, path, name_only=True).split()
     # normalise the paths as they are unix style from repo.git.diff
     gdiff_paths = [os.path.normpath(x) for x in gdiff_paths]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/tests/npyufunc/test_errors.py 
new/numba-0.55.2/numba/tests/npyufunc/test_errors.py
--- old/numba-0.55.1/numba/tests/npyufunc/test_errors.py        2021-03-26 
14:28:29.273475600 +0100
+++ new/numba-0.55.2/numba/tests/npyufunc/test_errors.py        2022-05-25 
21:14:46.863498000 +0200
@@ -5,7 +5,8 @@
 
 from numba import vectorize, guvectorize
 
-from numba.tests.support import TestCase, CheckWarningsMixin
+from numba.tests.support import (TestCase, CheckWarningsMixin,
+                                 skip_m1_fenv_errors)
 import unittest
 
 
@@ -115,6 +116,7 @@
                                 ["divide by zero encountered",
                                  "invalid value encountered"])
 
+    @skip_m1_fenv_errors
     def test_remainder_float(self):
         self.check_divmod_float(remainder,
                                 [0.0, float('nan'), float('nan'), 1.0],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/tests/support.py 
new/numba-0.55.2/numba/tests/support.py
--- old/numba-0.55.1/numba/tests/support.py     2021-12-15 08:20:43.359256300 
+0100
+++ new/numba-0.55.2/numba/tests/support.py     2022-05-25 21:14:46.971496300 
+0200
@@ -4,6 +4,7 @@
 
 import cmath
 import contextlib
+from collections import defaultdict
 import enum
 import gc
 import math
@@ -107,6 +108,13 @@
                                           "parameter area' in "
                                           "LowerCall_64SVR4"))
 
+# fenv.h on M1 may have various issues:
+# https://github.com/numba/numba/issues/7822#issuecomment-1065356758
+_uname = platform.uname()
+IS_OSX_ARM64 = _uname.system == 'Darwin' and _uname.machine == 'arm64'
+skip_m1_fenv_errors = unittest.skipIf(IS_OSX_ARM64,
+    "fenv.h-like functionality unreliable on OSX arm64")
+
 try:
     import scipy.linalg.cython_lapack
     has_lapack = True
@@ -1023,3 +1031,48 @@
 
         pipeline.finalize()
         return [pipeline]
+
+
+def print_azure_matrix():
+    """This is a utility function that prints out the map of NumPy to Python
+    versions and how many of that combination are being tested across all the
+    declared config for azure-pipelines. It is useful to run when updating the
+    azure-pipelines config to be able to quickly see what the coverage is."""
+    import yaml
+    from yaml import Loader
+    base_path = os.path.dirname(os.path.abspath(__file__))
+    azure_pipe = os.path.join(base_path, '..', '..', 'azure-pipelines.yml')
+    if not os.path.isfile(azure_pipe):
+        self.skipTest("'azure-pipelines.yml' is not available")
+    with open(os.path.abspath(azure_pipe), 'rt') as f:
+        data = f.read()
+    pipe_yml = yaml.load(data, Loader=Loader)
+
+    templates = pipe_yml['jobs']
+    # first look at the items in the first two templates, this is osx/linux
+    py2np_map = defaultdict(lambda: defaultdict(int))
+    for tmplt in templates[:2]:
+        matrix = tmplt['parameters']['matrix']
+        for setup in matrix.values():
+            py2np_map[setup['NUMPY']][setup['PYTHON']]+=1
+
+    # next look at the items in the windows only template
+    winpath = ['..', '..', 'buildscripts', 'azure', 'azure-windows.yml']
+    azure_windows = os.path.join(base_path, *winpath)
+    if not os.path.isfile(azure_windows):
+        self.skipTest("'azure-windows.yml' is not available")
+    with open(os.path.abspath(azure_windows), 'rt') as f:
+        data = f.read()
+    windows_yml = yaml.load(data, Loader=Loader)
+
+    # There's only one template in windows and its keyed differently to the
+    # above, get its matrix.
+    matrix = windows_yml['jobs'][0]['strategy']['matrix']
+    for setup in matrix.values():
+        py2np_map[setup['NUMPY']][setup['PYTHON']]+=1
+
+    print("NumPy | Python | Count")
+    print("-----------------------")
+    for npver, pys in sorted(py2np_map.items()):
+        for pyver, count in pys.items():
+            print(f" {npver} |  {pyver:<4}  |   {count}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/tests/test_dataflow.py 
new/numba-0.55.2/numba/tests/test_dataflow.py
--- old/numba-0.55.1/numba/tests/test_dataflow.py       2021-11-25 
16:24:33.842269200 +0100
+++ new/numba-0.55.2/numba/tests/test_dataflow.py       2022-05-25 
21:14:46.871497900 +0200
@@ -89,17 +89,6 @@
 
     def setUp(self):
         self.cache = CompilationCache()
-        # All tests here should run without warnings
-        self.w_cm = warnings.catch_warnings()
-        self.w_cm.__enter__()
-        warnings.simplefilter("error")
-        # some builds of NumPy use a Cython that reports spurious
-        # ufunc object size mismatch warnings.  These are safe to
-        # ignore and not generated by later Cython versions.
-        warnings.filterwarnings("ignore", message="numpy.ufunc size changed")
-
-    def tearDown(self):
-        self.w_cm.__exit__(None, None, None)
 
     def test_assignments(self, flags=force_pyobj_flags):
         pyfunc = assignments
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/tests/test_np_functions.py 
new/numba-0.55.2/numba/tests/test_np_functions.py
--- old/numba-0.55.1/numba/tests/test_np_functions.py   2021-12-13 
14:48:56.911090900 +0100
+++ new/numba-0.55.2/numba/tests/test_np_functions.py   2022-05-25 
21:14:46.979496200 +0200
@@ -4,6 +4,7 @@
 import math
 import platform
 from functools import partial
+import warnings
 
 import numpy as np
 
@@ -12,12 +13,12 @@
 from numba.core import types
 from numba.typed import List, Dict
 from numba.np.numpy_support import numpy_version
-from numba.core.errors import TypingError
+from numba.core.errors import TypingError, NumbaDeprecationWarning
 from numba.core.config import IS_WIN32, IS_32BITS
 from numba.core.utils import pysignature
 from numba.np.extensions import cross2d
 from numba.tests.support import (TestCase, CompilationCache, MemoryLeakMixin,
-                                 needs_blas)
+                                 needs_blas, needs_subprocess)
 import unittest
 
 
@@ -4612,6 +4613,32 @@
             cfunc = jit(nopython=True)(iinfo)
             cfunc(np.float64(7))
 
+    @unittest.skipUnless(numpy_version >= (1, 22), "Needs NumPy >= 1.22")
+    @needs_subprocess
+    def test_np_MachAr_deprecation_np122_impl(self):
+        # Tests that Numba is replaying the NumPy 1.22 deprecation warning
+        # raised on the getattr of 'MachAr' on the NumPy module.
+        # Needs to be run in a subprocess as the warning is generated from the
+        # typing part of the `np.MachAr` overload, which may already have been
+        # executed for the given types and so an empty in memory cache is
+        # needed.
+        msg = r'`np.MachAr` is deprecated \(NumPy 1.22\)'
+        with warnings.catch_warnings(record=True) as w:
+            warnings.filterwarnings("always", message=msg,
+                                    category=NumbaDeprecationWarning,)
+            f = njit(lambda : np.MachAr().eps)
+            f()
+
+        self.assertEqual(len(w), 1)
+        self.assertIn('`np.MachAr` is deprecated', str(w[0]))
+
+    @unittest.skipUnless(numpy_version >= (1, 22), "Needs NumPy >= 1.22")
+    def test_np_MachAr_deprecation_np122(self):
+        test_name = 'test_np_MachAr_deprecation_np122_impl'
+        self.subprocess_test_runner(test_module=self.__module__,
+                                    test_class=type(self).__name__,
+                                    test_name=test_name,)
+
 
 if __name__ == '__main__':
     unittest.main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/tests/test_serialize.py 
new/numba-0.55.2/numba/tests/test_serialize.py
--- old/numba-0.55.1/numba/tests/test_serialize.py      2021-11-25 
16:24:33.874896300 +0100
+++ new/numba-0.55.2/numba/tests/test_serialize.py      2022-05-25 
21:14:46.883497700 +0200
@@ -241,7 +241,7 @@
         mp = get_context('spawn')
         proc = mp.Process(target=check_main_class_reset_on_unpickle)
         proc.start()
-        proc.join(timeout=10)
+        proc.join(timeout=60)
         self.assertEqual(proc.exitcode, 0)
 
     def test_dynamic_class_reset_on_unpickle_new_proc(self):
@@ -256,7 +256,7 @@
         mp = get_context('spawn')
         proc = mp.Process(target=check_unpickle_dyn_class_new_proc, 
args=(saved,))
         proc.start()
-        proc.join(timeout=10)
+        proc.join(timeout=60)
         self.assertEqual(proc.exitcode, 0)
 
     def test_dynamic_class_issue_7356(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/tests/test_sysinfo.py 
new/numba-0.55.2/numba/tests/test_sysinfo.py
--- old/numba-0.55.1/numba/tests/test_sysinfo.py        2021-11-25 
16:24:33.879285300 +0100
+++ new/numba-0.55.2/numba/tests/test_sysinfo.py        2022-05-25 
21:14:46.887497700 +0200
@@ -33,6 +33,7 @@
                 nsi._python_impl,
                 nsi._python_version,
                 nsi._llvm_version,
+                nsi._numpy_version,
             ),
             bool: (
                 nsi._cu_dev_init,
@@ -43,6 +44,7 @@
                 nsi._tbb_thread,
                 nsi._openmp_thread,
                 nsi._wkq_thread,
+                nsi._numpy_AVX512_SKX_detected,
             ),
             list: (
                 nsi._errors,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/numba/tests/test_ufuncs.py 
new/numba-0.55.2/numba/tests/test_ufuncs.py
--- old/numba-0.55.1/numba/tests/test_ufuncs.py 2021-12-13 14:48:56.930454000 
+0100
+++ new/numba-0.55.2/numba/tests/test_ufuncs.py 2022-05-25 21:14:46.887497700 
+0200
@@ -1277,6 +1277,8 @@
         b = np.arange(10, dtype='f8')
         self.assertPreciseEqual(foo(a, b), (a + b) + (a + b))
 
+    @unittest.skipIf(numpy_support.numpy_version >= (1, 22),
+                     "Complex floor division support removed in NumPy 1.22")
     def test_issue_713(self):
         def foo(x,y):
             return np.floor_divide(x,y)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/setup.py new/numba-0.55.2/setup.py
--- old/numba-0.55.1/setup.py   2022-01-27 16:29:53.106441500 +0100
+++ new/numba-0.55.2/setup.py   2022-05-25 21:14:46.983496200 +0200
@@ -23,7 +23,7 @@
 max_python_version = "3.11"  # exclusive
 min_numpy_build_version = "1.11"
 min_numpy_run_version = "1.18"
-max_numpy_run_version = "1.22"
+max_numpy_run_version = "1.23"
 min_llvmlite_version = "0.38.0rc1"
 max_llvmlite_version = "0.39"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numba-0.55.1/test/test.py 
new/numba-0.55.2/test/test.py
--- old/numba-0.55.1/test/test.py       2020-06-23 15:17:50.977127000 +0200
+++ new/numba-0.55.2/test/test.py       1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-from numba import jit
-import foo
-
-@jit(nopython=True)
-def baz(x):
-    y = 0
-    for i in range(x):
-        y += foo.bar(i)
-    return y
-
-if __name__ == "__main__":
-    print (baz(10))

Reply via email to