Skip to content

Commit 8298b77

Browse files
committed
Update Python and Postgres versions
1 parent d1229ae commit 8298b77

18 files changed

Lines changed: 181 additions & 170 deletions

.devcontainer/dev.env

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
PGHOST=pg15
1+
PGHOST=pg17
22
PGPORT=5432
33
PGDATABASE=test
44
PGUSER=test
55
PGPASSWORD=test
66

77
PYGRESQL_DB=test
8-
PYGRESQL_HOST=pg15
8+
PYGRESQL_HOST=pg17
99
PYGRESQL_PORT=5432
1010
PYGRESQL_USER=test
1111
PYGRESQL_PASSWD=test

.devcontainer/docker-compose.yml

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,21 @@ services:
1111

1212
command: sleep infinity
1313

14-
pg10:
15-
image: postgres:10
14+
pg12:
15+
image: postgres:12
1616
restart: unless-stopped
1717
volumes:
18-
- postgres-data-10:/var/lib/postgresql/data
18+
- postgres-data-12:/var/lib/postgresql/data
1919
environment:
2020
POSTGRES_USER: postgres
2121
POSTGRES_DB: postgres
2222
POSTGRES_PASSWORD: postgres
2323

24-
pg12:
25-
image: postgres:12
24+
pg13:
25+
image: postgres:13
2626
restart: unless-stopped
2727
volumes:
28-
- postgres-data-12:/var/lib/postgresql/data
28+
- postgres-data-13:/var/lib/postgresql/data
2929
environment:
3030
POSTGRES_USER: postgres
3131
POSTGRES_DB: postgres
@@ -71,10 +71,21 @@ services:
7171
POSTGRES_DB: postgres
7272
POSTGRES_PASSWORD: postgres
7373

74+
pg18:
75+
image: postgres:18
76+
restart: unless-stopped
77+
volumes:
78+
- postgres-data-18:/var/lib/postgresql
79+
environment:
80+
POSTGRES_USER: postgres
81+
POSTGRES_DB: postgres
82+
POSTGRES_PASSWORD: postgres
83+
7484
volumes:
75-
postgres-data-10:
7685
postgres-data-12:
86+
postgres-data-13:
7787
postgres-data-14:
7888
postgres-data-15:
7989
postgres-data-16:
8090
postgres-data-17:
91+
postgres-data-18:

.devcontainer/provision.sh

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,25 +21,27 @@ apt-get install -y rpm wget zip
2121
add-apt-repository -y ppa:deadsnakes/ppa
2222
apt-get update
2323

24-
apt-get install -y python3.7 python3.7-dev python3.7-distutils
2524
apt-get install -y python3.8 python3.8-dev python3.8-distutils
2625
apt-get install -y python3.9 python3.9-dev python3.9-distutils
2726
apt-get install -y python3.10 python3.10-dev python3.10-distutils
28-
apt-get install -y python3.11 python3.11-dev python3.11-distutils
29-
apt-get install -y python3.12 python3.12-dev
30-
apt-get install -y python3.13 python3.13-dev
27+
apt-get install -y python3.11 python3.11-dev python3.11-distutils
28+
apt-get install -y python3.12 python3.12-dev python3.12-venv
29+
apt-get install -y python3.13 python3.13-dev python3.13-venv
30+
apt-get install -y python3.14 python3.14-dev python3.14-venv
3131

3232
# install build and testing tool
3333

34-
python -m ensurepip -U
34+
python3.12 -m ensurepip --upgrade --default-pip
35+
python3.13 -m ensurepip --upgrade --default-pip
36+
python3.14 -m ensurepip --upgrade --default-pip
3537

36-
python3.7 -m pip install -U pip setuptools wheel build
3738
python3.8 -m pip install -U pip setuptools wheel build
3839
python3.9 -m pip install -U pip setuptools wheel build
3940
python3.10 -m pip install -U pip setuptools wheel build
4041
python3.11 -m pip install -U pip setuptools wheel build
4142
python3.12 -m pip install -U pip setuptools wheel build
4243
python3.13 -m pip install -U pip setuptools wheel build
44+
python3.14 -m pip install -U pip setuptools wheel build
4345

4446
pip install ruff
4547

@@ -50,7 +52,7 @@ pip install -U tox
5052

5153
apt-get install -y postgresql libpq-dev
5254

53-
for pghost in pg10 pg12 pg14 pg15 pg16 pg17
55+
for pghost in pg12 pg13 pg14 pg15 pg16 pg17 pg18
5456
do
5557
export PGHOST=$pghost
5658
export PGDATABASE=postgres

.github/workflows/docs.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,21 @@ on:
88
jobs:
99
docs:
1010
name: Build documentation
11-
runs-on: ubuntu-22.04
11+
runs-on: ubuntu-24.04
1212

1313
steps:
1414
- name: Check out repository
15-
uses: actions/checkout@v4
16-
- name: Set up Python 3.13
17-
uses: actions/setup-python@v5
15+
uses: actions/checkout@v6
16+
- name: Set up Python 3.14
17+
uses: actions/setup-python@v6
1818
with:
19-
python-version: 3.13
19+
python-version: 3.14
2020
- name: Install dependencies
2121
run: |
2222
sudo apt install libpq-dev
2323
python -m pip install --upgrade pip
2424
pip install .
25-
pip install "sphinx>=8,<9"
25+
pip install "sphinx>=9,<10"
2626
- name: Create docs with Sphinx
2727
run: |
2828
cd docs

.github/workflows/lint.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,20 @@ on:
77
jobs:
88
checks:
99
name: Quality checks run
10-
runs-on: ubuntu-22.04
10+
runs-on: ubuntu-24.04
1111

1212
strategy:
1313
fail-fast: false
1414

1515
steps:
1616
- name: Check out repository
17-
uses: actions/checkout@v4
17+
uses: actions/checkout@v6
1818
- name: Install tox
1919
run: pip install tox
2020
- name: Setup Python
21-
uses: actions/setup-python@v5
21+
uses: actions/setup-python@v6
2222
with:
23-
python-version: 3.13
23+
python-version: 3.14
2424
- name: Run quality checks
2525
run: tox -e ruff,mypy,cformat,docs
2626
timeout-minutes: 5

.github/workflows/tests.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,22 @@ jobs:
1515
fail-fast: false
1616
matrix:
1717
include:
18-
- { python: "3.7", postgres: "11" }
1918
- { python: "3.8", postgres: "12" }
2019
- { python: "3.9", postgres: "13" }
2120
- { python: "3.10", postgres: "14" }
2221
- { python: "3.11", postgres: "15" }
2322
- { python: "3.12", postgres: "16" }
2423
- { python: "3.13", postgres: "17" }
24+
- { python: "3.14", postgres: "18" }
2525

2626
# Opposite extremes of the supported Py/PG range, other architecture
27-
- { python: "3.7", postgres: "17", architecture: "x86" }
28-
- { python: "3.8", postgres: "16", architecture: "x86" }
29-
- { python: "3.9", postgres: "15", architecture: "x86" }
30-
- { python: "3.10", postgres: "14", architecture: "x86" }
31-
- { python: "3.11", postgres: "13", architecture: "x86" }
32-
- { python: "3.12", postgres: "12", architecture: "x86" }
33-
- { python: "3.13", postgres: "11", architecture: "x86" }
27+
- { python: "3.8", postgres: "18", architecture: "x86" }
28+
- { python: "3.9", postgres: "17", architecture: "x86" }
29+
- { python: "3.10", postgres: "16", architecture: "x86" }
30+
- { python: "3.11", postgres: "15", architecture: "x86" }
31+
- { python: "3.12", postgres: "14", architecture: "x86" }
32+
- { python: "3.13", postgres: "13", architecture: "x86" }
33+
- { python: "3.14", postgres: "12", architecture: "x86" }
3434

3535
env:
3636
PYGRESQL_DB: test
@@ -55,11 +55,11 @@ jobs:
5555
5656
steps:
5757
- name: Check out repository
58-
uses: actions/checkout@v4
58+
uses: actions/checkout@v6
5959
- name: Install tox
6060
run: pip install tox
6161
- name: Setup Python
62-
uses: actions/setup-python@v5
62+
uses: actions/setup-python@v6
6363
with:
6464
python-version: ${{ matrix.python }}
6565
- name: Run tests

README.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ It is based on the PyGres95 code written by Pascal Andre.
1010
D'Arcy J. M. Cain renamed it to PyGreSQL starting with version 2.0
1111
and serves as the "BDFL" of PyGreSQL.
1212
Christoph Zwerschke volunteered as another maintainer and has been the main
13-
contributor since version 3.7 of PyGreSQL.
13+
contributor since version 3.8 of PyGreSQL.
1414

1515
The following Python versions are supported:
1616

1717
* PyGreSQL 4.x and earlier: Python 2 only
1818
* PyGreSQL 5.x: Python 2 and Python 3
1919
* PyGreSQL 6.x and newer: Python 3 only
2020

21-
The current version of PyGreSQL supports Python versions 3.7 to 3.13
22-
and PostgreSQL versions 10 to 17 on the server.
21+
The current version of PyGreSQL supports Python versions 3.8 to 3.14
22+
and PostgreSQL versions 12 to 18 on the server.
2323

2424
Installation
2525
------------

docs/about.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,6 @@ on the PyGres95 code written by Pascal Andre (andre@chimay.via.ecp.fr).
3939
D'Arcy (darcy@druid.net) renamed it to PyGreSQL starting with
4040
version 2.0 and serves as the "BDFL" of PyGreSQL.
4141

42-
The current version PyGreSQL |version| needs PostgreSQL 10 to 17, and Python
43-
3.7 to 3.13. If you need to support older PostgreSQL or Python versions,
42+
The current version PyGreSQL |version| needs PostgreSQL 12 to 18, and Python
43+
3.8 to 3.14. If you need to support older PostgreSQL or Python versions,
4444
you can resort to the PyGreSQL 5.x versions that still support them.

docs/contents/changelog.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
ChangeLog
22
=========
33

4+
Version 6.2.0 (2025-12-21)
5+
--------------------------
6+
- Added support for Python 3.14 and PostgreSQL 18.
7+
- Removed support for Python versions older than 3.8 (released October 2019)
8+
and PostgreSQL older than version 12 (released October 2019).
9+
410
Version 6.1.0 (2024-12-05)
511
--------------------------
612
- Support Python 3.13 and PostgreSQL 17.

docs/contents/install.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ On Windows, you also need to make sure that the directory that contains
1414
``libpq.dll`` is part of your ``PATH`` environment variable.
1515

1616
The current version of PyGreSQL has been tested with Python versions
17-
3.7 to 3.13, and PostgreSQL versions 10 to 17.
17+
3.8 to 3.14, and PostgreSQL versions 12 to 18.
1818

1919
PyGreSQL will be installed as two packages named ``pg`` (for the classic
2020
interface) and ``pgdb`` (for the DB API 2 compliant interface). The former

0 commit comments

Comments
 (0)