z3z1ma / dbt-osmosis

Provides automated YAML management, a dbt server, streamlit workbench, and git-integrated dbt model output diff tools
https://z3z1ma.github.io/dbt-osmosis/
Apache License 2.0
422 stars 45 forks source link

Change to use dbt-core-interface instead of vendering #108

Closed syou6162 closed 9 months ago

syou6162 commented 9 months ago

I tried to replace the code under src/dbt_osmosis/vendored/dbt_core_interface with https://github.com/z3z1ma/dbt-core-interface. However, there is a subtle difference between these codes, and I expect this difference to grow again in the future, as there are likely to be more recent modifications to the code under vendering.

In order to continue to make dbt-osmosis a good tool, I think changes are needed to stop vendering and use dbt-core-interface. I will do the following to accomplish this, but would like to hear your thoughts.

If it looks good, I will start with small steps.

z3z1ma commented 9 months ago

I agree. The original intent of the dbt-core-interface and the fact it even exists as a single file was actually to drive this: https://github.com/AltimateAI/vscode-dbt-power-user/blob/master/dbt_integration.py

So vendoring it in dbt-osmosis was just proof of concept that anyone can work with dbt api since this file will handle the plumbing. I think its totally fine to simply depend on it and keep changes in one place.

syou6162 commented 9 months ago

Thank you very much. Now, I will work on sending a pull request to the https://github.com/z3z1ma/dbt-core-interface repository little by little to eliminate the differences!