{"id":16614731,"url":"https://github.com/randy3k/rchitect","last_synced_at":"2025-10-03T16:32:08.950Z","repository":{"id":54665711,"uuid":"131773200","full_name":"randy3k/rchitect","owner":"randy3k","description":"Interoperate R with Python","archived":false,"fork":false,"pushed_at":"2024-01-17T20:58:11.000Z","size":902,"stargazers_count":51,"open_issues_count":8,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-26T11:47:06.104Z","etag":null,"topics":["api","cffi","interoperability","python","r"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/randy3k.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-05-01T23:21:58.000Z","updated_at":"2024-02-19T00:17:07.000Z","dependencies_parsed_at":"2024-01-25T22:48:02.006Z","dependency_job_id":"c9cb9029-6f65-4e5d-b506-c2e820067469","html_url":"https://github.com/randy3k/rchitect","commit_stats":{"total_commits":746,"total_committers":4,"mean_commits":186.5,"dds":0.004021447721179627,"last_synced_commit":"2ec942db983e7e1a9bcae995c0ba0288dd0df226"},"previous_names":[],"tags_count":70,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/randy3k%2Frchitect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/randy3k%2Frchitect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/randy3k%2Frchitect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/randy3k%2Frchitect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/randy3k","download_url":"https://codeload.github.com/randy3k/rchitect/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225040313,"owners_count":17411461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","cffi","interoperability","python","r"],"created_at":"2024-10-12T02:07:36.075Z","updated_at":"2025-10-03T16:32:03.906Z","avatar_url":"https://github.com/randy3k.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Interoperate R with Python\n\n[![Main](https://github.com/randy3k/rchitect/actions/workflows/main.yml/badge.svg)](https://github.com/randy3k/rchitect/actions/workflows/main.yml)\n[![codecov](https://codecov.io/gh/randy3k/rchitect/branch/master/graph/badge.svg)](https://codecov.io/gh/randy3k/rchitect)\n[![pypi](https://img.shields.io/pypi/v/rchitect.svg)](https://pypi.org/project/rchitect/)\n[![Conda version](https://img.shields.io/conda/vn/conda-forge/rchitect.svg)](https://anaconda.org/conda-forge/rchitect)\n\n## Installation\n\n```sh\n# install released version\npip install -U rchitect\n\n# or the development version\npip install -U git+https://github.com/randy3k/rchitect\n```\n\n## Why reinvent the wheel?\n\nYou may be curious why I reinvented the wheel when there is [`rpy2`](https://github.com/rpy2/rpy2)?\n\nThe main reason is to drive [`radian`](https://github.com/randy3k/radian).\n`rpy2` was not suitable because it is missing some key features for running\nthe R REPL. Speaking of compatibility, `rchitect` has been thoroughly tested on\nmultiple platforms such as Windows, macOS and Linux and we also provide binary\nwheels for python 3.6+.\n\n## Getting started\n\n```py\nfrom rchitect import *\na = reval(\"1:5\")     # evaluate an R expression in the global environment\nb = rcopy(a)         # convert any RObject returned by `reval` to its python type\nc = robject(b)       # convert any python object to its R type\nd = rcall(\"sum\", c)  # call an R function. Python objects are converted to RObjects implicitly.\n```\n\n## FAQ\n\n#### How to switch to a different R or specify the version of R\n\nThere are a few options.\n\n- One could expose the path to the R binary in the `PATH` variable\n- The environment variable `R_BINARY` could also be used to specify the path to R.\n- The environment variable `R_HOME` could also be used to specify R home directory. Note that it is should be set as the result of `R.home()`, not the directory where `R` is located. For example, in Unix\n\n```sh\nenv R_HOME=/usr/local/lib/R radian\n```\n\n#### Cannot find shared library\n\nPlease also make sure that R was installed with the R shared library `libR.so` or `libR.dylib` or `libR.dll`. On Linux, the flag `--enable-R-shlib` may be needed to install R from the source.\n\n## Wiki\n\n[reticulate](https://github.com/randy3k/rchitect/wiki/Conversions-between-reticulate-and-rchitect-objects-are-seamless) conversions\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frandy3k%2Frchitect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frandy3k%2Frchitect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frandy3k%2Frchitect/lists"}