{"id":20425061,"url":"https://github.com/databio/rplugins","last_synced_at":"2026-04-21T13:31:19.098Z","repository":{"id":86287793,"uuid":"279976211","full_name":"databio/Rplugins","owner":"databio","description":"Demo package for how to implement plugins in R","archived":false,"fork":false,"pushed_at":"2021-07-09T02:06:26.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-09-11T10:46:55.496Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/databio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-15T20:53:33.000Z","updated_at":"2021-07-09T02:06:29.000Z","dependencies_parsed_at":"2023-03-10T23:30:24.679Z","dependency_job_id":null,"html_url":"https://github.com/databio/Rplugins","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/databio/Rplugins","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/databio%2FRplugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/databio%2FRplugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/databio%2FRplugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/databio%2FRplugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/databio","download_url":"https://codeload.github.com/databio/Rplugins/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/databio%2FRplugins/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32094307,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-11-15T07:12:09.279Z","updated_at":"2026-04-21T13:31:19.078Z","avatar_url":"https://github.com/databio.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rplugins demo packages\n\nThis repo demonstrates how to write simple R plugins. There are 2 R packages here, a host package (the one that will run the plugin), and the plugin package.\n\nThe host package has a function, that would be run by a user. It does whatever the host package should do. It also runs a plugin function, if one exists.\n\nThe plugin package defines the function to be run when the host package function is run.\n\nTo communicate, the plugin package must list the host package in 'Enhances', and provide functions with names that correspond to the plugin function names expected by the host package. In this example, the function names are 'preHook' and 'postHook', but they can be anything specified in the host package.\n\n## Demo\n\n```R\ninstall.packages(\"pluginHost\", repos=NULL)\n```\n\n```R\npluginHost::hostFunction()\t\n```\nThere should be no plugin functions run here, you just see hello world from the host package.\n\nBut install the plugin and run the function:\n\n\n```R\ninstall.packages(\"pluginHost.myPlugin\", repos=NULL)\npluginHost::hostFunction()\n```\n\nNow you get some more stuff, called from the plugin package -- even though we're calling a function from the host package. These are not called if you remove the package\n\n\n```R\nremove.packages(\"pluginHost.myPlugin\")\npluginHost::hostFunction()\n```\n\n\n## Develepment\n\n```\ndevtools::document(\"pluginHost\")\ndevtools::document(\"pluginHost.myPlugin\")\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatabio%2Frplugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatabio%2Frplugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatabio%2Frplugins/lists"}