RPy

A simple and efficient access to R from Python

Sections
Exits
Acknowledgement
This site is hosted by

RPy (R from Python)


News

RPy 1.0 RC 3 now available
2007-06-26

RPy 1.0 RC 3 Released

Hello RPy'ers:

I have just uploaded RPy version 1.0 RC 3. Hopefully this will be the last release candidate before 1.0.

This release fixes several bugs, particular those related to new versions of R, including the infamous "C stack limit error" which occured on *nix systems in some contexts, such as resizing X11 windows. This release should work properly with R versions through 2.5.0.

RC3 also introduces support for NumPy.

RPy 0.99.0 now available
2006-03-15

RPy 0.99.0 Released

Hello RPy'ers:

I have just uploaded RPy version 0.99.0 . This is intended to serve as a preliminary to a 1.0 release, which I hope to do in about a month's time.

This release fixes several bugs on windows, where the build process has been made dramatically easier, thanks to MinGW's (new?) ability to link directly against DLL's. Please see the file INSTALL.WINDOWS for details.

In addition, the windows builds now work for any released version of R from 2.0.0 through 2.2.1.

New features:

  • Dramatically simplify the build process for Win32: The gcc and ld included in MinGW 5.0.2 can now linking directly against DLL's, removing the need for much of the previous complexity. See INSTALL.WINDOWS to see exactly how easy it now is!
  • It is now possible to use setup.cfg to control various aspects of the build process. 'config.in' contains a template containing all available options and what they do.

Bug fixes

  • RPy compiled with Numeric support will no longer crash when run with Numeric available.
  • 1267731: Crash during import when R is missing from the registry
  • 1247722: Problem using R Wavelets library with RPy
  • 1428256: RPy does not build on OS X, easy fix
  • 1432578: Plotting with RPy crashes Python

Other

  • The rpy.py now communicates RHOME, RVER, RVERSION, RUSER from python to the _rpy module using environment variables. This avoids the need to have duplicate C code to obtain these values, and makes things both more maintainable and more robust.
RPy now using Subversion
2006-02-28

RPy Now using Subversion

The RPy source code has been migrated from CVS to Subversion. See the SF Project Subversion page for access information.
RPy 0.4.6 now available
2005-07-28

RPY 0.4.6 Released

Bug fixes

  • Some unit tests don't properly restore the default conversion mode, causing following tests to fail. Short term fix: reset the default mode in testall.py before running each test.
  • Fix bug reported by Wei-Hao Lin: missing import and typo in rpy.py for Win32
  • Fix bug reported by Nicolas Lebas: Segfault when accessing R objects via r.[varname]. The code was was only properly handling R function objects, and failed for other object types.
  • setup.py was always overwriting the [filename][RVER].c files (used to allow binaries for mulitple R versions to be included in the same package). setup.py now create/overwrite the [foo][RVER].c files only if they don't exist or are out of date.
This should be the last release for some time. ;^)
RPy 0.4.5 now available
2005-07-25

RPY 0.4.5 Released

New features

  • Based on changes suggested by Bo Peng (Thanks Bo!), setup.py can now build and install a version of Rpy which will work with multiple versions of R. To use this, set the environment varaible 'RHOMES' to a list of R HOME directories. Look at the file description at the top of setup.py for details.
  • Improved build instructions for Windows by Bo Peng. Rpy now checks for Numeric at runtime and avoids calling it when it is not present. This allows a single binary library to be used whether or not Numeric is available at runtime, significantly simplyfing creation and distribution of binary packages.

Bug fixes

  • Fixed a install bug on Windows.
RPy 0.4.4 now available
2005-07-23

RPY 0.4.4 Released

New features

  • Rpy now checks for Numeric at runtime and avoids calling it when it is not present. This allows a single binary library to be used whether or not Numeric is available at runtime, significantly simplyfing creation and distribution of binary packages.
  • Warning messages from R are now properly displayed at the completion of the offending call.

Bug fixes

  • Compilation on Windows and for R versions below 2.1.0 has been fixed.

Unresolved bugs

  • Reception of a SIGINT signal sometimes causes a segfault. Under Linux, I see about 1 segfault per 100 signals. On Solaris, I'm seeing appriximatley 3 out of 4. Help debuging this issue is most welcome.
RPy 0.4.3 now available
July 22, 2005

RPY 0.4.3 Released

New features

  • R Logical objects (TRUE/FALSE) are now mapped into python Boolean objects.
  • New conversion mode 'VECTOR_CONVERSION' In R there is no such thing as a straight scalar. All values are vectors, and scalars are simple vectors of length one. In Python, however, there is a representational and conceptual difference between scalars and lists, plus Python's immutable lists (a.k.a. tuples). Thus, An R vector of length one can thus be translated into any of three Python forms :
    	r("as.integer(1)")	-->	 int(1)
    											-->	 [int(1),]
    											-->	 (int(1),)
    
    It is impossible to tell from the R object itself, which of these is correct. Given that [] and () are almost equivalent, we don't worry about (). But we still must decide between int(1) and [int(1)]. As documented in the Rpy manual, BASIC_CONVERSION, simply assumes that a vector of length one should be translated as scalar, and that vectors with other lengths (including 0) should be translated into Python [] lists. The new 'VECTOR_CONVERSION' mode always returns a python list, regardless of the length of the R vector. EG,
    			with_mode( BASIC_CONVERSION,	r.c)(1) --> int(1)
    			with_mode( VECTOR_CONVERSION, r.c)(1) --> [int(1),]
    
  • R source headers no longer needed, and are no longer included in the source package (yea!)
  • Previous versions of rpy have permitted multiple copies of the R interpreter wrapper to be instantiated (via "newR = rpy.R()" ). However R's design imposes a limit of one interpreter per python process. To avoid confusion on this point, attempts to instantiate more than one R interpreter object will now generate RuntimeError exceptions.
  • On Windows, RPy now always looks at the registry to see where to find the R DLL. This should avoid the nasty popup error message when the DLL isn't on the path. Patch by Peter (maubp@users.sourceforge.net)
  • The R integer 'NA' value is now accessible as the 'NA' attribute of the Python 'r' object.
  • The R floating point 'NA' value is now accessible as the 'NAN' attribute of the Python 'r' object.
  • The build process now creates version-specific shared libraries, and rpy will load the appropriate version specific library. This should help avoid problems arising from version conflicts, it will also make packaging 'universal' binary packages easier.

Bug fixes

  • Fix build error for R 2.0.0+ on Mac OSX ('darwin')
  • The R interpreter is now properly shutdown when python exits. This ensures that all temporary directories and files are removed, resolving a long-standing issue.
  • r.help() now works as expected by users. (Some time ago help() started returning an object that had to be explicitly printed to complete the processing. RPy now special-cases calls to r.help to ensure that this happens properly.)
  • All unit tests now pass.
  • Fix compilation error on Win32 due to a change in field names in R-2.1.1 [ 1238226 ] rpymodule.c needs updating for R 2.1.1 or later. Bo Peng identified both the bug and the fix.
  • Fix error (potential segfault!) when handling conversion of factor objects containing missing values
  • Fix bug in R.__call__ that could cause problems when the 'r' object is not present.
      Behind the scenes
      • Some work has been done "under the hood" to allow an R interpreter to be shut down and then started up again. This is *not* currently working.

RPy 0.4.2 now available
May 23, 2005

New features:

  • Add headers to enable building for R 2.1.0.

Bug fixes:

  • Fix build error under gcc 4.X
Source bundles and for RPy 0.4.2 are now available from the Downloads page. Windows binaries will follow.

RPy 0.4.0 now available
Nov 08, 2004

New features:

  • More fixes for R 2.0.0
  • R header files for R 1.8.0 through R 2.0.0 are now included with rpy. This should make it easier to build.
Source bundles and a Windows binary installer for RPy 0.4.0 are now available from the Downloads page.

RPy 0.4.0 now available
Nov 08, 2004

New features:

  • More fixes for R 2.0.0
  • R header files for R 1.8.0 through R 2.0.0 are now included with rpy. This should make it easier to build.
Source bundles and a Windows binary installer for RPy 0.4.0 are now available from the Downloads page.

RPy 0.3.6 Windows binaries for R 2.0.0
Nov 01, 2004
A binary for RPy 0.3.6 built against R 2.0.0 is now available on the Downloads page.

RPy 0.3.5 Windows binaries for R 1.9.1
Sep 16, 2004
A binary for RPy 0.3.5 built against R 1.9.1 is now available on the Downloads page.

RPy 0.3.5 Windows binaries
Feb 27, 2004
RPy 0.3.5 binaries for Windows have been provided by Matjaz Kukar and are available for download. He has also made some additional changes to make rpy more stable under windows.

Get it from the Downloads page.

RPy 0.3.5 released
Feb 16, 2004
RPy 0.3.5 contains changes to allow building Mac OS X as well as some bug fixes for Windows.

Get RPy 0.3.5 from the Downloads page.

RPy 0.3.4 Windows Binaries Available
Feb 3, 2004

Windows binaries for Rpy 0.3.4 have been provided by Matjaz Kukar and are available for download. Get them from the Downloads page.

IMPORTANT: You will need to manually set the PATH environment variable to include the directory where Rlib.dll lives. See the Release Notes for details on how to do this.

RPy 0.3.3 released: Now works with R 1.8.X
Jan 15, 2004
RPy 0.3.3 contains changes that allow it to run properly with R versions 1.8.0 and later. Further, the Windows and Unix source codes have been merged. This should make it easier to fix bugs and add features.

Get RPy 0.3.3 from the Downloads page.

Gregory Warnes joins as a new project manager.
Jan, 8, 2004
Gregory R. Warnes has joined the RPy project as a project manager.

His first project is to get RPy working with R 1.8.X. Next he will focus on combining the Unix and Windows source trees.

News