Pyro - Python Remote Objects - 5.16.dev0
Manual Index
What is Pyro?
A library that enables you to build applications in which objects can talk to each other over the network, with minimal programming effort. You can just use normal Python method calls to call objects running on other machines. Pyro is a pure Python library and runs on many different platforms and Python versions.
Pyro is copyright © Irmen de Jong (irmen@razorvine.net | http://www.razorvine.net). Please read Software License and Disclaimer.
Pyro can be found on Pypi as Pyro5. Source is on Github: https://github.com/irmen/Pyro5
Pyro5 is the current version of Pyro. Pyro4 is the predecessor that only gets important bugfixes and security fixes, but is otherwise no longer being improved. New code should use Pyro5 if at all possible.
- Intro and Example
- Installing Pyro
- Tutorial
- Command line tools
- Clients: Calling remote objects
- Servers: hosting Pyro objects
- Name Server
- Starting the Name Server
- Starting the Name Server from within your own code
- Configuration items
- Name server control tool
- Locating the Name Server and using it in your code
- The PYRONAME protocol type
- The PYROMETA protocol type
- Resolving object names
- Registering object names
- Free connections to the NS quickly
- Yellow-pages ability of the Name Server (metadata tags)
- Other methods in the Name Server API
- Security
- Exceptions and remote tracebacks
- Tips & Tricks
- Best practices
- Logging
- Multiple network interfaces
- Wire protocol version
- Pyro behind a NAT router/firewall
- ‘Failed to locate the nameserver’ or ‘Connection refused’ error, what now?
- Binary data transfer / file transfer
- IPV6 support
- Pyro and Numpy
- Pyro via HTTP and JSON
- Client information on the current_context, correlation id
- Automatically freeing resources when client connection gets closed
- Message annotations
- Connection handshake
- Efficient dispatchers or gateways that don’t de/reserialize messages
- Hooking onto existing connected sockets such as from socketpair()
- Configuring Pyro
- Pyro5 library API
Pyro5.api
— Main API packagePyro5.config
— Configuration itemsPyro5.client
— Client code logicPyro5.core
— core Pyro logicPyro5.server
— Server (daemon) logicPyro5.errors
— Exception classesPyro5.nameserver
— Pyro name serverPyro5.callcontext
— Call context handlingPyro5.protocol
— Pyro wire protocolPyro5.socketutil
— Socket related utilitiesPyro5.compatibility.Pyro4
— Pyro4 backward compatibility layerPyro5.utils.echoserver
— Built-in echo server for testing purposesPyro5.utils.httpgateway
— HTTP to Pyro gateway- Socket server API contract
- Pyrolite - client library for Java and .NET
- Change Log
- Software License and Disclaimer