Are the docs for "multiple variants" out of date? ...
# documentation
d
Are the docs for "multiple variants" out of date? https://docs.meltano.com/guide/plugin-management/#multiple-variants
I ran into some issues upgrading to v3, and I'm not sure but it looks like the example may no longer be valid. https://meltano.slack.com/archives/C069CQNHDNF/p1725409059672909
v
https://docs.meltano.com/guide/plugin-management/#multiple-variants Describes your situation well, but I'm not sure it's 100% correct as
Had there been no
target-snowflake
plugin in the project yet,
inherit_from: target-snowflake
would necessarily refer to the discoverable plugin, but without a
variant
the original variant would have been used rather than the default or a specific chosen one, just like when shadowing with a
name
but no
variant
.
Running that code myself on the latest version of Meltano it doesn't work. This is definitely a regression, could you submit a bug report? To make this work you kinda have to stand on one leg as the issue is lock files don't seem to generate properly when you just do the lock file command 1.
meltano add extractor tap-postgres
2.
meltano add extractor tap-postgres--transferwise --inherit-from tap-postgres --variant transferwise
3. now meltano install will work, and
meltano lock --update --all
works as the wise variant is generated properly Working yml file
Copy code
version: 1
default_environment: dev
project_id: dd8fe0cf-30c1-4e6d-b74c-f68ac5fac7fd
plugins:
  extractors:
  - name: tap-postgres
    variant: meltanolabs
    pip_url: git+<https://github.com/MeltanoLabs/tap-postgres.git>
  - name: tap-postgres--transferwise
    inherit_from: tap-postgres
    variant: transferwise
    pip_url: pipelinewise-tap-postgres
Weird one for sure, comes down to lock files
d
Thanks! Yeah adding them one at a time worked for me
dancingpenguin 1
Well, I thought so anyway. I use a fork of the transferwise postgres tap & snowflake target and point to my fork using the pip url. It doesn't seem I can do that using
meltano add
, so I edited
meltano.yml
after and edited in the plugin lock files as well. However, after running
meltano install
it was the non-forked version that was installed
v
If you have a fork I would just go with the custom extractor steps and then you don't have to worry abou this variant stuff
https://docs.meltano.com/tutorials/custom-extractor/#2-edit-your-existing-meltanoyml-file You have to specify a few extra things but it's not that much. Worst thing is settings
d
Thanks! I'll try that out