Pyro4
distributed object middleware for Python (RPC)
What it is and what it does
Pyro4 is a distributed object middleware library that lets you call methods on Python objects as if they were local, even when they run on different machines. It handles the network communication, object location, and serialization transparently, so you write code that looks like ordinary Python while Pyro4 manages the complexity of finding and executing the remote object.
The library is designed for building distributed applications with minimal boilerplate. It supports a wide range of Python data types and method signatures, and runs on multiple platforms and Python versions. However, it has been abandoned since late 2021, with no active maintenance, security updates, or bug fixes—making it a legacy choice suitable only for existing systems or projects where no alternatives are available.
Use it for:
- Build a distributed system where multiple Python processes on different machines need to share objects and call methods on each other.
- Create a simple RPC framework for internal tools or microservices that need lightweight remote object access without heavyweight frameworks.
- Implement inter-process communication (IPC) between Python applications on the same network.
- Prototype distributed computing scenarios where objects need to be located and invoked remotely with minimal setup.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Pyro4 enables Python objects to communicate over a network using normal method calls, handling remote object location and serialization automatically.
No, unless you are maintaining an existing system already using Pyro4. The package is abandoned (last release 2021-12-25) with no active maintenance or security updates. For new projects, choose a maintained alternative like gRPC, FastAPI with async, or another actively supported RPC framework. The low install friction and permissive license do not offset the maintenance risk.
Install
pyro4 on PyPI
pip
pip install pyro4uv
uv add pyro4poetry
poetry add pyro4Installing Pyro4
Before you install
Low install friction with only two runtime dependencies (serpent, selectors34). However, the package is abandoned—last release was 2021-12-25, over 1693 days ago. No active maintenance or security updates should be expected.
License in practice
MIT license is permissive; you can use, modify, and distribute Pyro4 freely in commercial and private projects with minimal restrictions.
Quickstart
pip install Pyro4
import Pyro4
@Pyro4.expose
class MyObject:
def greet(self, name):
return f"Hello, {name}!"
uri = Pyro4.Daemon.serveSimple({MyObject: "example.myobject"})
Verify before relying
- Whether selectors34 (a Python 2 backport) is still functional in modern Python environments or if it creates compatibility issues.
- Current state of the Github repository and whether community forks or maintained alternatives exist.
- Real-world reliability and security posture of the abandoned codebase in production use.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — serpent, selectors34 |
| Maintenance | abandoned — 1,693 days since the last release |
| First released | |
| Downloads | 177,227/month — #10,219 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: Pyro4-4.82-py2.py3-none-any.whl
Keywords: distributed objects, RPC, remote method call, IPC
Tags
More Distributed Computing packages
gRPC Python is an HTTP/2-based RPC framework…
permissive · top 100 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
cloudpickleCloudpickle extends Python's standard pickle…
permissive · top 1,000 on PyPI
smart-openProvides a unified, open()-compatible Python…
permissive · top 1,000 on PyPI
portalockerPortalocker provides cross-platform file…
permissive · top 1,000 on PyPI
rayRay is a distributed computing framework that…
permissive · top 1,000 on PyPI
Pyro5Pyro5 enables remote method calls on Python…
permissive · top 15,000 on PyPI
py4jPy4J enables Python programs to dynamically…
permissive · top 1,000 on PyPI
pyro-pplPyro is a deep probabilistic programming…
permissive · top 5,000 on PyPI
pyro-apiProvides a generic dispatch API for…
permissive · top 5,000 on PyPI
ppftppft executes Python functions in parallel…
permissive · top 5,000 on PyPI
numpyroNumPyro is a probabilistic programming library…
permissive · top 15,000 on PyPI
thespianThespian provides an Actor Model framework for…
permissive · top 15,000 on PyPI
connectrpcConnect is a runtime library for building and…
permissive · top 15,000 on PyPI