cffr

cffr: Generate Citation File Format Metadata for R Packages - Published in JOSS (2021)

https://github.com/ropensci/cffr

Science Score: 98.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 9 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

attribution cff citation citation-file-format citation-files cran metadata r r-cran r-package ropensci rstats

Keywords from Contributors

meshing rspatial standardization cran-r ggplot-extension r-spatial rstats-package terra hydrology transportation
Last synced: 4 months ago · JSON representation ·

Repository

Generate Citation File Format (cff) Metadata for R Packages

Basic Info
Statistics
  • Stars: 26
  • Watchers: 3
  • Forks: 3
  • Open Issues: 0
  • Releases: 17
Topics
attribution cff citation citation-file-format citation-files cran metadata r r-cran r-package ropensci rstats
Created over 4 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Contributing License Citation Codemeta

README.Rmd

---
output: github_document
bibliography: inst/REFERENCES.bib
link-citations: yes
---



```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
```

# cffr cffr website



[![CRAN-status](https://www.r-pkg.org/badges/version/cffr)](https://CRAN.R-project.org/package=cffr)
[![CRAN-results](https://badges.cranchecks.info/worst/cffr.svg)](https://cran.r-project.org/web/checks/check_results_cffr.html)
[![Downloads](https://cranlogs.r-pkg.org/badges/grand-total/cffr?color=blue)](https://cran.r-project.org/package=cffr)
[![R-CMD-check](https://github.com/ropensci/cffr/actions/workflows/check-full.yaml/badge.svg)](https://github.com/ropensci/cffr/actions/workflows/check-full.yaml)
[![R-hub](https://github.com/ropensci/cffr/actions/workflows/rhub.yaml/badge.svg)](https://github.com/ropensci/cffr/actions/workflows/rhub.yaml)
[![codecov](https://codecov.io/gh/ropensci/cffr/branch/main/graph/badge.svg?token=YRO3XL8RWK)](https://app.codecov.io/gh/ropensci/cffr)
[![r-universe](https://ropensci.r-universe.dev/badges/cffr)](https://ropensci.r-universe.dev/cffr)
[![CITATION-cff](https://github.com/ropensci/cffr/actions/workflows/cff-validator.yml/badge.svg)](https://github.com/ropensci/cffr/actions/workflows/cff-validator.yml)
[![DOI](https://joss.theoj.org/papers/10.21105/joss.03900/status.svg)](https://doi.org/10.21105/joss.03900)
[![Project Status: Active - The project has reached a stable, usable state and
is being actively
developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
![GitHub code size in
bytes](https://img.shields.io/github/languages/code-size/ropensci/cffr)
[![peer-review](https://badges.ropensci.org/463_status.svg)](https://github.com/ropensci/software-review/issues/463)



**cffr** provides utilities to generate, coerce, modify and validate
`CITATION.cff` files automatically for **R** packages, as well as tools and
examples for working with .cff more generally.

## What is a `CITATION.cff` file?

[Citation File Format (CFF](https://citation-file-format.github.io/))
[@druskat_citation_2021] (v1.2.0) are plain text files with human- and
machine-readable citation information for software (and datasets). Code
developers can include them in their repositories to let others know how to
correctly cite their software.

This format is becoming popular within the software citation ecosystem. Recently
[GitHub](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files),
[Zenodo](https://citation-file-format.github.io/#/supported-by-zenodo-) and
[Zotero](https://citation-file-format.github.io/#/supported-by-zotero-) have
included full support of this citation format [@druskat_stephan_making_2021].
GitHub support is of special interest:

```{r echo=FALSE, out.width="400", fig.align='center', fig.alt="Tweet of Nat Friedman about CFF files"}
knitr::include_graphics("vignettes/tweet-1.png")
```

*--- Nat Friedman (\@natfriedman) July 27, 2021*

See [Enhanced support for citations on
GitHub](https://github.blog/news-insights/company-news/enhanced-support-citations-github/)
[@smith2021] for more info.

### Related projects

[The CodeMeta Project](https://codemeta.github.io/) [@jones2017] creates a
concept vocabulary that can be used to standardize the exchange of software
metadata across repositories and organizations. One of the many uses of a
`codemeta.json` file (created following the standards defined on The CodeMeta
Project) is to provide citation metadata such as title, authors, publication
year, and venue [@fenner2021]. The packages **codemeta** [@codemeta] /
**codemetar** [@codemetar2021] allows to generate `codemeta.json` files from R
packages metadata.

## The cffr package

**cffr** maximizes the data extraction by using both the `DESCRIPTION` file and
the `CITATION` file (if present) of your package. Note that **cffr** works best
if your package pass `R CMD check/devtools::check()`.

```{r count_cffr, echo=FALSE, results='asis'}
cat("\n")
today <- Sys.Date()
# Try get the count of GitHub repos here
token <- (Sys.getenv(c("GITHUB_PAT", "GITHUB_TOKEN")))
token <- token[!token %in% c(NA, NULL, "")][1]
ghtoken <- paste("token", token)
tmpfile <- tempfile(fileext = ".json")
# Get numbers of repos
api_url <- paste0(
  "https://api.github.com/search/code?q=cffr+extension:",
  "cff+filename:CITATION"
)
res <- tryCatch(
  download.file(api_url,
    tmpfile,
    quiet = TRUE,
    headers = c(Authorization = ghtoken)
  ),
  warning = function(e) {
    return(TRUE)
  },
  error = function(e) {
    return(TRUE)
  }
)
# If not successful
if (isTRUE(res)) {
  cat(paste0(
    "\n", "See [some projects already using **cffr**]",
    "(https://github.com/search?q=cffr%20path%3A**%2FCITATION.cff&type=code)",
    "."
  ))
} else {
  nreps <- as.integer(jsonlite::read_json(tmpfile)$total_count)
  cat(paste0(
    "As per ", today, " there are at least ", nreps,
    " repos on GitHub using **cffr**. ", "[Check them out here]",
    "(https://github.com/search?q=cffr%20path%3A**%2FCITATION.",
    "cff&type=code)."
  ))
}
cat("\n")
```

### Installation

Install **cffr** from [CRAN](https://CRAN.R-project.org/package=cffr):

```{r, eval=FALSE}
install.packages("cffr")
```

You can install the developing version of **cffr** with:

```{r, eval=FALSE}
remotes::install_github("ropensci/cffr")
```

Alternatively, you can install **cffr** using the
[r-universe](https://ropensci.r-universe.dev/cffr):

```{r, eval=FALSE}
# Install cffr in R:
install.packages("cffr",
  repos = c("https://ropensci.r-universe.dev", "https://cloud.r-project.org")
)
```

### Example

By default most often from within your package folder you'll simply run
`cff_write()`, that creates a `cff` object, write it on a `CITATION.cff` file
and validates it on a single command:

```{r, eval=FALSE}
library(cffr)

# For in-development packages
cff_write()
#>
#> CITATION.cff generated
#>
#> cff_validate results-----
#> Congratulations! This .cff file is valid
```

However, **cffr** provides also custom print methods and mechanisms that allows
you to customize the `CITATION.cff` and integrate them in your workflows.

This is a basic example which shows you how to create a `cff` object (see `?cff`
for more info). In this case, we are creating a `cff` object from the metadata
of the **rmarkdown** package:

```{r }
library(cffr)

# Example with an installed package
test <- cff_create("rmarkdown")
```

CITATION.cff for rmarkdown ```{r, echo=FALSE, comment=""} test ```

We can validate the result using `cff_validate()`: ```{r } cff_validate(test) ``` Check the [docs](https://docs.ropensci.org/cffr//reference/index.html) and `vignette("cffr", package = "cffr")` to learn how to work with `cff` objects. ### Keep your `CITATION.cff` file up-to-date #### GitHub Actions The easiest way for keeping you `CITATION.cff` file up-to-date is using GitHub Actions. Use `cff_gha_update()`function to install a GitHub Action that would update your `CITATION.cff` file on the following events: - When you publish a new release of the package on your GitHub repo. - Each time that you modify your DESCRIPTION or inst/CITATION files. - The action can be run also manually. ```{r, eval=FALSE} cff_gha_update() #> Installing update-citation-cff.yaml on './.github/workflows' #> Adding .github to .Rbuildignore ``` See the example workflow file [here](https://github.com/ropensci/cffr/blob/main/.github/workflows/update-citation-cff.yaml). #### Git pre-commit hook [![Experimental](https://lifecycle.r-lib.org/articles/figures/lifecycle-experimental.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental) You can also use a [git pre-commit hook](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks#_committing_workflow_hooks): > The `pre-commit` hook is run first, before you even type in a commit message. > It's used to inspect the snapshot that's about to be committed, to see if > you've forgotten something, to make sure tests run, or to examine whatever you > need to inspect in the code. Exiting non-zero from this hook aborts the > commit, although you can bypass it with `git commit --no-verify`. A specific pre-commit hook can be installed with `cff_git_hook_install()`. If you want to use a pre-commit hook, please make sure you have the **testthat** package installed. ### Learn more Check the following articles to learn more about **cffr**: - [cffr: Create a CITATION.cff File for your R Package](https://ropensci.org/blog/2021/11/23/cffr/) - [How I Test cffr on (about) 2,000 Packages using GitHub Actions and R-universe](https://ropensci.org/blog/2021/11/23/how-i-test-cffr/) ## Related packages - **citation** [@citation22] includes a function `r2cff` that creates a `CITATION.cff` file (v1.1.0) using the information of your `DESCRIPTION` file. It also provide minimal validity checks. - **handlr** [@handlr]: Tool for converting among citation formats, including `*.cff` files. - **codemeta** [@codemeta] / **codemetar** [@codemetar2021] provides similar solutions for creating `codemeta.json` file, another format for storing and sharing software metadata. ## Citation Hernangómez, D., (2021). cffr: Generate Citation File Format Metadata for R Packages. Journal of Open Source Software, 6(67), 3900, A BibTeX entry for LaTeX users is: ``` bibtex @article{hernangomez2021, title = {{cffr}: Generate Citation File Format Metadata for {R} Packages}, author = {Diego Hernangómez}, year = 2021, journal = {Journal of Open Source Software}, publisher = {The Open Journal}, volume = 6, number = 67, pages = 3900, doi = {10.21105/joss.03900}, url = {https://doi.org/10.21105/joss.03900} } ``` You can also use the [citation provided by GitHub](https://github.com/ropensci/cffr), that is generated from the information of a `CITATION.cff` created with **cffr**. See [About CITATION files](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files) for more info. ## References ::: {#refs} ::: [![footer](https://ropensci.org/public_images/github_footer.png)](https://ropensci.org) ## Contributors All contributions to this project are gratefully acknowledged using the [`allcontributors` package](https://github.com/ropensci/allcontributors) following the [allcontributors](https://allcontributors.org) specification. Contributions of any kind are welcome! ### Code


dieghernan

dpprdan
### Issue Authors

Bisaloo

jeroen

joelnitta

jeyabbalas

aadler

larnsce

iembry

IndrajeetPatil

roaldarbol

nfrerebeau

Pakillo
### Issue Contributors

arfon

hainesr

llrs

njtierney

zeileis

Owner

  • Name: rOpenSci
  • Login: ropensci
  • Kind: organization
  • Email: info@ropensci.org
  • Location: Berkeley, CA

JOSS Publication

cffr: Generate Citation File Format Metadata for R Packages
Published
November 09, 2021
Volume 6, Issue 67, Page 3900
Authors
Diego Hernangómez ORCID
Independent Researcher
Editor
Arfon Smith ORCID
Tags
R cff citation credit metadata

Citation (CITATION.cff)

# --------------------------------------------
# CITATION file created with {cffr} R package
# See also: https://docs.ropensci.org/cffr/
# --------------------------------------------
 
cff-version: 1.2.0
message: 'To cite package "cffr" in publications use:'
type: software
license: GPL-3.0-or-later
title: 'cffr: Generate Citation File Format (''cff'') Metadata for R Packages'
version: 1.2.0.9000
doi: 10.21105/joss.03900
identifiers:
- type: doi
  value: 10.32614/CRAN.package.cffr
abstract: The Citation File Format version 1.2.0 <https://doi.org/10.5281/zenodo.5171937>
  is a human and machine readable file format which provides citation metadata for
  software. This package provides core utilities to generate and validate this metadata.
authors:
- family-names: Hernangómez
  given-names: Diego
  email: diego.hernangomezherrero@gmail.com
  orcid: https://orcid.org/0000-0001-8457-4658
preferred-citation:
  type: article
  title: 'cffr: Generate Citation File Format Metadata for R Packages'
  authors:
  - family-names: Hernangómez
    given-names: Diego
    email: diego.hernangomezherrero@gmail.com
    orcid: https://orcid.org/0000-0001-8457-4658
  doi: 10.21105/joss.03900
  url: https://doi.org/10.21105/joss.03900
  year: '2021'
  publisher:
    name: The Open Journal
  volume: '6'
  issue: '67'
  journal: Journal of Open Source Software
  start: '3900'
repository: https://CRAN.R-project.org/package=cffr
repository-code: https://github.com/ropensci/cffr
url: https://docs.ropensci.org/cffr/
contact:
- family-names: Hernangómez
  given-names: Diego
  email: diego.hernangomezherrero@gmail.com
  orcid: https://orcid.org/0000-0001-8457-4658
keywords:
- attribution
- citation
- credit
- citation-files
- cff
- metadata
- citation-file-format
- cran
- r
- r-package
- ropensci
- rstats
- r-cran
references:
- type: generic
  title: Citation File Format
  authors:
  - family-names: Druskat
    given-names: Stephan
  - family-names: Spaaks
    given-names: Jurriaan H.
  - family-names: Chue Hong
    given-names: Neil
  - family-names: Haines
    given-names: Robert
  - family-names: Baker
    given-names: James
  - family-names: Bliven
    given-names: Spencer
  - family-names: Willighagen
    given-names: Egon
  - family-names: Pérez-Suárez
    given-names: David
  - family-names: Konovalov
    given-names: Alexander
  year: '2021'
  month: '8'
  doi: 10.5281/zenodo.5171937
  url: https://github.com/citation-file-format/citation-file-format
  date-accessed: '2021-11-07'
  copyright: CC-BY-4.0
  abstract: The Citation File Format lets you provide citation metadata for software
    or datasets in plaintext files that are easy to read by both humans and machines.
- type: software
  title: 'R: A Language and Environment for Statistical Computing'
  notes: Depends
  url: https://www.R-project.org/
  authors:
  - name: R Core Team
  institution:
    name: R Foundation for Statistical Computing
    address: Vienna, Austria
  year: '2025'
  version: '>= 4.0.0'
- type: software
  title: cli
  abstract: 'cli: Helpers for Developing Command Line Interfaces'
  notes: Imports
  url: https://cli.r-lib.org
  repository: https://CRAN.R-project.org/package=cli
  authors:
  - family-names: Csárdi
    given-names: Gábor
    email: gabor@posit.co
  year: '2025'
  doi: 10.32614/CRAN.package.cli
  version: '>= 2.0.0'
- type: software
  title: desc
  abstract: 'desc: Manipulate DESCRIPTION Files'
  notes: Imports
  url: https://desc.r-lib.org/
  repository: https://CRAN.R-project.org/package=desc
  authors:
  - family-names: Csárdi
    given-names: Gábor
    email: csardi.gabor@gmail.com
  - family-names: Müller
    given-names: Kirill
  - family-names: Hester
    given-names: Jim
    email: james.f.hester@gmail.com
  year: '2025'
  doi: 10.32614/CRAN.package.desc
  version: '>= 1.3.0'
- type: software
  title: jsonlite
  abstract: 'jsonlite: A Simple and Robust JSON Parser and Generator for R'
  notes: Imports
  url: https://jeroen.r-universe.dev/jsonlite
  repository: https://CRAN.R-project.org/package=jsonlite
  authors:
  - family-names: Ooms
    given-names: Jeroen
    email: jeroenooms@gmail.com
    orcid: https://orcid.org/0000-0002-4035-0289
  year: '2025'
  doi: 10.32614/CRAN.package.jsonlite
  version: '>= 1.7.2'
- type: software
  title: jsonvalidate
  abstract: 'jsonvalidate: Validate ''JSON'' Schema'
  notes: Imports
  url: https://docs.ropensci.org/jsonvalidate/
  repository: https://CRAN.R-project.org/package=jsonvalidate
  authors:
  - family-names: FitzJohn
    given-names: Rich
    email: rich.fitzjohn@gmail.com
  - family-names: Ashton
    given-names: Rob
  - family-names: Buus
    given-names: Mathias
  - family-names: Poberezkin
    given-names: Evgeny
  year: '2025'
  doi: 10.32614/CRAN.package.jsonvalidate
  version: '>= 1.1.0'
- type: software
  title: yaml
  abstract: 'yaml: Methods to Convert R Data to YAML and Back'
  notes: Imports
  url: https://github.com/vubiostat/r-yaml/
  repository: https://CRAN.R-project.org/package=yaml
  authors:
  - family-names: Garbett
    given-names: Shawn P
  - family-names: Stephens
    given-names: Jeremy
  - family-names: Simonov
    given-names: Kirill
  - family-names: Xie
    given-names: Yihui
  - family-names: Dong
    given-names: Zhuoer
  - family-names: Wickham
    given-names: Hadley
  - family-names: Horner
    given-names: Jeffrey
  - name: reikoch
  - family-names: Beasley
    given-names: Will
  - family-names: O'Connor
    given-names: Brendan
  - family-names: Warnes
    given-names: Gregory R.
  - family-names: Quinn
    given-names: Michael
  - family-names: Kamvar
    given-names: Zhian N.
  - family-names: Gao
    given-names: Charlie
  year: '2025'
  doi: 10.32614/CRAN.package.yaml
  version: '>= 2.2.1'
- type: software
  title: bibtex
  abstract: 'bibtex: Bibtex Parser'
  notes: Suggests
  url: https://docs.ropensci.org/bibtex/
  repository: https://CRAN.R-project.org/package=bibtex
  authors:
  - family-names: Francois
    given-names: Romain
    email: romain@purrple.cat
    orcid: https://orcid.org/0000-0002-2444-4226
  - family-names: Hernangómez
    given-names: Diego
    email: diego.hernangomezherrero@gmail.com
    orcid: https://orcid.org/0000-0001-8457-4658
  year: '2025'
  doi: 10.32614/CRAN.package.bibtex
  version: '>= 0.5.0'
- type: software
  title: knitr
  abstract: 'knitr: A General-Purpose Package for Dynamic Report Generation in R'
  notes: Suggests
  url: https://yihui.org/knitr/
  repository: https://CRAN.R-project.org/package=knitr
  authors:
  - family-names: Xie
    given-names: Yihui
    email: xie@yihui.name
    orcid: https://orcid.org/0000-0003-0645-5666
  year: '2025'
  doi: 10.32614/CRAN.package.knitr
- type: software
  title: lifecycle
  abstract: 'lifecycle: Manage the Life Cycle of your Package Functions'
  notes: Suggests
  url: https://lifecycle.r-lib.org/
  repository: https://CRAN.R-project.org/package=lifecycle
  authors:
  - family-names: Henry
    given-names: Lionel
    email: lionel@posit.co
  - family-names: Wickham
    given-names: Hadley
    email: hadley@posit.co
    orcid: https://orcid.org/0000-0003-4757-117X
  year: '2025'
  doi: 10.32614/CRAN.package.lifecycle
- type: software
  title: rmarkdown
  abstract: 'rmarkdown: Dynamic Documents for R'
  notes: Suggests
  url: https://pkgs.rstudio.com/rmarkdown/
  repository: https://CRAN.R-project.org/package=rmarkdown
  authors:
  - family-names: Allaire
    given-names: JJ
    email: jj@posit.co
  - family-names: Xie
    given-names: Yihui
    email: xie@yihui.name
    orcid: https://orcid.org/0000-0003-0645-5666
  - family-names: Dervieux
    given-names: Christophe
    email: cderv@posit.co
    orcid: https://orcid.org/0000-0003-4474-2498
  - family-names: McPherson
    given-names: Jonathan
    email: jonathan@posit.co
  - family-names: Luraschi
    given-names: Javier
  - family-names: Ushey
    given-names: Kevin
    email: kevin@posit.co
  - family-names: Atkins
    given-names: Aron
    email: aron@posit.co
  - family-names: Wickham
    given-names: Hadley
    email: hadley@posit.co
  - family-names: Cheng
    given-names: Joe
    email: joe@posit.co
  - family-names: Chang
    given-names: Winston
    email: winston@posit.co
  - family-names: Iannone
    given-names: Richard
    email: rich@posit.co
    orcid: https://orcid.org/0000-0003-3925-190X
  year: '2025'
  doi: 10.32614/CRAN.package.rmarkdown
- type: software
  title: testthat
  abstract: 'testthat: Unit Testing for R'
  notes: Suggests
  url: https://testthat.r-lib.org
  repository: https://CRAN.R-project.org/package=testthat
  authors:
  - family-names: Wickham
    given-names: Hadley
    email: hadley@posit.co
  year: '2025'
  doi: 10.32614/CRAN.package.testthat
  version: '>= 3.0.0'
- type: software
  title: usethis
  abstract: 'usethis: Automate Package and Project Setup'
  notes: Suggests
  url: https://usethis.r-lib.org
  repository: https://CRAN.R-project.org/package=usethis
  authors:
  - family-names: Wickham
    given-names: Hadley
    email: hadley@posit.co
    orcid: https://orcid.org/0000-0003-4757-117X
  - family-names: Bryan
    given-names: Jennifer
    email: jenny@posit.co
    orcid: https://orcid.org/0000-0002-6983-2759
  - family-names: Barrett
    given-names: Malcolm
    email: malcolmbarrett@gmail.com
    orcid: https://orcid.org/0000-0003-0299-5825
  - family-names: Teucher
    given-names: Andy
    email: andy.teucher@posit.co
    orcid: https://orcid.org/0000-0002-7840-692X
  year: '2025'
  doi: 10.32614/CRAN.package.usethis

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "identifier": "cffr",
  "description": "The Citation File Format version 1.2.0 <doi:10.5281/zenodo.5171937> is a human and machine readable file format which provides citation metadata for software. This package provides core utilities to generate and validate this metadata.",
  "name": "cffr: Generate Citation File Format ('cff') Metadata for R Packages",
  "relatedLink": [
    "https://docs.ropensci.org/cffr/",
    "https://CRAN.R-project.org/package=cffr"
  ],
  "codeRepository": "https://github.com/ropensci/cffr",
  "issueTracker": "https://github.com/ropensci/cffr/issues",
  "license": "https://spdx.org/licenses/GPL-3.0",
  "version": "1.2.0.9000",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.5.1 (2025-06-13)",
  "provider": {
    "@id": "https://cran.r-project.org",
    "@type": "Organization",
    "name": "Comprehensive R Archive Network (CRAN)",
    "url": "https://cran.r-project.org"
  },
  "author": [
    {
      "@type": "Person",
      "givenName": "Diego",
      "familyName": "Hernangómez",
      "email": "diego.hernangomezherrero@gmail.com",
      "@id": "https://orcid.org/0000-0001-8457-4658"
    }
  ],
  "copyrightHolder": [
    {
      "@type": "Person",
      "givenName": "Diego",
      "familyName": "Hernangómez",
      "email": "diego.hernangomezherrero@gmail.com",
      "@id": "https://orcid.org/0000-0001-8457-4658"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Diego",
      "familyName": "Hernangómez",
      "email": "diego.hernangomezherrero@gmail.com",
      "@id": "https://orcid.org/0000-0001-8457-4658"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "bibtex",
      "name": "bibtex",
      "version": ">= 0.5.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=bibtex"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "knitr",
      "name": "knitr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=knitr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "lifecycle",
      "name": "lifecycle",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=lifecycle"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "rmarkdown",
      "name": "rmarkdown",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rmarkdown"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "testthat",
      "name": "testthat",
      "version": ">= 3.0.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=testthat"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "usethis",
      "name": "usethis",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=usethis"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "R",
      "name": "R",
      "version": ">= 4.0.0"
    },
    "2": {
      "@type": "SoftwareApplication",
      "identifier": "cli",
      "name": "cli",
      "version": ">= 2.0.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=cli"
    },
    "3": {
      "@type": "SoftwareApplication",
      "identifier": "desc",
      "name": "desc",
      "version": ">= 1.3.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=desc"
    },
    "4": {
      "@type": "SoftwareApplication",
      "identifier": "jsonlite",
      "name": "jsonlite",
      "version": ">= 1.7.2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=jsonlite"
    },
    "5": {
      "@type": "SoftwareApplication",
      "identifier": "jsonvalidate",
      "name": "jsonvalidate",
      "version": ">= 1.1.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=jsonvalidate"
    },
    "6": {
      "@type": "SoftwareApplication",
      "identifier": "yaml",
      "name": "yaml",
      "version": ">= 2.2.1",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=yaml"
    },
    "SystemRequirements": null
  },
  "isPartOf": "https://ropensci.org",
  "keywords": [
    "attribution",
    "citation",
    "credit",
    "citation-files",
    "cff",
    "metadata",
    "citation-file-format",
    "cran",
    "r",
    "r-package",
    "ropensci",
    "rstats",
    "r-cran"
  ],
  "fileSize": "982.903KB",
  "citation": [
    {
      "@type": "ScholarlyArticle",
      "datePublished": "2021",
      "author": [
        {
          "@type": "Person",
          "givenName": "Diego",
          "familyName": "Hernangómez"
        }
      ],
      "name": "{cffr}: Generate Citation File Format Metadata for {R} Packages",
      "identifier": "10.21105/joss.03900",
      "url": "https://doi.org/10.21105/joss.03900",
      "pagination": "3900",
      "@id": "https://doi.org/10.21105/joss.03900",
      "sameAs": "https://doi.org/10.21105/joss.03900",
      "isPartOf": {
        "@type": "PublicationIssue",
        "issueNumber": "67",
        "datePublished": "2021",
        "isPartOf": {
          "@type": [
            "PublicationVolume",
            "Periodical"
          ],
          "volumeNumber": "6",
          "name": "Journal of Open Source Software"
        }
      }
    },
    {
      "@type": "CreativeWork",
      "datePublished": "2021",
      "author": [
        {
          "@type": "Person",
          "givenName": "Stephan",
          "familyName": "Druskat"
        },
        {
          "@type": "Person",
          "givenName": [
            "Jurriaan",
            "H."
          ],
          "familyName": "Spaaks"
        },
        {
          "@type": "Person",
          "givenName": "Neil",
          "familyName": "Chue Hong"
        },
        {
          "@type": "Person",
          "givenName": "Robert",
          "familyName": "Haines"
        },
        {
          "@type": "Person",
          "givenName": "James",
          "familyName": "Baker"
        },
        {
          "@type": "Person",
          "givenName": "Spencer",
          "familyName": "Bliven"
        },
        {
          "@type": "Person",
          "givenName": "Egon",
          "familyName": "Willighagen"
        },
        {
          "@type": "Person",
          "givenName": "David",
          "familyName": "Pérez-Suárez"
        },
        {
          "@type": "Person",
          "givenName": "Alexander",
          "familyName": "Konovalov"
        }
      ],
      "name": "Citation {File} {Format}",
      "identifier": "10.5281/zenodo.5171937",
      "url": "https://github.com/citation-file-format/citation-file-format",
      "@id": "https://doi.org/10.5281/zenodo.5171937",
      "sameAs": "https://doi.org/10.5281/zenodo.5171937"
    }
  ],
  "releaseNotes": "https://github.com/ropensci/cffr/blob/main/NEWS.md",
  "readme": "https://github.com/ropensci/cffr/blob/main/README.md",
  "contIntegration": [
    "https://github.com/ropensci/cffr/actions/workflows/check-full.yaml",
    "https://github.com/ropensci/cffr/actions/workflows/rhub.yaml",
    "https://app.codecov.io/gh/ropensci/cffr",
    "https://github.com/ropensci/cffr/actions/workflows/cff-validator.yml"
  ],
  "developmentStatus": [
    "https://www.repostatus.org/#active",
    "https://lifecycle.r-lib.org/articles/stages.html#experimental"
  ],
  "review": {
    "@type": "Review",
    "url": "https://github.com/ropensci/software-review/issues/463",
    "provider": "https://ropensci.org"
  }
}

GitHub Events

Total
  • Create event: 9
  • Release event: 1
  • Issues event: 15
  • Watch event: 3
  • Delete event: 7
  • Issue comment event: 31
  • Push event: 46
  • Pull request review event: 1
  • Pull request review comment event: 2
  • Pull request event: 13
  • Fork event: 1
Last Year
  • Create event: 9
  • Release event: 1
  • Issues event: 15
  • Watch event: 3
  • Delete event: 7
  • Issue comment event: 31
  • Push event: 46
  • Pull request review event: 1
  • Pull request review comment event: 2
  • Pull request event: 13
  • Fork event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 711
  • Total Committers: 6
  • Avg Commits per committer: 118.5
  • Development Distribution Score (DDS): 0.091
Past Year
  • Commits: 58
  • Committers: 3
  • Avg Commits per committer: 19.333
  • Development Distribution Score (DDS): 0.345
Top Committers
Name Email Commits
dieghernan d****o@g****m 646
github-actions[bot] 4****] 54
dependabot[bot] 4****] 4
ImgBotApp I****p@g****m 3
unknown 3
Daniel Possenriede p****e@g****m 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 42
  • Total pull requests: 57
  • Average time to close issues: 26 days
  • Average time to close pull requests: 4 days
  • Total issue authors: 14
  • Total pull request authors: 4
  • Average comments per issue: 1.69
  • Average comments per pull request: 0.58
  • Merged pull requests: 48
  • Bot issues: 1
  • Bot pull requests: 14
Past Year
  • Issues: 8
  • Pull requests: 12
  • Average time to close issues: 22 days
  • Average time to close pull requests: about 8 hours
  • Issue authors: 4
  • Pull request authors: 2
  • Average comments per issue: 1.88
  • Average comments per pull request: 1.08
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 6
Top Authors
Issue Authors
  • dieghernan (22)
  • roaldarbol (5)
  • larnsce (3)
  • Pakillo (2)
  • joelnitta (1)
  • dpprdan (1)
  • Bisaloo (1)
  • aadler (1)
  • IndrajeetPatil (1)
  • jeyabbalas (1)
  • github-actions[bot] (1)
  • iembry (1)
  • nfrerebeau (1)
  • jeroen (1)
Pull Request Authors
  • dieghernan (50)
  • dependabot[bot] (10)
  • imgbot[bot] (4)
  • dpprdan (1)
Top Labels
Issue Labels
enhancement (2) roadmap (1) github-render (1) good first issue (1) documentation (1)
Pull Request Labels
dependencies (10) enhancement (4) bug (2) github_actions (1)

Packages

  • Total packages: 2
  • Total downloads:
    • cran 1,695 last-month
  • Total docker downloads: 2,145
  • Total dependent packages: 4
    (may contain duplicates)
  • Total dependent repositories: 6
    (may contain duplicates)
  • Total versions: 22
  • Total maintainers: 1
cran.r-project.org: cffr

Generate Citation File Format ('cff') Metadata for R Packages

  • Versions: 15
  • Dependent Packages: 4
  • Dependent Repositories: 6
  • Downloads: 1,695 Last month
  • Docker Downloads: 2,145
Rankings
Dependent packages count: 9.3%
Stargazers count: 11.8%
Dependent repos count: 11.9%
Average: 13.6%
Forks count: 14.1%
Docker downloads count: 15.9%
Downloads: 18.8%
Last synced: 4 months ago
conda-forge.org: r-cffr
  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 34.0%
Average: 42.6%
Dependent packages count: 51.2%
Last synced: 4 months ago

Dependencies

DESCRIPTION cran
  • R >= 3.6.0 depends
  • crayon >= 1.4.1 imports
  • desc >= 1.3.0 imports
  • jsonlite >= 1.7.2 imports
  • jsonvalidate >= 1.1.0 imports
  • yaml >= 2.2.1 imports
  • knitr * suggests
  • lifecycle * suggests
  • rmarkdown * suggests
  • testthat >= 3.0.0 suggests
  • usethis * suggests
.github/workflows/cff-validator.yml actions
  • actions/checkout v3 composite
  • dieghernan/cff-validator main composite
.github/workflows/check-full.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/lint.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-ci.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/update-citation-cff.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/update-docs.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite