From 89fd9ec2f7898f776bbea2ad5bae0bc706802666 Mon Sep 17 00:00:00 2001 From: Ewout ter Hoeven Date: Wed, 10 Jul 2024 15:13:36 +0200 Subject: [PATCH] Drop Python 3.8 support, require Python 3.9+ (#321) * Drop Python 3.8 support, require Python 3.9+ * Run pyupgrade for Python 3.9+ Apply pyupgrade for Python 3.9+ --- .github/workflows/test.yml | 4 ++-- DEPENDENCIES.txt | 2 +- environment.yml | 2 +- pyproject.toml | 5 ++--- rtree/index.py | 3 ++- tests/conftest.py | 2 +- tests/test_index.py | 2 +- tests/test_tpr.py | 3 ++- tox.ini | 2 +- 9 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0bd3baab..ae829090 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,7 +29,7 @@ jobs: fail-fast: true matrix: os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ['3.9', '3.10', '3.11', '3.12'] # test oldesst and newest libspatialindex versions sidx-version: ['1.8.5', '2.0.0'] exclude: @@ -63,7 +63,7 @@ jobs: strategy: fail-fast: true matrix: - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ['3.9', '3.10', '3.11', '3.12'] steps: - uses: actions/checkout@v4 diff --git a/DEPENDENCIES.txt b/DEPENDENCIES.txt index 55bd4490..00edecff 100644 --- a/DEPENDENCIES.txt +++ b/DEPENDENCIES.txt @@ -1,4 +1,4 @@ -- python 3.8+ +- python 3.9+ - setuptools - libspatialindex C library 1.8.5+: https://libspatialindex.org/ diff --git a/environment.yml b/environment.yml index 3601f144..d5a1697e 100644 --- a/environment.yml +++ b/environment.yml @@ -3,5 +3,5 @@ channels: - defaults - conda-forge dependencies: -- python>=3.8 +- python>=3.9 - libspatialindex>=1.8.5 diff --git a/pyproject.toml b/pyproject.toml index 9fb47992..8c78e209 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,7 +13,7 @@ maintainers = [ ] description = "R-Tree spatial index for Python GIS" readme = "README.md" -requires-python = ">=3.8" +requires-python = ">=3.9" keywords = ["gis", "spatial", "index", "r-tree"] license = {text = "MIT"} classifiers = [ @@ -23,7 +23,6 @@ classifiers = [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", @@ -49,7 +48,7 @@ version = {attr = "rtree.__version__"} rtree = ["py.typed"] [tool.cibuildwheel] -build = "cp38-*" +build = "cp39-*" build-verbosity = 3 repair-wheel-command = "python scripts/repair_wheel.py -w {dest_dir} {wheel}" test-requires = "tox" diff --git a/rtree/index.py b/rtree/index.py index 59b5f4fa..169a1e96 100644 --- a/rtree/index.py +++ b/rtree/index.py @@ -6,7 +6,8 @@ import pickle import pprint import warnings -from typing import Any, Iterator, Literal, Sequence, overload +from collections.abc import Iterator, Sequence +from typing import Any, Literal, overload from . import core from .exceptions import RTreeError diff --git a/tests/conftest.py b/tests/conftest.py index 99f80b14..ae9744ce 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,7 +2,7 @@ import os import shutil -from typing import Iterator +from collections.abc import Iterator import py import pytest diff --git a/tests/test_index.py b/tests/test_index.py index 4a14fe8f..d1651f46 100644 --- a/tests/test_index.py +++ b/tests/test_index.py @@ -5,7 +5,7 @@ import sys import tempfile import unittest -from typing import Iterator +from collections.abc import Iterator import numpy as np import pytest diff --git a/tests/test_tpr.py b/tests/test_tpr.py index 20ea8578..d5f1e2e9 100644 --- a/tests/test_tpr.py +++ b/tests/test_tpr.py @@ -3,8 +3,9 @@ import os import unittest from collections import defaultdict, namedtuple +from collections.abc import Iterator from math import ceil -from typing import Any, Iterator +from typing import Any import numpy as np from numpy.random import default_rng diff --git a/tox.ini b/tox.ini index 8b81aa5d..6cc0c57d 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] requires = tox>=4 -env_list = py{38,39,310,311,312} +env_list = py{39,310,311,312} [testenv] description = run unit tests