Awesome Open Source
Awesome Open Source

Pyrlang - Erlang node in Python

This is a drop-in Erlang node implementation in Python 3.5, implementing a network Erlang node protocol. It was designed to allow interoperation between existing Python projects and BEAM languages: Erlang, Elixir, Alpaca, Luaerl, LFE, Clojerl and such.

With just a few lines of startup code your Python program becomes an Erlang network node, participating in the Erlang cluster.


Browse at

Or build your own by running make docs (generated by Sphinx).

Support & Questions

For those times when you absolutely need assistance and email is too slow, here's a Discord channel: and there is a Slack channel #pyrlang on


  • Switchable async engine backends: Gevent and Asyncio.
  • Erlang distribution protocol for Erlang versions 19, 20, and 21
  • Registry of Python 'processes', which have an Erlang-compatible process identifier and an optional registered name
  • Send and receive messages locally and remotely by pid or name
  • Can link and monitor Erlang from Python and Python from Erlang
  • net_adm pings supported
  • RPC calls to Python (Erlang rpc:call). Exceptions are propagated from Python back to Erlang;
  • Pyrlang.GenServer descendant from Pyrlang.Process allows accepting generic calls mapped to Python class members

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (53,485
library (1,316
erlang (832
rpc (280
distributed (232
message-passing (17