Feature Request
When installed, Poetry installs the latest available versions of packages in it's dependency graph.
This has lead to multiple occasions where even when installing a specific version of the Poetry client, differences in the installed libraries have lead to an inconsistent experience.
It's quite ironic for a tool which promotes reproducible builds through the use of a lockfile that it should suffer from breakages caused by installing itself via pip.
Given the purpose of Poetry (and poetry-core), it's very likely to be installed and used in a CI pipeline, where stability and reliability are strong concerns. I humbly submit that installing Poetry and poetry-core should be a reproducible act for a given version number.
Suggest that this may be achievable by (preferring the first)
- Having a
poetry build mode that outputs a setup.py with frozen dependency specifications based on the lock file
- and using this mode for subsequent releases of
poetry and poetry-core
- Using the output of
pip freeze for install-poetry.py instead of
if self._git:
specification = "git+" + version
elif self._path:
specification = version
else:
specification = f"poetry=={version}"
subprocess.run(
[str(python), "-m", "pip", "install", specification],
Feature Request
When installed, Poetry installs the latest available versions of packages in it's dependency graph.
This has lead to multiple occasions where even when installing a specific version of the Poetry client, differences in the installed libraries have lead to an inconsistent experience.
poetry-coredeprecating support formd5hashes/simple) #4688cachecontrolIt's quite ironic for a tool which promotes reproducible builds through the use of a lockfile that it should suffer from breakages caused by installing itself via
pip.Given the purpose of Poetry (and
poetry-core), it's very likely to be installed and used in a CI pipeline, where stability and reliability are strong concerns. I humbly submit that installing Poetry andpoetry-coreshould be a reproducible act for a given version number.Suggest that this may be achievable by (preferring the first)
poetry buildmode that outputs asetup.pywith frozen dependency specifications based on the lock filepoetryandpoetry-corepip freezeforinstall-poetry.pyinstead of