[CT-1035] [Feature] dbt deps should take require-dbt-version into account when resolving dependencies #5648
Closed
3 tasks done
Labels
deps
dbt's package manager
enhancement
New feature or request
help_wanted
Trickier changes, with a clear starting point, good for previous/experienced contributors
Is this your first time submitting a feature request?
Describe the feature
Because
dbt deps
doesn't take require-dbt-version into account when resolving dependencies, package vendors have to ship many more versions of packages to thread the needles of compatibility themselves.👇 This is a lazy example because I couldn't be bothered installing an old version of dbt Core, but the actual use case is an old Core installation trying to get the newest utils version.
Running
dbt deps
with the above code on dbt Core 1.2.0 works fine, even though utils 0.7.6 has arequire-dbt-version
ofrequire-dbt-version: [">=0.20.0", "<1.1.0"]
. At runtime, we get an error:(Please assume that dbt utils 0.9.0 is already out and requires dbt Core 1.2 or above)
As the maintainer of a package like dbt-audit-helper, I'd like to be able to change my utils dependency from
[">=0.8.0", "<0.9.0"]
to[">=0.8.0", "<1.0.0"]
. Then, I would like people whosepackages.yml
looks like this:to get the correct version of dbt utils for their Core version: utils 0.8.latest for Core 1.0 or 1.2, and 0.9.latest for 1.2 and above.
Describe alternatives you've considered
Releasing a new version of audit helper which only allows utils 0.9.x. As an end user this is a problem because it means that every package that I depend on has to update at the same time, or I am trapped on an older version for longer.
Doing a lot more backwards compatibility work in dbt utils so that 0.9 can also work with any Core 1.x version. This would solve the most pressing issue but I imagine that similar issues will arise in the future, especially as we get to utils 1.0 and beyond which might need to start taking advantage of new functionality added in minor versions of Core, but we want to have wide open dependency ranges to minimise thrash in the ecosystem.
Who will this benefit?
Package installers and vendors
Are you interested in contributing this feature?
Anything else?
No response
The text was updated successfully, but these errors were encountered: