Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

A Python client to remotely access the R statistic package via Rserve

Project description

What It Does

pyRerve is a library for connecting Python to an R process (an excellent statistic package) running Rserve as a RPC connection gateway. Through such a connection variables can be get and set in R from Python, and also R-functions can be called remotely. In contrast to rpy or rpy2 the R process does not have to run on the same machine, it can run on a remote machine and all variable access and function calls will be delegated there through the network.

Furthermore - and this makes everything feel very pythonic - all data structures will automatically be converted from native R to native Python and numpy types and back.

Why is pyRserve still ‘beta’?

The question behind that usually is: Can pyRserve already be used for real work?

Well, pyRserve has been used at various companies in production mode for over two years now. So it is pretty stable and many things work as they should.

However it is not complete yet - there are a few loose ends which should still be improved. Until then I still consider it beta-status.


  • V 0.6.0 (2012-06-25)
    • support for Python3.x
    • Python versions <= 2.5 no more supported (due to Py3 support)
    • support for unicode strings in Python 2.x
    • full support complex numbers, partial support for 64bit integers and arrays
    • suport for Fortran-style ordering of numpy arrays
    • elements of single-item arrays are now translated to native python data types
    • much improved documentation
    • better unit test coverage
    • usage of the deprecated conn(<eval-string>) is no more possible
    • pyRserve.rconnect() now also removed
  • V 0.5.2 (2011-12-02)
    • Fixed problem with 32bit integers being mistakenly rendered into 64bit integers on 64bit machines
  • V 0.5.1 (2011-11-22)
    • Fixed improper DeprecationWarning when evaluating R statements via conn.r(…)
  • V 0.5 (2011-10-03)
    • Renamed pyRserve.rconnect() to pyRserve.connect(). The former still works but shows a DeprecationWarning
    • String evaluation should now only be executed on the namespace directly, not on the connection object anymore. The latter still works but shows a DeprecationWarning.
    • New kw argument atomicArray=True added to pyRserve.connect() for preventing single valued arrays from being converted into atomic python data types.
  • V 0.4 (2011-09-20)
    • Added support for nested function calls. E.g. conn.r.t.test( ….) now works.
    • Proper support for boolean variables and vectors
  • V 0.3 (2010-06-08)
    • Added conversion of more complex R structures into Python
    • Updated documentation (installation, manual)
  • V 0.2 (2010-03-19) Fixed rendering of TaggedArrays
  • V 0.1 (2010-01-10) Initial version

Supported Platforms

This package has been mainly developed under Linux, and hence should run on all standard unix platforms, as well
as on Mac OS X. pyRserve has also been successfully used on Win32 machines. Unittests have been used on the Linux and Mac OS X side, however they might just work fine for Win32.

It has been tested run with Python 2.6.x, 2.7.x and Python 3.2.

The latest development has been tested with R 2.13.1 and Rserve 0.6.6.


pyRserve has been written by Ralph Heinkel ( and is released under MIT license.

Quick Installation

Make sure that Numpy is installed. Actually easy_install pyRserve should install numpy if it is missing.

Then from your unix/windows command line run:

easy_install pyRserve

or download the tar.gz or zip package. After unpacking run python install from your command line.

Actually easy_install pyRserve should install numpy if it is missing. If it fails please use pip instead.


Documentation can be found at


For discussion of pyRserve issues and getting help please use the Google newsgroup available at

Missing Features

  • Authentication is implemented in Rserve but not yet in pyRserve

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pyRserve, version 0.6.0
Filename, size File type Python version Upload date Hashes
Filename, size pyRserve-0.6.0.tar.gz (110.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page