Skip to content

Commit

Permalink
Add support for Python 3.13 and drop 3.9
Browse files Browse the repository at this point in the history
  • Loading branch information
jdavid committed Aug 18, 2024
1 parent d8af938 commit 9c79d3c
Show file tree
Hide file tree
Showing 9 changed files with 22 additions and 26 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:

jobs:
ruff:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

steps:
- name: Checkout pygit2
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ jobs:
strategy:
matrix:
include:
- os: ubuntu-22.04
python-version: 3.9
- os: ubuntu-22.04
- os: ubuntu-24.04
python-version: '3.10'
- os: ubuntu-24.04
python-version: '3.13-dev'
- os: ubuntu-22.04
python-version: 'pypy3.9'
- os: ubuntu-24.04
python-version: 'pypy3.10'
- os: macos-latest
python-version: 3.9
python-version: '3.10'

steps:
- name: Checkout pygit2
Expand All @@ -43,7 +43,7 @@ jobs:
LIBSSH2_VERSION=1.11.0 LIBGIT2_VERSION=1.8.1 /bin/sh build.sh test
aarch64:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -60,7 +60,7 @@ jobs:
LIBSSH2_VERSION=1.11.0 LIBGIT2_VERSION=1.8.1 /bin/sh build.sh test
s390x:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
if: github.ref == 'refs/heads/master'
steps:
- name: Checkout
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,22 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04, macos-12]
os: [ubuntu-24.04, macos-12]

steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: '3.9'
python-version: '3.10'

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

- name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.19.2
run: python -m pip install cibuildwheel==2.20.0

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

steps:
- uses: actions/download-artifact@v3
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# pygit2 - libgit2 bindings in Python

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

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

Expand Down
4 changes: 0 additions & 4 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@ environment:
TWINE_PASSWORD:
secure: 7YD82RnQJ9rnJE/josiQ/V6VWh+tlhmJpWVM/u5jGdl8XqyhsLEKF5MNMYd4ZYxA/MGaYBCQ525d4m9RSDk9RB+uIFMZJLnl1eOjHQVyJ+ZZmJb65tqd/fR5hybhWtVhn+0wANiI4uqrojFFVy1HjfBYSrvyk+7LLDxfSVTqkhMEhbZbWBpGP/3VET1gPy+qdlWcL7quwhSBPSbKpyMi/cqvp5/yFLAM615RRABgQUDpRyXxtBTReRgWSxi9kUXXqR18ZvQlvMLnAsEnGFRenA==
matrix:
- GENERATOR: 'Visual Studio 14'
PYTHON: 'C:\Python39\python.exe'
- GENERATOR: 'Visual Studio 14 Win64'
PYTHON: 'C:\Python39-x64\python.exe'
- GENERATOR: 'Visual Studio 14'
PYTHON: 'C:\Python310\python.exe'
- GENERATOR: 'Visual Studio 14 Win64'
Expand Down
2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ pygit2 - libgit2 bindings in Python
######################################################################

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

Links
=====================================
Expand Down
4 changes: 2 additions & 2 deletions docs/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,12 @@ Requirements

Supported versions of Python:

- Python 3.9 to 3.12
- Python 3.10 to 3.13
- PyPy3 7.3+

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

- cffi 1.16.0 or later
- cffi 1.17.0 or later

Libgit2 **v1.8.x**; binary wheels already include libgit2, so you only need to
worry about this if you install the source package.
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ environment = {LIBGIT2_VERSION="1.8.1", LIBSSH2_VERSION="1.11.0", OPENSSL_VERSIO
repair-wheel-command = "DYLD_LIBRARY_PATH=/Users/runner/work/pygit2/pygit2/ci/lib delocate-wheel --require-archs {delocate_archs} -w {dest_dir} {wheel}"

[tool.ruff]
target-version = "py39" # oldest supported Python version
target-version = "py310" # oldest supported Python version
fix = true
extend-exclude = [
".cache",
Expand Down
8 changes: 4 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,10 @@ def exclude(line):
'Intended Audience :: Developers',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3.13',
'Programming Language :: Python :: Implementation :: PyPy',
'Programming Language :: Python :: Implementation :: CPython',
'Topic :: Software Development :: Version Control',
Expand Down Expand Up @@ -151,9 +151,9 @@ def run(self):
cffi_modules=['pygit2/_run.py:ffi'],
ext_modules=ext_modules,
# Requirements
python_requires='>=3.9',
setup_requires=['cffi>=1.16.0'],
install_requires=['cffi>=1.16.0'],
python_requires='>=3.10',
setup_requires=['cffi>=1.17.0'],
install_requires=['cffi>=1.17.0'],
# URLs
url='https://github.com/libgit2/pygit2',
project_urls={
Expand Down

0 comments on commit 9c79d3c

Please sign in to comment.