Python 3.14, drop Python 3.9

Closes #2506
pull/2505/head
Simon Willison 2025-10-08 13:11:32 -07:00 zatwierdzone przez GitHub
rodzic 909448fb7a
commit 85da8474d4
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
10 zmienionych plików z 22 dodań i 25 usunięć

Wyświetl plik

@ -14,7 +14,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.11
uses: actions/setup-python@v4
uses: actions/setup-python@v6
with:
python-version: "3.11"
- name: Install dependencies

Wyświetl plik

@ -16,10 +16,10 @@ jobs:
- name: Check out datasette
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
# gcloud commmand breaks on higher Python versions, so stick with 3.9:
uses: actions/setup-python@v6
# Using Python 3.10 for gcloud compatibility:
with:
python-version: "3.9"
python-version: "3.10"
- uses: actions/cache@v4
name: Configure pip caching
with:

Wyświetl plik

@ -12,11 +12,11 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: pip
@ -37,7 +37,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.13'
cache: pip
@ -58,9 +58,9 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.9'
python-version: '3.10'
cache: pip
cache-dependency-path: setup.py
- name: Install dependencies

Wyświetl plik

@ -11,7 +11,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v6
with:
python-version: '3.11'
cache: 'pip'

Wyświetl plik

@ -17,7 +17,7 @@ jobs:
- name: Check out datasette
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.12'
cache: 'pip'

Wyświetl plik

@ -14,7 +14,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.10"
cache: 'pip'

Wyświetl plik

@ -12,7 +12,7 @@ jobs:
strategy:
matrix:
platform: [ubuntu-latest]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
sqlite-version: [
#"3", # latest version
"3.46",
@ -27,7 +27,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true

Wyświetl plik

@ -10,11 +10,11 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
@ -33,16 +33,13 @@ jobs:
pytest -m "serial"
# And the test that exceeds a localhost HTTPS server
tests/test_datasette_https_server.sh
- name: Install docs dependencies on Python 3.9+
if: matrix.python-version != '3.8'
- name: Install docs dependencies
run: |
pip install -e '.[docs]'
- name: Check if cog needs to be run
if: matrix.python-version != '3.8'
run: |
cog --check docs/*.rst
- name: Check if blacken-docs needs to be run
if: matrix.python-version != '3.8'
run: |
# This fails on syntax errors, or a diff was applied
blacken-docs -l 60 docs/*.rst

Wyświetl plik

@ -54,7 +54,7 @@ If the latest packaged release of Datasette has not yet been made available thro
Using pip
---------
Datasette requires Python 3.8 or higher. The `Python.org Python For Beginners <https://www.python.org/about/gettingstarted/>`__ page has instructions for getting started.
Datasette requires Python 3.10 or higher. The `Python.org Python For Beginners <https://www.python.org/about/gettingstarted/>`__ page has instructions for getting started.
You can install Datasette and its dependencies using ``pip``::

Wyświetl plik

@ -40,7 +40,7 @@ setup(
packages=find_packages(exclude=("tests",)),
package_data={"datasette": ["templates/*.html"]},
include_package_data=True,
python_requires=">=3.8",
python_requires=">=3.10",
install_requires=[
"asgiref>=3.2.10",
"click>=7.1.1",
@ -48,7 +48,6 @@ setup(
"Jinja2>=2.10.3",
"hupper>=1.9",
"httpx>=0.20",
'importlib_resources>=1.3.1; python_version < "3.9"',
'importlib_metadata>=4.6; python_version < "3.10"',
"pluggy>=1.0",
"uvicorn>=0.11",
@ -99,9 +98,10 @@ setup(
"Intended Audience :: End Users/Desktop",
"Topic :: Database",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.8",
],
)