Skip to content

Commit e7ed128

Browse files
datafusion: Add version 54.1.0 (#2742)
* datafusion: Add version 54.1.0 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> * datafusion: carry forward riscv64 patches to 54.1.0 Nightly version bump omitted the patches/datafusion/<version> directory for 54.1.0, so the build's unconditional `git apply .../*.patch` step failed with "No such file or directory" before any build/test ran. Copied forward the same patch set from 54.0.0 (unchanged since then). --------- Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> Co-authored-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> Co-authored-by: Ludovic Henry <git@ludovic.dev>
1 parent 99c0a73 commit e7ed128

2 files changed

Lines changed: 65 additions & 0 deletions

File tree

‎docs/packages/datafusion.yaml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ versions:
1212
- filename: datafusion-54.0.0-cp314-cp314t-manylinux_2_39_riscv64.whl
1313
sha256: 947bf180e7c7694796f0d64f3fedca7408f339fd7ad01dc37b130fe32436ae0a
1414
requires-python: '>=3.10'
15+
- version: 54.1.0
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2+
From: Ludovic Henry <git@ludovic.dev>
3+
Date: Fri, 19 Sep 2026 10:00:00 +0200
4+
Subject: [PATCH] test: import arro3 and nanoarrow lazily in
5+
test_scalar_conversion
6+
7+
Upstream-Status: Inappropriate [nanoarrow publishes no riscv64 wheel]
8+
9+
python/tests/test_expr.py imports arro3.core and nanoarrow at module
10+
scope, but the only test using either is test_scalar_conversion. nanoarrow
11+
is a separate compiled project with no riscv64 wheel on PyPI or on
12+
pypi.riseproject.dev, so that module-scope import makes the whole file --
13+
roughly 185 other tests -- fail to collect on riscv64.
14+
15+
Move both imports into the one test that needs them, using
16+
pytest.importorskip, the mechanism the suite already uses for pandas,
17+
polars and pyarrow.cffi in test_context.py and test_dataframe.py. The
18+
rest of the file then runs, and test_scalar_conversion skips instead of
19+
erroring. The pyarrow and __arrow_c_array__ assertions it also carries
20+
are covered by the pyarrow-only paths elsewhere in the file.
21+
22+
Signed-off-by: Ludovic Henry <git@ludovic.dev>
23+
---
24+
diff --git a/python/tests/test_expr.py b/python/tests/test_expr.py
25+
index 606c6a9..1c891a1 100644
26+
--- a/python/tests/test_expr.py
27+
+++ b/python/tests/test_expr.py
28+
@@ -20,8 +20,6 @@ from concurrent.futures import ThreadPoolExecutor
29+
from datetime import date, datetime, time, timezone
30+
from decimal import Decimal
31+
32+
-import arro3.core
33+
-import nanoarrow
34+
import pyarrow as pa
35+
import pytest
36+
from datafusion import (
37+
@@ -973,6 +971,9 @@ def test_literal_metadata(ctx):
38+
39+
40+
def test_scalar_conversion() -> None:
41+
+ arro3_core = pytest.importorskip("arro3.core")
42+
+ nanoarrow = pytest.importorskip("nanoarrow")
43+
+
44+
class WrappedPyArrow:
45+
"""Wrapper class for testing __arrow_c_array__."""
46+
47+
@@ -994,7 +995,7 @@ def test_scalar_conversion() -> None:
48+
assert expected_value == lit(na_scalar)
49+
50+
# Test pyo3
51+
- arro3_scalar = arro3.core.Scalar(1, type=arro3.core.DataType.int32())
52+
+ arro3_scalar = arro3_core.Scalar(1, type=arro3_core.DataType.int32())
53+
assert expected_value == lit(arro3_scalar)
54+
55+
generic_scalar = WrappedPyArrow(pa.array([1]))
56+
@@ -1008,7 +1009,7 @@ def test_scalar_conversion() -> None:
57+
na_array = nanoarrow.Array([1, 2, 3], nanoarrow.int32())
58+
assert expected_value == lit(na_array)
59+
60+
- arro3_array = arro3.core.Array([1, 2, 3], type=arro3.core.DataType.int32())
61+
+ arro3_array = arro3_core.Array([1, 2, 3], type=arro3_core.DataType.int32())
62+
assert expected_value == lit(arro3_array)
63+
64+
generic_array = WrappedPyArrow(pa.array([1, 2, 3]))

0 commit comments

Comments
 (0)