From 2fb52be3c00cdd33280184b642bcc318976551a9 Mon Sep 17 00:00:00 2001 From: Bart Feenstra Date: Wed, 9 Oct 2024 09:47:57 +0100 Subject: [PATCH] Support Python 3.13 (#2089) --- .github/workflows/pull-request-create-release.yml | 4 ++-- .github/workflows/release-build-pyinstaller.yml | 4 ++-- .github/workflows/release-build-setuptools.yml | 4 ++-- .github/workflows/test.yml | 7 +++++-- betty/tests/coverage/test_coverage.py | 2 ++ codecov.yml | 2 +- pyproject.toml | 4 ++-- 7 files changed, 16 insertions(+), 11 deletions(-) diff --git a/.github/workflows/pull-request-create-release.yml b/.github/workflows/pull-request-create-release.yml index e2886057b..9a54cdfeb 100644 --- a/.github/workflows/pull-request-create-release.yml +++ b/.github/workflows/pull-request-create-release.yml @@ -38,11 +38,11 @@ jobs: - name: macOS os: macos-latest dist_name: betty-macos - python: '3.12' + python: '3.13' - name: Windows os: windows-2019 dist_name: betty-windows - python: '3.12' + python: '3.13' steps: - name: Check out the source code uses: actions/checkout@v4 diff --git a/.github/workflows/release-build-pyinstaller.yml b/.github/workflows/release-build-pyinstaller.yml index 4dc17a1ea..9d24ba769 100644 --- a/.github/workflows/release-build-pyinstaller.yml +++ b/.github/workflows/release-build-pyinstaller.yml @@ -14,11 +14,11 @@ jobs: - name: macOS os: macos-latest dist_name: betty-macos - python: '3.12' + python: '3.13' - name: Windows os: windows-2019 dist_name: betty-windows - python: '3.12' + python: '3.13' steps: - name: Check out the source code uses: actions/checkout@v4 diff --git a/.github/workflows/release-build-setuptools.yml b/.github/workflows/release-build-setuptools.yml index 9c3ea9d87..f6c6ef4d3 100644 --- a/.github/workflows/release-build-setuptools.yml +++ b/.github/workflows/release-build-setuptools.yml @@ -11,9 +11,9 @@ jobs: strategy: matrix: include: - - name: 'Python 3.12' + - name: 'Python 3.13' os: ubuntu-latest - python: '3.12' + python: '3.13' steps: - name: Check out the source code uses: actions/checkout@v4 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 360272ec3..782d8ed6d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,6 +18,9 @@ jobs: include: # The number of builds that submit code coverage configured here MUST be identical # to the number of `after_n_builds` in /home/bart/code/bartfeenstra/betty/codecov.yml. + - name: 'Python 3.13' + os: ubuntu-latest + python: '3.13' - name: 'Python 3.12' os: ubuntu-latest python: '3.12' @@ -26,10 +29,10 @@ jobs: python: '3.11' - name: 'macOS' os: macos-latest - python: '3.12' + python: '3.13' - name: 'Windows' os: windows-latest - python: '3.12' + python: '3.13' timeout-minutes: 60 steps: - name: Check out the source code diff --git a/betty/tests/coverage/test_coverage.py b/betty/tests/coverage/test_coverage.py index 48b97055b..1a9f23770 100644 --- a/betty/tests/coverage/test_coverage.py +++ b/betty/tests/coverage/test_coverage.py @@ -307,6 +307,8 @@ class TestKnownToBeMissing: "FetchResponse": { # This is inherited from @dataclass. "__eq__": TestKnownToBeMissing, + # This is inherited from @dataclass. + "__replace__": TestKnownToBeMissing, }, }, "betty/fs.py": { diff --git a/codecov.yml b/codecov.yml index 063f3461e..4bb6e9e7a 100644 --- a/codecov.yml +++ b/codecov.yml @@ -3,4 +3,4 @@ codecov: # The number of builds configured here MUST be identical to the number # of matrix options in /.github/workflows/test.yml that submit code coverage # reports to Codecov.io. - after_n_builds: 4 + after_n_builds: 5 diff --git a/pyproject.toml b/pyproject.toml index 1c9024fb1..cd25c469c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,10 +49,10 @@ classifiers = [ 'Intended Audience :: Science/Research', 'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)', 'Programming Language :: JavaScript', + 'Programming Language :: Lua', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', - 'Programming Language :: Lua', - 'Programming Language :: JavaScript', + 'Programming Language :: Python :: 3.13', 'Programming Language :: Unix Shell', 'Operating System :: MacOS :: MacOS X', 'Operating System :: POSIX :: Linux',