what's the up-to-date guide for setting up a custo...
# announcements
e
a
Those are probably the best. I used https://blog.zhaw.ch/splab/2019/12/20/building-a-singer-io-tap-for-an-open-data-source/ when getting started, it has a nice progression
This getting started guide helped me understand the framework itself https://github.com/singer-io/getting-started, which helps to understand how to build a tap
e
thanks @adam_roderick . Just out of interest, roughly how long does it take to make a custom tap for an API with a few endpoints?
a
It depends on a LOT of things, like any software development effort. The security and authentication with the API, the number of entities and attributes, the complexity of those entities, any dynamic endpoints where you can pass in a complex body and get a dynamic result).
Reading between the lines of your question, maybe estimate 10 hours for a proof of concept, 30-40 hours for a complete implementation of a few endpoints
e
great, thanks @adam_roderick. So definitely sounds like a better approach than writing some custom python in airflow. This would be for an internal microservices API so would have more control. I think the team are more comfortable exposing an API rather than getting data via the underlying postgres. Another option is via an event stream. Anyway appreciate the insight, I gather there are a fair number of people using custom taps just perhaps not that much content about it online.
a
Yeah, they aren't too bad to write. The benefits are the consistency of the framework, and the ability to use them with existing targets
So if you have a one-off situation, it might be a little more overhead than necessary
s
I found it much easier to start from an existing solution & adapt (easier to see how the pieces fit together): https://github.com/singer-io/tap-github Just cloned it and updated schemas & logic