Description
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 topluggy>=0.12.0,<1.0.0
. -
devpi seems to have two components which use
pluggy
. Theserver
component dropped Python 2. Theclient
component supports Python 2 but usespluggy>=0.6.0,<1.0
so should be fine.