Skip to content

Commit 45568a1

Browse files
authored
CLN: remove pyarrow<1 compat (#44139)
1 parent db34bae commit 45568a1

File tree

13 files changed

+20
-58
lines changed

13 files changed

+20
-58
lines changed

ci/deps/actions-38-locale.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ dependencies:
3535
- xlsxwriter
3636
- xlwt
3737
- moto
38-
- pyarrow=1.0.0
38+
- pyarrow=1.0.1
3939
- pip
4040
- pip:
4141
- pyxlsb

pandas/compat/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
np_version_under1p20,
2121
)
2222
from pandas.compat.pyarrow import (
23-
pa_version_under1p0,
23+
pa_version_under1p01,
2424
pa_version_under2p0,
2525
pa_version_under3p0,
2626
pa_version_under4p0,
@@ -153,7 +153,7 @@ def get_lzma_file(lzma):
153153
"np_datetime64_compat",
154154
"np_version_under1p19",
155155
"np_version_under1p20",
156-
"pa_version_under1p0",
156+
"pa_version_under1p01",
157157
"pa_version_under2p0",
158158
"pa_version_under3p0",
159159
"pa_version_under4p0",

pandas/compat/_optional.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"odfpy": "1.4.1",
2222
"openpyxl": "3.0.2",
2323
"pandas_gbq": "0.14.0",
24-
"pyarrow": "0.17.0",
24+
"pyarrow": "1.0.1",
2525
"pytest": "6.0",
2626
"pyxlsb": "1.0.6",
2727
"s3fs": "0.4.0",

pandas/compat/pyarrow.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77

88
_pa_version = pa.__version__
99
_palv = Version(_pa_version)
10-
pa_version_under1p0 = _palv < Version("1.0.0")
10+
pa_version_under1p01 = _palv < Version("1.0.1")
1111
pa_version_under2p0 = _palv < Version("2.0.0")
1212
pa_version_under3p0 = _palv < Version("3.0.0")
1313
pa_version_under4p0 = _palv < Version("4.0.0")
1414
pa_version_under5p0 = _palv < Version("5.0.0")
1515
pa_version_under6p0 = _palv < Version("6.0.0")
1616
except ImportError:
17-
pa_version_under1p0 = True
17+
pa_version_under1p01 = True
1818
pa_version_under2p0 = True
1919
pa_version_under3p0 = True
2020
pa_version_under4p0 = True

pandas/core/arrays/string_.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
Scalar,
2020
type_t,
2121
)
22-
from pandas.compat import pa_version_under1p0
22+
from pandas.compat import pa_version_under1p01
2323
from pandas.compat.numpy import function as nv
2424

2525
from pandas.core.dtypes.base import (
@@ -104,11 +104,10 @@ def __init__(self, storage=None):
104104
raise ValueError(
105105
f"Storage must be 'python' or 'pyarrow'. Got {storage} instead."
106106
)
107-
if storage == "pyarrow" and pa_version_under1p0:
107+
if storage == "pyarrow" and pa_version_under1p01:
108108
raise ImportError(
109109
"pyarrow>=1.0.0 is required for PyArrow backed StringArray."
110110
)
111-
112111
self.storage = storage
113112

114113
@property

pandas/core/arrays/string_arrow.py

+3-6
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
npt,
2828
)
2929
from pandas.compat import (
30-
pa_version_under1p0,
30+
pa_version_under1p01,
3131
pa_version_under2p0,
3232
pa_version_under3p0,
3333
pa_version_under4p0,
@@ -63,10 +63,7 @@
6363
)
6464
from pandas.core.strings.object_array import ObjectStringArrayMixin
6565

66-
# PyArrow backed StringArrays are available starting at 1.0.0, but this
67-
# file is imported from even if pyarrow is < 1.0.0, before pyarrow.compute
68-
# and its compute functions existed. GH38801
69-
if not pa_version_under1p0:
66+
if not pa_version_under1p01:
7067
import pyarrow as pa
7168
import pyarrow.compute as pc
7269

@@ -87,7 +84,7 @@
8784

8885

8986
def _chk_pyarrow_available() -> None:
90-
if pa_version_under1p0:
87+
if pa_version_under1p01:
9188
msg = "pyarrow>=1.0.0 is required for PyArrow backed StringArray."
9289
raise ImportError(msg)
9390

pandas/tests/arrays/masked/test_arrow_compat.py

+1-8
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import numpy as np
22
import pytest
33

4-
import pandas.util._test_decorators as td
5-
64
import pandas as pd
75
import pandas._testing as tm
86

9-
pa = pytest.importorskip("pyarrow", minversion="0.17.0")
7+
pa = pytest.importorskip("pyarrow", minversion="1.0.1")
108

119
from pandas.core.arrays._arrow_utils import pyarrow_array_to_numpy_and_mask
1210

@@ -29,7 +27,6 @@ def test_arrow_array(data):
2927
assert arr.equals(expected)
3028

3129

32-
@td.skip_if_no("pyarrow")
3330
def test_arrow_roundtrip(data):
3431
df = pd.DataFrame({"a": data})
3532
table = pa.table(df)
@@ -39,7 +36,6 @@ def test_arrow_roundtrip(data):
3936
tm.assert_frame_equal(result, df)
4037

4138

42-
@td.skip_if_no("pyarrow")
4339
def test_arrow_load_from_zero_chunks(data):
4440
# GH-41040
4541

@@ -54,7 +50,6 @@ def test_arrow_load_from_zero_chunks(data):
5450
tm.assert_frame_equal(result, df)
5551

5652

57-
@td.skip_if_no("pyarrow")
5853
def test_arrow_from_arrow_uint():
5954
# https://github.com/pandas-dev/pandas/issues/31896
6055
# possible mismatch in types
@@ -66,7 +61,6 @@ def test_arrow_from_arrow_uint():
6661
tm.assert_extension_array_equal(result, expected)
6762

6863

69-
@td.skip_if_no("pyarrow")
7064
def test_arrow_sliced(data):
7165
# https://github.com/pandas-dev/pandas/issues/38525
7266

@@ -161,7 +155,6 @@ def test_pyarrow_array_to_numpy_and_mask(np_dtype_to_arrays):
161155
tm.assert_numpy_array_equal(mask, mask_expected_empty)
162156

163157

164-
@td.skip_if_no("pyarrow")
165158
def test_from_arrow_type_error(request, data):
166159
# ensure that __from_arrow__ returns a TypeError when getting a wrong
167160
# array type

pandas/tests/arrays/period/test_arrow_compat.py

+1-18
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import pytest
22

3-
import pandas.util._test_decorators as td
4-
53
from pandas.core.dtypes.dtypes import PeriodDtype
64

75
import pandas as pd
@@ -11,10 +9,9 @@
119
period_array,
1210
)
1311

14-
pyarrow_skip = td.skip_if_no("pyarrow", min_version="0.17.0")
12+
pa = pytest.importorskip("pyarrow", minversion="1.0.1")
1513

1614

17-
@pyarrow_skip
1815
def test_arrow_extension_type():
1916
from pandas.core.arrays._arrow_utils import ArrowPeriodType
2017

@@ -29,7 +26,6 @@ def test_arrow_extension_type():
2926
assert not hash(p1) == hash(p3)
3027

3128

32-
@pyarrow_skip
3329
@pytest.mark.parametrize(
3430
"data, freq",
3531
[
@@ -38,8 +34,6 @@ def test_arrow_extension_type():
3834
],
3935
)
4036
def test_arrow_array(data, freq):
41-
import pyarrow as pa
42-
4337
from pandas.core.arrays._arrow_utils import ArrowPeriodType
4438

4539
periods = period_array(data, freq=freq)
@@ -62,10 +56,7 @@ def test_arrow_array(data, freq):
6256
pa.array(periods, type=ArrowPeriodType("T"))
6357

6458

65-
@pyarrow_skip
6659
def test_arrow_array_missing():
67-
import pyarrow as pa
68-
6960
from pandas.core.arrays._arrow_utils import ArrowPeriodType
7061

7162
arr = PeriodArray([1, 2, 3], freq="D")
@@ -78,10 +69,7 @@ def test_arrow_array_missing():
7869
assert result.storage.equals(expected)
7970

8071

81-
@pyarrow_skip
8272
def test_arrow_table_roundtrip():
83-
import pyarrow as pa
84-
8573
from pandas.core.arrays._arrow_utils import ArrowPeriodType
8674

8775
arr = PeriodArray([1, 2, 3], freq="D")
@@ -100,10 +88,8 @@ def test_arrow_table_roundtrip():
10088
tm.assert_frame_equal(result, expected)
10189

10290

103-
@pyarrow_skip
10491
def test_arrow_load_from_zero_chunks():
10592
# GH-41040
106-
import pyarrow as pa
10793

10894
from pandas.core.arrays._arrow_utils import ArrowPeriodType
10995

@@ -120,10 +106,7 @@ def test_arrow_load_from_zero_chunks():
120106
tm.assert_frame_equal(result, df)
121107

122108

123-
@pyarrow_skip
124109
def test_arrow_table_roundtrip_without_metadata():
125-
import pyarrow as pa
126-
127110
arr = PeriodArray([1, 2, 3], freq="H")
128111
arr[1] = pd.NaT
129112
df = pd.DataFrame({"a": arr})

pandas/tests/arrays/string_/test_string_arrow.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import numpy as np
44
import pytest
55

6-
from pandas.compat import pa_version_under1p0
6+
from pandas.compat import pa_version_under1p01
77

88
import pandas as pd
99
import pandas._testing as tm
@@ -14,7 +14,7 @@
1414
from pandas.core.arrays.string_arrow import ArrowStringArray
1515

1616
skip_if_no_pyarrow = pytest.mark.skipif(
17-
pa_version_under1p0,
17+
pa_version_under1p01,
1818
reason="pyarrow>=1.0.0 is required for PyArrow backed StringArray",
1919
)
2020

@@ -118,7 +118,7 @@ def test_from_sequence_wrong_dtype_raises():
118118

119119

120120
@pytest.mark.skipif(
121-
not pa_version_under1p0,
121+
not pa_version_under1p01,
122122
reason="pyarrow is installed",
123123
)
124124
def test_pyarrow_not_installed_raises():

pandas/tests/extension/arrow/test_bool.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from pandas.api.types import is_bool_dtype
77
from pandas.tests.extension import base
88

9-
pytest.importorskip("pyarrow", minversion="0.13.0")
9+
pytest.importorskip("pyarrow", minversion="1.0.1")
1010

1111
from pandas.tests.extension.arrow.arrays import ( # isort:skip
1212
ArrowBoolArray,

pandas/tests/extension/arrow/test_timestamp.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
register_extension_dtype,
1313
)
1414

15-
pytest.importorskip("pyarrow", minversion="0.13.0")
15+
pytest.importorskip("pyarrow", minversion="1.0.1")
1616

1717
import pyarrow as pa # isort:skip
1818

pandas/tests/io/test_feather.py

+1-6
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@
22
import numpy as np
33
import pytest
44

5-
import pandas.util._test_decorators as td
6-
75
import pandas as pd
86
import pandas._testing as tm
97

108
from pandas.io.feather_format import read_feather, to_feather # isort:skip
119

12-
pyarrow = pytest.importorskip("pyarrow")
10+
pyarrow = pytest.importorskip("pyarrow", minversion="1.0.1")
1311

1412

1513
filter_sparse = pytest.mark.filterwarnings("ignore:The Sparse")
@@ -120,7 +118,6 @@ def test_read_columns(self):
120118
columns = ["col1", "col3"]
121119
self.check_round_trip(df, expected=df[columns], columns=columns)
122120

123-
@td.skip_if_no("pyarrow", min_version="0.17.1")
124121
def read_columns_different_order(self):
125122
# GH 33878
126123
df = pd.DataFrame({"A": [1, 2], "B": ["x", "y"], "C": [True, False]})
@@ -180,12 +177,10 @@ def test_path_localpath(self):
180177
result = tm.round_trip_localpath(df.to_feather, read_feather)
181178
tm.assert_frame_equal(df, result)
182179

183-
@td.skip_if_no("pyarrow", min_version="0.17.0")
184180
def test_passthrough_keywords(self):
185181
df = tm.makeDataFrame().reset_index()
186182
self.check_round_trip(df, write_kwargs={"version": 1})
187183

188-
@td.skip_if_no("pyarrow")
189184
@tm.network
190185
def test_http_path(self, feather_file):
191186
# GH 29055

pandas/tests/io/test_parquet.py

+1-6
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515

1616
from pandas.compat import is_platform_windows
1717
from pandas.compat.pyarrow import (
18-
pa_version_under1p0,
1918
pa_version_under2p0,
2019
pa_version_under5p0,
2120
)
@@ -784,11 +783,7 @@ def test_s3_roundtrip_for_dir(
784783
# only used if partition field is string, but this changed again to use
785784
# category dtype for all types (not only strings) in pyarrow 2.0.0
786785
if partition_col:
787-
partition_col_type = (
788-
"int32"
789-
if (not pa_version_under1p0) and pa_version_under2p0
790-
else "category"
791-
)
786+
partition_col_type = "int32" if pa_version_under2p0 else "category"
792787

793788
expected_df[partition_col] = expected_df[partition_col].astype(
794789
partition_col_type

0 commit comments

Comments
 (0)