Accepting request 1186990 from devel:languages:python:numeric
Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/1186990 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-lmfit?expand=0&rev=6
This commit is contained in:
commit
5c185703f7
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:044a052a11a61da0576274504c17eb7e2803b41128e25821e96632207f23c88c
|
||||
size 336346
|
3
lmfit-1.3.1.tar.gz
Normal file
3
lmfit-1.3.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bc386244adbd10ef1a2a2c4f9d17b3def905552c0a64aef854f0ad46cc309cc5
|
||||
size 629917
|
@ -1,3 +1,42 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 5 03:01:53 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Update to 1.3.1:
|
||||
* New features:
|
||||
+ add 'min_rel_change' as optional variable in calculation of confidence
|
||||
intervals with Model.conf_interval().
|
||||
+ Model.eval_uncertainty now takes an optional dscale parameter (default
|
||||
value of 0.01) to set the step size for calculating derivatives
|
||||
+ add calculation of predicted_interval to Model.eval_uncertainty
|
||||
* Bug fixes/enhancements:
|
||||
+ allow Model.eval_uncertainty to be performed with single points for x
|
||||
independent variables
|
||||
+ allow Model._parse_param to handle older-style passed-in 'argnames' and
|
||||
'kwargs' as for variadic function
|
||||
+ better allow (or re-allow) Model function independent variables / keyword
|
||||
arguments to be given non-default values at model creation time
|
||||
+ add form as independent variable for builtin Step, Rectangle, Thermal
|
||||
Distribution models.
|
||||
+ use Model._reprstring(long=True) for model Model.__repr__().
|
||||
+ restore best-fit parameter values for high accuracy values of constrained
|
||||
values
|
||||
+ improvement to Model for the difference between Parameter, "independent
|
||||
variable", and "option".
|
||||
+ better saving/loading saved states of Model now use dill, have several
|
||||
cleanups, and are now versioned for future-proofing.
|
||||
+ fix bug calculating r-squared for fits with weights
|
||||
+ fix bug in modelresult.eval_uncertainty() after load_modelresult()
|
||||
+ add test for MinimizerResult.uvars after successful fit
|
||||
* Maintenance/Deprecations:
|
||||
+ drop support for Python 3.7
|
||||
+ fix tests for Python 3.12 and Python 3.13-dev
|
||||
+ increase minimum numpy verstio to 1.23 and scipy to 1.8.
|
||||
+ updates for compatibility with numpy 2.0
|
||||
+ the dill package is now required
|
||||
- Switch to autosetup macro.
|
||||
- Add patch support-numpy-2.patch:
|
||||
* Support numpy 2.0 more thoroughly.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 21 10:32:37 UTC 2023 - Markéta Machová <mmachova@suse.com>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package python-lmfit
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -17,13 +17,15 @@
|
||||
|
||||
|
||||
Name: python-lmfit
|
||||
Version: 1.2.2
|
||||
Version: 1.3.1
|
||||
Release: 0
|
||||
Summary: Least-Squares Minimization with Bounds and Constraints
|
||||
License: BSD-3-Clause AND MIT
|
||||
URL: https://lmfit.github.io/lmfit-py/
|
||||
Source: https://files.pythonhosted.org/packages/source/l/lmfit/lmfit-%{version}.tar.gz
|
||||
BuildRequires: %{python_module base >= 3.7}
|
||||
# PATCH-FIX-UPSTREAM gh#lmfit/lmfit-py#959
|
||||
Patch0: support-numpy-2.patch
|
||||
BuildRequires: %{python_module base >= 3.8}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module setuptools_scm}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
@ -31,19 +33,22 @@ BuildRequires: %{python_module wheel}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
Requires: python-asteval >= 0.9.28
|
||||
Requires: python-numpy >= 1.19
|
||||
Requires: python-scipy >= 1.6
|
||||
Requires: python-dill >= 0.3.4
|
||||
Requires: python-numpy >= 1.23
|
||||
Requires: python-scipy >= 1.8
|
||||
Requires: python-uncertainties >= 3.1.4
|
||||
Recommends: python-dill
|
||||
Recommends: python-emcee
|
||||
Recommends: python-matplotlib
|
||||
Recommends: python-pandas
|
||||
BuildArch: noarch
|
||||
# SECTION test requirements
|
||||
BuildRequires: %{python_module asteval >= 0.9.28}
|
||||
BuildRequires: %{python_module numpy >= 1.19}
|
||||
BuildRequires: %{python_module dill >= 0.3.4}
|
||||
BuildRequires: %{python_module flaky}
|
||||
BuildRequires: %{python_module numpy >= 1.23}
|
||||
BuildRequires: %{python_module pytest-cov}
|
||||
BuildRequires: %{python_module pytest}
|
||||
BuildRequires: %{python_module scipy >= 1.6}
|
||||
BuildRequires: %{python_module scipy >= 1.8}
|
||||
BuildRequires: %{python_module uncertainties >= 3.1.4}
|
||||
# /SECTION
|
||||
%python_subpackages
|
||||
@ -68,10 +73,8 @@ estimating Parameter uncertainties from the covariance matrix is
|
||||
questionable.
|
||||
|
||||
%prep
|
||||
%setup -q -n lmfit-%{version}
|
||||
%autosetup -p1 -n lmfit-%{version}
|
||||
sed -i -e '/^#!\//, 1d' lmfit/jsonutils.py
|
||||
# only coverage related pytest flags here. remove
|
||||
sed -i '/addopts/d' setup.cfg
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
@ -97,6 +100,6 @@ fi
|
||||
%doc README.rst AUTHORS.txt
|
||||
%license LICENSE
|
||||
%{python_sitelib}/lmfit
|
||||
%{python_sitelib}/lmfit-%{version}*-info
|
||||
%{python_sitelib}/lmfit-%{version}.dist-info
|
||||
|
||||
%changelog
|
||||
|
343
support-numpy-2.patch
Normal file
343
support-numpy-2.patch
Normal file
@ -0,0 +1,343 @@
|
||||
From eee021f650833f0a2667315b2ab5d8351f0b1a1f Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Newville <newville@cars.uchicago.edu>
|
||||
Date: Sat, 29 Jun 2024 10:27:59 -0500
|
||||
Subject: [PATCH 1/6] clean un-serializable symbols with NumPy2 that should be
|
||||
removed from asteval
|
||||
|
||||
---
|
||||
lmfit/parameter.py | 31 ++++++++++++++++++++++++-------
|
||||
pyproject.toml | 3 ++-
|
||||
2 files changed, 26 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/lmfit/parameter.py b/lmfit/parameter.py
|
||||
index ca9ccc72..b68584c4 100644
|
||||
--- a/lmfit/parameter.py
|
||||
+++ b/lmfit/parameter.py
|
||||
@@ -5,6 +5,8 @@
|
||||
|
||||
from asteval import Interpreter, get_ast_names, valid_symbol_name
|
||||
from numpy import arcsin, array, cos, inf, isclose, sin, sqrt
|
||||
+from numpy import version as npvers
|
||||
+from packaging.version import Version
|
||||
from scipy.linalg import LinAlgError
|
||||
import scipy.special
|
||||
from uncertainties import correlated_values, ufloat
|
||||
@@ -21,6 +23,18 @@
|
||||
SCIPY_FUNCTIONS[fnc_name] = getattr(scipy.special, fnc_name)
|
||||
|
||||
|
||||
+def clean_np2_symbols(user_syms):
|
||||
+ """clean symbols from self._asteval.user_defined_symbols()
|
||||
+ that have been deprecated in numpy 2.0
|
||||
+ This should be a short term fix, as these are removed from asteval.
|
||||
+ """
|
||||
+ if Version(npvers.version) > Version('1.9'):
|
||||
+ for sym in ('ogrid', 'mgrid', 'c_', 'r_', 's_', 'index_exp'):
|
||||
+ if sym in user_syms:
|
||||
+ user_syms.remove(sym)
|
||||
+ return user_syms
|
||||
+
|
||||
+
|
||||
def check_ast_errors(expr_eval):
|
||||
"""Check for errors derived from asteval."""
|
||||
if len(expr_eval.error) > 0:
|
||||
@@ -95,7 +109,8 @@ def update(self, other):
|
||||
if not isinstance(other, Parameters):
|
||||
raise ValueError(f"'{other}' is not a Parameters object")
|
||||
self.add_many(*other.values())
|
||||
- for sym in other._asteval.user_defined_symbols():
|
||||
+ usersyms = clean_np2_symbols(other._asteval.user_defined_symbols())
|
||||
+ for sym in usersyms:
|
||||
self._asteval.symtable[sym] = other._asteval.symtable[sym]
|
||||
return self
|
||||
|
||||
@@ -114,7 +129,8 @@ def __deepcopy__(self, memo):
|
||||
|
||||
# find the symbols that were added by users, not during construction
|
||||
unique_symbols = {}
|
||||
- for key in self._asteval.user_defined_symbols():
|
||||
+ usersyms = clean_np2_symbols(self._asteval.user_defined_symbols())
|
||||
+ for key in usersyms:
|
||||
try:
|
||||
val = deepcopy(self._asteval.symtable[key])
|
||||
unique_symbols[key] = val
|
||||
@@ -161,7 +177,8 @@ def __add__(self, other):
|
||||
raise ValueError(f"'{other}' is not a Parameters object")
|
||||
out = deepcopy(self)
|
||||
out.add_many(*other.values())
|
||||
- for sym in other._asteval.user_defined_symbols():
|
||||
+ usersyms = clean_np2_symbols(other._asteval.user_defined_symbols())
|
||||
+ for sym in usersyms:
|
||||
if sym not in out._asteval.symtable:
|
||||
out._asteval.symtable[sym] = other._asteval.symtable[sym]
|
||||
return out
|
||||
@@ -181,9 +198,9 @@ def __reduce__(self):
|
||||
params = [self[k] for k in self]
|
||||
|
||||
# find the symbols from _asteval.symtable, that need to be remembered.
|
||||
- sym_unique = self._asteval.user_defined_symbols()
|
||||
+ usersyms = clean_np2_symbols(self._asteval.user_defined_symbols())
|
||||
unique_symbols = {key: deepcopy(self._asteval.symtable[key])
|
||||
- for key in sym_unique}
|
||||
+ for key in usersyms}
|
||||
|
||||
return self.__class__, (), {'unique_symbols': unique_symbols,
|
||||
'params': params}
|
||||
@@ -567,9 +584,9 @@ def dumps(self, **kws):
|
||||
|
||||
"""
|
||||
params = [p.__getstate__() for p in self.values()]
|
||||
- sym_unique = self._asteval.user_defined_symbols()
|
||||
+ usersyms = clean_np2_symbols(self._asteval.user_defined_symbols())
|
||||
unique_symbols = {key: encode4js(deepcopy(self._asteval.symtable[key]))
|
||||
- for key in sym_unique}
|
||||
+ for key in usersyms}
|
||||
return json.dumps({'unique_symbols': unique_symbols,
|
||||
'params': params}, **kws)
|
||||
|
||||
diff --git a/pyproject.toml b/pyproject.toml
|
||||
index 623c6a2d..511e9a97 100644
|
||||
--- a/pyproject.toml
|
||||
+++ b/pyproject.toml
|
||||
@@ -10,7 +10,8 @@ dependencies = [
|
||||
"numpy>=1.19",
|
||||
"scipy>=1.6",
|
||||
"uncertainties>=3.1.4",
|
||||
- "dill>=0.3.4"
|
||||
+ "dill>=0.3.4",
|
||||
+ "packaging",
|
||||
]
|
||||
requires-python = ">= 3.8"
|
||||
authors = [
|
||||
|
||||
From 2a195ac6a375b34245f330f8e60824f564e086bd Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Newville <newville@cars.uchicago.edu>
|
||||
Date: Sat, 29 Jun 2024 10:36:34 -0500
|
||||
Subject: [PATCH 2/6] fix numpy2 deprecation
|
||||
|
||||
---
|
||||
tests/test_model.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/test_model.py b/tests/test_model.py
|
||||
index 396ea0b1..24dfbfcd 100644
|
||||
--- a/tests/test_model.py
|
||||
+++ b/tests/test_model.py
|
||||
@@ -900,7 +900,7 @@ def test_independent_var_parsing(self):
|
||||
yatan = stepmod2.eval(pars, x=x)
|
||||
|
||||
assert (yatan-yline).std() > 0.1
|
||||
- assert (yatan-yline).ptp() > 1.0
|
||||
+ assert np.ptp(yatan-yline) > 1.0
|
||||
|
||||
voigtmod = Model(voigt)
|
||||
assert 'x' in voigtmod.independent_vars
|
||||
|
||||
From 48d3b5f9338312078186543044fb5d0109cec429 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Newville <newville@cars.uchicago.edu>
|
||||
Date: Sat, 29 Jun 2024 10:38:23 -0500
|
||||
Subject: [PATCH 3/6] specify numpy>=2 for latest tests
|
||||
|
||||
---
|
||||
azure-pipelines.yml | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
|
||||
index 53c7c7f1..54f70890 100644
|
||||
--- a/azure-pipelines.yml
|
||||
+++ b/azure-pipelines.yml
|
||||
@@ -139,7 +139,7 @@ stages:
|
||||
swig libmpc-dev
|
||||
displayName: 'Install dependencies'
|
||||
- script: |
|
||||
- python -m pip install --upgrade build pip setuptools wheel
|
||||
+ python -m pip install --upgrade build pip setuptools wheel "numpy>=2.0"
|
||||
displayName: 'Install latest available version of Python dependencies'
|
||||
- script: |
|
||||
python -m build
|
||||
@@ -183,7 +183,7 @@ stages:
|
||||
versionSpec: '$(python.version)'
|
||||
displayName: 'Use Python $(python.version)'
|
||||
- script: |
|
||||
- python -m pip install --upgrade build pip setuptools wheel
|
||||
+ python -m pip install --upgrade build pip setuptools wheel "numpy>=2.0"
|
||||
displayName: 'Install latest available version of Python dependencies'
|
||||
- script: |
|
||||
python -m build
|
||||
@@ -218,7 +218,7 @@ stages:
|
||||
versionSpec: '$(python.version)'
|
||||
displayName: 'Use Python $(python.version)'
|
||||
- script: |
|
||||
- python -m pip install --upgrade build pip setuptools wheel
|
||||
+ python -m pip install --upgrade build pip setuptools wheel "numpy>=2.0"
|
||||
displayName: 'Install latest available version of Python dependencies'
|
||||
- script: |
|
||||
python -m build
|
||||
|
||||
From 2a40772b20e2c1c48807c6b50d36217d72472d28 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Newville <newville@cars.uchicago.edu>
|
||||
Date: Sat, 29 Jun 2024 10:55:24 -0500
|
||||
Subject: [PATCH 4/6] numpy2 not available for Python3.8
|
||||
|
||||
---
|
||||
azure-pipelines.yml | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
|
||||
index 54f70890..98f8674b 100644
|
||||
--- a/azure-pipelines.yml
|
||||
+++ b/azure-pipelines.yml
|
||||
@@ -107,13 +107,13 @@ stages:
|
||||
- script: |
|
||||
./codecov -v -f "coverage.xml"
|
||||
displayName: 'Upload to codecov.io'
|
||||
-
|
||||
- stage: tests_latest_dependencies
|
||||
dependsOn: check_codestyle
|
||||
condition: succeededOrFailed()
|
||||
jobs:
|
||||
- job:
|
||||
pool:
|
||||
+
|
||||
vmImage: 'ubuntu-latest'
|
||||
strategy:
|
||||
matrix:
|
||||
@@ -139,7 +139,7 @@ stages:
|
||||
swig libmpc-dev
|
||||
displayName: 'Install dependencies'
|
||||
- script: |
|
||||
- python -m pip install --upgrade build pip setuptools wheel "numpy>=2.0"
|
||||
+ python -m pip install --upgrade build pip setuptools wheel numpy
|
||||
displayName: 'Install latest available version of Python dependencies'
|
||||
- script: |
|
||||
python -m build
|
||||
|
||||
From 4a986540dec49cc714faa726a060c5d9dda66feb Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Newville <newville@cars.uchicago.edu>
|
||||
Date: Sun, 30 Jun 2024 13:46:26 -0500
|
||||
Subject: [PATCH 5/6] remove packaging, clarify when clean_np2_symbols() can be
|
||||
removed
|
||||
|
||||
---
|
||||
lmfit/parameter.py | 10 +++++++---
|
||||
pyproject.toml | 1 -
|
||||
2 files changed, 7 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/lmfit/parameter.py b/lmfit/parameter.py
|
||||
index b68584c4..56e37f94 100644
|
||||
--- a/lmfit/parameter.py
|
||||
+++ b/lmfit/parameter.py
|
||||
@@ -6,7 +6,6 @@
|
||||
from asteval import Interpreter, get_ast_names, valid_symbol_name
|
||||
from numpy import arcsin, array, cos, inf, isclose, sin, sqrt
|
||||
from numpy import version as npvers
|
||||
-from packaging.version import Version
|
||||
from scipy.linalg import LinAlgError
|
||||
import scipy.special
|
||||
from uncertainties import correlated_values, ufloat
|
||||
@@ -26,9 +25,9 @@
|
||||
def clean_np2_symbols(user_syms):
|
||||
"""clean symbols from self._asteval.user_defined_symbols()
|
||||
that have been deprecated in numpy 2.0
|
||||
- This should be a short term fix, as these are removed from asteval.
|
||||
+ This function can be removed when asteval 0.9.33 is no longer supported
|
||||
"""
|
||||
- if Version(npvers.version) > Version('1.9'):
|
||||
+ if npvers.version.startswith('2'):
|
||||
for sym in ('ogrid', 'mgrid', 'c_', 'r_', 's_', 'index_exp'):
|
||||
if sym in user_syms:
|
||||
user_syms.remove(sym)
|
||||
@@ -109,6 +108,7 @@ def update(self, other):
|
||||
if not isinstance(other, Parameters):
|
||||
raise ValueError(f"'{other}' is not a Parameters object")
|
||||
self.add_many(*other.values())
|
||||
+ # FIXME: clear_np2_symbols() can be removed when asteval 0.9.33 is not supported
|
||||
usersyms = clean_np2_symbols(other._asteval.user_defined_symbols())
|
||||
for sym in usersyms:
|
||||
self._asteval.symtable[sym] = other._asteval.symtable[sym]
|
||||
@@ -129,6 +129,7 @@ def __deepcopy__(self, memo):
|
||||
|
||||
# find the symbols that were added by users, not during construction
|
||||
unique_symbols = {}
|
||||
+ # FIXME: clear_np2_symbols() can be removed when asteval 0.9.33 is not supported
|
||||
usersyms = clean_np2_symbols(self._asteval.user_defined_symbols())
|
||||
for key in usersyms:
|
||||
try:
|
||||
@@ -177,6 +178,7 @@ def __add__(self, other):
|
||||
raise ValueError(f"'{other}' is not a Parameters object")
|
||||
out = deepcopy(self)
|
||||
out.add_many(*other.values())
|
||||
+ # FIXME: clear_np2_symbols() can be removed when asteval 0.9.33 is not supported
|
||||
usersyms = clean_np2_symbols(other._asteval.user_defined_symbols())
|
||||
for sym in usersyms:
|
||||
if sym not in out._asteval.symtable:
|
||||
@@ -198,6 +200,7 @@ def __reduce__(self):
|
||||
params = [self[k] for k in self]
|
||||
|
||||
# find the symbols from _asteval.symtable, that need to be remembered.
|
||||
+ # FIXME: clear_np2_symbols() can be removed when asteval 0.9.33 is not supported
|
||||
usersyms = clean_np2_symbols(self._asteval.user_defined_symbols())
|
||||
unique_symbols = {key: deepcopy(self._asteval.symtable[key])
|
||||
for key in usersyms}
|
||||
@@ -584,6 +587,7 @@ def dumps(self, **kws):
|
||||
|
||||
"""
|
||||
params = [p.__getstate__() for p in self.values()]
|
||||
+ # FIXME: clear_np2_symbols() can be removed when asteval 0.9.33 is not supported
|
||||
usersyms = clean_np2_symbols(self._asteval.user_defined_symbols())
|
||||
unique_symbols = {key: encode4js(deepcopy(self._asteval.symtable[key]))
|
||||
for key in usersyms}
|
||||
diff --git a/pyproject.toml b/pyproject.toml
|
||||
index 511e9a97..a40dad96 100644
|
||||
--- a/pyproject.toml
|
||||
+++ b/pyproject.toml
|
||||
@@ -11,7 +11,6 @@ dependencies = [
|
||||
"scipy>=1.6",
|
||||
"uncertainties>=3.1.4",
|
||||
"dill>=0.3.4",
|
||||
- "packaging",
|
||||
]
|
||||
requires-python = ">= 3.8"
|
||||
authors = [
|
||||
|
||||
From 8c49b0cebef3bc1e05f6c8ccf3278f1049d8cae2 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Newville <newville@cars.uchicago.edu>
|
||||
Date: Sun, 30 Jun 2024 13:47:14 -0500
|
||||
Subject: [PATCH 6/6] revert azure pipeline to not specify numpy version for
|
||||
most tests
|
||||
|
||||
---
|
||||
azure-pipelines.yml | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
|
||||
index 98f8674b..03a3b132 100644
|
||||
--- a/azure-pipelines.yml
|
||||
+++ b/azure-pipelines.yml
|
||||
@@ -139,7 +139,7 @@ stages:
|
||||
swig libmpc-dev
|
||||
displayName: 'Install dependencies'
|
||||
- script: |
|
||||
- python -m pip install --upgrade build pip setuptools wheel numpy
|
||||
+ python -m pip install --upgrade build pip setuptools wheel
|
||||
displayName: 'Install latest available version of Python dependencies'
|
||||
- script: |
|
||||
python -m build
|
||||
@@ -183,7 +183,7 @@ stages:
|
||||
versionSpec: '$(python.version)'
|
||||
displayName: 'Use Python $(python.version)'
|
||||
- script: |
|
||||
- python -m pip install --upgrade build pip setuptools wheel "numpy>=2.0"
|
||||
+ python -m pip install --upgrade build pip setuptools wheel
|
||||
displayName: 'Install latest available version of Python dependencies'
|
||||
- script: |
|
||||
python -m build
|
||||
@@ -218,7 +218,7 @@ stages:
|
||||
versionSpec: '$(python.version)'
|
||||
displayName: 'Use Python $(python.version)'
|
||||
- script: |
|
||||
- python -m pip install --upgrade build pip setuptools wheel "numpy>=2.0"
|
||||
+ python -m pip install --upgrade build pip setuptools wheel
|
||||
displayName: 'Install latest available version of Python dependencies'
|
||||
- script: |
|
||||
python -m build
|
Loading…
Reference in New Issue
Block a user