Skip to content

Commit 9c79d3c

Browse files
committed
Add support for Python 3.13 and drop 3.9
1 parent d8af938 commit 9c79d3c

File tree

9 files changed

+22
-26
lines changed

9 files changed

+22
-26
lines changed

.github/workflows/lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88

99
jobs:
1010
ruff:
11-
runs-on: ubuntu-22.04
11+
runs-on: ubuntu-24.04
1212

1313
steps:
1414
- name: Checkout pygit2

.github/workflows/tests.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ jobs:
1212
strategy:
1313
matrix:
1414
include:
15-
- os: ubuntu-22.04
16-
python-version: 3.9
17-
- os: ubuntu-22.04
15+
- os: ubuntu-24.04
16+
python-version: '3.10'
17+
- os: ubuntu-24.04
1818
python-version: '3.13-dev'
19-
- os: ubuntu-22.04
20-
python-version: 'pypy3.9'
19+
- os: ubuntu-24.04
20+
python-version: 'pypy3.10'
2121
- os: macos-latest
22-
python-version: 3.9
22+
python-version: '3.10'
2323

2424
steps:
2525
- name: Checkout pygit2
@@ -43,7 +43,7 @@ jobs:
4343
LIBSSH2_VERSION=1.11.0 LIBGIT2_VERSION=1.8.1 /bin/sh build.sh test
4444
4545
aarch64:
46-
runs-on: ubuntu-22.04
46+
runs-on: ubuntu-24.04
4747
steps:
4848
- name: Checkout
4949
uses: actions/checkout@v4
@@ -60,7 +60,7 @@ jobs:
6060
LIBSSH2_VERSION=1.11.0 LIBGIT2_VERSION=1.8.1 /bin/sh build.sh test
6161
6262
s390x:
63-
runs-on: ubuntu-22.04
63+
runs-on: ubuntu-24.04
6464
if: github.ref == 'refs/heads/master'
6565
steps:
6666
- name: Checkout

.github/workflows/wheels.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,22 @@ jobs:
1313
runs-on: ${{ matrix.os }}
1414
strategy:
1515
matrix:
16-
os: [ubuntu-22.04, macos-12]
16+
os: [ubuntu-24.04, macos-12]
1717

1818
steps:
1919
- uses: actions/checkout@v4
2020

2121
- uses: actions/setup-python@v5
2222
with:
23-
python-version: '3.9'
23+
python-version: '3.10'
2424

2525
- uses: docker/setup-qemu-action@v3
2626
if: runner.os == 'Linux'
2727
with:
2828
platforms: all
2929

3030
- name: Install cibuildwheel
31-
run: python -m pip install cibuildwheel==2.19.2
31+
run: python -m pip install cibuildwheel==2.20.0
3232

3333
- name: Build wheels
3434
run: python -m cibuildwheel --output-dir wheelhouse
@@ -41,7 +41,7 @@ jobs:
4141
pypi:
4242
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
4343
needs: [build_wheels]
44-
runs-on: ubuntu-22.04
44+
runs-on: ubuntu-24.04
4545

4646
steps:
4747
- uses: actions/download-artifact@v3

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# pygit2 - libgit2 bindings in Python
22

33
Bindings to the libgit2 shared library, implements Git plumbing.
4-
Supports Python 3.9 to 3.12 and PyPy3 7.3+
4+
Supports Python 3.10 to 3.13 and PyPy3 7.3+
55

66
[![image](https://github.com/libgit2/pygit2/actions/workflows/tests.yml/badge.svg)](https://github.com/libgit2/pygit2/actions/workflows/tests.yml)
77

appveyor.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,6 @@ environment:
77
TWINE_PASSWORD:
88
secure: 7YD82RnQJ9rnJE/josiQ/V6VWh+tlhmJpWVM/u5jGdl8XqyhsLEKF5MNMYd4ZYxA/MGaYBCQ525d4m9RSDk9RB+uIFMZJLnl1eOjHQVyJ+ZZmJb65tqd/fR5hybhWtVhn+0wANiI4uqrojFFVy1HjfBYSrvyk+7LLDxfSVTqkhMEhbZbWBpGP/3VET1gPy+qdlWcL7quwhSBPSbKpyMi/cqvp5/yFLAM615RRABgQUDpRyXxtBTReRgWSxi9kUXXqR18ZvQlvMLnAsEnGFRenA==
99
matrix:
10-
- GENERATOR: 'Visual Studio 14'
11-
PYTHON: 'C:\Python39\python.exe'
12-
- GENERATOR: 'Visual Studio 14 Win64'
13-
PYTHON: 'C:\Python39-x64\python.exe'
1410
- GENERATOR: 'Visual Studio 14'
1511
PYTHON: 'C:\Python310\python.exe'
1612
- GENERATOR: 'Visual Studio 14 Win64'

docs/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ pygit2 - libgit2 bindings in Python
33
######################################################################
44

55
Bindings to the libgit2 shared library, implements Git plumbing.
6-
Supports Python 3.9 to 3.12 and PyPy3 7.3+
6+
Supports Python 3.10 to 3.13 and PyPy3 7.3+
77

88
Links
99
=====================================

docs/install.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,12 @@ Requirements
5050

5151
Supported versions of Python:
5252

53-
- Python 3.9 to 3.12
53+
- Python 3.10 to 3.13
5454
- PyPy3 7.3+
5555

5656
Python requirements (these are specified in ``setup.py``):
5757

58-
- cffi 1.16.0 or later
58+
- cffi 1.17.0 or later
5959

6060
Libgit2 **v1.8.x**; binary wheels already include libgit2, so you only need to
6161
worry about this if you install the source package.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ environment = {LIBGIT2_VERSION="1.8.1", LIBSSH2_VERSION="1.11.0", OPENSSL_VERSIO
2525
repair-wheel-command = "DYLD_LIBRARY_PATH=/Users/runner/work/pygit2/pygit2/ci/lib delocate-wheel --require-archs {delocate_archs} -w {dest_dir} {wheel}"
2626

2727
[tool.ruff]
28-
target-version = "py39" # oldest supported Python version
28+
target-version = "py310" # oldest supported Python version
2929
fix = true
3030
extend-exclude = [
3131
".cache",

setup.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,10 @@ def exclude(line):
7575
'Intended Audience :: Developers',
7676
'Programming Language :: Python',
7777
'Programming Language :: Python :: 3',
78-
'Programming Language :: Python :: 3.9',
7978
'Programming Language :: Python :: 3.10',
8079
'Programming Language :: Python :: 3.11',
8180
'Programming Language :: Python :: 3.12',
81+
'Programming Language :: Python :: 3.13',
8282
'Programming Language :: Python :: Implementation :: PyPy',
8383
'Programming Language :: Python :: Implementation :: CPython',
8484
'Topic :: Software Development :: Version Control',
@@ -151,9 +151,9 @@ def run(self):
151151
cffi_modules=['pygit2/_run.py:ffi'],
152152
ext_modules=ext_modules,
153153
# Requirements
154-
python_requires='>=3.9',
155-
setup_requires=['cffi>=1.16.0'],
156-
install_requires=['cffi>=1.16.0'],
154+
python_requires='>=3.10',
155+
setup_requires=['cffi>=1.17.0'],
156+
install_requires=['cffi>=1.17.0'],
157157
# URLs
158158
url='https://github.com/libgit2/pygit2',
159159
project_urls={

0 commit comments

Comments
 (0)