Skip to main content

Hotglue SDK for Taps

This is a fork of Melanto's SingerSDK for special use in hotglue, an embedded integration platform for running Singer Taps and Targets.

Taps and targets built on the SDK are automatically compliant with the Singer Spec, the de-facto open source standard for extract and load pipelines.

OAuth Access Token Support

Taps can implement the --access-token CLI flag to refresh OAuth access tokens without running the tap directly.

Implementing Access Token Support

To enable this feature in your tap, override the access_token_support class method to return a tuple of (authenticator_class, auth_endpoint):

from hotglue_singer_sdk import Tap
from my_tap.auth import MyOAuthAuthenticator

class MyTap(Tap):
    name = "tap-myservice"

    @classmethod
    def access_token_support(cls, connector=None):
        """Return the authenticator class and auth endpoint for token refresh.

        Returns:
            A tuple of (authenticator_class, auth_endpoint).
        """
        default_url = "https://api.myservice.com/oauth/token"
        # ommit if token url is not dynamic
        dynamic_url = connector.config.get("auth_url")
        url = dynamic_url or default_url
        return (MyOAuthAuthenticator, url)

Authenticator Requirements

The authenticator class must implement the following methods:

  • is_token_valid() - Returns True if the current access token is still valid
  • update_access_token() - Refreshes the access token and updates the config file

The authenticator will be instantiated with these parameters:

  • stream - A dummy stream object with logger, tap_name, and config attributes
  • config_file - Path to the config file for writing updated tokens
  • auth_endpoint - The OAuth token endpoint URL

Usage

Once implemented, users can refresh the access token using:

tap-myservice --config config.json --access-token

This will output the new access token as JSON:

{
  "access_token": "new_token_value"
}

Note: The --access-token flag requires a config file path. It will not work with --config ENV or when omitting the config.

Metadata

Release files for hotglue-singer-sdk 1.0.51

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hotglue-singer-sdk 1.0.51
File Size Uploaded
hotglue_singer_sdk-1.0.51.tar.gz 116.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hotglue-singer-sdk 1.0.51
File Interpreter ABI Platform
hotglue_singer_sdk-1.0.51-py3-none-any.whl Python 3 none any Details

Total release size: 259.0 kB

Release files / hotglue_singer_sdk-1.0.51.tar.gz

Download URL hotglue_singer_sdk-1.0.51.tar.gz
Size 116.2 kB
Tags Source
SHA-256 checksum
How to use checksums
af032f15d9a61d3848d71fede987cad739c3daa986d3f0aecb2c01eabdc8f5e6
BLAKE2b-256 checksum
How to use checksums
4b4794eff9b404688e34921e810a3653b062c8ad5ac14cfdaeea96ac32b1335d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.21

Release files / hotglue_singer_sdk-1.0.51-py3-none-any.whl

Download URL hotglue_singer_sdk-1.0.51-py3-none-any.whl
Size 142.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
22b4f6c834c4286bb3f4d9e6b681930a6ce8dad870efde578c9aed591afc70b0
BLAKE2b-256 checksum
How to use checksums
7749661f99ab12cfa607da6aaf240a91475a446c1d06b11e4d89e79a389810b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.21

Release history Release notifications | RSS feed

This release

1.0.51 This release

2 release files

1.0.50

2 release files

1.0.49

2 release files

1.0.48

2 release files

1.0.47

2 release files

1.0.46

2 release files

1.0.44

2 release files

1.0.43

2 release files

1.0.41

2 release files

1.0.38

2 release files

1.0.37

2 release files

1.0.36

2 release files

1.0.35

2 release files

1.0.33

2 release files

1.0.32

2 release files

1.0.29

2 release files

1.0.28

2 release files

1.0.27

2 release files

1.0.26

2 release files

1.0.25

2 release files

1.0.24

2 release files

1.0.23

2 release files

1.0.22

2 release files

1.0.21

2 release files

1.0.20

2 release files

1.0.19

2 release files

1.0.18

2 release files

1.0.17

2 release files

1.0.16

2 release files

1.0.12

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page