This is a framework built on top of the Singer Spec.

When creating a Tap, Meltano’s quickstart CLI tool generates a Python package with three files:

Python moduleDescription
client.pyOptional file for client code logic if multiple streams share the same client
stream.pyA data stream corresponding to one table.
tap.pyClass that interfaces with the rest of the Singer ecosystem. Responsible for providing the list of user-defined streams.

Call hierarchy

The relevant ones when a user defines their own methods & hooks.

flowchart
	Tap:cli --> Tap:sync_all --> Stream:sync
	Stream:sync --> Stream._sync_records --> Stream.get_records --> Stream.post_process