Repository navigation
chore: dependency hardening and dev/ci requirement centralization - #776
Merged
Merged
Conversation
this has the benefit that all dependencies are now declared at one place, making it easier to compare configured dev/ci dependencies with allowed runtime versions
…dependencies explicitly
koletzilla
reviewed
Nov 3, 2026
koletzilla
approved these changes
Nov 4, 2026
Marais
added a commit
that referenced
this pull request
Nov 4, 2026
#776 moved the dev tools into [dependency-groups] dev in pyproject.toml and removed dev_requirements.txt. Replace the dev_requirements.txt exclusion with allow: dependency-type: production, so Dependabot only updates [project] dependencies. Extend the major-version ignore to all dbt-* packages, which now include dbt-common. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
this pr does two things:
dev_requirements.txtis moved to the dev group on thepyproject.toml. the centralization improves the visibility of the dev/ci version pinning, compared to what runtime versions are allowed fordbt-clickhouseinstallations. it also allows for further development in the direction of locking dev version (e.g. on auv.lock) and using regularly upgraded and reviewed lockfiles for ci/dev dependencies.dap-coreis now capped to<2.0to ensure backwards compatibility. all of the dbt-labs adapters already pin to<2.0because of anticipated issues with the major bump, which has recent release candidates (see issue Updated dbt-core dependency to <2.0 dbt-labs/dbt-adapters#2013). also we are addingdbt-commonandagateas explicit dependencies now, because they are actively imported from code. the imports could break ifdbt-adapterssuddenly decided to not depend on those packages any longer.Checklist
Delete items not relevant to your PR:
docswas updated with further explanations or tutorialsNote
Medium Risk
Tightening runtime dependency bounds affects every install and upgrade path; the exception import change is small but sits on the connection error-handling path.
Overview
Dev and CI dependencies move from
dev_requirements.txtinto a[dependency-groups] devsection inpyproject.toml. GitHub Actions (lint, integration steps, cloud tests) and CONTRIBUTING now install withpip install . --group dev(pip 25.1+); the separate setuptools upgrade step in lint is dropped. The docs-drift workflow no longer watches the removed file, anduv.lockis gitignored to support optional dev locking later.Runtime packaging caps
dbt-coreat<2.0, and addsdbt-commonandagateas direct dependencies (matching other dbt-labs adapters).connections.pyimportsDbtRuntimeErrorfromdbt_common.exceptionsinstead ofdbt.exceptions, consistent with the explicitdbt-commondependency.CHANGELOG records the dependency improvement for users upgrading.
Reviewed by Cursor Bugbot for commit cd4ec36. Bugbot is set up for automated code reviews on this repo. Configure here.