What is the Singer data tap?

Stitch developed the Singer protocol, to help integrate data sources and targets with help from the open source community. Deputy has developed a Singer data tap which can be used to connect your Deputy account to your data warehouse, if your data needs are not met or supported in the out of the box Deputy > Stitch data integration

The data tap functions by calling the Deputy API using your account credentials and querying all Resource endpoints for data. The data is then transformed and synced into your data warehouse.

With the appropriate engineering or technical resources at your company, you can setup our Singer tap run on your company's infrastructure so that you can connect your Deputy data to your data warehouse.

Technical information about the Singer data tap can be found on GitHub.

How to setup the Deputy > Singer data tap

Step 1 - Install Python 3.5.2 (or newer) on your system

If you do not have Python 3.5.2 installed, follow these installation instructions for Mac or Ubuntu.

We will use virtualenv to ensure we don't have any conflicting dependencies between any Taps and Targets.

Step 2 - Create and activate a Python 3 virtual environment for the Tap, which we'll call tap-deputy

Run the following from the command line:

python3 -m venv ~/.virtualenvs/tap-deputy

source ~/.virtualenvs/tap-deputy/bin/activate

Step 3 - Install the Tap using pip

Run the following from the command line:

pip install tap-deputy

Step 4 - Edit the Deputy Tap config file tap_config.json to include the tokens required to access the Deputy API

Head over to Deputy's authentication docs to set up an OAuth client and use the example below for the config file:

{
  "domain": "yourbusinessname.ent-na.deputy.com",
  "client_id": "CLIENT ID",
  "client_secret": "CLIENT SECRET",
  "refresh_token": "RERESH TOKEN",
  "access_token": "ACCESS TOKEN",
  "redirect_uri": "http://localhost:500/callback",
  "start_date": "2010-01-01T00:00:00Z",
  "user_agent": "ETL Runner"
}

Step 5 - Run the Tap in Discovery Mode

Run the following from the command line:

tap-deputy -c tap-config.json --catalog catalog.json

You should a response similar to the screenshot below:

Step 6 - Run the Tap in sync mode

Run the following from the command line:

tap-deputy -c tap-config.json --catalog catalog.json

Did this answer your question?