A lightweight Java and .NET client library for calling Python objects remotely via the Pyro5 protocol.
Pyrolite is a client library for Java and .NET that allows programs to call methods on remote Python objects using the Pyro5 protocol. It solves the problem of cross-language communication by enabling seamless interaction between Python services and Java or .NET applications, without requiring full Pyro5 server capabilities. The library provides proxy classes to invoke Python methods and handle exceptions across language boundaries.
Java or .NET developers who need to integrate with Python-based services or leverage Python logic in their applications, such as in distributed systems or microservices architectures.
Developers choose Pyrolite for its lightweight, client-only approach to Pyro5, which reduces complexity compared to full Pyro implementations. It offers straightforward proxy interfaces, dynamic support in .NET, and reliable exception mapping, making cross-language RPC simple and efficient.
Java and .NET client interface for Pyro5 protocol
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements only the client side of Pyro5, reducing complexity and overhead for calling remote Python objects, as the README states it focuses on 'ease of use and minimal overhead'.
Provides straightforward proxy classes for remote method invocation, with Java and C# examples showing easy calls like 'remoteobject.call()' without complex configuration.
Offers dynamic proxy support in .NET, allowing flexible interaction with remote objects using dynamic typing, as demonstrated in the C# example with 'dynamic something'.
Maps Python exceptions to PyroException with remote traceback details in '_pyroTraceback', aiding in debugging cross-language errors, as noted in the README.
From version 5.0, pickle serialization is no longer included, requiring a separate library for pickle handling, which adds complexity and breaks compatibility for users needing that feature.
Requires the Serpent serializer to be installed separately, increasing setup steps and potential integration issues, as the README explicitly states it's a 'required dependency'.
Cannot host Pyro servers from Java or .NET, restricting use cases to only calling Python services, not exposing Java or .NET objects to Python, as the README admits it's 'client-only'.