Some people may argue that development dependencies should be separated from optional dependencies e.g. in separate requirements.txt file. Poetry, or PDM, does it with a special section. What is an official recommendation?
Sample
[project.optional-dependencies]
dev = ["check-manifest"]
test = ["coverage"]
PDM
[tool.pdm.dev-dependencies]
test = ["pytest"]
Poetry
[tool.poetry.group.test.dependencies]
pytest = "^6.0.0"
pytest-mock = "*"