Skip to contents

ropensci JOSS zenodo R Targetopia CRAN status check codecov lint

The targets package is a Make-like pipeline tool for statistics and data science in R. With targets, you can maintain a reproducible workflow without repeating yourself. targets skips costly runtime for tasks that are already up to date, orchestrates the necessary computation with implicit parallel computing, and abstracts files as R objects. An up-to-date targets pipeline is tangible evidence that the output aligns with the code and data, which substantiates trust in the results.


A pipeline is a computational workflow that does statistics, analytics, or data science. Examples include forecasting customer behavior, simulating a clinical trial, and detecting differential expression from genomics data. A pipeline contains tasks to prepare datasets, run models, and summarize results for a business deliverable or research paper. The methods behind these tasks are user-defined R functions that live in R scripts, ideally in a folder called "R/" in the project. The tasks themselves are called “targets”, and they run the functions and return R objects. The targets package orchestrates the targets and stores the output objects to make your pipeline efficient, painless, and reproducible.


  1. Familiarity with the R programming language, covered in R for Data Science.
  2. Data science workflow management techniques.
  3. How to write functions to prepare data, analyze data, and summarize results in a data analysis project.


Type Source Command
Release CRAN install.packages("targets")
Development GitHub remotes::install_github("ropensci/targets")
Development rOpenSci install.packages("targets", repos = "")

Get started in 4 minutes

The 4-minute video at demonstrates the example pipeline used in the walkthrough and functions chapters of the user manual. Visit for the code and to try out the code in a browser (no download or installation required).


To create a pipeline of your own:

  1. Write R functions for a pipeline and save them to R scripts (ideally in the "R/" folder of your project).
  2. Call use_targets() to write key files, including the vital _targets.R file which configures and defines the pipeline.
  3. Follow the comments in _targets.R to fill in the details of your specific pipeline.
  4. Check the pipeline with tar_visnetwork(), run it with tar_make(), and read output with tar_read(). More functions are available.


  • User manual: in-depth discussion about how to use targets.
  • Reference website: formal documentation of all user-side functions, the statement of need, and multiple design documents of the internal architecture.
  • Developer documentation: software design documents for developers contributing to the deep internal architecture of targets.



Extending and customizing targets


Code of conduct

Please note that this package is released with a Contributor Code of Conduct.



To cite targets in publications use:

  Landau, W. M., (2021). The targets R package: a dynamic Make-like
  function-oriented pipeline toolkit for reproducibility and
  high-performance computing. Journal of Open Source Software, 6(57),

A BibTeX entry for LaTeX users is

    title = {The targets R package: a dynamic Make-like function-oriented pipeline toolkit for reproducibility and high-performance computing},
    author = {William Michael Landau},
    journal = {Journal of Open Source Software},
    year = {2021},
    volume = {6},
    number = {57},
    pages = {2959},
    url = {},