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: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v4 uses: actions/setup-python@v6
with: with:
python-version: "3.11" python-version: "3.11"
- name: Install dependencies - name: Install dependencies

Wyświetl plik

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

Wyświetl plik

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

Wyświetl plik

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

Wyświetl plik

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

Wyświetl plik

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

Wyświetl plik

@ -12,7 +12,7 @@ jobs:
strategy: strategy:
matrix: matrix:
platform: [ubuntu-latest] 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: [ sqlite-version: [
#"3", # latest version #"3", # latest version
"3.46", "3.46",
@ -27,7 +27,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }} - name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5 uses: actions/setup-python@v6
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
allow-prereleases: true allow-prereleases: true

Wyświetl plik

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

Wyświetl plik

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