Skip to content

Commit 002c8c2

Browse files
authored
Remove v3.9 and add v3.14 (#3115)
* Remove v3.9 and add v3.14 * Update test with new version of tracerite header checks * squash * Use explicit loop on server shutdown * Correct py3.14 issues
1 parent 3ae8f8a commit 002c8c2

81 files changed

Lines changed: 883 additions & 882 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/tests.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,18 @@ jobs:
2424
fail-fast: true
2525
matrix:
2626
config:
27-
- { python-version: "3.9", tox-env: security }
2827
- { python-version: "3.10", tox-env: security }
2928
- { python-version: "3.11", tox-env: security }
3029
- { python-version: "3.12", tox-env: security }
3130
- { python-version: "3.13", tox-env: security }
32-
- { python-version: "3.13", tox-env: lint }
31+
- { python-version: "3.14", tox-env: security }
32+
- { python-version: "3.14", tox-env: lint }
3333
# - { python-version: "3.10", tox-env: docs }
34-
- { python-version: "3.9", tox-env: type-checking }
3534
- { python-version: "3.10", tox-env: type-checking }
3635
- { python-version: "3.11", tox-env: type-checking }
3736
- { python-version: "3.12", tox-env: type-checking }
3837
- { python-version: "3.13", tox-env: type-checking }
39-
- { python-version: "3.9", tox-env: py39, max-attempts: 3 }
40-
- { python-version: "3.9", tox-env: py39-no-ext, max-attempts: 3 }
38+
- { python-version: "3.14", tox-env: type-checking }
4139
- { python-version: "3.10", tox-env: py310, max-attempts: 3 }
4240
- { python-version: "3.10", tox-env: py310-no-ext, max-attempts: 3 }
4341
- { python-version: "3.11", tox-env: py311, max-attempts: 3 }
@@ -46,7 +44,8 @@ jobs:
4644
- { python-version: "3.12", tox-env: py312-no-ext, max-attempts: 3 }
4745
- { python-version: "3.13", tox-env: py313, max-attempts: 3 }
4846
- { python-version: "3.13", tox-env: py313-no-ext, max-attempts: 3 }
49-
- { python-version: "3.9", tox-env: py39-no-ext, platform: windows-latest, ignore-errors: true }
47+
- { python-version: "3.14", tox-env: py314, max-attempts: 3 }
48+
- { python-version: "3.14", tox-env: py314-no-ext, max-attempts: 3 }
5049
- { python-version: "3.10", tox-env: py310-no-ext, platform: windows-latest, ignore-errors: true }
5150
- { python-version: "3.11", tox-env: py311-no-ext, platform: windows-latest, ignore-errors: true }
5251
steps:

README.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Sanic | Build fast. Run fast.
5858

5959
.. end-badges
6060
61-
Sanic is a **Python 3.9+** web server and web framework that's written to go fast. It allows the usage of the ``async/await`` syntax added in Python 3.5, which makes your code non-blocking and speedy.
61+
Sanic is a **Python 3.10+** web server and web framework that's written to go fast. It allows the usage of the ``async/await`` syntax added in Python 3.5, which makes your code non-blocking and speedy.
6262

6363
Sanic is also ASGI compliant, so you can deploy it with an `alternative ASGI webserver <https://sanicframework.org/en/guide/deployment/running.html#asgi>`_.
6464

@@ -129,7 +129,7 @@ And, we can verify it is working: ``curl localhost:8000 -i``
129129
130130
**Now, let's go build something fast!**
131131

132-
Minimum Python version is 3.9.
132+
Minimum Python version is 3.10.
133133

134134
Documentation
135135
-------------

guide/content/en/guide/introduction.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Introduction
22

3-
Sanic is a Python 3.9+ web server and web framework thats written to go fast. It allows the usage of the async/await syntax added in Python 3.5, which makes your code non-blocking and speedy.
3+
Sanic is a Python 3.10+ web server and web framework that's written to go fast. It allows the usage of the async/await syntax added in Python 3.5, which makes your code non-blocking and speedy.
44

55
.. attrs::
66
:class: introduction-table

guide/webapp/display/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def _head(self) -> list[Builder]:
3838
E.meta(
3939
name="description",
4040
content=(
41-
"Sanic is a Python 3.9+ web server and "
41+
"Sanic is a Python 3.10+ web server and "
4242
"web framework that's written to go fast."
4343
),
4444
),

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55

66
[tool.ruff]
7-
target-version = "py39"
7+
target-version = "py310"
88
line-length = 79
99

1010
[tool.ruff.lint]

0 commit comments

Comments
 (0)