Our hope is that tidyextractors will expand to include numerous new data sources. If there is a particular kind of data you are interested in extracting, or which to contribute to the package, please contact Joel Becker ( or Jillian Anderson ( and we will respond ASAP.

Creating an Extractor

Contributing a new extractor is relatively simple. Broadly speaking, you need to create a submodule with an extractor class inheriting from BaseExtractor. To create this class (e.g. NewExtractor) you need to do the following:

  • Define a NewExtractor._extract method, which should extract data and assign it to NewExtractor._data. This method will be called by BaseExtractor.__init__ during initialization.
  • Create a method to return each data format (e.g. commits, changes).