The title says it all: Is it possible to use poetry without defining a package? So purely for pinning dependencies for a well-defined python virtual environment. Meaning what would a pyproject.toml for poetry look like, that doesn’t define an actual package, just a list of dependencies to be able reproduce an exact virtual environment from the lock file? In that case my target would not be a sharable artifact, but the virutal environment itself.
All attempts I’ve made just led to things like:
poetry.core.masonry.utils.module.ModuleOrPackageNotFound: No file/folder found for package justenv
# ...
ValueError: /build/source/justenv does not contain any element
# ...
File ".../lib/python3.10/pathlib.py", line 369, in _make_selector
pat = pattern_parts[0]
IndexError: tuple index out of range
# ... and my absolute favourite error, just this on stderr:
'name'
As far as I know this is not possible. I must say that last time I looked at this was a long time ago (in the context of this question), but I doubt it changed and your question seems to confirm it.
Does it have to be Poetry?
Coincidentally this kind of use case is somewhat being discussed currently:
Sadly it has to, because I need to use poetry2nix for what I have in mind. I opened an issue with the poetry crowd. I don’t expect much from them. Thanks for the link!
Nah, turns out I was just being dumb the whole time. Poetry is totally fine with just having no package at all. Don’t know what I typoed the first ten times so it didn’t work: