Resources for developers

General development guides

R

Python

Checklist

Package authors should strive to include everything on this checklist in their package in the way that is standardized and accepted for the major repositories for the software language, e.g., CRAN for R packages or PyPI for python packages.

Information and metadata

Given a version number MAJOR.MINOR.PATCH, increment the:

MAJOR version when you make incompatible API changes MINOR version when you add functionality in a backward compatible manner PATCH version when you make backward compatible bug fixes

Documentation

Testing

Code

Glossary

API - application programming interface

This refers to the way that users and other software interact with your software package. It could be using a graphical interface, or using code. It generally refers to the manner of getting your package to do something, and how your package returns a result.

Version control

The practice of tracking and managing changes to software code. Version control systems are software tools that help software teams manage changes to source code over time. Examples of version control systems are git and svn.

Repository

A centralized, external storage location for software packages. Examples include github, CRAN, Bioconductor.

License

A software license is a document that provides legal guidelines for the use and distribution of software. These is a list of open source licenses here: https://opensource.org/licenses.