Skip to content

Commit

Permalink
MAINT: drop Python 3.8 support (#473)
Browse files Browse the repository at this point in the history
  • Loading branch information
jorisvandenbossche committed Sep 24, 2024
1 parent 4a3f4da commit 5543891
Show file tree
Hide file tree
Showing 8 changed files with 20 additions and 10 deletions.
13 changes: 11 additions & 2 deletions .github/workflows/docker-gdal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ jobs:
- "ghcr.io/osgeo/gdal:ubuntu-small-3.8.5" # python 3.10.12
- "ghcr.io/osgeo/gdal:ubuntu-small-3.7.3" # python 3.10.12
- "ghcr.io/osgeo/gdal:ubuntu-small-3.6.4" # python 3.10.6
- "osgeo/gdal:ubuntu-small-3.5.3" # python 3.8.10
- "osgeo/gdal:ubuntu-small-3.4.3" # python 3.8.10
- "osgeo/gdal:ubuntu-small-3.5.3" # python 3.9.20 (installed manually)
- "osgeo/gdal:ubuntu-small-3.4.3" # python 3.9.20 (installed manually)

container:
image: ${{ matrix.container }}
Expand All @@ -36,6 +36,15 @@ jobs:
run: |
apt-get update && apt-get install -y build-essential git python3-dev
- name: Install Python
# the GDAL 3.4 and 3.5 images do have Python 3.8 installed, so have to
# install a more recent Python version manually
if: matrix.container == 'osgeo/gdal:ubuntu-small-3.5.3' || matrix.container == 'osgeo/gdal:ubuntu-small-3.4.3'
run: |
apt-get update && apt-get install -y software-properties-common
add-apt-repository -y ppa:deadsnakes/ppa
apt-get update && apt-get install -y python3.9-dev
- uses: actions/checkout@v4

- name: Create virtual environment
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ jobs:
"macos-12",
"macos-latest",
]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
include:
- os: "ubuntu-latest"
artifact: pyogrio-wheel-linux-manylinux2014_x86_64
Expand Down
2 changes: 2 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
This also leads to `pyproj` becoming an optional dependency; you will need
to install `pyproj` in order to support spatial reference systems (#452).
- The GDAL library included in the wheels is updated from 3.8.5 to GDAL 3.9.2 (#466).
- pyogrio now requires a minimum version of Python >= 3.9 (#473).
- Wheels are now available for Python 3.13.

## 0.9.0 (2024-06-17)

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ substantial change. Please see [CHANGES](CHANGES.md).

## Requirements

Supports Python 3.8 - 3.11 and GDAL 3.4.x - 3.8.x.
Supports Python 3.9 - 3.13 and GDAL 3.4.x - 3.9.x.

Reading to GeoDataFrames requires `geopandas>=0.12` with `shapely>=2`.

Expand Down
2 changes: 1 addition & 1 deletion docs/source/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Requirements

Supports Python 3.8 - 3.11 and GDAL 3.4.x - 3.8.x
Supports Python 3.9 - 3.13 and GDAL 3.4.x - 3.9.x

Reading to GeoDataFrames requires `geopandas>=0.12` with `shapely>=2`.

Expand Down
3 changes: 1 addition & 2 deletions pyogrio/_env.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import logging
import os
import platform
import sys
from contextlib import contextmanager
from pathlib import Path

Expand All @@ -28,7 +27,7 @@

gdal_dll_dir = None

if platform.system() == "Windows" and sys.version_info >= (3, 8):
if platform.system() == "Windows":
# if loading of extension modules fails, search for gdal dll directory
try:
import pyogrio._io # noqa: F401
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ classifiers = [
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering :: GIS",
]
requires-python = ">=3.8"
requires-python = ">=3.9"
dependencies = ["certifi", "numpy", "packaging"]

[project.optional-dependencies]
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@
logger = logging.getLogger(__name__)


MIN_PYTHON_VERSION = (3, 8, 0)
MIN_PYTHON_VERSION = (3, 9, 0)
MIN_GDAL_VERSION = (2, 4, 0)


if sys.version_info < MIN_PYTHON_VERSION:
raise RuntimeError("Python >= 3.8 is required")
raise RuntimeError("Python >= 3.9 is required")


def copy_data_tree(datadir, destdir):
Expand Down

0 comments on commit 5543891

Please sign in to comment.