Foghorn package – find out pending CRAN packages in the pipeline

I have recently just pushed my fourth package to CRAN, I will do a separate post on this, but the FeatureTerminatoR package has been built to perform automated feature selection, utilising methods such as recursive partitioning, multicollinearity purging and other types will be built into the second version.

Installing the package

The package currently resides in Github and you will need to use the remotes package to pull it down into your local project:


This will bring down the package from GitHub, and then you can load the package into your environment using foghorn.

Using the package

The main driver of the package is cran_incoming() function. To use the function you can implement it as below:

  pkg = NULL,
  folders = c("newbies", "inspect", "pretest", "recheck", "pending", "publish",
              "archive", "waiting")

To break this down:

  • pkg = NULL – means look for all the packages in the CRAN folders repository
  • folders, these are explained in depth, but this expects a vector of values to be passed:
    • inspect: this is your first submission or the automated tests found an error that requires human review.
    • newbies: a specific queue for the manual inspection of first time CRAN submissions.
    • pending: the CRAN maintainers are waiting for an action on your side. You should check your emails!
    • waiting: packages for which the CRAN team waits for an answer from the maintainer.
    • pretest: the CRAN maintainers restarted automated tests on your package to see whether an issue has been fixed by your action or is still here.
    • recheck: your package seems ready for publication. This step checks whether reverse dependencies will still work after the update.
    • publish: you’re all set! Your package has passed the review process and will soon be available on CRAN.
Source: CRAN Incoming Dashboard

Outputs from the package

The package returns a tibble of the current packages, dependent on where they are in the above pipeline:

You could then filter these by the relevant CRAN folder. Another way to do it would be to pass the specific package name into the pkg parameter in the cran_incoming function.

Leave a Reply