

Distributed Python for the Erlang Ecosystem - rcarmo
https://github.com/lfex/py

======
jlouis
For the record in the interest of programmers who don't use Erlang on a daily
basis:

It is very common to use Erlang as a "glue" system between other subsystems in
larger installations. You will often find the Erlang system controlling code
written in other languages, for different reasons: The large Java subsystem
which is hard to replace. The C/C++ code you run as a hidden node() in the
Erlang distribution cluster. The C-accelerated function you added to the
Erlang BEAM VM through dynamic loading of a .so (called a NIF). The OCaml or
Go program you communicate with through a port (essentially an Erlang-
controlled pipe with a proxy light-weight process inside the Erlang VM). And
so on.

Some times, the right tool for the job is another system. The tool 'py'
provides yet another such bridge which allows you to interact with Python
programs in a very direct way.

------
rcarmo
This blog post provides some background:
[http://technicae.cogitat.io/2014/12/improved-python-
support-...](http://technicae.cogitat.io/2014/12/improved-python-support-in-
erlanglfe.html)

------
IndianAstronaut
What are the differences between this and Disco?

~~~
detaro
Disco seems to be purely a MapReduce framework?

~~~
rcarmo
Not just that. Disco also provides a distributed storage service for locality
of reference when doing Map-Reduce.

This, in turn, might be something you'd use to build a tailored distributed
system where you'd call out to Python (and its ecosystem, like Pandas, etc.)
to do your own data processing.

My personal interest in it is that it uses LISP Flavored Erlang (lfe.io) and
might therefore be nice to use with Hy (hylang.org)

~~~
oubiwann
Nice that you mention Pandas ... it's on the list for being supported by lsci
(which in turn will be using LFE py).

As for Hy: LFE py comes with custom ErlPort encoders/decoders, and I came
_this_ close to writing those in Hy. However, I did want anyone with a Python
background to be able to easily read and contribute, not just Lispers ;-)

Regardless, it would be nice to use with Hy (and probably trivial: a
requirements.txt update, and then adding some Hy modules in ./python/lfe, at
which point you should be able to access them from LFE).

