Open blaggacao opened 4 years ago
Collects (at least):
+1 on this, not sure why it hasn't been implemented yet
The psycopg2 example is indirectly solved / closed. This issue affects many other packages.
Here is another:
pip install nats-py
import nats
nc = await nats.connect("tls://demo.nats.io:4443")
[tool.poetry.dependencies]
nats-py = { version = "~2.8.0" }
https://github.com/nats-io/nats.py https://pypi.org/project/nats-py/
Please see the recent discussion around package variants on the python channels, once such an option is available in the wider eco system, poetry will be able to support it.
Feature Request
python-poetry/semver
dev branch topython-poetry/poetry
dev branch)psycopg2
&psycopg2-binary
)Therefore, add
[tool.poetry.dev-alternates]
with exactly the same syntax as[tool.poetry.dependencies]
yet with an optionalaliases
field on the dep object, to inform which production package's namespace is provided through this package during dev. Ifaliases
is not specified, it shall be inferred by the dep name itself.Example covering both cases:
Further considerations
toml
file API[tool.poetry.dev-dependencies]
, however I consider, flat rymes are part of poetry's rythm, so stick with the groove.Merge strategy
I should be precise in that, it shall be expected to do a true merge of the objects, so -- strictly --
psycopg2-binary = {aliases = psycopg2, version = "^2.8"}
could be written as justpsycopg2-binary = {aliases = psycopg2}
CLI UX
From a UX perspectve, maybe the
install --develop=DEVELOP
has almost a 90% overlap in semantics with the requested feature. It would be an acceptable modification to current behaviour, if:install --develop=DEVELOP
always uses the alternate dev dep -- if specified -- in addition to install said dep in development modeThis FR collects a few FR in the issue catalogue, please reference them as you see fit.