Pyro 4.x - Python remote objects
msgpack
dependency (was msgpack-python
but that name is now deprecated)async
function and keyword arguments in the API:
Renamed Pyro4.core.async
to Pyro4.core.asyncproxy
(and its occurrence in Pyro4
) and the async
keyword argument in some methods to asynchronous
.
This had to be done because async
(and await
) are now parsed as keywords in Python 3.7 and using them otherwise will result in a SyntaxError when loading the module.
It is suggested you stop using the asyncproxy
function and instead create asynchronous proxies using the _pyroAsync
method on the regular proxy.async
function and keyword arguments as they were supported on previous Pyro versions.
But also for that older environments, it's advised to migrate away from them and start using the new names.@expose
method to validate the order of decorators on a method (@expose
should come last, after @classmethod
or @staticmethod
).raise data
line in a traceback coming from Pyro now has a comment after it, telling you that you probably should inspect the remote traceback as well.Pyro4.core.async()
and proxy._pyroAsync()
now return None
, instead of the proxy object.
This means you'll have to change your code that expects a proxy as return value, for instance by creating a
copy of the proxy yourself first.
This change was done to avoid subtle errors where older code still assumed it got a copy of the proxy,
but since 4.57 that is no longer done and it is handed back the same proxy.
By returning None
now, at least the old code will now crash with a clear error, instead of silently continuing
with the possibility of failing in weird ways later.Pyro4.core.SerializedBlob
, see example 'blob-dispatch'