`poetry install` installs v0.0.0 the first time but ok on subsequent runs

#242 · closed · 1 comments

View on GitHub ↗

caius-martinus

Note : I have existing version tags like v1.2.3 My config is : ``` [tool.poetry.requires-plugins] poetry-dynamic-versioning = { version = ">=1.7.1,<2.0.0", extras = ["plugin"] } [tool.poetry-dynamic-versioning] enable = true vcs = "git" style = "semver" strict = true metadata = false [tool.poetry] version = "0.0.0" ``` ## Steps to reproduce This can be reproduced by removing the folder `.poetry` within the project and call `poetry install` again. ``` ± rm .poetry/ -rf ± poetry install Using python3.13 (3.13.7) Ensuring that the Poetry plugins required by the project are available... The following Poetry plugins are required by the project but are not installed in Poetry's environment: - poetry-plugin-export (>=1.9.0) - poetry-dynamic-versioning[plugin] (>=1.7.1,<2.0.0) Installing Poetry plugins only for the current project... Updating dependencies Resolving dependencies... (9.1s) Package operations: 5 installs, 0 updates, 0 removals - Installing markupsafe (3.0.2) - Installing dunamai (1.25.0): Installing... - Installing dunamai (1.25.0) - Installing jinja2 (3.1.6) - Installing poetry-dynamic-versioning (1.9.1): Installing... - Installing poetry-dynamic-versioning (1.9.1) - Installing poetry-plugin-export (1.9.0) Writing lock file Installing dependencies from lock file No dependencies to install or update Installing the current project: <project> (0.0.0) ⚠️🤨 ``` Installing it again: ``` ± poetry install Using python3.13 (3.13.7) Installing dependencies from lock file No dependencies to install or update Installing the current project: <project> (1.2.3) ``` Notice that a similar issue happens with `poetry build` ; if you remove the `.poetry` folder and issue that command, you'll see `0.0.0` until you call `poetry install` at least _once_ and run `poetry build` again.

Comments

mtkennerly

Hi! Sorry for the late reply here 😅 This is basically just because Poetry prints the static version from pyproject.toml first, and then it runs the plugin, which updates the metadata. I don't think there's anything that poetry-dynamic-versioning can do about that. This is a cosmetic issue in development environments, but fortunately doesn't affect downstream users of the final wheel/etc, since the plugin makes a static copy of the dynamic version in the artifacts.