https://linen.dev logo
#singer-tap-development
Title
# singer-tap-development
p

prratek_ramchandani

04/14/2021, 7:10 PM
Hey! I’m trying to rewrite
tap-stripe
using the Singer SDK (because why not) and am running into some issues. I figured I’d choose the “custom” tap and auth types since I wanted to use Stripe’s client library, filled in all the TODOs, but when running
meltano elt tap-stripe target-zendesk
the target throws this error
Copy code
meltano      | Running extract & load...
target-jsonl | Traceback (most recent call last):
target-jsonl |   File "/Users/pramchandani/projects/tap_stripe/.meltano/loaders/target-jsonl/venv/bin/target-jsonl", line 8, in <module>
target-jsonl |     sys.exit(main())
target-jsonl |   File "/Users/pramchandani/projects/tap_stripe/.meltano/loaders/target-jsonl/venv/lib/python3.8/site-packages/target_jsonl.py", line 94, in main
target-jsonl |     state = persist_messages(input_messages, config.get('destination_path', ''), config.get('do_timestamp_file', True))
target-jsonl |   File "/Users/pramchandani/projects/tap_stripe/.meltano/loaders/target-jsonl/venv/lib/python3.8/site-packages/target_jsonl.py", line 47, in persist_messages
target-jsonl |     o = singer.parse_message(message).asdict()
target-jsonl |   File "/Users/pramchandani/projects/tap_stripe/.meltano/loaders/target-jsonl/venv/lib/python3.8/site-packages/singer/messages.py", line 156, in parse_message
target-jsonl |     obj = json.loads(msg)
target-jsonl |   File "/Users/pramchandani/projects/tap_stripe/.meltano/loaders/target-jsonl/venv/lib/python3.8/site-packages/simplejson/__init__.py", line 516, in loads
target-jsonl |     return _default_decoder.decode(s)
target-jsonl |   File "/Users/pramchandani/projects/tap_stripe/.meltano/loaders/target-jsonl/venv/lib/python3.8/site-packages/simplejson/decoder.py", line 370, in decode
target-jsonl |     obj, end = self.raw_decode(s)
target-jsonl |   File "/Users/pramchandani/projects/tap_stripe/.meltano/loaders/target-jsonl/venv/lib/python3.8/site-packages/simplejson/decoder.py", line 400, in raw_decode
target-jsonl |     return self.scan_once(s, idx=_w(s, idx).end())
target-jsonl | simplejson.scanner.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
meltano      | Loading failed (1): simplejson.scanner.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Not sure if this is relevant but I’m able to run
poetry run tap-stripe --config path/to/config.json
and see a mix of Singer logs and logs from the Stripe client library printed to stdout. Also,
meltano config tap-stripe
shows me the config I have set in meltano.yml but
meltano invoke tap-stripe
throws
Plugin 'tap-stripe' is not known to Meltano
Any thoughts?