-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update dependency numpy to v2 #65
base: main
Are you sure you want to change the base?
Conversation
bindings/python/pyproject.toml
Outdated
@@ -17,7 +17,7 @@ requires = [ | |||
"setuptools>=42", | |||
"scikit-build", | |||
"cmake>=3.21", # Keep in-sync with `CMakeLists.txt` | |||
"numpy>=1.10.0, <2", # Keep in-sync with `setup.py` | |||
"numpy>=2.2, <3", # Keep in-sync with `setup.py` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should support 2.0 and 2.1 too. The deprecation schedule suggested by NumPy shows them available for a long time:
https://scientific-python.org/specs/spec-0000/#2026---quarter-2
"numpy>=2.2, <3", # Keep in-sync with `setup.py` | |
"numpy>=2, <3", # Keep in-sync with `setup.py` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think that for build requirements we should pin exact versions instead of >= so we would have reproducible results
While for install_requires we can use ranges.
As for numpy specifically we should build with 2.0 and put run dependency as >=1.16 The way how numpy went with 2.0 migration is that they support this configuration.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I understand, a reproducible build requires exact pinning for both install and build requirements. I think pyproject.toml
and setup.py
are not the best tools for exact pinning. I recommend looking at uv
if we want to use exact pinning:
https://docs.astral.sh/uv/concepts/projects/layout/#the-lockfile
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, uv would work fine. but some changes are still required for numpy - building with 2.0 and allowing run dependency for 1.16 +
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
This PR contains the following updates:
>=1.10.0, <2
->>=2.2, <3
Release Notes
numpy/numpy (numpy)
v2.2.0
Compare Source
v2.1.3
: 2.1.3 (Nov 2, 2024)Compare Source
NumPy 2.1.3 Release Notes
NumPy 2.1.3 is a maintenance release that fixes bugs and regressions
discovered after the 2.1.2 release. This release also adds support
for free threaded Python 3.13 on Windows.
The Python versions supported by this release are 3.10-3.13.
Improvements
Fixed a number of issues around promotion for string ufuncs with
StringDType arguments. Mixing StringDType and the fixed-width DTypes
using the string ufuncs should now generate much more uniform
results.
(gh-27636)
Changes
numpy.fix
now won't perform casting to a floatingdata-type for integer and boolean data-type input arrays.
(gh-26766)
Contributors
A total of 15 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.
Pull requests merged
A total of 21 pull requests were merged for this release.
python
to 3.12 in environment.ymlChecksums
MD5
SHA256
v2.1.2
Compare Source
v2.1.1
: 2.1.1 (Sep 3, 2024)Compare Source
NumPy 2.1.1 Release Notes
NumPy 2.1.1 is a maintenance release that fixes bugs and regressions
discovered after the 2.1.0 release.
The Python versions supported by this release are 3.10-3.13.
Contributors
A total of 7 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.
Pull requests merged
A total of 10 pull requests were merged for this release.
Checksums
MD5
SHA256
v2.1.0
Compare Source
v2.0.2
: NumPy 2.0.2 release (Aug 26, 2024)Compare Source
NumPy 2.0.2 Release Notes
NumPy 2.0.2 is a maintenance release that fixes bugs and regressions
discovered after the 2.0.1 release.
The Python versions supported by this release are 3.9-3.12.
Contributors
A total of 13 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.
Pull requests merged
A total of 19 pull requests were merged for this release.
alltrue
andsometrue
npyv_loadable_stride_
functions for ldexp and...np.save
Checksums
MD5
SHA256
v2.0.1
Compare Source
NumPy 2.0.1 Release Notes
NumPy 2.0.1 is a maintenance release that fixes bugs and regressions
discovered after the 2.0.0 release. NumPy 2.0.1 is the last planned
release in the 2.0.x series, 2.1.0rc1 should be out shortly.
The Python versions supported by this release are 3.9-3.12.
NOTE: Do not use the GitHub generated "Source code" files listed in the "Assets", they are garbage.
Improvements
np.quantile
with methodclosest_observation
chooses nearest even order statisticThis changes the definition of nearest for border cases from the nearest
odd order statistic to nearest even order statistic. The numpy
implementation now matches other reference implementations.
(gh-26656)
Contributors
A total of 15 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.
Pull requests merged
A total of 24 pull requests were merged for this release.
ma/extras.pyi
stubset_printoptions
loadtxt
PyArray_FillWithScalar
Checksums
MD5
SHA256
v2.0.0
Compare Source
NumPy 2.0.0 Release Notes
NumPy 2.0.0 is the first major release since 2006. It is the result of
11 months of development since the last feature release and is the work
of 212 contributors spread over 1078 pull requests. It contains a large
number of exciting new features as well as changes to both the Python
and C APIs.
This major release includes breaking changes that could not happen in a
regular minor (feature) release - including an ABI break, changes to
type promotion rules, and API changes which may not have been emitting
deprecation warnings in 1.26.x. Key documents related to how to adapt to
changes in NumPy 2.0, in addition to these release notes, include:
Highlights
Highlights of this release include:
numpy.dtypes.StringDType
and a newnumpy.strings
namespace with performant ufuncs for string operations,float32
andlongdouble
in allnumpy.fft
functions,numpy
namespace.
sort
,argsort
,partition
,argpartition
have beenaccelerated through the use of the Intel x86-simd-sort and
Google Highway libraries, and may see large (hardware-specific)
speedups,
significant performance improvements for linear algebra
operations on macOS, and wheels that are about 3 times smaller,
numpy.char
fixed-length string operations havebeen accelerated by implementing ufuncs that also support
numpy.dtypes.StringDType
in addition to thefixed-length string dtypes,
numpy.lib.introspect.opt_func_info
, to determinewhich hardware-specific kernels are available and will be
dispat
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.