sysreqs is a database of system requirements mappings for installing and running R packages on various operating systems.
R packages may specify
SystemRequirements in their
files to list software that must or should be installed on the
system to use the package. This is not a standardized field,
and various packages specify the same system requirements differently.
sysreqs is a hand-curated database of the
entries, and their resolutions on various operating systems. The
data itself is stored in a GitHub repository, at
https://github.com/r-hub/sysreqs, and its public API is at
All endpoint responses (except for the
/ help page) are JSON
GET /get / <mapping>
Retrieve a complete mapping entry by its name.
List all mapping entries.
GET /map / <string>
SystemRequirements field to canonical entries. It returns a list
of full entries. <string> may contains arbitrary characters, but potentially
it has to be URL encoded.
Refresh the database from the
GET /pkg / <package>
Map a single R packge, potentially on a single operating system. <package> must be a single CRAN package.
GET /pkg / <package> / <os>
Get the operating system specific packages that are needed for a CRAN package.
httr::GET("[http://sysreqs.r-hub.org/map/GNU make](/map/GNU make)")
You can contribute to sysreqs by reporting an issue, or by sending a pull request.
sysreqs was concieved at the 2015 rOpenSci Unconf. Most of it was implemented by Gábor Csárdi in the r-hub project, funded by the R Consortium.
sysreqs is Copyright (c) 2015-2016 R Consortium.
See https://github.com/r-hub/sysreqs for the data format.
The node.js application that serves the API is available here: https://github.com/r-hub/sysreqs.app.