Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37841707
en ru br
ALT Linux repos
S:2.8.3-alt1

Group :: Development/Python3
RPM: python3-module-numexpr

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: python3-module-numexpr-2.8.3-alt.patch
Download


 .gitignore                    |  1 +
 numexpr/__init__.py           |  4 +--
 numexpr/_print_versions.py    | 63 +++++++++++++++++++++++++++++++++++++++++++
 numexpr/tests/__init__.py     |  2 +-
 numexpr/tests/test_numexpr.py | 38 ++------------------------
 setup.cfg                     |  3 +++
 6 files changed, 72 insertions(+), 39 deletions(-)
diff --git a/.gitignore b/.gitignore
index e28dd76..a93b2ef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@ numexpr.egg-info/
 *~
 doc/_build
 site.cfg
+!alt/site.cfg
 .vscode
 *.pyd
 __config__.py
diff --git a/numexpr/__init__.py b/numexpr/__init__.py
index 9cabe69..41e3f95 100644
--- a/numexpr/__init__.py
+++ b/numexpr/__init__.py
@@ -51,8 +51,8 @@ __version__ = version.version
 def print_versions():
     """Print the versions of software that numexpr relies on."""
     try:
-        import numexpr.tests
-        return numexpr.tests.print_versions()
+        import numexpr._print_versions
+        return numexpr._print_versions.print_versions()
     except ImportError:
         # To maintain Python 2.6 compatibility we have simple error handling
         raise ImportError('`numexpr.tests` could not be imported, likely it was excluded from the distribution.')
diff --git a/numexpr/_print_versions.py b/numexpr/_print_versions.py
new file mode 100644
index 0000000..29160cf
--- /dev/null
+++ b/numexpr/_print_versions.py
@@ -0,0 +1,63 @@
+"""
+ALT's copy of upstream's numexpr.tests.test_numexpr.print_versions
+
+ALT doesn't ship tests, thus, print_versions is moved out.
+"""
+
+import sys
+
+from packaging.version import Version
+
+
+def get_minimum_numpy_version():
+    try:
+        from numexpr.tests.test_numexpr import minimum_numpy_version
+    except ImportError:
+        minimum_numpy_version = None
+    return minimum_numpy_version
+
+
+def print_versions():
+    """Print the versions of software that numexpr relies on."""
+    from numexpr import use_vml
+    import numexpr
+    import numpy as np
+    minimum_numpy_version = Version('1.7.0')
+
+    # must be synced with numexpr.tests.test_numexpr.minimum_numpy_version
+    min_numpy = get_minimum_numpy_version()
+    if min_numpy is not None:
+        assert (
+            min_numpy == minimum_numpy_version
+        ), f"Expected: {min_numpy!r}, actual: {minimum_numpy_version!r}"
+
+    # from pkg_resources import parse_version
+    from numexpr.cpuinfo import cpu
+    import platform
+
+    np_version = Version(np.__version__)
+
+    if np_version < minimum_numpy_version:
+        print('*Warning*: NumPy version is lower than recommended: %s < %s' % (np_version, minimum_numpy_version))
+    print('-=' * 38)
+    print('Numexpr version:   %s' % numexpr.__version__)
+    print('NumPy version:     %s' % np.__version__)
+    print('Python version:    %s' % sys.version)
+    (sysname, nodename, release, os_version, machine, processor) = platform.uname()
+    print('Platform:          %s-%s-%s' % (sys.platform, machine, os_version))
+    try:
+        # cpuinfo doesn't work on OSX well it seems, so protect these outputs 
+        # with a try block
+        cpu_info = cpu.info[0]
+        print('CPU vendor:        %s' % cpu_info.get('VendorIdentifier', ''))
+        print('CPU model:         %s' % cpu_info.get('ProcessorNameString', ''))
+        print('CPU clock speed:   %s MHz' % cpu_info.get('~MHz',''))
+    except KeyError:
+        pass
+    print('VML available?     %s' % use_vml)
+    if use_vml:
+        print('VML/MKL version:   %s' % numexpr.get_vml_version())
+    print('Number of threads used by default: %d '
+          '(out of %d detected cores)' % (numexpr.nthreads, numexpr.ncores))
+    print('Maximum number of threads: %s' % numexpr.MAX_THREADS)
+    print('-=' * 38)
diff --git a/numexpr/tests/__init__.py b/numexpr/tests/__init__.py
index 3fff411..3153c91 100644
--- a/numexpr/tests/__init__.py
+++ b/numexpr/tests/__init__.py
@@ -8,7 +8,7 @@
 #  rights to use.
 ####################################################################
 
-from numexpr.tests.test_numexpr import test, print_versions
+from numexpr.tests.test_numexpr import test
 
 if __name__ == '__main__':
     test()
diff --git a/numexpr/tests/test_numexpr.py b/numexpr/tests/test_numexpr.py
index c47ba84..a7b5096 100644
--- a/numexpr/tests/test_numexpr.py
+++ b/numexpr/tests/test_numexpr.py
@@ -1069,45 +1069,11 @@ class test_subprocess(TestCase):
         #print result
 
 
-def print_versions():
-    """Print the versions of software that numexpr relies on."""
-    # from pkg_resources import parse_version
-    from numexpr.cpuinfo import cpu
-    import platform
-
-    np_version = Version(np.__version__)
-
-    if np_version < minimum_numpy_version:
-        print('*Warning*: NumPy version is lower than recommended: %s < %s' % (np_version, minimum_numpy_version))
-    print('-=' * 38)
-    print('Numexpr version:   %s' % numexpr.__version__)
-    print('NumPy version:     %s' % np.__version__)
-    print('Python version:    %s' % sys.version)
-    (sysname, nodename, release, os_version, machine, processor) = platform.uname()
-    print('Platform:          %s-%s-%s' % (sys.platform, machine, os_version))
-    try:
-        # cpuinfo doesn't work on OSX well it seems, so protect these outputs 
-        # with a try block
-        cpu_info = cpu.info[0]
-        print('CPU vendor:        %s' % cpu_info.get('VendorIdentifier', ''))
-        print('CPU model:         %s' % cpu_info.get('ProcessorNameString', ''))
-        print('CPU clock speed:   %s MHz' % cpu_info.get('~MHz',''))
-    except KeyError:
-        pass
-    print('VML available?     %s' % use_vml)
-    if use_vml:
-        print('VML/MKL version:   %s' % numexpr.get_vml_version())
-    print('Number of threads used by default: %d '
-          '(out of %d detected cores)' % (numexpr.nthreads, numexpr.ncores))
-    print('Maximum number of threads: %s' % numexpr.MAX_THREADS)
-    print('-=' * 38)
-
-
 def test(verbosity=1):
     """
     Run all the tests in the test suite.
     """
-    print_versions()
+    numexpr.print_versions()
     # For some reason, NumPy issues all kinds of warnings when using Python3.
     # Ignoring them in tests should be ok, as all results are checked out.
     # See https://github.com/pydata/numexpr/issues/183 for details.
@@ -1166,7 +1132,7 @@ def suite():
 
 
 if __name__ == '__main__':
-    print_versions()
+    numexpr.print_versions()
     unittest.main(defaultTest='suite')
 #    suite = suite()
 #    unittest.TextTestRunner(verbosity=2).run(suite)
diff --git a/setup.cfg b/setup.cfg
index 7470b5b..97e6f6e 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -31,3 +31,6 @@ python_requires = >=3.7
 #     packaging
 #     numpy
 
+[options.packages.find]
+exclude =
+    *.tests
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin