Skip to content

Drop EOL Python 3.8 support #1162

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Dec 7, 2024
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
9 changes: 3 additions & 6 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@ jobs:
fail-fast: false
matrix:
tox_env:
- "py38-pytestmin"
- "py38-pytestlatest"
- "py39-pytestmin"
- "py39-pytestlatest"
- "py310-pytestlatest"
- "py311-pytestlatest"
Expand All @@ -47,10 +46,8 @@ jobs:

os: [ubuntu-latest, windows-latest]
include:
- tox_env: "py38-pytestmin"
python: "3.8"
- tox_env: "py38-pytestlatest"
python: "3.8"
- tox_env: "py39-pytestmin"
python: "3.9"
- tox_env: "py39-pytestlatest"
python: "3.9"
- tox_env: "py310-pytestlatest"
Expand Down
1 change: 1 addition & 0 deletions changelog/1162.removal.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Dropped support for EOL Python 3.8.
3 changes: 1 addition & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,13 @@ classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
requires-python = ">=3.8"
requires-python = ">=3.9"
dependencies = [
"execnet>=2.1",
"pytest>=7.0.0",
Expand Down
2 changes: 1 addition & 1 deletion src/xdist/_path.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from collections.abc import Iterator
from itertools import chain
import os
from pathlib import Path
from typing import Callable
from typing import Iterator


def visit_path(
Expand Down
2 changes: 1 addition & 1 deletion src/xdist/dsession.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
from __future__ import annotations

from collections.abc import Sequence
from enum import auto
from enum import Enum
from queue import Empty
from queue import Queue
import sys
from typing import Any
from typing import Sequence
import warnings

import execnet
Expand Down
2 changes: 1 addition & 1 deletion src/xdist/looponfail.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@

from __future__ import annotations

from collections.abc import Sequence
import os
from pathlib import Path
import sys
import time
from typing import Any
from typing import Sequence

from _pytest._io import TerminalWriter
import execnet
Expand Down
2 changes: 1 addition & 1 deletion src/xdist/newhooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@

from __future__ import annotations

from collections.abc import Sequence
import os
from typing import Any
from typing import Sequence
from typing import TYPE_CHECKING

import execnet
Expand Down
8 changes: 4 additions & 4 deletions src/xdist/remote.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@
from __future__ import annotations

import collections
from collections.abc import Generator
from collections.abc import Iterable
from collections.abc import Sequence
import contextlib
import enum
import os
import sys
import time
from typing import Any
from typing import Generator
from typing import Iterable
from typing import Literal
from typing import Sequence
from typing import TypedDict
from typing import Union
import warnings
Expand Down Expand Up @@ -98,7 +98,7 @@ def replace(self, iterable: Iterable[Item]) -> None:
self._items = collections.deque(iterable)

@contextlib.contextmanager
def lock(self) -> Generator[collections.deque[Item], None, None]:
def lock(self) -> Generator[collections.deque[Item]]:
with self._lock:
try:
yield self._items
Expand Down
2 changes: 1 addition & 1 deletion src/xdist/report.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from __future__ import annotations

from collections.abc import Sequence
from difflib import unified_diff
from typing import Sequence


def report_collection_diff(
Expand Down
2 changes: 1 addition & 1 deletion src/xdist/scheduler/each.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from __future__ import annotations

from typing import Sequence
from collections.abc import Sequence

import pytest

Expand Down
2 changes: 1 addition & 1 deletion src/xdist/scheduler/load.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from __future__ import annotations

from collections.abc import Sequence
from itertools import cycle
from typing import Sequence

import pytest

Expand Down
2 changes: 1 addition & 1 deletion src/xdist/scheduler/loadscope.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from __future__ import annotations

from collections import OrderedDict
from collections.abc import Sequence
from typing import NoReturn
from typing import Sequence

import pytest

Expand Down
2 changes: 1 addition & 1 deletion src/xdist/scheduler/protocol.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from __future__ import annotations

from collections.abc import Sequence
from typing import Protocol
from typing import Sequence

from xdist.workermanage import WorkerController

Expand Down
2 changes: 1 addition & 1 deletion src/xdist/scheduler/worksteal.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from __future__ import annotations

from collections.abc import Sequence
from typing import NamedTuple
from typing import Sequence

import pytest

Expand Down
2 changes: 1 addition & 1 deletion src/xdist/workermanage.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from __future__ import annotations

from collections.abc import Sequence
import enum
import fnmatch
import os
Expand All @@ -9,7 +10,6 @@
from typing import Any
from typing import Callable
from typing import Literal
from typing import Sequence
from typing import Union
import uuid
import warnings
Expand Down
4 changes: 2 additions & 2 deletions testing/conftest.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from __future__ import annotations

from collections.abc import Generator
import shutil
from typing import Callable
from typing import Generator

import execnet
import pytest
Expand All @@ -12,7 +12,7 @@


@pytest.fixture(autouse=True)
def _divert_atexit(monkeypatch: pytest.MonkeyPatch) -> Generator[None, None, None]:
def _divert_atexit(monkeypatch: pytest.MonkeyPatch) -> Generator[None]:
import atexit

finalizers = []
Expand Down
2 changes: 1 addition & 1 deletion testing/test_dsession.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from __future__ import annotations

from collections.abc import Sequence
from typing import Any
from typing import cast
from typing import Sequence
from typing import TYPE_CHECKING

import execnet
Expand Down
3 changes: 1 addition & 2 deletions testing/test_remote.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
from typing import Any
from typing import Callable
from typing import cast
from typing import Dict
from typing import Union
import uuid

Expand Down Expand Up @@ -90,7 +89,7 @@ def worker(request: pytest.FixtureRequest, pytester: pytest.Pytester) -> WorkerS

class TestWorkerInteractor:
UnserializerReport = Callable[
[Dict[str, Any]], Union[pytest.CollectReport, pytest.TestReport]
[dict[str, Any]], Union[pytest.CollectReport, pytest.TestReport]
]

@pytest.fixture
Expand Down
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[tox]
envlist =
linting
py{38,39,310,311,312,313}-pytestlatest
py{39,310,311,312,313}-pytestlatest
py310-pytestmain
py310-psutil
py310-setproctitle
Expand Down
Loading