Pyrlang/Pyrlang
Erlang node implemented in Python 3.5+ (Asyncio-based)
{ "createdAt": "2017-05-19T16:01:27Z", "defaultBranch": "master", "description": "Erlang node implemented in Python 3.5+ (Asyncio-based)", "fullName": "Pyrlang/Pyrlang", "homepage": "https://pyrlang.github.io/Pyrlang/", "language": "Python", "name": "Pyrlang", "pushedAt": "2025-04-09T01:22:12Z", "stargazersCount": 633, "topics": [ "distributed", "erlang", "erlang-node", "gevent", "library", "message-passing", "python", "rpc" ], "updatedAt": "2025-11-09T20:30:28Z", "url": "https://github.com/Pyrlang/Pyrlang"}Pyrlang - Erlang node in Python
Section titled “Pyrlang - Erlang node in Python”This is a drop-in Erlang node implementation in Python 3, implementing a network Erlang node protocol. It was designed to allow interoperation between existing Python projects and BEAM languages: Erlang, Elixir, Gleam, 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.
Features
Section titled “Features”- Erlang distribution protocol for Erlang versions 19 to 25
- 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_admpings supported- RPC calls to Python (Erlang
rpc:call). Exceptions are propagated from Python back to Erlang; pyrlang.gen.server.GenServerdescendant frompyrlang.process.Processallows accepting generic calls mapped to Python class members
Documentation
Section titled “Documentation”Browse at https://pyrlang.github.io/Pyrlang/
Or build your own by running make docs (generated by Sphinx).
Installing
Section titled “Installing”From PyPI
Section titled “From PyPI”Local from Sources
Section titled “Local from Sources”- Clone Pyrlang and Term repositories
- Install Term from source: Go to Term directory and
pip install -e . - Install Pyrlang from source: Go to Pyrlang directory and
pip install -e .
Support & Questions
Section titled “Support & Questions”For those times when you absolutely need assistance and email is too slow, here’s a Discord channel: https://discord.gg/pWWe7Wx and there is a Slack channel #pyrlang on https://erlanger.slack.com/