skillfed

Pyro4

distributed object middleware for Python (RPC)

pyro4 v4.82 177.2K downloads/30d#10,219 on PyPI
Permissive license MIT Abandoned released

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 pyro4

uv

uv add pyro4

poetry

poetry add pyro4

Installing 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

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

Tags

distributed object middlewareremote method calls pythonRPC frameworkpython network objectsinter-process communicationdistributed computing libraryobject brokering
legacyabandonedrpc

More Distributed Computing packages