Pyrlang / Pyrlang

Erlang node implemented in Python 3.5+ (Asyncio-based)

Home Page:https://pyrlang.github.io/Pyrlang/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 and 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/

About

Erlang node implemented in Python 3.5+ (Asyncio-based)

https://pyrlang.github.io/Pyrlang/

License:Apache License 2.0


Languages

Language:Python 91.1%Language:Erlang 5.5%Language:Makefile 2.6%Language:Batchfile 0.6%Language:HTML 0.2%Language:CSS 0.1%