Bruno Arnabar
08/07/2025, 9:21 PMmeltano select tap-canvas --list --all
the tap supports discovery and catalog featuresReuben (Matatika)
08/08/2025, 8:19 AMcapabilities in the definition?Bruno Arnabar
08/08/2025, 12:27 PMcapabilities:
- stream_maps
- catalog
- discover
into meltano.yml or is there something else I should be doing on the tap side.
I looked through some examples and didn't see them declaring the capabilities in any particular file, currently I just have this:
capabilities = [
"catalog",
"discover",
"stream_maps",
]
in my tap.pyReuben (Matatika)
08/08/2025, 12:34 PMAre you referring to on the meltano project sideYep, that looks fine (
catalog and discover important in this case).
in my tap.pyYou shouldn't need to override the defaults: https://github.com/meltano/sdk/blob/fddd5cfb0c0e419251167980e75f3976d1ef3577/singer_sdk/tap_base.py#L69-L79
Reuben (Matatika)
08/08/2025, 12:35 PMmeltano select tap-canvas --list --all
?Reuben (Matatika)
08/08/2025, 12:35 PMdiscover_streams implementation also?Bruno Arnabar
08/08/2025, 12:43 PMCliError: Cannot list the selected attributes: Could not find catalog. Verify that the tap supports discovery mode and advertises the `discover`
capability as well as either `catalog` or `properties`
and what I have in discover_streams:
def discover_streams(_self_) -> List[Stream]:
"""Return a list of discovered streams."""
return [stream_class(_tap_=self) for stream_class in STREAM_TYPES]Reuben (Matatika)
08/08/2025, 12:44 PMmeltano invoke --dump catalog <tap>
?Reuben (Matatika)
08/08/2025, 12:44 PMmeltano invoke <tap> --discover
?Bruno Arnabar
08/08/2025, 12:45 PMReuben (Matatika)
08/08/2025, 12:46 PMmeltano.yml?Bruno Arnabar
08/08/2025, 12:49 PM- name: tap-canvas
namespace: tap_canvas
pip_url:
git+<https://github.com/brunoarnabar/tap-canvas.git@main#egg=tap-canvas>
capabilities:
- state
- catalog
- discover
select:
- "!courses.*"
config:
record_limit: 10Bruno Arnabar
08/08/2025, 12:50 PMReuben (Matatika)
08/08/2025, 12:53 PMmeltano install --clean tap-canvas
More recent versions of Meltano detect when the pip_url has changed and auto-reinstall. Which version are you using?Reuben (Matatika)
08/08/2025, 12:54 PMtap-canvas, which is why I'm assuming the plugin has been installed previously and the pip_url has changed.Bruno Arnabar
08/08/2025, 12:58 PMBruno Arnabar
08/08/2025, 12:59 PMReuben (Matatika)
08/08/2025, 1:03 PMpip_url and reinstall. There is also meltano add --from-ref which might be of interest: https://docs.meltano.com/reference/command-line-interface/#addReuben (Matatika)
08/08/2025, 1:04 PMI needed to explicitly name then in the yml for them to show?As in
capabilities?Bruno Arnabar
08/08/2025, 1:05 PMReuben (Matatika)
08/08/2025, 1:11 PM<tap> --about --format yaml which could then be passed to meltano add --from-ref, but that doesn't exist yet. I would recommend doing
meltano add --from-ref <https://raw.githubusercontent.com/meltano/hub/refs/heads/main/_data/meltano/extractors/tap-canvas/mwcooley99.yml>
and then manually changing the pip_url to -e <local path>.Reuben (Matatika)
08/08/2025, 1:13 PMBruno Arnabar
08/08/2025, 2:42 PMReuben (Matatika)
08/08/2025, 2:43 PMEdgar Ramírez (Arch.dev)
08/08/2025, 11:59 PMAs in if my tap should be configured in some way where as it installs it automatically fills it into the yml instead of being manually addedRegarding this, I had some thoughts about it a few weeks ago. I hope to get back to it soon and work on a PR 🙂 https://github.com/meltano/meltano/discussions/9349