The Py-Interface is a python-implementation of an Erlang node.

The py_interface provides the possibility to create a node that may be used for communication with other Erlang nodes.

Some characteristics:

Screenshot (well, sort of)

Here's a screenshot of one of the test programs (since the main code is a library, it doesn't look like anything at all on a picture :-)

[Screenshot of the test program]


Download the latest version: py_interface-2.3.tar.gz.

Py-Interface is written entirely in Python, for communication with Erlang so you need to have Python and Erlang installed, to use it.


A git repository is hosted at github. To clone it, run:

   git clone git://
(It was previously hosted at repo.or.gz, but I've increasingly begun to use github instead.)

Known bugs

Probably a few.


Tomas Abrahamsson <>, with great help from David King, Ed Blake, Luke Gorrie, Jimmy Olgeni, Nigel Head, Paul "TBBle" Hampson, bird devdoer, David Reiss, Anton Krasovsky and HP Wei. (I hope I haven't forgotten anyone; please let me know if that's the case.)


Py-Interface is distributed under the GNU Library General Public License.


version 2.3, 2018-Jan-03 py_interface-2.3.tar.gz
Allow to specify Epmd host and port number through ErlNodeOpts. Thanks to Dmitry Shestak
version 2.2, 2017-Jul-11 py_interface-2.2.tar.gz
Adapt to Erlang 20.
version 2.1, 2017-Jan-11 py_interface-2.1.tar.gz
version 2.0, 2017-Jan-07 py_interface-2.0.tar.gz
Python 3 support (only). Dropped support for Python 2. (The changes to the packing and unpacking code, mostly, were too pervasive, to support both Python 2 an 3 in the same code base.)
version 1.4, 2017-Jan-07 py_interface-1.4.tar.gz
NB: this is the last version with support for Python 2. From 2.0 it is Python 3. Bugfixes might go into 1.4.x, if important enough, but any new development is intended for Python 3 only.
version 1.3, 2014-Apr-25 py_interface-1.3.tar.gz
Several enhancements:
version 1.2.1, 2014-Apr-21 py_interface-1.2.1.tar.gz
Fix a bug in the 'dist' top-level make target
version 1.2, 2014-Apr-21
Add support for Erlang 17.0 maps. (note that the external term format for maps differs in the final 17.0 from that in 17.0-rc1 and 17.0-rc2)
version 1.1.1, 2011-Mar-15 py_interface-1.1.1.tar.gz
Some example files that were new in 1.1 were not included in the tar ball. They were available only via the git repository. Now these files are in the tar ball as well:
version 1.1, 2011-Feb-22 py_interface-1.1.tar.gz
version 1.0, 2010-Apr-13 py_interface-1.0.tar.gz
Changes: Applied a patch by Paul "TBBle" Hampson: Erlang/OTP epmd R13B04 compatibility: R13B04 fixed a bug in the epmd's handling of the `extra' field. This patch makes py_interface work with the bug-fixed epmd.
version 0.99, 2010-Mar-30 py_interface-0.99.tar.gz
Changes: Bugfix of call to _HexDumpFormat in DebugHex. Reported by Paul "TBBle" Hampson.
version 0.98, 2009-Nov-18 py_interface-0.98.tar.gz
Changes: Bugfix for handling negative integers, reported by bird devdoer.
version 0.97, 2009-Jul-27 py_interface-0.97.tar.gz
version 0.96, 2008-Dec-17 py_interface-0.96.tar.gz
Changes: Applied two patches from Anton Krasovsky: fixes for programming errors triggered by internode communication failures.
Also fixed is version number propagation to all files, and building problems: the tar file now contains all files necessary to build the package.
version 0.95, 2008-Jul-15 py_interface-0.95.tar.gz
Changes: Applied patch from David King: the socket connection now also checks for EWOULDBLOCK. Previously it only checked for EAGAIN.
version 0.94, 2008-Jul-13 py_interface-0.94.tar.gz
Changes: Applied patches and bugfixes from David King:
version 0.93, 2006-Jul-25 py_interface-0.93.tar.gz
version 0.92, 2004-Jul-13 py_interface-0.92.tar.gz
Several bugfixes in packing/unpacking of erlang terms. A lot of thanks to Jimmy Olgeni and Nigel Head for patches. See the file, in the tar file, for details.
version 0.91, 2002-Jul-21 py_interface-0.91.tar.gz
Added autoconf stuff. This version is/was also on the Erlang User contribution page
version 0.9, 2002-May-29 py_interface-0.9.tar.gz
First version

Valid CSS! Valid HTML 4.01! $Id: index.html,v 1.32 2018/01/03 14:47:02 tab Exp $

Tomas Abrahamsson <>.