Pyro4
distributed object middleware for Python (RPC)
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
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 · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute Pyro4 freely in commercial and private projects with minimal restrictions.
last release 2021-12-25 (1693 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 177,227 downloads/mo, #10,219 on PyPI
Alternatives
Verify before relying
pip install Pyro4
import Pyro4
@Pyro4.expose
class MyObject:
def greet(self, name):
return f"Hello, {name}!"
uri = Pyro4.Daemon.serveSimple({MyObject: "example.myobject"})- 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.
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 on it.
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
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 packagesserpentselectors34 |
| 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 |
| Classifiers | Development Status :: 5 - Production/StableDevelopment Status :: 6 - MatureIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: DutchNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.10Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Object BrokeringTopic :: System :: Distributed ComputingTopic :: System :: Networking |
Evidence: Pyro4-4.82-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “distributed object middleware”
- Pyro4Pyro4 enables Python objects to communicate over a network using…
- flask-request-id-headerFlask middleware that automatically adds or validates an X-Request-ID…
- opencensus-ext-flaskAdds distributed tracing instrumentation to Flask applications via…
Give your agent the search over MCP, or paste the wish link into any chat.
More Distributed Computing packages
gRPC Python is an HTTP/2-based RPC framework that enables you to define and call remote procedures across network boundaries using protocol buffers for serialization.
Install it if you need RPC communication in a distributed system or are integrating with existing gRPC services.
execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.
However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…
Cloudpickle extends Python's standard pickle module to serialize lambda functions, interactively-defined functions and classes, and other constructs that the default pickle cannot handle, making it suitable for cluster computing and remote code execution.
Install it if you need to serialize lambda functions, interactively-defined code, or non-standard Python constructs for cluster computing or distributed execution.
Provides a unified, open()-compatible Python API for streaming large files from remote storage (S3, GCS, Azure, HDFS, SFTP, HTTP) and local filesystems, with transparent compression support.
Install it if you work with large files on cloud storage or remote systems and want to avoid writing boilerplate around multiple SDKs.
Portalocker provides cross-platform file locking with support for exclusive and shared locks, plus Redis-based distributed locks and process-aware PID file locking.
Install it if you need file or process coordination; the optional extras (pywin32, redis) are only required for specific lock types.
Ray is a distributed computing framework that scales Python applications from a single machine to multi-node clusters, providing abstractions for parallel tasks, stateful actors, and shared objects.
See also Pyro5 · py4j · pyro-ppl · pyro-api · ppft · numpyro · thespian · connectrpc