Since Python 2 is now officially unsupported upstream, pluggy 1.0 is a good point to drop support for it.
Projects which want to keep support for Python 2 should keep using pluggy 0.6.x series. Pluggy 1.0 will use python_requires = >=3.5 such that pip install pluggy on Python 2 projects will keep getting the 0.6.x series.
The benefits of doing this are:
- Ability to drop Python 2 compatibility code
- Ability to use Python 3-only features, like type annotation syntax,
gen.throw(), return from generator, yield from syntax, type annotation syntax and others.
- Less CI/maintenane stuff.
In terms of big projects:
-
pytest>=5 is Python 3 only. Old 4.6.x branch supports Python2, uses pluggy>=0.12,<1.0, so it's good.
-
tox still supports Python 2, though seems to have a 4.0.0 version in development which will drop support for it (I think?). It is requiring pluggy using pluggy>=0.12.0 , if this is accepted I'll them a PR which changes this to pluggy>=0.12.0,<1.0.0.
-
devpi seems to have two components which use pluggy. The server component dropped Python 2. The client component supports Python 2 but uses pluggy>=0.6.0,<1.0 so should be fine.
Since Python 2 is now officially unsupported upstream, pluggy 1.0 is a good point to drop support for it.
Projects which want to keep support for Python 2 should keep using pluggy 0.6.x series. Pluggy 1.0 will use
python_requires = >=3.5such thatpip install pluggyon Python 2 projects will keep getting the 0.6.x series.The benefits of doing this are:
gen.throw(),returnfrom generator,yield fromsyntax, type annotation syntax and others.In terms of big projects:
pytest>=5 is Python 3 only. Old 4.6.x branch supports Python2, uses
pluggy>=0.12,<1.0, so it's good.tox still supports Python 2, though seems to have a 4.0.0 version in development which will drop support for it (I think?). It is requiring pluggy using
pluggy>=0.12.0, if this is accepted I'll them a PR which changes this topluggy>=0.12.0,<1.0.0.devpi seems to have two components which use
pluggy. Theservercomponent dropped Python 2. Theclientcomponent supports Python 2 but usespluggy>=0.6.0,<1.0so should be fine.