Skip to content

Commit

Permalink
chore: drop support for Python 3.8
Browse files Browse the repository at this point in the history
BREAKING CHANGE: The minimum supported Python version is now Python 3.9
  • Loading branch information
gforsyth authored and jcrist committed Jun 29, 2023
1 parent c7044fe commit 747f4ca
Show file tree
Hide file tree
Showing 12 changed files with 228 additions and 334 deletions.
1 change: 0 additions & 1 deletion .github/workflows/conda-lock.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ jobs:
strategy:
matrix:
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ibis-backends-cloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
fail-fast: false
matrix:
python-version:
- "3.8"
- "3.9"
- "3.11"
backend:
- name: bigquery
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/ibis-backends.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
fail-fast: false
matrix:
python-version:
- "3.8"
- "3.9"
- "3.11"
steps:
- name: checkout
Expand Down Expand Up @@ -91,7 +91,7 @@ jobs:
- ubuntu-latest
- windows-latest
python-version:
- "3.8"
- "3.9"
- "3.11"
backend:
- name: dask
Expand Down Expand Up @@ -411,7 +411,7 @@ jobs:
- ubuntu-latest
- windows-latest
python-version:
- "3.8"
- "3.9"
- "3.11"
backend:
- name: dask
Expand Down Expand Up @@ -547,7 +547,7 @@ jobs:
- snowflake-connector-python
include:
- os: ubuntu-latest
python-version: "3.8"
python-version: "3.9"
pandas:
version: "1.5.*"
- os: ubuntu-latest
Expand Down Expand Up @@ -805,7 +805,7 @@ jobs:
- ubuntu-latest
- windows-latest
python-version:
- "3.8"
- "3.9"
- "3.11"
steps:
- name: checkout
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/ibis-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ jobs:
- ubuntu-latest
- windows-latest
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/nix-skip-helper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ jobs:
os:
- ubuntu-latest
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/nix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ jobs:
os:
- ubuntu-latest
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
Expand Down
21 changes: 0 additions & 21 deletions ibis/backends/tests/test_aggregation.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import sys

import numpy as np
import pandas as pd
import pytest
Expand All @@ -12,7 +10,6 @@
import ibis.expr.datatypes as dt
from ibis import _
from ibis import literal as L
from ibis.backends.conftest import WINDOWS
from ibis.udf.vectorized import reduction

try:
Expand Down Expand Up @@ -124,12 +121,6 @@ def mean_udf(s):
def make_argidx_params(marks):
marks = [
pytest.mark.notyet(marks, raises=com.OperationNotDefinedError),
pytest.mark.broken(
["sqlite"],
condition=WINDOWS and sys.version_info < (3, 11),
reason="JSON functions aren't available",
raises=sa.exc.OperationalError,
),
]
return [
param(
Expand Down Expand Up @@ -465,12 +456,6 @@ def mean_and_std(v):
],
raises=com.OperationNotDefinedError,
),
pytest.mark.broken(
["sqlite"],
condition=WINDOWS and sys.version_info < (3, 11),
reason="JSON functions aren't available",
raises=sa.exc.OperationalError,
),
],
),
param(
Expand All @@ -489,12 +474,6 @@ def mean_and_std(v):
],
raises=com.OperationNotDefinedError,
),
pytest.mark.broken(
["sqlite"],
condition=WINDOWS and sys.version_info < (3, 11),
reason="JSON functions aren't available",
raises=sa.exc.OperationalError,
),
],
),
param(
Expand Down
9 changes: 1 addition & 8 deletions ibis/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -511,13 +511,6 @@ def import_object(qualname: str) -> Any:


def normalize_filename(source: str | Path) -> str:
def _removeprefix(text, prefix):
# TODO: remove when we drop Python 3.8
try:
return text.removeprefix(prefix)
except AttributeError:
return text[text.startswith(prefix) and len(prefix) :]

source = str(source)
for prefix in (
"parquet",
Expand All @@ -529,7 +522,7 @@ def _removeprefix(text, prefix):
"tsv.gz",
"file",
):
source = _removeprefix(source, f"{prefix}://")
source = source.removeprefix(f"{prefix}://")

def _absolufy_paths(name):
if not name.startswith(("http", "s3", "az", "abfs", "abfss", "adl", "gs")):
Expand Down
2 changes: 0 additions & 2 deletions nix/overlay.nix
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,10 @@ in
sha256 = "sha256-q1b5IcOl5oIFXP7/P5RufncjHEVrWp4NjoU2uo/BE9U=";
};

ibis38 = pkgs.callPackage ./ibis.nix { python3 = pkgs.python38; };
ibis39 = pkgs.callPackage ./ibis.nix { python3 = pkgs.python39; };
ibis310 = pkgs.callPackage ./ibis.nix { python3 = pkgs.python310; };
ibis311 = pkgs.callPackage ./ibis.nix { python3 = pkgs.python311; };

ibisDevEnv38 = mkPoetryDevEnv pkgs.python38;
ibisDevEnv39 = mkPoetryDevEnv pkgs.python39;
ibisDevEnv310 = mkPoetryDevEnv pkgs.python310;
ibisDevEnv311 = mkPoetryDevEnv pkgs.python311;
Expand Down
72 changes: 2 additions & 70 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,10 @@ classifiers = [
"Issue Tracker" = "https://github.com/ibis-project/ibis/issues"

[tool.poetry.dependencies]
python = "^3.8"
python = "^3.9"
atpublic = ">=2.3,<5"
bidict = ">=0.22.1,<1"
filelock = ">=3.7.0,<4"
importlib-resources = { version = ">=5,<6", python = "<3.9" }
multipledispatch = ">=0.6,<2"
numpy = ">=1,<2"
pandas = ">=1.2.5,<3"
Expand Down
Loading

0 comments on commit 747f4ca

Please sign in to comment.