EM::Rserve is an attempt to bring RServe over EventMachine. Consider it a somewhat stable version.

EM::Rserve is pure-ruby and should work wherever EventMachine is supported.

So far it can:

  • connect to a server

  • detach and reattach a session

  • parse most low-level messages

  • parse most R’ S-expressions to a ruby tree

  • translate several common R’ S-expressions to “base” ruby objects such as arrays, strings, hashes …

  • translate several Ruby objects (arrays of integers, strings etc.) to R’ S-expression

  • evaluate strings of R code

  • handle pools of connections with ruby fibers

Limitations:

  • no support for the connections with a password. somehow, password without encryption defeats the purpose. hence, if you need a password, you should setup an SSH proxy instead

Links:

Contributions welcome.