Skip to content

Tagging, validating, and safeguarding data to help harden data pipelines.

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md
Notifications You must be signed in to change notification settings

epiverse-trace/safeframe

Repository files navigation

safeframe: Generic Data Labelling and Validating Logo for safeframe

License: MIT R-CMD-check Codecov test coverage lifecycle-concept

safeframe provides functions to label and validate data of any kind. safeframe is an abstraction from linelist, which applies these principles to epidemiological linelist data. The original proposal for this package can be found on the Discussion board.

Installation

You can install the development version of safeframe from GitHub with:

# install.packages("pak")
pak::pak("epiverse-trace/safeframe")

Getting started

library(safeframe)

# Create a safeframe object
x <- make_safeframe(cars, speed = 'Miles per hour', dist = 'Distance in miles')

# Validate the data are of a specific type
validate_safeframe(x, 
  speed = 'numeric',        # speed should be numeric
  # type() is a helper function of related classes
  dist = type('numeric')    # dist should be numeric, integer
)

Development

Lifecycle

This package is currently experimental, as defined by the RECON software lifecycle. This means that essential features and mechanisms are still being developed, and the package is not ready for use outside of the development team.

Contributions

Contributions are welcome via pull requests. Anything bigger than a typo fix or a small documentation update should be discussed in an issue first. If you want to report a bug or suggest an enhancement, please open an issue. 😊 See also the general Epiverse TRACE contribution document.

Common issues

To make it easier for us to evaluate your contribution, please run the following commands before submitting a pull request to ensure your code is consistent with the rest of the package:

styler::style_pkg()
devtools::document()
spelling::update_wordlist(pkg = ".", vignettes = TRUE)

lintr::lint_package()

devtools::test()
devtools::check()

This will reduce the time it takes for us to review your contribution. Thank you! 😊

Related projects

This project is related to other existing projects in R or other languages, but also differs from them in the following aspects:

  • labelled: A package for labelling data in R, but it is more focused on labelling variables than validating them.
  • linelist: A package for managing and validating linelist data - the original inspiration for safeframe.
  • struct: A package that “provides ways to modify objects more strictly, guaranteeing that we keep the type of the modified element.”

Code of Conduct

Please note that the safeframe project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

About

Tagging, validating, and safeguarding data to help harden data pipelines.

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •