Due to storage and efficiency drawbacks with Singer data, hotglue supports automatically converting the singer output of a standard tap into CSV, which is more digestible for transformation scripts. See intermediary formats for more information.

target-csv

target-csv is a singer target which takes in singer data and outputs the data’s corresponding csv. When developing locally with the SingerSDK, we recommend using target-csv to easily inspect and validate your data.

Installation

To install target-csv, first create a virtual environment. We recommend creating this environment globally so you can access it everywhere:
python -m venv ~/env/target-csv
Next, enter that virtual environment:
source ~/env/target-csv/bin/activate
Next, install target-csv:
pip install git+https://github.com/hotgluexyz/target-csv.git

Usage

Suppose you have a file in your local directory called data.singer that you want to convert. First enter your virtual environment:
source ~/env/target-csv/bin/activate
Then simply run:
cat data.singer | target-csv
If your singer data is malformed, you should see an error message explaining the issue. If the CSV conversion succeeds, you should see a CSV file for each stream in your singer data.