Skip to content

chore(deps): bump the uv group with 25 updates - #329

Merged
AojdevStudio merged 2 commits into
mainfrom
dependabot/uv/uv-70e40dead7
Nov 10, 2026
Merged

AojdevStudio merged 2 commits into
mainfrom
dependabot/uv/uv-70e40dead7

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Problem

Dependabot bumped 26 Python packages in requirements.txt but moved only 13 of them in uv.lock. The two files disagreed, so CI failed at the export check and never ran lint, mypy, or tests on the new versions. The dependency-exports repair also failed, because two requested pins cannot resolve.

Change

The repo's own repair logic (scripts/qa/sync_dependency_exports.py) runs with two pins held back. uv.lock now holds the other 24 requested versions. It also keeps opentelemetry-sdk 1.45.2, which Dependabot's lock already moved with opentelemetry-api. requirements.txt is the exact export of the lock.

Package From To Kind
anthropic 2.3.0 2.4.0 minor
growthbook 3.2.2 4.0.0 major, dev group only
pydantic, pydantic-core 2.14.1, 2.50.1 2.14.2, 2.50.2 patch, security fixes
snaptrade-python-sdk 13.0.49 13.0.52 patch
xlsxwriter 3.3.0 3.3.1 patch
mypy, pytest, pandas-stubs, types-pyyaml, types-requests dev group
opentelemetry-api, opentelemetry-sdk, opentelemetry-semantic-conventions 1.45.1, 1.45.1, 0.66b1 1.45.2, 1.45.2, 0.66b2 patch. opentelemetry-api is also a runtime dependency through anthropic.
anyio, filelock, fonttools, frozendict, narwhals, pip, platformdirs, python-multipart, pytz, tzdata, websockets patch or minor, transitive
python-dateutil 2.9.0.post0 2.9.0.post0 held, 4.0.0 cannot resolve
watchdog 6.0.0 6.0.0 held, 7.0.0 forces an unrequested streamlit bump
uv lock --no-build --upgrade-package python-dateutil==4.0.0 ...
cause: Because snaptrade-python-sdk==13.0.52 depends on python-dateutil>=2.8.2,<3.0.0 and python-dateutil==4.0.0, ...

streamlit 1.66.1 requires watchdog<7, and 1.67.0 allows watchdog<8. With watchdog 7.0.0 the repair's drift check refuses streamlit 1.66.1 -> 1.67.0.

No source code changed.

Proof

Check Before (4e80bac) After (cbf5d71)
uv export ... | diff -u requirements.txt - fails, 14 packages differ passes, no diff
dependency-exports repair fails, python-dateutil 4.0.0 cannot resolve not needed
uv lock --check, uv sync --locked --dev not run in CI pass
ruff format, ruff check, mypy src/ not run in CI pass, 101 source files
pytest, not integration not run in CI 1833 passed, 1 skipped, coverage 86.74%
Project verify skills verify: none.

pydantic 2.14.2 now treats JSON keys that match only an unused alias as extra data. No model in src/ or buy_ticket_agent/ declares an alias, per grep -rn "alias=" src buy_ticket_agent. No code imports growthbook, watchdog, or dateutil.

Review

Finding Disposition Reason
python-dateutil 4.0.0 cannot install beside snaptrade-python-sdk 13.0.52 Fix Held at 2.9.0.post0, as #311 did for 3.0.0.
watchdog 7.0.0 pulls streamlit 1.67.0, which no pin requested Fix Held at 6.0.0. The next Dependabot run can propose streamlit 1.67.0 and watchdog 7.0.0 together.
test_typescript_syntax_valid fails in a fresh worktree Defer #314 Unrelated to these bumps. bun install --frozen-lockfile makes it pass.

Merge danger

Door: two-way. Revert this PR to restore the old lock and export.
Blast radius: medium. Every Python job in the live Finance Guru checkout runs on these versions after it pulls main and syncs, including SnapTrade reads and pydantic models. Offline tests prove those paths, but no live SnapTrade or Claude call ran.

A second model, GPT-6.1 Sol, reviewed commit cbf5d71 before the push and found nothing to fix.

Changes made by Claude Opus 5.5 via Claude Code

Bumps the uv group with 26 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [pydantic](https://github.com/pydantic/pydantic) | `2.14.1` | `2.14.2` |
| [xlsxwriter](https://github.com/jmcnamara/XlsxWriter) | `3.3.0` | `3.3.1` |
| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `2.3.0` | `2.4.0` |
| [snaptrade-python-sdk](https://github.com/passiv/snaptrade-sdks) | `13.0.49` | `13.0.52` |
| [mypy](https://github.com/python/mypy) | `2.4.0` | `2.4.1` |
| [pytest](https://github.com/pytest-dev/pytest) | `9.1.1` | `9.2.0` |
| [pandas-stubs](https://github.com/pandas-dev/pandas-stubs) | `3.0.5.260914` | `3.1.0.261029` |
| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.20260906` | `6.0.12.20261103` |
| [types-requests](https://github.com/python/typeshed) | `2.33.0.20261006` | `2.33.0.20261030` |
| [growthbook](https://github.com/growthbook/growthbook-python) | `3.2.2` | `4.0.0` |
| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.45.1` | `1.45.2` |
| [anyio](https://github.com/agronholm/anyio) | `4.15.1` | `4.16.0` |
| [filelock](https://github.com/tox-dev/filelock) | `4.2.4` | `4.2.7` |
| [fonttools](https://github.com/fonttools/fonttools) | `4.67.0` | `4.68.0` |
| [frozendict](https://github.com/Marco-Sulla/python-frozendict) | `2.4.7` | `2.5.1` |
| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.27.1` | `2.28.0` |
| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.66b1` | `0.66b2` |
| [pip](https://github.com/pypa/pip) | `26.2.2` | `26.3` |
| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.13.6` | `4.14.3` |
| [pydantic-core](https://github.com/pydantic/pydantic) | `2.50.1` | `2.50.2` |
| [python-dateutil](https://github.com/dateutil/dateutil) | `2.9.0.post0` | `4.0.0` |
| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.32` | `0.0.33` |
| [pytz](https://github.com/stub42/pytz) | `2026.5` | `2026.6` |
| [tzdata](https://github.com/python/tzdata) | `2026.5` | `2026.6` |
| [watchdog](https://github.com/gorakhargosh/watchdog) | `6.0.0` | `7.0.0` |
| [websockets](https://github.com/python-websockets/websockets) | `17.3` | `17.4` |



Updates `pydantic` from 2.14.1 to 2.14.2
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/v2.14.2/HISTORY.md)
- [Commits](pydantic/pydantic@v2.14.1...v2.14.2)

Updates `xlsxwriter` from 3.3.0 to 3.3.1
- [Changelog](https://github.com/jmcnamara/XlsxWriter/blob/main/Changes)
- [Commits](jmcnamara/XlsxWriter@RELEASE_3.3.0...RELEASE_3.3.1)

Updates `anthropic` from 2.3.0 to 2.4.0
- [Release notes](https://github.com/anthropics/anthropic-sdk-python/releases)
- [Changelog](https://github.com/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md)
- [Commits](anthropics/anthropic-sdk-python@v2.3.0...v2.4.0)

Updates `snaptrade-python-sdk` from 13.0.49 to 13.0.52
- [Release notes](https://github.com/passiv/snaptrade-sdks/releases)
- [Commits](https://github.com/passiv/snaptrade-sdks/commits)

Updates `mypy` from 2.4.0 to 2.4.1
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v2.4.0...v2.4.1)

Updates `pytest` from 9.1.1 to 9.2.0
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@9.1.1...9.2.0)

Updates `pandas-stubs` from 3.0.5.260914 to 3.1.0.261029
- [Changelog](https://github.com/pandas-dev/pandas-stubs/blob/main/docs/release_procedure.md)
- [Commits](pandas-dev/pandas-stubs@v3.0.5.260914...v3.1.0.261029)

Updates `types-pyyaml` from 6.0.12.20260906 to 6.0.12.20261103
- [Commits](https://github.com/python/typeshed/commits)

Updates `types-requests` from 2.33.0.20261006 to 2.33.0.20261030
- [Commits](https://github.com/python/typeshed/commits)

Updates `growthbook` from 3.2.2 to 4.0.0
- [Release notes](https://github.com/growthbook/growthbook-python/releases)
- [Changelog](https://github.com/growthbook/growthbook-python/blob/main/CHANGELOG.md)
- [Commits](growthbook/growthbook-python@v3.2.2...v4.0.0)

Updates `opentelemetry-api` from 1.45.1 to 1.45.2
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.45.1...v1.45.2)

Updates `anyio` from 4.15.1 to 4.16.0
- [Release notes](https://github.com/agronholm/anyio/releases)
- [Commits](agronholm/anyio@4.15.1...4.16.0)

Updates `filelock` from 4.2.4 to 4.2.7
- [Release notes](https://github.com/tox-dev/filelock/releases)
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst)
- [Commits](tox-dev/filelock@4.2.4...4.2.7)

Updates `fonttools` from 4.67.0 to 4.68.0
- [Release notes](https://github.com/fonttools/fonttools/releases)
- [Changelog](https://github.com/fonttools/fonttools/blob/main/NEWS.rst)
- [Commits](fonttools/fonttools@4.67.0...4.68.0)

Updates `frozendict` from 2.4.7 to 2.5.1
- [Release notes](https://github.com/Marco-Sulla/python-frozendict/releases)
- [Commits](Marco-Sulla/python-frozendict@v2.4.7...v2.5.1)

Updates `narwhals` from 2.27.1 to 2.28.0
- [Release notes](https://github.com/narwhals-dev/narwhals/releases)
- [Commits](narwhals-dev/narwhals@v2.27.1...v2.28.0)

Updates `opentelemetry-semantic-conventions` from 0.66b1 to 0.66b2
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python/commits)

Updates `pip` from 26.2.2 to 26.3
- [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst)
- [Commits](pypa/pip@26.2.2...26.3)

Updates `platformdirs` from 4.13.6 to 4.14.3
- [Release notes](https://github.com/tox-dev/platformdirs/releases)
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/docs/changelog.rst)
- [Commits](tox-dev/platformdirs@4.13.6...4.14.3)

Updates `pydantic-core` from 2.50.1 to 2.50.2
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](pydantic/pydantic@core-v2.50.1...core-v2.50.2)

Updates `python-dateutil` from 2.9.0.post0 to 4.0.0
- [Release notes](https://github.com/dateutil/dateutil/releases)
- [Changelog](https://github.com/dateutil/dateutil/blob/master/NEWS)
- [Commits](dateutil/dateutil@2.9.0.post0...4.0.0)

Updates `python-multipart` from 0.0.32 to 0.0.33
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md)
- [Commits](Kludex/python-multipart@0.0.32...0.0.33)

Updates `pytz` from 2026.5 to 2026.6
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](stub42/pytz@release_2026.5...release_2026.6)

Updates `tzdata` from 2026.5 to 2026.6
- [Release notes](https://github.com/python/tzdata/releases)
- [Changelog](https://github.com/python/tzdata/blob/master/NEWS.md)
- [Commits](python/tzdata@2026.5...2026.6)

Updates `watchdog` from 6.0.0 to 7.0.0
- [Release notes](https://github.com/gorakhargosh/watchdog/releases)
- [Changelog](https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst)
- [Commits](gorakhargosh/watchdog@v6.0.0...v7.0.0)

Updates `websockets` from 17.3 to 17.4
- [Release notes](https://github.com/python-websockets/websockets/releases)
- [Commits](python-websockets/websockets@17.3...17.4)

---
updated-dependencies:
- dependency-name: pydantic
  dependency-version: 2.14.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: xlsxwriter
  dependency-version: 3.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: anthropic
  dependency-version: 2.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: snaptrade-python-sdk
  dependency-version: 13.0.52
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: mypy
  dependency-version: 2.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: pytest
  dependency-version: 9.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: pandas-stubs
  dependency-version: 3.1.0.261029
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: types-pyyaml
  dependency-version: 6.0.12.20261103
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: types-requests
  dependency-version: 2.33.0.20261030
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: growthbook
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: uv
- dependency-name: opentelemetry-api
  dependency-version: 1.45.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: anyio
  dependency-version: 4.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: filelock
  dependency-version: 4.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: fonttools
  dependency-version: 4.68.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: frozendict
  dependency-version: 2.5.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: narwhals
  dependency-version: 2.28.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: opentelemetry-semantic-conventions
  dependency-version: 0.66b2
  dependency-type: direct:production
  dependency-group: uv
- dependency-name: pip
  dependency-version: '26.3'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: platformdirs
  dependency-version: 4.14.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: pydantic-core
  dependency-version: 2.50.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: python-dateutil
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: uv
- dependency-name: python-multipart
  dependency-version: 0.0.33
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: pytz
  dependency-version: '2026.6'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: tzdata
  dependency-version: '2026.6'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: watchdog
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: uv
- dependency-name: websockets
  dependency-version: '17.4'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot requested a review from AojdevStudio as a code owner November 6, 2026 09:38
@dependabot dependabot Bot added dependencies Dependency updates (dependabot, renovate) python:uv Pull requests that update python:uv code labels Nov 6, 2026
@coldtea-pr-lens

Copy link
Copy Markdown

Note

dependabot[bot] opened this pull request, so PR Lens left it undrawn. Comment @pr-lens draw to draw it

github.comment.notice: false in .github/pr-lens.yml turns this note off

@chatgpt-codex-connector

Copy link
Copy Markdown
Codex Review Summary: ❌ Failed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ❌ Failed 2026-11-06T09:38:35.692042Z
We couldn’t complete this review. Comment @codex review to try again.
4e80bac PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 2b15a02e-d272-4fe9-8912-9ed3a3296dbf

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

…t resolve

Dependabot moved 13 transitive pins in requirements.txt but not in uv.lock,
so the frozen export check failed. The dependency-exports repair could not
fix it, because two requested pins cannot resolve:

- python-dateutil 4.0.0 conflicts with snaptrade-python-sdk 13.0.52,
  which requires python-dateutil<3.0.0.
- watchdog 7.0.0 needs streamlit 1.67.0, an unrequested lock change,
  because streamlit 1.66.1 requires watchdog<7.

This runs the same repair with those two pins held back. uv.lock now holds
the other 24 requested versions, and requirements.txt is its exact export.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@AojdevStudio AojdevStudio changed the title chore(deps): bump the uv group across 1 directory with 26 updates chore(deps): bump the uv group with 25 updates Nov 10, 2026
@AojdevStudio

Copy link
Copy Markdown
Owner

@pullfrog review

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes — Reviewed the dependency updates and synchronization of uv.lock with requirements.txt.

  • Runtime dependencies — Updates Anthropic, SnapTrade, Pydantic, and supporting libraries without source changes.
  • Development dependencies — Updates GrowthBook, pytest, mypy, type stubs, and telemetry packages.
  • Compatible resolution — Retains python-dateutil 2.9.0.post0 and watchdog 6.0.0; lock validation, locked installation, package compatibility, and the exact requirements export all pass.
  • Validation — Local Ruff and mypy checks pass; the offline suite reports 1,833 passed, 1 skipped, and 86.74% coverage, including installed-SDK contract tests for Anthropic and SnapTrade. Live provider calls were not exercised.

Pullfrog  | View workflow run | Using gpt-6.1-sol | 𝕏

@AojdevStudio
AojdevStudio merged commit fc18485 into main Nov 10, 2026
21 checks passed
@dependabot
dependabot Bot deleted the dependabot/uv/uv-70e40dead7 branch November 10, 2026 23:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency updates (dependabot, renovate) python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant