Plugin Capabilities
Base Capabilities
Built-in base capabilities
The following capabilities are supported by default.
- PluginCapabilities.ABOUT = 'about'
Support plugin capability and setting discovery.
- PluginCapabilities.STREAM_MAPS = 'stream-maps'
Support inline stream map transforms.
Custom base capabilities
The following capabilities have to be implemented in the plugin.
- PluginCapabilities.ACTIVATE_VERSION = 'activate-version'
Support the ACTIVATE_VERSION extension.
- PluginCapabilities.BATCH = 'batch'
Input and output from batched files. A.K.A
FAST_SYNC
.
Tap Capabilities
Built-in tap capabilities
The following capabilities are supported by default.
- TapCapabilities.DISCOVER = 'discover'
Generate a catalog with –discover.
- TapCapabilities.CATALOG = 'catalog'
Accept input catalog, apply metadata and selection rules.
- TapCapabilities.STATE = 'state'
Incremental refresh by means of state tracking.
Custom tap capabilities
The following capabilities have to be implemented in the tap.
- TapCapabilities.LOG_BASED = 'log-based'
Support for
replication_method: LOG_BASED
. You can read more about this feature in MeltanoHub.
Target Capabilities
Custom target capabilities
The following capabilities have to be implemented in the target.
- TargetCapabilities.SOFT_DELETE = 'soft-delete'
Allows a
soft_delete=True
config option. Requires a tap stream supportingPluginCapabilities.ACTIVATE_VERSION
and/orTapCapabilities.LOG_BASED
.
- TargetCapabilities.HARD_DELETE = 'hard-delete'
Allows a
hard_delete=True
config option. Requires a tap stream supportingPluginCapabilities.ACTIVATE_VERSION
and/orTapCapabilities.LOG_BASED
.
- TargetCapabilities.DATATYPE_FAILSAFE = 'datatype-failsafe'
Fail safe for unknown JSON Schema types.
- TargetCapabilities.RECORD_FLATTENING = 'record-flattening'
Allow denesting complex properties.
- TargetCapabilities.TARGET_SCHEMA = 'target-schema'
Allow setting the target schema.