Skip to content

Commit 96e05d6

Browse files
Remove version_file setting and migrate to lazy version loading
Remove setuptools-scm version_file setting and replace static version import with lazy loading via __getattr__ using importlib.metadata.version. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 1f48444 commit 96e05d6

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

changelog/590.trivial.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Migrate from generating a version file to lazy loading it via importlib.

pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ known-local-folder = ["pluggy"]
6666
lines-after-imports = 2
6767

6868
[tool.setuptools_scm]
69-
version_file = "src/pluggy/_version.py"
7069

7170
[tool.towncrier]
7271
package = "pluggy"

src/pluggy/__init__.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,14 @@
2525
from ._manager import PluginValidationError
2626
from ._result import HookCallError
2727
from ._result import Result
28-
from ._version import version as __version__
2928
from ._warnings import PluggyTeardownRaisedWarning
3029
from ._warnings import PluggyWarning
30+
31+
32+
def __getattr__(name: str) -> str:
33+
if name == "__version__":
34+
from importlib.metadata import version
35+
36+
return version("pluggy")
37+
38+
raise AttributeError(f"module {__name__} has no attribute {name!r}")

0 commit comments

Comments
 (0)