# Plugin Management
# Adding extractors and loaders to your project
Like all types of plugins, extractors and loaders can be added to a Meltano project using
Discoverable plugins can be added by simply specifying their
name, while adding a plugin that Meltano isn't familiar with yet requires adding the
A non-default variant can be selected using the
To find out what plugins are discoverable and supported out of the box, you can use
meltano discover, with an optional pluralized
<type> argument, e.g.
meltano discover extractors.
You can also check out the lists of supported extractors and loaders on this website.
If the Singer tap or target you'd like to use with Meltano doesn't show up in any of these places, you're going to want to add a custom plugin.
# List discoverable extractors and loaders meltano discover extractors meltano discover loaders # Add a discoverable extractor or loader by name meltano add extractor tap-salesforce meltano add loader target-snowflake # Add a specific variant of a discoverable extractor loader meltano add extractor tap-salesforce --variant=singer-io meltano add loader target-snowflake --variant=transferwise # Add a custom extractor or loader meltano add --custom extractor tap-covid-19
# Installing your project's plugins
However, since this directory is included in your project's
by default, you'll need to explicitly run
before any other
meltano commands whenever you clone or pull an existing Meltano project from version control,
to install (or update) all plugins specified in your
meltano.yml project file.
# Removing plugins from your project
Traces of the plugin may remain in the
.meltano directory under
.meltano/<plugin type>/<plugin name>, and in the
plugin_settings tables in the system database. You are free to delete these files and rows manually.
# Using a custom fork of a plugin
If you've forked a plugin's repository and made changes to it, you can update your Meltano project to use your custom fork instead of the canonical source:
plugins: extractors: - name: tap-gitlab variant: meltano pip_url: git+https://gitlab.com/meltano/tap-gitlab.git # pip_url: git+https://gitlab.com/meltano/tap-gitlab.git@ref-name
If your plugin source is stored in a private repository, you have two options:
Continue to authenticate over HTTP(S), and store your credentials in a
.netrcfile in your home directory:
machine <hostname> # e.g. gitlab.com or github.com login <username> password <personal-access-token-or-password>
Authenticate using SSH instead, and specify a
Re-install the plugin from the new
meltano install <type> <name> # For example: meltano install extractor tap-gitlab
If your fork supports additional settings, you can set them as custom settings.