rpy2

Interface to use R from Python

https://github.com/rpy2/rpy2

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    8 of 70 committers (11.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.2%) to scientific vocabulary

Keywords

cffi data-science interoperability python r statistics

Keywords from Contributors

closember notebook ipython repl spec-0 alignment flexible bioinformatics qt parallel
Last synced: 6 months ago · JSON representation

Repository

Interface to use R from Python

Basic Info
  • Host: GitHub
  • Owner: rpy2
  • License: gpl-2.0
  • Language: Python
  • Default Branch: master
  • Homepage: https://rpy2.github.io
  • Size: 28.8 MB
Statistics
  • Stars: 649
  • Watchers: 9
  • Forks: 81
  • Open Issues: 125
  • Releases: 22
Topics
cffi data-science interoperability python r statistics
Created about 7 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Authors

README.md

Python -> R bridge

pypi Codecov GH Actions

PyPI - Downloads Conda Downloads

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:

bash 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: bash pip install 'rpy2[test]'

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

bash 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:

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

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

bash 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:

bash 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:

bash pytest rpy2-rinterface/ rpy2-robjects/

For code coverage, do:

bash 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.

Owner

  • Name: rpy2
  • Login: rpy2
  • Kind: organization

Bridge between Python and R.

GitHub Events

Total
  • Create event: 49
  • Release event: 5
  • Issues event: 80
  • Watch event: 80
  • Delete event: 47
  • Issue comment event: 173
  • Push event: 560
  • Pull request review comment event: 3
  • Pull request review event: 2
  • Pull request event: 91
  • Fork event: 6
Last Year
  • Create event: 49
  • Release event: 5
  • Issues event: 80
  • Watch event: 80
  • Delete event: 47
  • Issue comment event: 173
  • Push event: 560
  • Pull request review comment event: 3
  • Pull request review event: 2
  • Pull request event: 91
  • Fork event: 6

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 3,938
  • Total Committers: 70
  • Avg Commits per committer: 56.257
  • Development Distribution Score (DDS): 0.435
Past Year
  • Commits: 71
  • Committers: 4
  • Avg Commits per committer: 17.75
  • Development Distribution Score (DDS): 0.042
Top Committers
Name Email Commits
Laurent Gautier l****r@g****m 2,224
lgautier n****e@n****e 1,532
Dav Clark d****k@b****u 58
Pablo Oliveira p****o@s****g 14
johan2sson@gmail.com j****n@g****m 6
Pierre-Louis Bonicoli p****i@b****m 6
Justin Shenk s****n@g****m 4
Kesh Ikuma 7****c 4
Michał Krassowski 5****i 4
Thomas Kluyver t****l@g****m 4
Antony Lee a****e@b****u 3
Brad Reisfeld b****d@c****u 3
Christoph Gohlke c****e@u****u 3
Dale Jung d****e@d****m 3
grayver g****r@g****m 3
Andrey Portnoy a****y@u****u 2
Mikolaj Magnuski m****i@s****l 2
Donald Ephraim Curtis d****s@m****t 2
Thomas Kluyver t****l@u****t 2
lgautie@gmail.com l****e@g****m 2
yoh@onerussian.com y****h@o****m 2
Beau Benjamin Bruce b****e@e****u 2
Gijs Molenaar g****s@p****l 2
Liang Bo Wang c****2@g****m 2
Matthew Wardrop m****p@g****m 2
Paul Müller p****r 2
patch by Nathaniel Smith n****s@p****m 2
Ned Western n****n@g****m 1
lgautier for edd@debian.org l****d@d****g 1
Jill-Jênn Vie m****l@f****r 1
and 40 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 196
  • Total pull requests: 142
  • Average time to close issues: about 2 years
  • Average time to close pull requests: about 1 month
  • Total issue authors: 120
  • Total pull request authors: 10
  • Average comments per issue: 4.58
  • Average comments per pull request: 0.61
  • Merged pull requests: 118
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 31
  • Pull requests: 86
  • Average time to close issues: 22 days
  • Average time to close pull requests: 5 days
  • Issue authors: 26
  • Pull request authors: 5
  • Average comments per issue: 1.55
  • Average comments per pull request: 0.23
  • Merged pull requests: 70
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • lgautier (55)
  • kburchfiel (3)
  • obrien-james (3)
  • ievgennaida (3)
  • buhtz (3)
  • spluque (3)
  • krassowski (3)
  • lloyddewit (2)
  • zivlang (2)
  • PeterNSteinmetz (2)
  • Wainberg (2)
  • PARODBE (2)
  • dafxy (2)
  • collares (2)
  • joh4nd (2)
Pull Request Authors
  • lgautier (128)
  • dafxy (2)
  • interactivereport (2)
  • tikuma-lsuhsc (2)
  • dependabot[bot] (2)
  • kxxt (2)
  • TimothyMerlin (1)
  • TickTack-z (1)
  • gcamargo1 (1)
  • fwuermseher (1)
Top Labels
Issue Labels
bug (110) Windows (25) enhancement (21) conda (1)
Pull Request Labels
dependencies (2)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 4
  • Total dependent repositories: 73
  • Total versions: 16
conda-forge.org: rpy2
  • Versions: 16
  • Dependent Packages: 4
  • Dependent Repositories: 73
Rankings
Dependent repos count: 4.1%
Dependent packages count: 12.5%
Average: 14.8%
Stargazers count: 20.0%
Forks count: 22.5%
Last synced: 6 months ago

Dependencies

doc/requirements.txt pypi
  • ipython *
  • jupyterlab *
  • multipledispatch *
  • nbconvert *
  • notedown *
  • numpy *
  • pandas *
  • pygraphviz *
  • rpy2 *
  • sphinx *
requirements.txt pypi
  • cffi >=1.10.0
  • jinja2 *
  • packaging *
  • pytz *
  • tzlocal *
.github/workflows/pythonpackage.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite
  • r-lib/actions/setup-r v2 composite
.github/workflows/pythonpublish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
  • r-lib/actions/setup-r v2 composite
.github/workflows/sphinx-doc.yml actions
  • actions/cache v2 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v2 composite
  • r-lib/actions/setup-r v2 composite
pyproject.toml pypi
  • backports.zoneinfo python_version<'3.9'
  • cffi >=1.10.0
  • jinja2 *
  • packaging platform_system=='Windows'
  • typing-extensions python_version<'3.8'
  • tzlocal *
setup.py pypi
requirements.types.txt pypi
  • packaging *
  • pandas-stubs *
  • types-Pygments *
  • types-tzlocal *