From 9b0684fbe84387d2915488c66f6504fbac85713f Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Sun, 3 Nov 2024 21:02:15 -0500 Subject: [PATCH 1/6] Update tests pipeline and setup.py --- .github/workflows/tests-and-linters.yml | 6 +++--- setup.py | 1 + tox.ini | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests-and-linters.yml b/.github/workflows/tests-and-linters.yml index 2cd6e935..6ad10a70 100644 --- a/.github/workflows/tests-and-linters.yml +++ b/.github/workflows/tests-and-linters.yml @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [3.8, 3.9, "3.10", 3.11, 3.12] + python-version: [3.8, 3.9, "3.10", 3.11, 3.12, 3.13] steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 @@ -48,7 +48,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: - python-version: 3.12 + python-version: 3.13 - run: pip install tox 'cython>=3,<4' - run: make cythonize - run: tox -vv @@ -65,7 +65,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: - python-version: 3.12 + python-version: 3.13 - run: pip install tox - run: tox env: diff --git a/setup.py b/setup.py index 3c4fdcd1..9047ff5c 100644 --- a/setup.py +++ b/setup.py @@ -111,6 +111,7 @@ def _open(filename): "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Framework :: AsyncIO", diff --git a/tox.ini b/tox.ini index dd634f02..5dc3d35b 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] parallel_show_output = true envlist= - coveralls, pylint, flake8, pydocstyle, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, pypy3.9, pypy3.10 + coveralls, pylint, flake8, pydocstyle, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, pypy3.9, pypy3.10 [testenv] deps= From 99bed0c58509a1dc470378d1b8895a5ddf9a73bd Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Sun, 3 Nov 2024 21:05:48 -0500 Subject: [PATCH 2/6] Update tox coverage command --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 5dc3d35b..911a58d8 100644 --- a/tox.ini +++ b/tox.ini @@ -26,7 +26,7 @@ python_files = test_*_py3*.py [testenv:coveralls] passenv = GITHUB_*, COVERALLS_*, DEPENDENCY_INJECTOR_* -basepython=python3.12 +basepython=python3.13 deps= {[testenv]deps} cython>=3,<4 From 2b2be88539efb1a7d85320dd538edb098b6d6518 Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Sun, 3 Nov 2024 22:20:15 -0500 Subject: [PATCH 3/6] Add setuptools to the dev requirements file --- requirements-dev.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements-dev.txt b/requirements-dev.txt index 413ad19c..9dbb9a7a 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,4 +1,5 @@ cython==3.0.11 +setuptools pytest pytest-asyncio tox From 884956bd03f56dd7761db24756026602d0831ba2 Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Sun, 3 Nov 2024 23:08:52 -0500 Subject: [PATCH 4/6] Enforce coverage version in tox --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 911a58d8..2ac0f4a8 100644 --- a/tox.ini +++ b/tox.ini @@ -30,7 +30,7 @@ basepython=python3.13 deps= {[testenv]deps} cython>=3,<4 - coverage + coverage>=7.6 coveralls commands= coverage erase From 803d688452096fbb33dbb7301f5ace61e4b96ce4 Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Sun, 3 Nov 2024 23:53:01 -0500 Subject: [PATCH 5/6] Leave coveralls CI/CD job on Python 3.12 because coveralls 4.0.1 doesn't support Python 3.13 --- .github/workflows/tests-and-linters.yml | 2 +- tox.ini | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests-and-linters.yml b/.github/workflows/tests-and-linters.yml index 6ad10a70..ce0345dd 100644 --- a/.github/workflows/tests-and-linters.yml +++ b/.github/workflows/tests-and-linters.yml @@ -48,7 +48,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: - python-version: 3.13 + python-version: 3.12 - run: pip install tox 'cython>=3,<4' - run: make cythonize - run: tox -vv diff --git a/tox.ini b/tox.ini index 2ac0f4a8..65aa26f0 100644 --- a/tox.ini +++ b/tox.ini @@ -26,12 +26,12 @@ python_files = test_*_py3*.py [testenv:coveralls] passenv = GITHUB_*, COVERALLS_*, DEPENDENCY_INJECTOR_* -basepython=python3.13 +basepython=python3.12 # TODO: Upgrade to version 3.13 is blocked by coveralls 4.0.1 not supporting Python 3.13 deps= {[testenv]deps} cython>=3,<4 - coverage>=7.6 - coveralls + coverage>=7 + coveralls>=4 commands= coverage erase coverage run --rcfile=./.coveragerc -m pytest -c tests/.configs/pytest.ini From efcce4cffa3ea2e5c44e53906a7a0fa4ad5a2abf Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Mon, 4 Nov 2024 00:00:21 -0500 Subject: [PATCH 6/6] Update changelog and publishing jobs --- .github/workflows/publishing.yml | 14 +++++++------- docs/main/changelog.rst | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/publishing.yml b/.github/workflows/publishing.yml index 63247568..9fd7128a 100644 --- a/.github/workflows/publishing.yml +++ b/.github/workflows/publishing.yml @@ -15,11 +15,11 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: - python-version: 3.12 + python-version: 3.13 - run: pip install tox - run: tox env: - TOXENV: 3.12 + TOXENV: 3.13 linters: name: Run linters @@ -31,7 +31,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: - python-version: 3.12 + python-version: 3.13 - run: pip install tox - run: tox env: @@ -45,7 +45,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: - python-version: 3.12 + python-version: 3.13 - run: | python -m pip install --upgrade pip setuptools python setup.py sdist @@ -61,7 +61,7 @@ jobs: matrix: os: [ubuntu-22.04, windows-2019, macos-14] env: - CIBW_SKIP: cp27-* cp313-* + CIBW_SKIP: cp27-* steps: - uses: actions/checkout@v3 - name: Build wheels @@ -75,7 +75,7 @@ jobs: needs: [tests, linters] runs-on: ubuntu-22.04 env: - CIBW_SKIP: cp27-* cp313-* + CIBW_SKIP: cp27-* steps: - uses: actions/checkout@v3 - name: Set up QEMU @@ -114,7 +114,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: - python-version: 3.12 + python-version: 3.13 - run: pip install awscli - run: pip install -r requirements-doc.txt - run: pip install -e . diff --git a/docs/main/changelog.rst b/docs/main/changelog.rst index dae1e8b7..9bd3a904 100644 --- a/docs/main/changelog.rst +++ b/docs/main/changelog.rst @@ -9,6 +9,7 @@ follows `Semantic versioning`_ Develop -------- +- Add support for Python 3.13. - Migrate to Cython 3 (version 3.0.11). Many thanks to `ZipFile `_ for this contribution `#813 `_.