jorisvandenbossche commented on code in PR #43691: URL: https://github.com/apache/arrow/pull/43691#discussion_r1726543311
########## python/requirements-wheel-test.txt: ########## @@ -5,22 +5,12 @@ pytest pytz tzdata; sys_platform == 'win32' -numpy==1.21.3; platform_system == "Linux" and platform_machine == "aarch64" and python_version < "3.11" -numpy==1.23.4; python_version == "3.11" -numpy==1.26.0; python_version >= "3.12" -numpy==1.19.5; platform_system == "Linux" and platform_machine != "aarch64" and python_version < "3.9" -numpy==1.21.3; platform_system == "Linux" and platform_machine != "aarch64" and python_version >= "3.9" and python_version < "3.11" -numpy==1.21.3; platform_system == "Darwin" and platform_machine == "arm64" and python_version < "3.11" -numpy==1.19.5; platform_system == "Darwin" and platform_machine != "arm64" and python_version < "3.9" -numpy==1.21.3; platform_system == "Darwin" and platform_machine != "arm64" and python_version >= "3.9" and python_version < "3.11" -numpy==1.19.5; platform_system == "Windows" and python_version < "3.9" -numpy==1.21.3; platform_system == "Windows" and python_version >= "3.9" and python_version < "3.11" +# We generally test with the oldest numpy version that supports a given Python +# version. However, there is no need to make this strictly the oldest version, +# so it can be broadened to have a single version specification across platforms. +# (`~=x.y.z` specifies a compatible release as `>=x.y.z, == x.y.*`) +numpy~=1.21.3; python_version < "3.11" Review Comment: I think that table is a recommendation about the versions to support for other projects (that rely on Python and numpy), not necessarily the Python/numpy version that supports each other. So if I interpret it correctly, my reading is that, for example, at Apr 05, 2024, it is recommended to support Python 3.10+ and NumPy 1.23+. But for the oldest NumPy version to support Python 3.10, I looked at the release notes, for example https://numpy.org/doc/stable/release/1.21.3-notes.html indicates it is the first version to support 3.10 In theory we could pin to an older version of numpy for Python 3.9 (https://numpy.org/doc/stable/release/1.19.3-notes.html), but the problem is that then we need to start using a different version depending on the architecture, because at the time numpy first supported Python 3.9 (numpy 1.19.3), there were not yet arm64 wheels. Given it is not super critical to test exactly with the oldest, but we mostly want to test with some other version than what we are building with (which is nowadays the most recent numpy version), I decided to keep the version pins simpler (as explained in the comment that I added to the txt file) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
