Singer taps can only be used by Advanced Python developers who have extensive knowledge in ETL, memory management, big data, network queuing and OAuth. Otherwise please use a Stitch data integration. |
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 set up 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