Skip to content

Commit

Permalink
test: Test parquet extra on Python 3.13 (#2734)
Browse files Browse the repository at this point in the history
* test: Test `parquet` extra on Python 3.13

* Remove xfails
  • Loading branch information
edgarrmondragon authored Oct 28, 2024
1 parent f1c32e8 commit 73e7f14
Show file tree
Hide file tree
Showing 6 changed files with 252 additions and 194 deletions.
4 changes: 0 additions & 4 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,6 @@ def tests(session: nox.Session) -> None:
"s3",
]

if session.python == "3.13":
# https://github.com/apache/arrow/issues/43519
extras.remove("parquet")

session.install(f".[{','.join(extras)}]")
session.install(*test_dependencies)

Expand Down
412 changes: 248 additions & 164 deletions poetry.lock

Large diffs are not rendered by default.

5 changes: 4 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,10 @@ numpy = [
{ version = ">=1.22,<2.1", python = "==3.9", optional = true },
{ version = ">=1.22", python = ">=3.10", optional = true },
]
pyarrow = { version = ">=13", optional = true }
pyarrow = [
{ version = ">=13,<18", python = "==3.8", optional = true },
{ version = ">=13", python = ">=3.9", optional = true },
]

# Testing dependencies installed as optional 'testing' extras
pytest = {version=">=7.2.1", optional = true}
Expand Down
13 changes: 0 additions & 13 deletions tests/contrib/test_batch_encoder_parquet.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,15 @@

from __future__ import annotations

import sys
import typing as t

import pytest

from singer_sdk.contrib.batch_encoder_parquet import ParquetBatcher
from singer_sdk.helpers._batch import BatchConfig, ParquetEncoding, StorageTarget

if t.TYPE_CHECKING:
from pathlib import Path


@pytest.mark.xfail(
sys.version_info >= (3, 13),
reason="Parquet not supported on Python 3.13 due to PyArrow incompatibility",
strict=True,
)
def test_batcher(tmp_path: Path) -> None:
root = tmp_path.joinpath("batches")
root.mkdir()
Expand All @@ -38,11 +30,6 @@ def test_batcher(tmp_path: Path) -> None:
assert batches[0][0].endswith(".parquet")


@pytest.mark.xfail(
sys.version_info >= (3, 13),
reason="Parquet not supported on Python 3.13 due to PyArrow incompatibility",
strict=True,
)
def test_batcher_gzip(tmp_path: Path) -> None:
root = tmp_path.joinpath("batches")
root.mkdir()
Expand Down
6 changes: 0 additions & 6 deletions tests/samples/test_target_parquet.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
from __future__ import annotations

import shutil
import sys
import uuid
from pathlib import Path

Expand All @@ -24,11 +23,6 @@
)


@pytest.mark.xfail(
sys.version_info >= (3, 13),
reason="Parquet not supported on Python 3.13 due to PyArrow incompatibility",
raises=NameError,
)
class TestSampleTargetParquet(StandardTests):
"""Standard Target Tests."""

Expand Down
6 changes: 0 additions & 6 deletions tests/samples/test_target_sqlite.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

import json
import sqlite3
import sys
import typing as t
from copy import deepcopy
from io import StringIO
Expand Down Expand Up @@ -368,11 +367,6 @@ def test_sqlite_process_batch_message(
assert cursor.fetchone()[0] == 4


@pytest.mark.xfail(
sys.version_info >= (3, 13),
reason="Parquet not supported on Python 3.13 due to PyArrow incompatibility",
strict=True,
)
def test_sqlite_process_batch_parquet(
sqlite_target_test_config: dict,
sqlite_sample_target_batch: SQLiteTarget,
Expand Down

0 comments on commit 73e7f14

Please sign in to comment.