CODECHECK bundle
The CODECHECK bundle is not formally specified, as its contents are largely at the discretion of the codechecker. Unlike the CODECHECK configuration file, which has a more formal specification. Therefore, this page acts as a guidance for codecheckers and may evolve over time.
The CODECHECK bundle includes all files that the codechecker used to conduct the CODECHECK. This may include a copy of the author’s files, and any additional files that the codechecker created to assisst them in their CODECHECK.
Computing environment documentation
- Binder’s REES specification, for example by creating one or several of the following files or tools:
Dockerfile- Binder
environment.ymlrequirements.txtDESCRIPTIONfile (R package)
- virtual environments (Python)
- package
renv(R) - Dockerfile and Docker image, see Ten simple rules for writing Dockerfiles for reproducible data science
- …
Codecheck certificate with computational notebooks
Computational notebooks such as R Markdown (Rmd), Jupyter, or Quarto have very nice features that are helpful for writing a CODECHECK certificate.
- Literate programming and code chunks (hidden, visible) with nice looking and mostly hastle free PDF output (using tinytex)
- You can configure document metadata, e.g. the title or subtitle, anywhere in the document, so you can choose to configure them only in the
codecheck.yml, see this example - You can capture the metadata of the computing environment in an automatically generated colophon that lists installed packages and session information (using
sessionInfo()ordevtools::session_info()in R), see for example this one in the template fromrrtoolsby Ben Marwick, or a reproducibility receipt, see this code example, which adds git repository information and information about external libraries to the session information
We provide templates for R Markdown and Jupyter notebooks in an R package and a Python project:
- R package
codecheckwith Rmd templates and functions to validate metadata and upload the certificate to Zenodo - Python project
codecheck-pywith a Jupyter notebook template and functions to validate
In the future, a CODECHECK assistant could be helpful - share your ideas an wishes in the project repository.