Plugin Classes

Tap(config, pathlib.PurePath, str, …)

Abstract base class for taps.

Target(config, Any]] = None, parse_env_config)

Abstract base class for targets.

Stream Classes

Stream(tap, schema, os.PathLike, Dict[str, …)

Abstract base class for tap streams.

RESTStream(tap, name, schema, Any], …)

Abstract base class for REST API streams.

GraphQLStream(tap, name, schema, Any], …)

Abstract base class for API-type streams.

Sink Classes

Sink(target, stream_name, schema, key_properties)

Abstract base class for target sinks.

RecordSink(target, stream_name, schema, …)

Base class for singleton record writers.

BatchSink(target, stream_name, schema, …)

Base class for batched record writers.

Authenticator Classes

authenticators.APIKeyAuthenticator(stream, …)

Implements API key authentication for REST Streams.

authenticators.BasicAuthenticator(stream, …)

Implements basic authentication for REST Streams.


Implements bearer token authentication for REST Streams.

authenticators.OAuthAuthenticator(stream, …)

API Authenticator for OAuth 2.0 flows.

authenticators.OAuthJWTAuthenticator(stream, …)

API Authenticator for OAuth 2.0 flows which utilize a JWT refresh token.

authenticators.SimpleAuthenticator(stream, …)

DEPRECATED: Please use a more specific authenticator.

Exception Types


Exception to raise when query returns more records than max_records.


Exception to raise when stream connection fails or stream is disconnected.


Exception to raise if sorting errors are found while syncing the records.


Exception to raise if the maximum number of allowable records is exceeded.