python3-pandas: Upgrade 2.2.3 -> 3.0.0

Upgrade to release 3.0.0:

- Dedicated string data type by default
- Consistent copy/view behaviour with Copy-on-Write (CoW) (a.k.a.
  getting rid of the SettingWithCopyWarning)
- New default resolution for datetime-like data
- Initial support for the new pd.col syntax

License-Update: Update license year to 2026

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Leon Anavi
2026-01-26 13:23:18 +02:00
committed by Khem Raj
parent 9769266642
commit 48dd13d374
4 changed files with 21 additions and 93 deletions

View File

@@ -1,4 +1,4 @@
From 16dd09e6c79768a24f5a50ec5985e0b6fdf17f35 Mon Sep 17 00:00:00 2001
From 65db03f03dbb61172c6eea8b34d11ea9eb0c6d77 Mon Sep 17 00:00:00 2001
From: Gyorgy Sarvari <skandigraun@gmail.com>
Date: Mon, 10 Mar 2025 13:52:11 +0100
Subject: [PATCH] BLD: add option to specify numpy header location
@@ -19,24 +19,29 @@ include folder location, fall back to the value of this meson option.
Upstream-Status: Submitted [https://github.com/pandas-dev/pandas/pull/61095]
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
---
meson.options | 1 +
pandas/meson.build | 13 ++++++++++---
2 files changed, 11 insertions(+), 3 deletions(-)
pandas/meson.build | 12 +++++++++---
2 files changed, 10 insertions(+), 3 deletions(-)
create mode 100644 meson.options
diff --git a/meson.options b/meson.options
new file mode 100644
index 0000000..3d3a18d
--- /dev/null
+++ b/meson.options
@@ -0,0 +1 @@
+option('numpy_inc_dir', type : 'string', description : 'The absolute path to the numpy headers')
diff --git a/pandas/meson.build b/pandas/meson.build
index 840ac25..2c3423e 100644
--- a/pandas/meson.build
+++ b/pandas/meson.build
@@ -3,17 +3,24 @@ incdir_numpy = run_command(py,
'-c',
'''
@@ -4,17 +4,23 @@ incdir_numpy = run_command(
'-c',
'''
import os
-import numpy as np
+
+try:
+ import numpy as np
+ base_incdir = np.get_include()
@@ -53,9 +58,12 @@ Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
- incdir = np.get_include()
+ incdir = base_incdir
print(incdir)
'''
],
+ env: {'NUMPY_INC_DIR': get_option('numpy_inc_dir')},
check: true
''',
],
+ env: {'NUMPY_INC_DIR': get_option('numpy_inc_dir')},
check: true,
).stdout().strip()
--
2.47.3

View File

@@ -1,43 +0,0 @@
From 80274cd3a0746ddc5421643dd40d47bdf3c6a68c Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 26 Sep 2025 15:47:53 +0800
Subject: [PATCH] fix reproducibility issue
The type of new_value is either `npy_timedelta' or `int64_t'
In build/pandas/_libs/tslibs/timedeltas.cpython-313-x86_64-linux-gnu.so.p/pandas/_libs/tslibs/timedeltas.pyx.c
..
npy_timedelta __pyx_v_new_value;
...
In build/pandas/_libs/tslibs/timedeltas.cpython-313-x86_64-linux-gnu.so.p/pandas/_libs/tslibs/timedeltas.pyx.c
...
__pyx_t_5numpy_int64_t __pyx_v_new_value;
...
Explicitly define it as int64_t to assure the generated source is
reproducibility between builds
Upstream-Status: Submitted [https://github.com/pandas-dev/pandas/pull/62459]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
pandas/_libs/tslibs/timedeltas.pyx | 3 +++
1 file changed, 3 insertions(+)
diff --git a/pandas/_libs/tslibs/timedeltas.pyx b/pandas/_libs/tslibs/timedeltas.pyx
index f6c69cf..34ac9e7 100644
--- a/pandas/_libs/tslibs/timedeltas.pyx
+++ b/pandas/_libs/tslibs/timedeltas.pyx
@@ -1820,6 +1820,9 @@ class Timedelta(_Timedelta):
disallow_ambiguous_unit(unit)
+ cdef:
+ int64_t new_value;
+
# GH 30543 if pd.Timedelta already passed, return it
# check that only value is passed
if isinstance(value, _Timedelta):
--
2.34.1

View File

@@ -1,32 +0,0 @@
From d46b8720a6bccb345f6bdd7ee2f5c357e7eb227b Mon Sep 17 00:00:00 2001
From: Trevor Gamblin <tgamblin@baylibre.com>
Date: Mon, 12 Aug 2024 11:27:36 -0400
Subject: [PATCH] pyproject.toml: don't pin dependency versions
Pandas will fail to build if the exact versions aren't found, but newer
ones actually work. Since newer versions of pandas are adjusting the
requires section of pyproject toml further, just patch it for us.
Upstream-Status: Inappropriate [OE-Specific]
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
---
pyproject.toml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -2,10 +2,10 @@
# Minimum requirements for the build system to execute.
# See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
requires = [
- "meson-python==0.13.1",
- "meson==1.2.1",
+ "meson-python>=0.13.1",
+ "meson>=1.2.1",
"wheel",
- "Cython~=3.0.5", # Note: sync with setup.py, environment.yml and asv.conf.json
+ "Cython>=3.0.5", # Note: sync with setup.py, environment.yml and asv.conf.json
# Force numpy higher than 2.0, so that built wheels are compatible
# with both numpy 1 and 2
"numpy>=2.0",