Closed hugovk closed 2 years ago
I don't really develop Pyro4 anymore so I'm considering what to do with this. It's not a security fix which is the only thing I considered changing on Pyro4.
New development and current/future compatibility aspects are to be found in Pyro5. I suggest upgrading regardless.
I'm not actually using Pyro4, rather trying to help the community be ready for Python 3.12. :+1:
It's totally fine if Pyro4 is no longer developed (except for very important bug fixes), and to tell people to use Pyro5 instead.
As it stands, Pyro4 won't work on Python 3.12 when it comes out next year, there'll be an AttributeError
or something. So you could use that hard break to encourage people to upgrade :)
If so, maybe something to add to the README.
Otherwise if you want Pyro4 to run on 3.12, perhaps this is also a very important bug fix?
I'm not sure yet how to proceed with this. Thanks for the PR regardless.
@irmen , just as a "data point" about the Pyro4 user base, we use (a fork of) Pyro4 here. It has features that are not in Pyro5 and that we use (multi-threading handling, support for the pickle format). So we will be happy to have Pyro4 still not automatically break when we happen to bump the Python version.
Thanks @pieleric I understand that Pyro4 is still in use at certain places. But I also cannot support it indefinitely. I mean Python 3.13 may introduce yet more incompatibilities etc etc. I'll think about it.
(unrelated: you mention "multi-threaded handling" but Pyro5 also has this, what do you mean here?)
fwiw, https://github.com/irmen/Pyro5/commit/4baec8f1d08f36980ad3e577ff4d46c3401e8b00 here's a fix for some of these deprecations in Pyro5 (example code - the lib itself is fine)
Right, another incompatibility surfaced in the Pyro serialization mechanism and the Serpent serializer, due to a change made in Python 3.11. I think I won't be fixing that as well for Pyro4.
This basically means that Python 3.10 now looks to be the end of the line for Pyro4.
Decided not to proceed with this. Upgrade to Pyro5 to stay compatible with future Python releases, or find another way (fork + custom patches perhaps) to maintain compatibility yourself in Pyro4 if really needed.
threading.currentThread
was deprecated in Python 3.10 (October 2021).Replace with
threading.current_thread
, added in Python 2.6 (October 2008).Similarly for:
getName()
andsetDaemon()
.