Skip to content

Major upgrade: Python 3.14, Pydantic v2, Ruff linter, and library updates#572

Merged
jashparekh merged 5 commits intomainfrom
3.14
Nov 2, 2025
Merged

Major upgrade: Python 3.14, Pydantic v2, Ruff linter, and library updates#572
jashparekh merged 5 commits intomainfrom
3.14

Conversation

@jashparekh
Copy link
Collaborator

  • Remove support for Python 3.8 and 3.9, add support for Python 3.10-3.14
  • Update Dockerfiles to use Python 3.14
  • Replace pip with uv package manager for faster dependency resolution
  • Upgrade Pydantic from v1 to v2.12.3 and fix all compatibility issues
  • Upgrade all core dependencies to latest versions:
    • google-cloud-bigquery: 3.38.0
    • google-api-core: 2.28.1
    • google-auth: 2.42.1
  • Replace black, isort, flake8, and autoflake with ruff for unified linting/formatting
  • Move bandit configuration from .bandit to pyproject.toml
  • Update CI workflow to use ruff and support Python 3.10-3.14
  • Fix SchemaField API compatibility with google-cloud-bigquery 3.x
  • Fix QueryJob instantiation in tests for google-cloud-bigquery 3.x
  • Fix REPEATED mode detection for list-based schema fields
  • Update requirements.lock with new dependencies
  • Bump version to 1.1.0

…ates

- Remove support for Python 3.8 and 3.9, add support for Python 3.10-3.14
- Update Dockerfiles to use Python 3.14
- Replace pip with uv package manager for faster dependency resolution
- Upgrade Pydantic from v1 to v2.12.3 and fix all compatibility issues
- Upgrade all core dependencies to latest versions:
  - google-cloud-bigquery: 3.38.0
  - google-api-core: 2.28.1
  - google-auth: 2.42.1
- Replace black, isort, flake8, and autoflake with ruff for unified linting/formatting
- Move bandit configuration from .bandit to pyproject.toml
- Update CI workflow to use ruff and support Python 3.10-3.14
- Fix SchemaField API compatibility with google-cloud-bigquery 3.x
- Fix QueryJob instantiation in tests for google-cloud-bigquery 3.x
- Fix REPEATED mode detection for list-based schema fields
- Update requirements.lock with new dependencies
- Bump version to 1.1.0
@codecov
Copy link

codecov bot commented Nov 2, 2025

Codecov Report

❌ Patch coverage is 98.71795% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 96.64%. Comparing base (fc8954f) to head (b9ab103).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
gbq/dto.py 97.82% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #572      +/-   ##
==========================================
+ Coverage   96.50%   96.64%   +0.13%     
==========================================
  Files           5        5              
  Lines         315      328      +13     
  Branches       53       43      -10     
==========================================
+ Hits          304      317      +13     
  Misses          5        5              
  Partials        6        6              
Files with missing lines Coverage Δ
gbq/__init__.py 100.00% <100.00%> (ø)
gbq/bigquery.py 94.33% <100.00%> (-0.04%) ⬇️
gbq/helpers.py 98.61% <100.00%> (+0.10%) ⬆️
gbq/dto.py 98.90% <97.82%> (+0.12%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Jash Parekh added 4 commits November 2, 2025 13:11
GitHub Actions runners now use Docker Compose V2 which uses 'docker compose'
(with space) instead of 'docker-compose' (with hyphen).
- Update mkdocs and mkdocstrings to latest compatible versions
- Remove incompatible version pins (mkdocstrings-python, griffe)
- Let uv resolve compatible versions automatically
- Fixes AttributeError with mkdocs-autorefs plugin
- Regenerate requirements.lock with updated docs dependencies
Add comprehensive changelog entry documenting all changes in v1.1.0:
- Python 3.14 support and removal of 3.8/3.9
- Migration to uv package manager
- Migration to ruff for linting/formatting
- Pydantic v2 upgrade
- All dependency upgrades
- Bug fixes and compatibility improvements
- Update development-guide.md to reference Ruff instead of Black, Isort, and Flake8
- Remove flake8 noqa comment from helpers.py (no longer needed with Ruff)
- Update docker-compose commands to docker compose (V2 syntax)
- Update linter documentation links
@jashparekh jashparekh merged commit c42ddba into main Nov 2, 2025
19 checks passed
@jashparekh jashparekh deleted the 3.14 branch November 2, 2025 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant