diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 331463a..944b6ff 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14', '3.14t', '3.15'] os: - macos-latest - windows-latest diff --git a/README.rst b/README.rst index 9b81d1d..f8d2b2e 100644 --- a/README.rst +++ b/README.rst @@ -33,7 +33,7 @@ Vital statistics **Bug tracker and source code:** https://github.com/python-trio/trustme -**Tested on:** Python 3.8+, CPython and PyPy +**Tested on:** Python 3.10+, CPython and PyPy **License:** MIT or Apache 2, your choice. diff --git a/docs/source/index.rst b/docs/source/index.rst index 0be2520..9dba23e 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -11,7 +11,7 @@ works. It demonstrates a simple TLS server and client that connect to each other using :mod:`trustme`\-generated certs. This example requires `Trio `__ (``pip -install -U trio``) and Python 3.8+. Note that while :mod:`trustme` is +install -upgrade trio``) and Python 3.10+. Note that while :mod:`trustme` is maintained by the Trio project, :mod:`trustme` is happy to work with any networking library. diff --git a/noxfile.py b/noxfile.py index ff32a49..3d1d8b0 100644 --- a/noxfile.py +++ b/noxfile.py @@ -12,7 +12,7 @@ def lint(session: nox.Session) -> None: session.run("mypy", *LINT_PATHS) -@nox.session(python=["3.9", "3.10", "3.11", "3.12", "3.13", "3.14", "pypy3"]) +@nox.session(python=["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t", "3.15", "pypy3"]) def test(session: nox.Session) -> None: session.install(".", "-r", "test-requirements.txt") session.run( diff --git a/pyproject.toml b/pyproject.toml index 09a120e..7e7b4ce 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "#1 quality TLS certs while you wait, for the discerning tester" readme = "README.rst" license = {text = "MIT OR Apache-2.0"} -requires-python = ">=3.9" +requires-python = ">=3.10" authors = [ { name = "Nathaniel J. Smith", email = "njs@pobox.com" }, ] @@ -19,13 +19,14 @@ classifiers = [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", + "Programming Language :: Python :: Free Threading :: 2 - Beta", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", - "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", + "Programming Language :: Python :: 3.14", "Topic :: Security :: Cryptography", "Topic :: Software Development :: Testing", "Topic :: System :: Networking", diff --git a/test-requirements.txt b/test-requirements.txt index bc6c777..d980c7f 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -2,24 +2,22 @@ # This file is autogenerated by pip-compile with Python 3.11 # by the following command: # -# pip-compile --resolver=backtracking test-requirements.in +# pip-compile test-requirements.in # attrs==25.4.0 # via service-identity cffi==2.0.0 # via cryptography -coverage[toml]==7.10.7 +coverage[toml]==7.11.0 # via -r test-requirements.in -cryptography==45.0.6 +cryptography==46.0.3 # via # -r test-requirements.in # pyopenssl # service-identity -exceptiongroup==1.3.0 - # via pytest idna==3.11 # via -r test-requirements.in -iniconfig==2.1.0 +iniconfig==2.3.0 # via pytest packaging==25.0 # via pytest @@ -35,17 +33,11 @@ pycparser==2.23 # via cffi pygments==2.19.2 # via pytest -pyopenssl==25.1.0 +pyopenssl==25.3.0 # via -r test-requirements.in pytest==8.4.2 # via -r test-requirements.in service-identity==24.2.0 # via -r test-requirements.in -tomli==2.3.0 - # via - # coverage - # pytest typing-extensions==4.15.0 - # via - # exceptiongroup - # pyopenssl + # via pyopenssl