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
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
- master

env:
POETRY_VERSION: "2.1.1"
POETRY_VERSION: "2.5.1"

jobs:
cs:
Expand Down Expand Up @@ -38,13 +38,13 @@ jobs:
name: Test with python ${{ matrix.python-version }} / ${{ matrix.os-version }}
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"]
os-version: ["ubuntu-latest", "windows-latest"]
exclude:
- os-version: windows-latest
include:
- os-version: windows-latest
python-version: 3.14
python-version: "3.15"

runs-on: ${{ matrix.os-version }}

Expand Down
163 changes: 9 additions & 154 deletions poetry.lock

Large diffs are not rendered by default.

10 changes: 4 additions & 6 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ classifiers = [
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.15",
"Topic :: Software Development :: Libraries :: Python Modules",
"Framework :: Pytest",
]
requires-python = ">=3.10"
requires-python = ">=3.11"
dependencies = [
"Werkzeug >= 3.0.0",
]
Expand Down Expand Up @@ -49,15 +49,14 @@ optional = true
[tool.poetry.group.develop.dependencies]
pre-commit = ">=4.6.0,<5.0"
requests = "*"
typing_extensions = { version = ">=4.0", markers = "python_version < '3.11'" }
typing_extensions = { version = ">=4.0", markers = "python_version < '3.12'" }
Sphinx = ">=5.1.1,<9.0.0"
sphinx-rtd-theme = ">=1,<4"
reno = "*"
types-requests = "*"
pytest = ">=9.0.3,<10.0.0"
pytest-cov = ">=7.1.0,<8"
coverage = ">=7.14.1,<8.0.0"
tomli = { version = "*", markers = "python_version < '3.11'"}
black = "*"
ruff = "*"
mypy = "*"
Expand All @@ -81,7 +80,6 @@ coverage = "*"
requests = "*"
types-requests = "*"
pre-commit = "*"
tomli = { version = "*", markers = "python_version < '3.11'"}
mypy = "*"

[build-system]
Expand Down Expand Up @@ -146,7 +144,7 @@ lint.ignore = [
"UP032",
]
line-length = 120
target-version = "py310"
target-version = "py311"
exclude = ["doc", "example*.py", "tests/examples/*.py"]

[tool.ruff.lint.pylint]
Expand Down
6 changes: 1 addition & 5 deletions pytest_httpserver/bake.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,7 @@
import sys
from re import Pattern
from types import TracebackType

if sys.version_info >= (3, 11):
from typing import Self
else:
from typing_extensions import Self
from typing import Self

if sys.version_info >= (3, 12):
from typing import Unpack
Expand Down
6 changes: 1 addition & 5 deletions pytest_httpserver/httpserver.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,10 @@
import sys
from ssl import SSLContext
from types import TracebackType
from typing import Self

from werkzeug.serving import BaseWSGIServer

if sys.version_info >= (3, 11):
from typing import Self
else:
from typing_extensions import Self

if sys.version_info >= (3, 12):
from typing import Unpack
else:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
upgrade:
- |
Python 3.9 and 3.10 are no longer supported. Python 3.11 or newer is required.
features:
- |
Add support for Python 3.15.
10 changes: 2 additions & 8 deletions tests/test_release.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import shutil
import subprocess
import tarfile
import tomllib
import zipfile
from dataclasses import dataclass
from pathlib import Path
Expand All @@ -15,21 +16,14 @@
if TYPE_CHECKING:
from collections.abc import Iterable

try:
import tomllib
except ImportError:
# Unfortunately mypy cannot handle this try/expect pattern, and "type: ignore"
# is the simplest work-around. See: https://github.com/python/mypy/issues/1153
import tomli as tomllib # type: ignore

# TODO: skip if poetry is not available or add mark to test it explicitly


pytestmark = pytest.mark.release

NAME = "pytest-httpserver"
NAME_UNDERSCORE = NAME.replace("-", "_")
PY_MAX_VERSION = (3, 14)
PY_MAX_VERSION = (3, 15)


@pytest.fixture(scope="session")
Expand Down
3 changes: 1 addition & 2 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
[tox]
envlist =
py39
py310
py311
py312
py313
py314
py315

base_python = py312

Expand Down
3 changes: 1 addition & 2 deletions tox.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,10 @@ let
in pkgs.mkShell {
buildInputs = with pkgs; [
(basePython python312)
(toxPython python315)
(toxPython python314)
(toxPython python313)
(toxPython python311)
(toxPython python310)
(toxPython python39)

bashInteractive
];
Expand Down
Loading