<#19349 Should (can?) the Poetry target generator ...
# github-notifications
c
#19349 Should (can?) the Poetry target generator produce separate resolves for dev and release? New discussion created by wlritchi From the docs, we have this example of some Poetry dependencies:
Copy code
[tool.poetry.dependencies]
python = "^3.8"
requests = {extras = ["security"], version = "~1"}
flask = "~1.12"

[tool.poetry.dev-dependencies]
isort = "~5.5"
In a typical Poetry development and release workflow, developers and CI test steps would install all of these dependencies, but the final artifacts would depend only on requests and flask. From the same docs, we see that the result of the
poetry_requirements(...)
generator is spiritually equivalent to:
Copy code
python_requirement(
    name="requests",
    requirements=["requests[security]>=1,<2.0"],
)
python_requirement(
    name="flask",
    requirements=["flask>=1.12,<1.13"],
)
python_requirement(
    name="isort",
    requirements=["isort>=5.5,<5.6"],
)
This representation does not encode any details about which requirements are required at runtime vs required only for development and testing. As a developer new to Pants, and attempting to migrate from Poetry, it's not clear to me if or how I need to express the distinction. Are resolves (part of) Pants' strategy for separating dev requirements from runtime requirements? If so, should a single
poetry_requirements(...)
produce requirements for multiple resolves? Should multiple
poetry_requirements(...)
generators be used? pantsbuild/pants