Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Pyrlang/Pyrlang
Erlang node implemented in Python 3.5+ (Asyncio-based)
https://github.com/Pyrlang/Pyrlang
distributed erlang erlang-node gevent library message-passing python rpc
Last synced: 28 days ago
JSON representation
Erlang node implemented in Python 3.5+ (Asyncio-based)
- Host: GitHub
- URL: https://github.com/Pyrlang/Pyrlang
- Owner: Pyrlang
- License: apache-2.0
- Created: 2017-05-19T16:01:27.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-05-20T03:22:44.000Z (7 months ago)
- Last Synced: 2024-11-05T04:42:21.366Z (about 1 month ago)
- Topics: distributed, erlang, erlang-node, gevent, library, message-passing, python, rpc
- Language: Python
- Homepage: https://pyrlang.github.io/Pyrlang/
- Size: 988 KB
- Stars: 599
- Watchers: 41
- Forks: 57
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.txt
- License: LICENSE
Awesome Lists containing this project
- beamtoolbox - [erl
README
# 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
* 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_adm` pings supported
* RPC calls to Python (Erlang `rpc:call`). Exceptions are propagated
from Python back to Erlang;
* `pyrlang.gen.server.GenServer` descendant from `pyrlang.process.Process`
allows accepting generic calls mapped to Python class members## Documentation
Browse at https://pyrlang.github.io/Pyrlang/
Or build your own by running `make docs` (generated by Sphinx).
## Installing
### From PyPI
### Local from Sources
1. Clone [Pyrlang](https://github.com/Pyrlang/Pyrlang) and [Term](https://github.com/Pyrlang/Term) repositories
2. Install Term from source: Go to Term directory and `pip install -e .`
3. Install Pyrlang from source: Go to Pyrlang directory and `pip install -e .`## 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/