Distribute plugins on GitHub#
GitHub is a straight-forward way to share your QIIME 2 plugin. This tutorial will walk you through creating a QIIME 2 plugin from template, and then sharing it with installation instructions on GitHub.
This tutorial assumes that you have git
and the GitHub command line interface installed on your computer.
If you don’t have these installed, do that now using the GitHub command line interface installation instructions, which should install git
if you don’t already have it installed.
Note
All of the steps illustrated here that use the GitHub command line interface can also be performed through the typical GitHub web interface. The GitHub command line interface is used here as it’s easier to document and test the instructions (and it’s pretty darn cool).
Template your plugin#
Create a new template plugin, according to the instructions in Create your plugin from a template.
Pay attention to the question about the “target distribution” - this enables templating of installation instructions and test machinery against the distribution of your choice.
For example, if you want your plugin to expand upon the amplicon
distribution, this is where you indicate that.
After completing those steps, return to this page.
Expanding on the install instructions#
Users should now be able to install and use your plugin if they’re pointed at the README.md
file.
The templated Installation instructions in the README.md
file are intended to be a starting point, and they mention that as a note to readers.
You’ll almost certainly want to update the install instructions for your plugin as you develop it.
Here are some tips related to updating the installation instructions for your plugin:
If your plugin requires additional dependencies that can be installed with either conda or pip, you can add those in the environment yaml file that was templated in the
environments/
directory.We recommend doing what you can in the
Makefile
in your repository, so that the commandmake install
continues to be the mechanism by which your plugin should be installed.Be sure to update the
README.md
if you introduce any new constraints (e.g., that your plugin can only be installed on Linux). It’s fine to do that, but you should let your users know so they don’t get grumpy about your plugin.
If you’re ready to start getting users, the next steps are helping prospective users discover your plugin, and supporting them as they use it.