-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split up adapters to encourage adapter-specific installation #3361
Comments
Related question: Should we also move the four plugins included this repository into four separate repositories, ahead of v1.0? |
I think it makes sense to spin off redshift, snowflake, and bigquery into their own repositories. I'm less certain about Postgres. The postgres plugin has a lot of the default behavior, so it feels like we'd end up having to prereq it for the other plugins. Also the dbt repository by itself wouldn't be functional, which feels kind of wrong. Separate Docker images feels reasonable. I'm not very familiar with how customizable the pip install and brew install processes are, but more seamless installation process is certainly a worthwhile goal. |
Work we would need to do:
Open questions:
|
Maybe we can split this up into smaller issues/goals |
We're going to give this a go in two weeks. Latest thinking:
Things we still need to figure out:
@leahwicz @kwigley Let's start scratching out answers, so that we're ready to start writing code on September 15. I'm also on board with splitting up this issue into a bunch of smaller ones, with an epic to track them. @drewbanin If you disagree strongly with any of the above, I'd be eager to hear your thoughts! & at the end of all that, I'm going to take another pass at dbt-labs/docs.getdbt.com#638 :) |
@jtcohen6 here are my thoughts on the points here:
I'm not sure if we know this, but if there is an adapter that we would consider "simpler" to split out, let's prioritize that one first as a test and then move on to the ones we think will be harder |
@leahwicz Thanks for the thoughts!
|
There are a few outstanding pieces, but we've achieved the brunt of the work outlined in this epic. I'm going to close this for now. After we cut v1.0.0-rc1, let's take stock of what packaging/release pieces remain outstanding, and open new issues for them. |
Today,
pip install dbt
+brew install dbt
actually install four python packages and their dependencies, includingdbt-core
:dbt-postgres
dbt-redshift
dbt-snowflake
dbt-bigquery
In our docs, we now encourage users to install the specific adapter plugin they plan to use whenever possible, to avoid possible installation issues caused by another adapter plugin that they're not even using, but which is included among the four above.
That recommendation is backed up by each of those individual plugins being available on PyPi today. To further ease the path, we should consider creating and maintaining:
At the same time, we should reinvest in a "just install dbt" experience, especially for the benefit of newer users who want to take it for a spin before knowing the exact adapter they plan to use. In my mind, the ideal would be an interactive experience that asks users which adapters they want to install (perhaps recommending Postgres by default), and which offers detailed tips for getting started, similar to current
dbt init
command. We would then repurposepip install dbt
/brew install dbt
to offer that experience, in place of the bundled installation that exists today.The text was updated successfully, but these errors were encountered: