Package

Package Proposal

  • Open an Issue in our class repository. Describe your idea for a package. Be sure to tag your fellow group members.
  • I will provide feedback and we will continue the conversation until we agree on an idea.
  • You must open an Issue on GitHub by Friday, November 8, 5 pm!

Minimum Viable Project

  • Write a minimally viable R package that contains at least one fully-documented function OR data set. Your package must:
    • be in its own repository
    • have all group members with at least one commit to the repo
    • have a README
    • install via remotes::install_github()
    • pass R CMD check (no errors, no warnings, minimal notes)
    • depend on at least one existing CRAN package
    • have at least one test (e.g. devtools::test())
    The function(s):
    • could be part of your pull request
    • could be inspired by another class or project
    • could be a new function that you just wrote
  • Your MVP is due by Tuesday, November 19!
Important

You may NOT use generative AI tools to write the code for your package You may use generative AI tools to help with documentation and examples.

Completed Package

  • Complete the R package. Your package must:
    • meet all the requirements listed above for the MVP, plus
    • have tests
    • pass R CMD check both locally and via GitHub Actions
    • have at least one dependency on an existing CRAN package
    • have closed out all issues in the current milestone
  • If you want to go further:
  • Your package is due by Tuesday, December 17!
  • Tag me (@beanumber) on an Issue on GitHub when you are done!

Package criteria

Criteria Improvable OK Good Great
Presentation No sticker. No badges. No GitHub Actions. README is sparse and illegible No sticker. R-CMD-check badge is failing. README doesn’t explain what the package does or how it can be useful. README conveys some information about the package. Sticker is fabulous. Badges are informative. README is easy-to-read and full of useful, accessible information about the package.
Functionality Very limited functionality provided by package. Package is entirely data. Package is mostly data with a couple of simple functions. Package provides useful functions with data that support their use.
Testing No tests. A couple of trivial tests. A handful of tests, at least some of which test function behavior. Extensive suite of tests that check function behavior.

Project archive

These packages all began as SDS 270 projects.