pyinfra-dev / pyinfra

pyinfra turns Python code into shell commands and runs them on your servers. Execute ad-hoc commands and write declarative operations. Target SSH servers, local machine and Docker containers. Fast and scales from one server to thousands.
https://pyinfra.com
MIT License
3.85k stars 374 forks source link

Drop python2 support (& 3.5) #329

Closed Fizzadar closed 2 years ago

Fizzadar commented 4 years ago

v1 will be the last version to support py2. This is to support legacy systems still using pyinfra. I expect v2 to be at least a year off from today.

sysadmin75 commented 4 years ago

Do you have a roadmap listed somewhere?

Fizzadar commented 4 years ago

Currently no concrete roadmap - definitely something to create as would be v.useful!

Fizzadar commented 4 years ago

Forgot to update - roadmap is now setup @ https://github.com/Fizzadar/pyinfra/projects/1#card-44117269!

yggdr commented 3 years ago

Do you already have plans on which python 3 version you'll support once you drop python3? Will it stay with 3.5+, or will you go higher, like 3.6+ which seems to be supported on older LTS versions of major Linux distributions like CentOS and Ubuntu.

Have you given any thought about replacing gevent with native async?

Fizzadar commented 3 years ago

Hi @yggdr! I'm thinking Python 3.6+ as 3.5 has been EOL for a while now.

Regarding native async - that entirely depends on paramiko (https://github.com/paramiko/paramiko/issues/389) - currently this works because gevent monkey patches the stdlib, allowing the non-async paramiko code to run asynchronously. Good thing is this works extremely well so there's no particular pressure to move to native async.

Fizzadar commented 2 years ago

And it's finally live!