Skip to content

Commit 91ebcbe

Browse files
committed
Adding Python 3.14
1 parent 8fc73c4 commit 91ebcbe

5 files changed

Lines changed: 39 additions & 17 deletions

File tree

.github/dependabot.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Keep GitHub Actions up to date with GitHub's Dependabot...
2+
# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot
3+
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem
4+
version: 2
5+
updates:
6+
- package-ecosystem: github-actions
7+
directory: /
8+
groups:
9+
github-actions:
10+
patterns:
11+
- "*" # Group all Actions updates into a single larger pull request
12+
schedule:
13+
interval: monthly

.github/workflows/tests.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,8 @@ jobs:
9393
- '3.11'
9494
- "3.12"
9595
- "3.13"
96-
- "pypy-3.10-v7.3.17"
96+
- "pypy-3.11"
97+
- "3.14.0-rc.2"
9798
os: [ubuntu-latest, macos-latest]
9899
exclude:
99100
# Can't build persistent on 3.12 with -UNDEBUG because it
@@ -102,14 +103,14 @@ jobs:
102103
# persistent wheel, we have to exclude that one.
103104
# The same thing goes for PyPy.
104105
- os: ubuntu-latest
105-
python-version: "pypy-3.10-v7.3.17"
106+
python-version: "pypy-3.11"
106107

107108
steps:
108109
- name: checkout
109-
uses: actions/checkout@v4
110+
uses: actions/checkout@v5
110111

111112
- name: Set up Python ${{ matrix.python-version }}
112-
uses: actions/setup-python@v5
113+
uses: actions/setup-python@v6
113114
with:
114115
python-version: ${{ matrix.python-version }}
115116
cache: 'pip'
@@ -258,7 +259,7 @@ jobs:
258259
- name: checkout
259260
uses: actions/checkout@v4
260261
- name: Set up Python ${{ matrix.python-version }}
261-
uses: actions/setup-python@v5
262+
uses: actions/setup-python@v6
262263
with:
263264
python-version: ${{ matrix.python-version }}
264265
- name: Set up QEMU
@@ -275,7 +276,7 @@ jobs:
275276
path: wheelhouse/*whl
276277
name: ${{ matrix.image }}_wheels.zip
277278
- name: Publish package to PyPI
278-
uses: pypa/gh-action-pypi-publish@v1.10.3
279+
uses: pypa/gh-action-pypi-publish@v1.13.0
279280
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
280281
with:
281282
user: __token__

CHANGES.rst

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,17 @@
22
Changes
33
=========
44

5-
4.1.2 (unreleased)
5+
4.3.0 (unreleased)
66
==================
77

8-
- Nothing changed yet.
8+
- Add support for Python 3.14.
99

10+
.. note::
11+
12+
This will be the last RelStorage release to support Python 3.9.
13+
14+
- Include ``psycopg2`` in the ``postgresql`` extra on CPython 3.13+.
15+
See :issue:`515`.
1016

1117
4.1.1 (2024-12-12)
1218
==================

appveyor.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ environment:
3737
# Fully supported 64-bit versions, with testing. This should be
3838
# all the current (non EOL) versions.
3939

40+
- PYTHON: "C:\\Python314-x64"
41+
PYTHON_VERSION: "3.14.0rc1"
42+
PYTHON_ARCH: "64"
43+
PYTHON_EXE: python
44+
4045
- PYTHON: "C:\\Python313-x64"
4146
PYTHON_VERSION: "3.13.0"
4247
PYTHON_ARCH: "64"

setup.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,9 @@ def read_file(*path):
168168
license="ZPL 2.1",
169169
platforms=["any"],
170170
description="A backend for ZODB that stores pickles in a relational database.",
171-
# 3.8: importlib.metadata
171+
# Bump to 3.10 or even 3.11 at next release. We'll have to make changes
172+
# in this file and our CI configuration to make sure we still have the
173+
# same test coverage, as we were using just 3.9 for some things.
172174
python_requires=">=3.9",
173175
classifiers=[
174176
"Intended Audience :: Developers",
@@ -298,7 +300,7 @@ def read_file(*path):
298300
# and the authors specifically request that other modules not depend on
299301
# psycopg2-binary.
300302
# See http://initd.org/psycopg/docs/install.html#binary-packages
301-
'postgresql: platform_python_implementation == "CPython" and python_version != "3.13"' : [
303+
'postgresql: platform_python_implementation == "CPython"' : [
302304
# 2.4.1+ is required for proper bytea handling;
303305
# 2.6+ is needed for 64-bit lobject support;
304306
# 2.7+ is needed for Python 3.7 support and PostgreSQL 10+;
@@ -307,11 +309,6 @@ def read_file(*path):
307309
# 2.9.10 will be needed for Python 3.13, but it's not out yet.
308310
'psycopg2 >= 2.8.3',
309311
],
310-
'postgresql: platform_python_implementation == "CPython" and python_version == "3.13"': [
311-
# psycopg2 2.9.10 is needed, but not available yet.
312-
# See also 'all tested drivers'
313-
'pg8000',
314-
],
315312
'postgresql: platform_python_implementation == "PyPy"': [
316313
# 2.8.0+ is needed for Python 3.7
317314
'psycopg2cffi >= 2.8.1',
@@ -355,11 +352,11 @@ def read_file(*path):
355352
# pure-python
356353
# pg8000
357354
# This requirement is repeated in the driver class.
358-
'pg8000 >= 1.29.0; python_version == "3.11" or python_version == "3.13"',
355+
'pg8000 >= 1.29.0; python_version == "3.11"',
359356
# CFFI, runs on all implementations.
360357
'psycopg2cffi >= 2.7.4; python_version == "3.11" or platform_python_implementation == "PyPy"',
361358
# Psycopg2 on all CPython, it's the default
362-
'psycopg2 >= 2.8.3; platform_python_implementation == "CPython" and python_version != "3.13"',
359+
'psycopg2 >= 2.8.3; platform_python_implementation == "CPython"',
363360
],
364361
},
365362
entry_points={

0 commit comments

Comments
 (0)