ExportXMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Infrastructure
    • None
    • Python Drivers
    • Not Needed
    • None
    • None
    • None
    • None
    • None
    • None

      Context

      Python dependencies are pinned by a single uv.lock, maintained by two writers: the weekly uv Lock Update workflow and Dependabot (security updates only). Dependabot resolves with the repository's exclude-newer setting, which corrupts its pull requests (dependabot-core#14156). S pull request can claim an update while removing or downgrading packages. and delays urgent security patches by up to a week. The exact required-version pin also forces every developer to keep that exact uv installed, since uv fails fast on any mismatch.

      Follow the approach taken in DRIVERS-3727: let Dependabot manage uv.lock fully, with its cooldown option replacing exclude-newer.

      Definition of done

      • Dependabot opens one grouped weekly PR updating uv.lock (direct and transitive dependencies) with a 7-day cooldown; security updates are not delayed by the cooldown.
      • exclude-newer is removed from pyproject.toml and the recorded options in uv.lock.
      • The weekly uv Lock Update workflow is deleted.
      • [tool.uv] required-version stays unset unless a needed uv feature requires it; GitHub Actions, Evergreen, and local dev use the latest uv otherwise.
      • The process is documented in CONTRIBUTING.md and AGENTS.md.

      Pitfalls

      • Never set exclude-newer under [tool.uv] — Dependabot resolving with it corrupts PRs (dependabot-core#14156).
      • Dependabot ships its own uv; a pin its uv cannot satisfy blocks lockfile updates entirely.
      • The Evergreen bootstrap keys off required-version; the no-pin case needs a working fast path.

            Assignee:
            Steve Silvester
            Reporter:
            Steve Silvester
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: