singer_sdk.Tap¶
- class singer_sdk.Tap[source]¶
- Bases: - BaseSingerWriter- Abstract base class for taps. - The Tap class governs configuration, validation, and stream discovery for tap plugins. - classmethod append_builtin_config(config_jsonschema)[source]¶
- Appends built-in config to config_jsonschema if not already set. - To customize or disable this behavior, developers may either override this class method or override the capabilities property to disabled any unwanted built-in capabilities. - For all except very advanced use cases, we recommend leaving these implementations “as-is”, since this provides the most choice to users and is the most “future proof” in terms of taking advantage of built-in capabilities which may be added in the future. - Parameters:
- config_jsonschema (dict) – [description] 
- Return type:
- None 
 
 - classmethod cb_discover(ctx, param, value)[source]¶
- CLI callback to run the tap in discovery mode. - Parameters:
- ctx (Context) – Click context. 
- param (Option) – Click option. 
- value (bool) – Whether to run in discovery mode. 
 
- Return type:
- None 
 
 - classmethod cb_test(ctx, param, value)[source]¶
- CLI callback to run the tap in test mode. - Parameters:
- ctx (Context) – Click context. 
- param (Option) – Click option. 
- value (bool) – Whether to run in test mode. 
 
- Return type:
- None 
 
 - classmethod cb_version(ctx, param, value)[source]¶
- CLI callback to print the plugin version and exit. - Parameters:
- ctx (Context) – Click context. 
- param (Option) – Click parameter. 
- value (bool) – Boolean indicating whether to print the version. 
 
- Return type:
- None 
 
 - classmethod get_plugin_version()[source]¶
- Return the package version number. - Returns:
- The package version number. 
- Return type:
 
 - classmethod get_sdk_version()[source]¶
- Return the package version number. - Returns:
- The package version number. 
- Return type:
 
 - classmethod get_singer_command()[source]¶
- Execute standard CLI handler for taps. - Returns:
- A click.Command object. 
- Return type:
- Command 
 
 - classmethod instantiate_processor(instance, default_cls)[source]¶
- Instantiate a processor instance. - Parameters:
- instance (_T | None) – The instance to instantiate. 
- default_cls (type[_T]) – The default class to instantiate. 
 
- Returns:
- The instantiated processor instance. 
- Return type:
- _T 
 
 - classmethod invoke(*, about=False, about_format=None, config=(), state=None, catalog=None)[source]¶
- Invoke the tap’s command line interface. - Parameters:
- about (bool) – Display package metadata and settings. 
- about_format (str | None) – Specify output style for –about. 
- config (tuple[str, ...]) – Configuration file location or ‘ENV’ to use environment variables. Accepts multiple inputs as a tuple. 
- catalog (Path | None) – Use a Singer catalog file with the tap.”, 
- state (Path | None) – Use a bookmarks file for incremental replication. 
 
- Return type:
- None 
 
 - classmethod print_about(output_format=None)[source]¶
- Print capabilities and other tap metadata. - Parameters:
- output_format (str | None) – Render option for the plugin information. 
- Return type:
- None 
 
 - __init__(*, config=None, catalog=None, state=None, parse_env_config=False, validate_config=True, setup_mapper=True, message_writer=None)[source]¶
- Initialize the tap. - Parameters:
- config (dict | PurePath | str | list[PurePath | str] | None) – Tap configuration. Can be a dictionary, a single path to a configuration file, or a list of paths to multiple configuration files. 
- catalog (PurePath | str | dict | Catalog | None) – Tap catalog. Can be a dictionary or a path to the catalog file. 
- state (PurePath | str | dict | None) – Tap state. Can be dictionary or a path to the state file. 
- parse_env_config (bool) – Whether to look for configuration values in environment variables. 
- validate_config (bool) – True to require validation of config settings. 
- setup_mapper (bool) – True to initialize the plugin mapper. 
- message_writer (GenericSingerWriter | None) – The class class to use for writing Singer messages. 
 
- Return type:
- None 
 
 - discover_streams()[source]¶
- Initialize all available streams and return them as a list. - Returns:
- List of discovered Stream objects. 
- Raises:
- NotImplementedError – If the tap implementation does not override this method. 
- Return type:
- t.Sequence[Stream] 
 
 - load_state(state)[source]¶
- Merge or initialize stream state with the provided state dictionary input. - Override this method to perform validation and backwards-compatibility patches on self.state. If overriding, we recommend first running super().load_state(state) to ensure compatibility with the SDK. - Parameters:
- state (dict[str, Any]) – Initialize the tap’s state with this value. 
- Raises:
- ValueError – If the tap’s own state is None, meaning it has not been initialized. 
- Return type:
- None 
 
 - final load_streams()[source]¶
- Load streams from discovery and initialize DAG. - Return the output of self.discover_streams() to enumerate discovered streams. 
 - final run_connection_test()[source]¶
- Run connection test, aborting each stream after 1 record. - Returns:
- True if the test succeeded. 
- Return type:
 
 - run_discovery()[source]¶
- Write the catalog json to STDOUT and return as a string. - Returns:
- The catalog as a string of JSON. 
- Return type:
 
 - final run_sync_dry_run(dry_run_record_limit=1, streams=None)[source]¶
- Run connection test. - Exceptions of type MaxRecordsLimitException and PartialSyncSuccessException will be ignored. 
 - write_message(message)[source]¶
- Write a message to the tap’s message writer. - Parameters:
- message (Any) 
- Return type:
- None 
 
 - final write_schemas()[source]¶
- Write a SCHEMA message for all known streams to STDOUT. - Return type:
- None 
 
 - property catalog_json_text: str[source]¶
- Get catalog JSON. - Returns:
- The tap’s catalog as formatted JSON text. 
 
 - property config: Mapping[str, Any][source]¶
- Get config. - Returns:
- A frozen (read-only) config dictionary map. 
 
 - dynamic_catalog: bool = False[source]¶
- Whether the tap’s catalog is dynamic. Set to True if the catalog is generated dynamically (e.g. by querying a database’s system tables). 
 - property initialized_at: int[source]¶
- Start time of the plugin. - Returns:
- The start time of the plugin. 
 
 - property input_catalog: Catalog | None[source]¶
- Get the catalog passed to the tap. - Returns:
- Catalog dictionary input, or None if not provided. 
 
 - property mapper: PluginMapper[source]¶
- Plugin mapper for this tap. - Returns:
- A PluginMapper object. 
- Raises:
- MapperNotInitialized – If the mapper has not been initialized. 
 
 - property state: dict[source]¶
- Get tap state. - Returns:
- The tap’s state dictionary 
- Raises:
- RuntimeError – If state has not been initialized.