Plugins¶
Plugins extend the functionality of pipeline-flow, allowing users to integrate with
different data sources, apply custom transformations, and enhance pipeline capabilities without
modifying the core system.
If you haven’t already, check out the Plugin Core Concepts to understand the basics of plugins.
We also recommend reading about Plugin-in-Plugin technique to learn how to extend the functionality of of existing plugins.
Plugin YAML structure¶
When using a plugin in the YAML configuration file, whether its utility plugins like secrets managers plugins, or even phase plugins, the structure is the same.
Every plugin is defined by a unique name (optional) and a set of arguments that are passed to the plugin. Simple as that!
Here is an example of how to define a plugin in the YAML file:
plugin_id: some unique id here
plugin: YOUR_SECRET_PLUGIN_HERE
args:
param1: value1
param2: value2
Plugin categories¶
There are three types of categories in pipeline-flow:
Built-in Plugins
Official plugins provided by the
pipeline-flowcore library.Fully supported and maintained by the core development team.
Guaranteed to be compatible with the latest versions of
pipeline-flow.
Community Plugins
Developed and maintained by the
pipeline-flowcommunity.Useful for specialized use cases not covered by built-in plugins.
May vary in terms of support and update frequency.
Custom Plugins
Developed by users to fit their unique requirements.
Provides flexibility for project-specific logic or third-party integrations.
Easily integrated by following the guide.
Plugin Hierachy¶
Each plugin belongs to a plugin category (Built-in, Community or Custom) and can be further classified into one of the following plugin types:
Phase Plugins
Define the core phases of a pipeline, such as Extract, Transform, and Load.
In-Phase Plugins
Operate within phases to enhance or modify data during processing.
Examples: iMergeExtractPlugin enables to merge all extracted data from multiple sources into a single data structure.
Utility Plugins
Provide general-purpose functionality across the pipeline but are not tied to any specific phase.
Examples: Secret Managers, Pagination Handlers, etc.
Next Steps¶
Explore Core Plugins to learn about the built-in plugins available out of the box.
Discover Community Plugins to find plugins contributed by the community.
Explore the Plugin Development Guide to build your own custom plugins.
Contribute to the Community Plugin Repository and help others build better pipelines.