From 50b30ea7805f7d5f3489c5072ba30b7152941b02 Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Wed, 16 Jul 2025 06:58:28 +0200 Subject: [PATCH 01/12] docs: Fix formatting of Markdown release notes. The removal of the -s (standalone) option avoids adding the title as metadata. The --wrap option preserves the original line breaks rather than breaking every 72 characters. --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1198bdab..3f8bdb0e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -179,7 +179,7 @@ jobs: sed -i "/-----BEGIN PGP SIGNATURE-----/,/-----END PGP SIGNATURE-----\n/d" release-notes.rst - name: Convert Release Notes to Markdown run: | - pandoc -s -o release-notes.md release-notes.rst + pandoc --wrap=preserve -o release-notes.md release-notes.rst - name: Upload artifacts uses: actions/upload-artifact@v4 with: From 68d242f36b27c108487049abbc62c53c127a822b Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Sun, 17 Aug 2025 13:53:42 +0200 Subject: [PATCH 02/12] build: Pin version of setuptools. This is required for reproducible builds. Pinned build dependencies should be updated by dependabot. --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3ba6f317..40a58750 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,8 +1,8 @@ [build-system] build-backend = "setuptools.build_meta" requires = [ - "setuptools>=77", - "setuptools-scm[toml]>=6.2", + "setuptools==80.9", + "setuptools-scm[toml]>=6.2,<9", ] [project] From 31659f339cb4ea75b629e0b299bd5732efd28c38 Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Sun, 17 Aug 2025 13:55:04 +0200 Subject: [PATCH 03/12] build: Pin version of setuptools_scm. This is required for reproducible builds. Pinned build dependencies should be updated by dependabot. --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 40a58750..21a96b1e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ build-backend = "setuptools.build_meta" requires = [ "setuptools==80.9", - "setuptools-scm[toml]>=6.2,<9", + "setuptools-scm[toml]==8.3.1", ] [project] From 4b53962288304bc4e2e78608f37b54846ff81a86 Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Sun, 17 Aug 2025 13:56:02 +0200 Subject: [PATCH 04/12] chore: Bump dependency on setuptools_scm to v9.1.1. --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 21a96b1e..981355f7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ build-backend = "setuptools.build_meta" requires = [ "setuptools==80.9", - "setuptools-scm[toml]==8.3.1", + "setuptools-scm[toml]==9.1.1", ] [project] From 701ac8f6573e7cae09e853c603758ec84ee5b554 Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Sun, 17 Aug 2025 14:46:31 +0200 Subject: [PATCH 05/12] test: Added test which asserts that pytest_asyncio.__version__ is present. --- tests/test_package.py | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 tests/test_package.py diff --git a/tests/test_package.py b/tests/test_package.py new file mode 100644 index 00000000..6f4f720d --- /dev/null +++ b/tests/test_package.py @@ -0,0 +1,5 @@ +import pytest_asyncio + + +def test_package_exposes_version(): + assert pytest_asyncio.__version__ From 8363ebc056e083575ce154a2df46ff1a88eddc36 Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Sun, 17 Aug 2025 14:47:33 +0200 Subject: [PATCH 06/12] refactor: Derive __version__ using importlib.metadata. This replaces the existing approach that uses a version file generated by setuptools-scm. --- pytest_asyncio/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pytest_asyncio/__init__.py b/pytest_asyncio/__init__.py index c25c1bf1..abd62e15 100644 --- a/pytest_asyncio/__init__.py +++ b/pytest_asyncio/__init__.py @@ -2,7 +2,10 @@ from __future__ import annotations -from ._version import version as __version__ # noqa: F401 +from importlib.metadata import version + from .plugin import fixture, is_async_test +__version__ = version(__name__) + __all__ = ("fixture", "is_async_test") From 3be9fa1f2de5a628d238160db21df862163dd042 Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Sun, 17 Aug 2025 14:51:53 +0200 Subject: [PATCH 07/12] refactor: Remove obsolete version file. --- .gitignore | 4 ---- pyproject.toml | 4 ---- setup.cfg | 18 ------------------ 3 files changed, 26 deletions(-) delete mode 100644 setup.cfg diff --git a/.gitignore b/.gitignore index 5a568761..076a7d00 100644 --- a/.gitignore +++ b/.gitignore @@ -62,7 +62,3 @@ target/ # pyenv .python-version - - -# generated by setuptools_scm -pytest_asyncio/_version.py diff --git a/pyproject.toml b/pyproject.toml index 981355f7..c6590990 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -67,7 +67,6 @@ packages = [ include-package-data = true [tool.setuptools_scm] -write_to = "pytest_asyncio/_version.py" local_scheme = "no-local-version" [tool.ruff] @@ -138,9 +137,6 @@ source = [ ] branch = true data_file = "coverage/coverage" -omit = [ - "*/_version.py", -] parallel = true [tool.coverage.report] diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index f68f54b8..00000000 --- a/setup.cfg +++ /dev/null @@ -1,18 +0,0 @@ -[metadata] -# Not everything is in in pyproject.toml because of this issue: -; Traceback (most recent call last): -; File "/tmp/build-env-rud8b5r6/lib/python3.12/site-packages/setuptools/config/expand.py", line 69, in __getattr__ -; return next( -; ^^^^^ -;StopIteration -; -;The above exception was the direct cause of the following exception: -; -;Traceback (most recent call last): -; File "/tmp/build-env-rud8b5r6/lib/python3.12/site-packages/setuptools/config/expand.py", line 183, in read_attr -; return getattr(StaticModule(module_name, spec), attr_name) -; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -; File "/tmp/build-env-rud8b5r6/lib/python3.12/site-packages/setuptools/config/expand.py", line 75, in __getattr__ -; raise AttributeError(f"{self.name} has no attribute {attr}") from e -;AttributeError: pytest_asyncio has no attribute __version__ -version = attr: pytest_asyncio.__version__ From 96ce4b10c16f09f1897af3c0318a2f7193945f7a Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Sun, 17 Aug 2025 14:55:45 +0200 Subject: [PATCH 08/12] chore: Bump setuptools-scm to v9.2.0. --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index c6590990..71ef4ed6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ build-backend = "setuptools.build_meta" requires = [ "setuptools==80.9", - "setuptools-scm[toml]==9.1.1", + "setuptools-scm[toml]==9.2", ] [project] From 108ad53787a04ce1d8683ae4f3ea76d62e16f367 Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Sun, 17 Aug 2025 15:02:07 +0200 Subject: [PATCH 09/12] build: Remove obsolete toml extra from setuptools-scm. --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 71ef4ed6..d3c5b6bf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ build-backend = "setuptools.build_meta" requires = [ "setuptools==80.9", - "setuptools-scm[toml]==9.2", + "setuptools-scm==9.2", ] [project] From 8ca9c92e5d6a3f80ddfe24256307e4387d9416f7 Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Sun, 24 Aug 2025 08:14:31 +0200 Subject: [PATCH 10/12] build: Revert pinning of build-time dependencing due to issues with downstream packaging. see https://github.com/pytest-dev/pytest-asyncio/pull/1192#issuecomment-3194461684 --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d3c5b6bf..e3809be1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,8 +1,8 @@ [build-system] build-backend = "setuptools.build_meta" requires = [ - "setuptools==80.9", - "setuptools-scm==9.2", + "setuptools>=77", + "setuptools-scm[toml]>=6.2", ] [project] From 7f4c1ea71f63f45a2bba1fa8dbb4230f79ce7e9e Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Fri, 12 Sep 2025 08:11:20 +0200 Subject: [PATCH 11/12] docs: Add news fragment setuptools-scm fix. --- changelog.d/1192.downstream.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/1192.downstream.rst diff --git a/changelog.d/1192.downstream.rst b/changelog.d/1192.downstream.rst new file mode 100644 index 00000000..6eeb623b --- /dev/null +++ b/changelog.d/1192.downstream.rst @@ -0,0 +1 @@ +Addresses a build problem with setuptoos-scm >= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. From 0539fffd88ecc5956b8feff579938654533a3108 Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Fri, 12 Sep 2025 08:12:43 +0200 Subject: [PATCH 12/12] docs: Compile changelog. --- changelog.d/1192.downstream.rst | 1 - docs/reference/changelog.rst | 9 +++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) delete mode 100644 changelog.d/1192.downstream.rst diff --git a/changelog.d/1192.downstream.rst b/changelog.d/1192.downstream.rst deleted file mode 100644 index 6eeb623b..00000000 --- a/changelog.d/1192.downstream.rst +++ /dev/null @@ -1 +0,0 @@ -Addresses a build problem with setuptoos-scm >= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. diff --git a/docs/reference/changelog.rst b/docs/reference/changelog.rst index e31395a4..a392efa3 100644 --- a/docs/reference/changelog.rst +++ b/docs/reference/changelog.rst @@ -10,6 +10,15 @@ This project uses `towncrier `__ for changlog .. towncrier release notes start +`v1.1.1 `_ - 2025-09-12 +================================================================================= + +Notes for Downstream Packagers +------------------------------ + +- Addresses a build problem with setuptoos-scm >= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. (`#1192 `_) + + `1.1.0 `_ - 2025-07-16 ===============================================================================