1
0

Compare commits

8 Commits

Author SHA256 Message Date
2eae3a314f Accepting request 1319844 from devel:languages:python:numeric
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1319844
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-numexpr?expand=0&rev=29
2025-11-25 14:54:11 +00:00
cf786769bb - update to 2.14.1:
* Rolled back static typing support to ensure compatibiity with
    NumPy 1.26.
  * Added CI tests for NumPy 1.26
  * Numerical stability for overflow has been improved for tan /
    tanh to handle possible overflows for complex numbers.
  * Static typing support has been added, making NumExpr
    compatible with static type checkers like mypy and pyright.
    Thanks to Joren Hammudoglu (@jorenham) for the work.
  * Patch to maximum/minimum functions in order to match NumPy
    NaN handling
  * Patch to convert '+'->'|' and '*'->'&' for booleans
  * New functionality has been added:
  * Bitwise operators (and, or, not, xor): &, |, ~, ^
  * New binary arithmetic operator for floor division: //
  * New functions: signbit, hypot, copysign, nextafter, maximum,
    minimum, log2, trunc, round and sign.
  * Also enables integer outputs for integer inputs for abs,
    copy, ones_like, sign and round.
  * New wheels for Python 3.14 and 3.14t are provided.
  * Added complex counterparts for isnan/isfinite/isinf
    functions. Thanks to Luke Shaw.
  * Updated documentation for the new functions and instructions
    for adding new functions to the virtual machine.  Thanks to
    Luke Shaw.
  * Fixed MKL support; it was broken in 2.12.0.
  * Added isnan/isfinite/isinf functions.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numexpr?expand=0&rev=47
2025-11-17 21:48:39 +00:00
aabe5c2606 Accepting request 1301515 from devel:languages:python:numeric
- Update to 2.11.0:
  * Initial support for free-threaded Python 3.13t has been added.
  * Fix imaginary evaluation in the form of 1.1e1j.
  * The test suite has been modernized to use pytest instead of unittest.
  * Python 3.10 is now the minimum supported version.

OBS-URL: https://build.opensuse.org/request/show/1301515
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-numexpr?expand=0&rev=28
2025-08-27 19:35:14 +00:00
2ac85db8fb - Update to 2.11.0:
* Initial support for free-threaded Python 3.13t has been added.
  * Fix imaginary evaluation in the form of 1.1e1j.
  * The test suite has been modernized to use pytest instead of unittest.
  * Python 3.10 is now the minimum supported version.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numexpr?expand=0&rev=45
2025-08-27 04:11:40 +00:00
553b7cd5ec Accepting request 1228310 from devel:languages:python:numeric
- Update to 2.10.2
  * Better support for CPUs that do not have a power of 2 number of
    cores.  See #479 and #490.  Thanks to @avalentino.
  * Allow numexpr to run with the multithreading package in Python.
    See PR #496.  Thanks to @emmaai
  * Wheels for Python 3.13 are now provided.
- Drop fix-test-max-threads-unset.patch (forwarded request 1228309 from bnavigator)

OBS-URL: https://build.opensuse.org/request/show/1228310
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-numexpr?expand=0&rev=27
2024-12-05 16:08:50 +00:00
5009c94269 - Update to 2.10.2
* Better support for CPUs that do not have a power of 2 number of
    cores.  See #479 and #490.  Thanks to @avalentino.
  * Allow numexpr to run with the multithreading package in Python.
    See PR #496.  Thanks to @emmaai
  * Wheels for Python 3.13 are now provided.
- Drop fix-test-max-threads-unset.patch

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numexpr?expand=0&rev=43
2024-12-04 13:13:33 +00:00
70936695f9 Accepting request 1223649 from devel:languages:python:numeric
- Add upstream patch fix-test-max-threads-unset.patch
- Remove upstreamed patch numexpr-pr485-allow-numpy1.patch
- Update to 2.10.1:
  - The default number of 'safe' threads has been upgraded to 16
    (instead of previous 8). That means that if your CPU has > 16
    cores, the default is to use 16. You can always override this with
    the "NUMEXPR_MAX_THREADS" environment variable.
  - NumPy 1.23 is now the minimum supported.
  - Preliminary support for Python 3.13. Thanks to Karolina Surma.
  - Fix tests on nthreads detection (closes: #479). Thanks to
    @avalentino.
  - The build process has been modernized and now uses the
    pyproject.toml file for more of the configuration options.

OBS-URL: https://build.opensuse.org/request/show/1223649
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-numexpr?expand=0&rev=26
2024-11-12 18:23:59 +00:00
f0bcbbbf19 - Add upstream patch fix-test-max-threads-unset.patch
- Remove upstreamed patch numexpr-pr485-allow-numpy1.patch
- Update to 2.10.1:
  - The default number of 'safe' threads has been upgraded to 16
    (instead of previous 8). That means that if your CPU has > 16
    cores, the default is to use 16. You can always override this with
    the "NUMEXPR_MAX_THREADS" environment variable.
  - NumPy 1.23 is now the minimum supported.
  - Preliminary support for Python 3.13. Thanks to Karolina Surma.
  - Fix tests on nthreads detection (closes: #479). Thanks to
    @avalentino.
  - The build process has been modernized and now uses the
    pyproject.toml file for more of the configuration options.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numexpr?expand=0&rev=41
2024-11-12 11:40:48 +00:00
5 changed files with 82 additions and 40 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c89e930752639df040539160326d8f99a84159bbea41943ab8e960591edaaef0
size 103563

3
numexpr-2.14.1.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4be00b1086c7b7a5c32e31558122b7b80243fe098579b170967da83f3152b48b
size 119400

View File

@@ -1,28 +0,0 @@
From b35f5fcbd8447cb36268d0d344c8ef65b1912187 Mon Sep 17 00:00:00 2001
From: Sebastian Berg <sebastianb@nvidia.com>
Date: Wed, 8 May 2024 15:31:04 +0200
Subject: [PATCH] MAINT: Allow building with NumPy 1.x locally
I have build locally without build isolation and it seems to work
fine.
---
numexpr/interpreter.cpp | 6 ++++++
1 file changed, 6 insertions(+)
Index: numexpr-2.10.0/numexpr/interpreter.cpp
===================================================================
--- numexpr-2.10.0.orig/numexpr/interpreter.cpp
+++ numexpr-2.10.0/numexpr/interpreter.cpp
@@ -47,6 +47,12 @@
#define AVAILABLE(Haystack, Haystack_Len, J, Needle_Len) \
((Haystack_Len) >= (J) + (Needle_Len))
+// To allow building with NumPy<2 locally define the new NumPy macros:
+#if NPY_ABI_VERSION < 0x02000000
+ #define PyDataType_ELSIZE(descr) ((descr)->elsize)
+ #define PyDataType_SET_ELSIZE(descr, size) (descr)->elsize = size
+#endif
+
#include "str-two-way.hpp"
#ifdef DEBUG

View File

@@ -1,3 +1,71 @@
-------------------------------------------------------------------
Mon Nov 17 21:48:08 UTC 2025 - Dirk Müller <dmueller@suse.com>
- update to 2.14.1:
* Rolled back static typing support to ensure compatibiity with
NumPy 1.26.
* Added CI tests for NumPy 1.26
* Numerical stability for overflow has been improved for tan /
tanh to handle possible overflows for complex numbers.
* Static typing support has been added, making NumExpr
compatible with static type checkers like mypy and pyright.
Thanks to Joren Hammudoglu (@jorenham) for the work.
* Patch to maximum/minimum functions in order to match NumPy
NaN handling
* Patch to convert '+'->'|' and '*'->'&' for booleans
* New functionality has been added:
* Bitwise operators (and, or, not, xor): &, |, ~, ^
* New binary arithmetic operator for floor division: //
* New functions: signbit, hypot, copysign, nextafter, maximum,
minimum, log2, trunc, round and sign.
* Also enables integer outputs for integer inputs for abs,
copy, ones_like, sign and round.
* New wheels for Python 3.14 and 3.14t are provided.
* Added complex counterparts for isnan/isfinite/isinf
functions. Thanks to Luke Shaw.
* Updated documentation for the new functions and instructions
for adding new functions to the virtual machine. Thanks to
Luke Shaw.
* Fixed MKL support; it was broken in 2.12.0.
* Added isnan/isfinite/isinf functions.
-------------------------------------------------------------------
Wed Aug 27 04:10:48 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 2.11.0:
* Initial support for free-threaded Python 3.13t has been added.
* Fix imaginary evaluation in the form of 1.1e1j.
* The test suite has been modernized to use pytest instead of unittest.
* Python 3.10 is now the minimum supported version.
-------------------------------------------------------------------
Wed Dec 4 10:38:19 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 2.10.2
* Better support for CPUs that do not have a power of 2 number of
cores. See #479 and #490. Thanks to @avalentino.
* Allow numexpr to run with the multithreading package in Python.
See PR #496. Thanks to @emmaai
* Wheels for Python 3.13 are now provided.
- Drop fix-test-max-threads-unset.patch
-------------------------------------------------------------------
Tue Nov 12 11:14:53 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Add upstream patch fix-test-max-threads-unset.patch
- Remove upstreamed patch numexpr-pr485-allow-numpy1.patch
- Update to 2.10.1:
- The default number of 'safe' threads has been upgraded to 16
(instead of previous 8). That means that if your CPU has > 16
cores, the default is to use 16. You can always override this with
the "NUMEXPR_MAX_THREADS" environment variable.
- NumPy 1.23 is now the minimum supported.
- Preliminary support for Python 3.13. Thanks to Karolina Surma.
- Fix tests on nthreads detection (closes: #479). Thanks to
@avalentino.
- The build process has been modernized and now uses the
pyproject.toml file for more of the configuration options.
------------------------------------------------------------------- -------------------------------------------------------------------
Sat May 11 19:48:33 UTC 2024 - Ben Greiner <code@bnavigator.de> Sat May 11 19:48:33 UTC 2024 - Ben Greiner <code@bnavigator.de>

View File

@@ -1,7 +1,7 @@
# #
# spec file for package python-numexpr # spec file for package python-numexpr
# #
# Copyright (c) 2024 SUSE LLC # Copyright (c) 2025 SUSE LLC and contributors
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@@ -18,25 +18,21 @@
%{?sle15_python_module_pythons} %{?sle15_python_module_pythons}
Name: python-numexpr Name: python-numexpr
Version: 2.10.0 Version: 2.14.1
Release: 0 Release: 0
Summary: Numerical expression evaluator for NumPy Summary: Numerical expression evaluator for NumPy
License: MIT License: MIT
Group: Development/Languages/Python
URL: https://github.com/pydata/numexpr/ URL: https://github.com/pydata/numexpr/
Source: https://files.pythonhosted.org/packages/source/n/numexpr/numexpr-%{version}.tar.gz Source: https://files.pythonhosted.org/packages/source/n/numexpr/numexpr-%{version}.tar.gz
# PATCH-FIX-UPSTREAM numexpr-pr485-allow-numpy1.patch gh#pydata/numexpr#485, see also comments in gh#pydata/numexpr#478 BuildRequires: %{python_module devel >= 3.10}
Patch0: numexpr-pr485-allow-numpy1.patch BuildRequires: %{python_module numpy-devel >= 2.0}
BuildRequires: %{python_module devel >= 3.7}
# Until numpy 2 is in Factory, keep allowing to build with numpy 1.x. See Patch0
BuildRequires: %{python_module numpy-devel >= 1.19.3}
BuildRequires: %{python_module pip} BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools} BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel} BuildRequires: %{python_module wheel}
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: python-rpm-macros BuildRequires: python-rpm-macros
Requires: python-numpy >= 1.19.3 Requires: python-numpy >= 2.0
%python_subpackages %python_subpackages
%description %description
@@ -58,11 +54,17 @@ export CFLAGS="%{optflags} -fno-strict-aliasing"
%install %install
%pyproject_install %pyproject_install
# Remove devel files
%{python_expand #
find %{buildroot}%{$python_sitearch} -name *.hpp -type f -delete
find %{buildroot}%{$python_sitearch} -name *.cpp -type f -delete
}
%python_expand %fdupes %{buildroot}%{$python_sitearch} %python_expand %fdupes %{buildroot}%{$python_sitearch}
%check %check
mkdir tester mkdir tester
pushd tester pushd tester
%{python_expand export PYTHONPATH=%{buildroot}%{$python_sitearch} %{python_expand export PYTHONPATH=%{buildroot}%{$python_sitearch}
$python -B -c "import sys;import numexpr;sys.exit(0 if numexpr.test().wasSuccessful() else 1)" $python -B -c "import sys;import numexpr;sys.exit(0 if numexpr.test().wasSuccessful() else 1)"
} }