Skip to contents

The 'Codemeta' Project defines a 'JSON-LD' format for describing software metadata, as detailed at https://codemeta.github.io. This package provides utilities to generate, parse, and modify 'codemeta.json' files automatically for R packages, as well as tools and examples for working with 'codemeta.json' 'JSON-LD' more generally.

Details

Why bother creating a codemeta.json for your package? R packages encode lots of metadata in the DESCRIPTION file, README, and other places, telling users and developers about the package purpose, authors, license, dependencies, and other information that facilitates discovery, adoption, and credit for your software. Unfortunately, because each software language records this metadata in a different format, that information is hard for search engines, software repositories, and other developers to find and integrate.

By generating a codemeta.json file, you turn your metadata into a format that can easily crosswalk between metadata in many other software languages. CodeMeta is built on schema.org a simple structured data format developed by major search engines like Google and Bing to improve discoverability in search. CodeMeta is also understood by significant software archiving efforts such as Software Heritage Project, which seeks to permanently archive all open source software.

For more general information about the CodeMeta Project for defining software metadata, see https://codemeta.github.io. In particular, new users might want to start with the User Guide, while those looking to learn more about JSON-LD and consuming existing codemeta files should see the Developer Guide.

Why codemetar? The ‘Codemeta’ Project defines a ‘JSON-LD’ format for describing software metadata, as detailed at https://codemeta.github.io. This package provides utilities to generate, parse, and modify codemeta.jsonld files automatically for R packages, as well as tools and examples for working with codemeta json-ld more generally.

It has three main goals:

  • Quickly generate a valid codemeta.json file from any valid R package. To do so, we automatically extract as much metadata as possible using the DESCRIPTION file, as well as extracting metadata from other common best-practices such as the presence of Travis and other badges in README, etc.

  • Facilitate the addition of further metadata fields into a codemeta.json file, as well as general manipulation of codemeta files.

  • Support the ability to crosswalk between terms used in other metadata standards, as identified by the Codemeta Project Community, see https://codemeta.github.io/crosswalk/

Author

Maintainer: Carl Boettiger cboettig@gmail.com (ORCID) [copyright holder]

Authors:

  • Maëlle Salmon (ORCID) [contributor]

Other contributors:

  • Anna Krystalli (ORCID) [reviewer, contributor]

  • Toph Allen (ORCID) [reviewer]

  • rOpenSci (https://ropensci.org/) [funder]

  • Katrin Leinweber (ORCID) [contributor]

  • Noam Ross (ORCID) [contributor]

  • Arfon Smith [contributor]

  • Jeroen Ooms (ORCID) [contributor]

  • Sebastian Meyer (ORCID) [contributor]

  • Michael Rustler (ORCID) [contributor]

  • Hauke Sonnenberg (ORCID) [contributor]

  • Sebastian Kreutzer (ORCID) [contributor]

  • Thierry Onkelinx (ORCID) [contributor]