3 ms·
There used to be a Python library called Pyro, which stood for Python Remote Objects. As the name implies, it as a library for doing RPC/RMI. I remember playing
by krylon 9y ago
There used to be a Python library called Pyro, which stood for Python Remote Objects. As the name implies, it as a library for doing RPC/RMI. I remember playing with it over a weekend ~12 years ago.
Oh, look, it is still around: https://pypi.python.org/pypi/Pyro/3.16 https://pypi.python.org/pypi/Pyro/3.16
Admittedly, the last update was five years ago, but still.
- jgibson 9y agoPyro (the remote object version) is still around as Pyro4 (and in active development, found here https://pythonhosted.org/Pyro4/ https://pythonhosted.org/Pyro4/). We found it great for gradually transitioning from Py2 to Py3
- cglace 9y agoInteresting. Can you provide some details about how it helped you transition?
- deleted 9y ago[deleted]
- jgibson 9y agoWe have a bunch of testers interfacing with hardware that used to run one big monolithic app that would handle everything from scheduling tests, reporting results, grabbing test artifacts, interfacing with hardware APIs, etc. Rather than move everything over at once, we are splitting out each service and wrapping it in Pyro4, then upgrading them one at a time. We also had a lot of test tooling in legacy java/.net systems, but Pyro4 can wrap those too with (IronPython/Jython) It works nicely in about 95% of use cases with minimal overhead, but there are some gotchas to be aware of (like all strings being serialized as unicode). If we were architecting the whole thing from scratch, some of it might have made more sense with something like gRPC, but it is still a neat tool to have in your toolbox.