Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/dataframe.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ Compatibility notes
.. NOTE::

Please note that DataFrame support for pandas and Dask is only validated
with Python 3.8 and higher, and SQLAlchemy 1.4 and higher. We recommend
with Python 3.10 and higher, and SQLAlchemy 1.4 and higher. We recommend
to use the most recent versions of those libraries.


Expand Down
3 changes: 0 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,8 @@ dynamic = [
"version",
]
dependencies = [
"backports.zoneinfo<1; python_version<'3.9'",
"crate>=2.2.1,<3",
"geojson>=2.5,<4",
"importlib-metadata; python_version<'3.8'",
"importlib-resources; python_version<'3.9'",
"sqlalchemy>=1,<2.2",
"verlib2<0.4",
]
Expand Down
2 changes: 0 additions & 2 deletions tests/bulk_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,6 @@ def test_bulk_save_modern(self):
}
self.assertSequenceEqual(expected_bulk_args, bulk_args)

@skipIf(sys.version_info < (3, 8), "SQLAlchemy/pandas is not supported on Python <3.8")
@skipIf(SA_VERSION < SA_2_0, "SQLAlchemy 1.4 is no longer supported by pandas 2.2")
@patch("crate.client.connection.Cursor", mock_cursor=FakeCursor)
def test_bulk_save_pandas(self, mock_cursor):
Expand Down Expand Up @@ -261,7 +260,6 @@ def test_bulk_save_pandas(self, mock_cursor):
self.assertEqual(effective_op_count, OPCOUNT)

@skipIf(sys.version_info >= (3, 13), "SQLAlchemy/Dask is not supported on Python >=3.13 yet")
@skipIf(sys.version_info < (3, 8), "SQLAlchemy/Dask is not supported on Python <3.8")
@skipIf(SA_VERSION < SA_2_0, "SQLAlchemy 1.4 is no longer supported by pandas 2.2")
@patch("crate.client.connection.Cursor", mock_cursor=FakeCursor)
def test_bulk_save_dask(self, mock_cursor):
Expand Down
4 changes: 2 additions & 2 deletions tests/integration.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,8 +181,8 @@ def create_test_suite():
"docs/advanced-querying.rst",
]

# Don't run DataFrame integration tests on SQLAlchemy 1.4 and earlier, or Python 3.7.
skip_dataframe = SA_VERSION < SA_2_0 or sys.version_info < (3, 8)
# Don't run DataFrame integration tests on SQLAlchemy 1.4 and earlier.
skip_dataframe = SA_VERSION < SA_2_0
if not skip_dataframe:
sqlalchemy_integration_tests += [
"docs/dataframe.rst",
Expand Down
16 changes: 0 additions & 16 deletions tests/test_support_pandas.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import re
import sys

import pandas as pd
import pytest
Expand Down Expand Up @@ -36,9 +35,6 @@
)


@pytest.mark.skipif(
sys.version_info < (3, 8), reason="Feature not supported on Python 3.7 and earlier"
)
@pytest.mark.skipif(
SA_VERSION < SA_2_0, reason="Feature not supported on SQLAlchemy 1.4 and earlier"
)
Expand Down Expand Up @@ -72,9 +68,6 @@ def test_table_kwargs_partitioned_by(cratedb_service):
assert 'PARTITIONED BY ("time")' in ddl[0][0]


@pytest.mark.skipif(
sys.version_info < (3, 8), reason="Feature not supported on Python 3.7 and earlier"
)
@pytest.mark.skipif(
SA_VERSION < SA_2_0, reason="Feature not supported on SQLAlchemy 1.4 and earlier"
)
Expand Down Expand Up @@ -108,9 +101,6 @@ def test_table_kwargs_translog_durability(cratedb_service):
assert """"translog.durability" = 'ASYNC'""" in ddl[0][0]


@pytest.mark.skipif(
sys.version_info < (3, 8), reason="Feature not supported on Python 3.7 and earlier"
)
@pytest.mark.skipif(
SA_VERSION < SA_2_0, reason="Feature not supported on SQLAlchemy 1.4 and earlier"
)
Expand All @@ -135,9 +125,6 @@ def test_table_kwargs_unknown(cratedb_service):
)


@pytest.mark.skipif(
sys.version_info < (3, 8), reason="Feature not supported on Python 3.7 and earlier"
)
@pytest.mark.skipif(
SA_VERSION < SA_2_0, reason="Feature not supported on SQLAlchemy 1.4 and earlier"
)
Expand All @@ -160,9 +147,6 @@ def test_float_special_values(cratedb_service):
assert df_load["col_1"].isna().all()


@pytest.mark.skipif(
sys.version_info < (3, 8), reason="Feature not supported on Python 3.7 and earlier"
)
@pytest.mark.skipif(
SA_VERSION < SA_2_0, reason="Feature not supported on SQLAlchemy 1.4 and earlier"
)
Expand Down
6 changes: 1 addition & 5 deletions tests/vector_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
from __future__ import absolute_import

import re
import sys
from unittest import TestCase
from unittest.mock import MagicMock, patch

Expand Down Expand Up @@ -144,10 +143,7 @@ def test_from_db_failure():

with pytest.raises(TypeError) as ex:
from_db({"foo": "bar"})
if sys.version_info < (3, 10):
assert ex.match(re.escape("float() argument must be a string or a number, not 'dict'"))
else:
assert ex.match(re.escape("float() argument must be a string or a real number, not 'dict'"))
assert ex.match(re.escape("float() argument must be a string or a real number, not 'dict'"))


def test_to_db_success():
Expand Down