rpy2-rinterface
Low-level interface from Python to the R.
Decision gist · record as of 2026-08-14
Yes, if you need Python-R interoperability and are willing to manage the system dependencies (R installation, C compiler for source builds). The package is actively maintained, has no known vulnerabilities, and supports current Python versions. The GPL-2.0-or-later license is a constraint for proprietary use. Install friction is moderate but manageable on standard development systems.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- R must be installed and discoverable on your system; if R is not in a standard location, you may need to set LD_LIBRARY_PATH before importing.
- Medium install friction: requires a compilation toolchain and R to be installed on your system.
- Binary wheels are provided for Python 3.9–3.14 on macOS and Windows, but building from source demands developer tools.
License · maintenance · safety
GPL-2.0-or-later (copyleft) — Licensed under GPL-2.0-or-later (copyleft). Any code linking rpy2-rinterface must comply with GPL v2 or later terms—proprietary projects may face licensing constraints.
last release 2026-03-27 (140 days) · last repo commit 2026-03-26 · 702 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 102,136 downloads/mo, #12,887 on PyPI
Alternatives
Verify before relying
import rpy2.rinterface as ri
ri.initr()
# Call R functions via the low-level interface- Whether the package works on Linux (wheels are listed only for macOS and Windows in the friction evidence).
- Specific performance characteristics or memory overhead of the C API binding layer.
What it is and what it does
rpy2-rinterface is the foundational C-level binding layer for the rpy2 project, exposing R's C API directly to Python. It handles the low-level mechanics of calling R functions, managing R objects in memory, and translating between Python and R data types at the C boundary. This is a namespace package component—typically installed as part of the larger rpy2 ecosystem rather than used standalone—and requires both Python (3.9 or later) and a working R installation on your system.
The package depends on cffi and packaging for its build and runtime. Installation involves either downloading pre-built wheels for supported platforms (macOS and Windows across Python 3.9–3.14) or compiling from source, which demands a C compiler and R development headers. Once installed, it serves as the engine behind higher-level rpy2 modules that provide more Pythonic interfaces to R.
Use it for
- Building a Python application that needs to call R statistical functions or libraries directly.
- Integrating R computations into a data pipeline written primarily in Python.
- Developing higher-level Python bindings or wrappers around R packages.
- Running R code from within a Python Jupyter notebook or interactive environment.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need Python-R interoperability and are willing to manage the system dependencies (R installation, C compiler for source builds).
The package is actively maintained, has no known vulnerabilities, and supports current Python versions. The GPL-2.0-or-later license is a constraint for proprietary use. Install friction is moderate but manageable on standard development systems.
Install
rpy2-rinterface on PyPI
Before you install
Medium install friction: requires a compilation toolchain and R to be installed on your system. Binary wheels are provided for Python 3.9–3.14 on macOS and Windows, but building from source demands developer tools. The package is actively maintained with recent releases.
R must be installed and discoverable on your system; if R is not in a standard location, you may need to set LD_LIBRARY_PATH before importing.
License in practice
Licensed under GPL-2.0-or-later (copyleft). Any code linking rpy2-rinterface must comply with GPL v2 or later terms—proprietary projects may face licensing constraints.
Quickstart
import rpy2.rinterface as ri
ri.initr()
# Call R functions via the low-level interface
Verify before relying
- Whether the package works on Linux (wheels are listed only for macOS and Windows in the friction evidence).
- Specific performance characteristics or memory overhead of the C API binding layer.
Package facts
| License | GPL-2.0-or-later copyleft |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 2 packagescffipackaging |
| Maintenance | Actively maintained 140 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 102,136 / month, #12,887 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersIntended Audience :: Science/ResearchProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9 |
Evidence: rpy2_rinterface-3.6.6-cp310-cp310-macosx_10_9_universal2.whl; rpy2_rinterface-3.6.6-cp310-cp310-win_amd64.whl; rpy2_rinterface-3.6.6-cp311-cp311-macosx_10_9_universal2.whl; rpy2_rinterface-3.6.6-cp311-cp311-win_amd64.whl; rpy2_rinterface-3.6.6-cp312-cp312-macosx_10_13_universal2.whl; rpy2_rinterface-3.6.6-cp312-cp312-win_amd64.whl; rpy2_rinterface-3.6.6-cp313-cp313-macosx_10_13_universal2.whl; rpy2_rinterface-3.6.6-cp313-cp313-win_amd64.whl; rpy2_rinterface-3.6.6-cp314-cp314-macosx_10_15_universal2.whl; rpy2_rinterface-3.6.6-cp314-cp314-win_amd64.whl; rpy2_rinterface-3.6.6-cp39-cp39-macosx_10_9_universal2.whl; rpy2_rinterface-3.6.6-cp39-cp39-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
An agent finds packages by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language. Give your agent the search over MCP.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also rpy2 · rpy2-robjects · cwrap · pyobjc-core · mpi4py · pyobjc · httpx-aiohttp · prince · mautrix · pyqir