Skip to main content

Python interface to the R language (embedded R)

Project description

Python -> R bridge

pypi PyPI Downloads Codecov GH Actions

The project's webpage is here: https://rpy2.github.io/

Installation

Released versions can be installed from a package repository (default being pypi) using pip:

pip install rpy2

The package has optional depencies providing specific functionalities not otherwise required to use the rest of rpy2.

For example, to be able to run the unit tests:

pip install 'rpy2[test]'

To install all optional dependencies (numpy, pandas, ipython), use:

pip install 'rpy2[all]'

Installation for rpy2 developers

If a developer, the package can be installed from its source tree. rpy2 is a namespace package with its consituting parts in different "sub-packages".

To install from the source tree, just enter:

pip install ./rpy2-rinterface/ ./rpy2-robjects/ .

Various optional dependencies can be specified through dependency groups. For example:

pip install ./rpy2-rinterface'[all]' ./rpy2-robjects'[all]' '.[all]'

rpy2-rinterface contains the binding to R's C API. Building from source require a compilation toolchain / developper tools installed, and you will have to figure out how to have them installed on your system by yourself. The CI pipeline builds binary wheels for Linux, MacOS, and Windows. Watching how things are set up there is pretty much all documentation from the package maintainers on the matter.

Issues loading shared C libraries

Whenever R is in not installed in a system location, the system might not know where to find the R shared library.

If R is in the PATH, that is entering R on the command line successfully starts an R terminal, but rpy2 does not work because of missing C libraries, try the following before starting Python:

export LD_LIBRARY_PATH="$(python -m rpy2.situation LD_LIBRARY_PATH)":${LD_LIBRARY_PATH}

Documentation

Documentation is available either in the source tree (doc/), or online.

Testing

rpy2 uses pytest, with the plugin pytest-cov for code coverage. To test the package from the source tree, either to check and installation on your system or before submitting a pull request, do:

pytest rpy2-rinterface/ rpy2-robjects/

For code coverage, do:

pytest --cov=rpy2.rinterface_lib \
       --cov=rpy2.rinterface \
       --cov=rpy2.ipython \
       --cov=rpy2.robject \
       rpy2-rinterface/ rpy2-robjects/

For more options, such as how to run specify tests, please refer to the pytest documentation.

License

RPy2 can be used under the terms of the GNU General Public License Version 2 or later (see the file gpl-2.0.txt). This is the very same license R itself is released under.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

rpy2-3.6.0a2.tar.gz (52.7 kB view details)

Uploaded Source

File details

Details for the file rpy2-3.6.0a2.tar.gz.

File metadata

  • Download URL: rpy2-3.6.0a2.tar.gz
  • Upload date:
  • Size: 52.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for rpy2-3.6.0a2.tar.gz
Algorithm Hash digest
SHA256 fc35b7deeff52c4b584aff46e3f42bec7201976058bf96cc1f0648c661e4958a
MD5 2f9db7380c8086406616d191cd8ace4f
BLAKE2b-256 167006e86fb7f36dd84c4cd4d54c9b64c456562490e9d7982a2dcfa93bc36cef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page