Plugin Capabilities

Base Capabilities

Built-in base capabilities

The following capabilities are supported by default.

PluginCapabilities.ABOUT = 'about'[source]

Support plugin capability and setting discovery.

PluginCapabilities.BATCH = 'batch'[source]

Input and output from batched files. A.K.A FAST_SYNC.

PluginCapabilities.STREAM_MAPS = 'stream-maps'[source]

Support inline stream map transforms.

PluginCapabilities.FLATTENING = 'schema-flattening'[source]

Support schema flattening, aka denesting of complex properties.

Custom base capabilities

The following capabilities have to be implemented in the plugin.

PluginCapabilities.ACTIVATE_VERSION = 'activate-version'[source]

Support the ACTIVATE_VERSION extension.

Tap Capabilities

Built-in tap capabilities

The following capabilities are supported by default.

TapCapabilities.DISCOVER = 'discover'[source]

Generate a catalog with –discover.

TapCapabilities.CATALOG = 'catalog'[source]

Accept input catalog, apply metadata and selection rules.

TapCapabilities.STATE = 'state'[source]

Incremental refresh by means of state tracking.

TapCapabilities.TEST = 'test'[source]

Automatic connectivity and stream init test via –test.

Custom tap capabilities

The following capabilities have to be implemented in the tap.

TapCapabilities.LOG_BASED = 'log-based'[source]

Support for replication_method: LOG_BASED. You can read more about this feature in MeltanoHub.

TapCapabilities.PROPERTIES = 'properties'[source]

Deprecated. Please use CATALOG instead.

Target Capabilities

Custom target capabilities

The following capabilities have to be implemented in the target.

TargetCapabilities.SOFT_DELETE = 'soft-delete'[source]

Allows a soft_delete=True config option. Requires a tap stream supporting PluginCapabilities.ACTIVATE_VERSION and/or TapCapabilities.LOG_BASED.

TargetCapabilities.HARD_DELETE = 'hard-delete'[source]

Allows a hard_delete=True config option. Requires a tap stream supporting PluginCapabilities.ACTIVATE_VERSION and/or TapCapabilities.LOG_BASED.

TargetCapabilities.DATATYPE_FAILSAFE = 'datatype-failsafe'[source]

Fail safe for unknown JSON Schema types.

TargetCapabilities.TARGET_SCHEMA = 'target-schema'[source]

Allow setting the target schema.