Skip to content

Commit 3270eec

Browse files
committed
#222: Fix 'poetry' attribute missing
1 parent 7623d02 commit 3270eec

4 files changed

Lines changed: 21 additions & 2 deletions

File tree

.github/workflows/main.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@ jobs:
7777
- '3.10'
7878
- '3.11'
7979
poetry-version:
80-
- '2.0.0'
80+
- '2.0.1'
81+
- '2.1.1'
8182
unlocked:
8283
- false
8384
include:

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## Unreleased
2+
3+
* Fixed:
4+
* Possible `object has no attribute 'poetry'` error in some projects.
5+
16
## v1.8.1 (2025-03-24)
27

38
* Fixed:

poetry_dynamic_versioning/plugin.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,12 @@ def _apply_version(self, event: ConsoleCommandEvent, kind: str, dispatcher: Even
179179

180180
io = _should_apply_with_io(event.command.name)
181181

182-
_apply_version_via_plugin(event.command.poetry, io=io)
182+
if hasattr(event.command, "poetry"):
183+
poetry_instance = event.command.poetry
184+
else:
185+
poetry_instance = self._application.poetry
186+
187+
_apply_version_via_plugin(poetry_instance, io=io)
183188
_patch_dependency_versions(io)
184189

185190
def _revert_version(self, event: ConsoleCommandEvent, kind: str, dispatcher: EventDispatcher) -> None:

tests/test_integration.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,3 +311,11 @@ def test_pep621_without_dynamic_version():
311311
pyproject = tomlkit.parse(DUMMY_PEP621_PYPROJECT.read_bytes().decode("utf-8"))
312312
assert "version" not in pyproject["project"]
313313
assert '__version__ = "0.0.0"' in (DUMMY_PEP621 / "project_pep621" / "__init__.py").read_bytes().decode("utf-8")
314+
315+
316+
def test__command_interop():
317+
# Just make sure these don't fail with the plugin installed.
318+
folders = [ROOT, ROOT / "tests" / "dependency-dynamic"]
319+
320+
for folder in folders:
321+
run("poetry list", where=folder)

0 commit comments

Comments
 (0)