Skip to content

Conversation

@Killua7163
Copy link

Fixes #4735

What I did:
Added mypy-boto3-glue to the aws optional dependency group in pyproject.toml.

Why:
Installing daft[all] (and daft[aws]) can still result in a missing module error for mypy_boto3_glue because the corresponding package was not included in the optional extras.

How this resolves the issue:
daft[all] includes daft[aws,...], so adding mypy-boto3-glue to the aws extra ensures it is installed for both daft[aws] and daft[all].

How to verify:
pip install "daft[aws]" or pip install "daft[all]"
Confirm import mypy_boto3_glue works without ModuleNotFoundError.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 23, 2026

Greptile Overview

Greptile Summary

This PR adds mypy-boto3-glue to the aws optional dependency group, resolving a ModuleNotFoundError when importing daft.catalog.__glue after installing daft[aws] or daft[all].

Changes:

  • Added mypy-boto3-glue to the aws extra in pyproject.toml

Impact:

  • Users installing daft[aws] or daft[all] will now have the required type stubs for Glue API type checking
  • Fixes issue where mypy_boto3_glue imports in daft/catalog/__glue.py and tests/catalog/test_glue.py would fail at runtime

Confidence Score: 5/5

  • This PR is safe to merge with no risk
  • The change is minimal, well-targeted, and directly addresses a clear bug. Adding a missing dependency to an optional extras group has no breaking changes or side effects. The dependency is already used in the codebase under TYPE_CHECKING blocks, and the dev dependencies include a pinned version of boto3-stubs which contains the same type information, confirming this is the correct package to add.
  • No files require special attention

Important Files Changed

Filename Overview
pyproject.toml Added mypy-boto3-glue to aws optional dependencies to fix missing module error

Sequence Diagram

sequenceDiagram
    participant User
    participant pip
    participant pyproject.toml
    participant daft_catalog

    User->>pip: pip install "daft[aws]"
    pip->>pyproject.toml: Read dependencies
    Note over pyproject.toml: aws = ["boto3<1.43.0", "mypy-boto3-glue"]
    pyproject.toml->>pip: Return aws dependencies
    pip->>pip: Install boto3
    pip->>pip: Install mypy-boto3-glue
    User->>daft_catalog: import daft.catalog.__glue
    daft_catalog->>daft_catalog: if TYPE_CHECKING: from mypy_boto3_glue import GlueClient
    Note over daft_catalog: mypy_boto3_glue now available
    daft_catalog->>User: Success
Loading

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

No files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@codecov
Copy link

codecov bot commented Jan 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.90%. Comparing base (538c593) to head (d7a13b0).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #6080      +/-   ##
==========================================
- Coverage   72.91%   72.90%   -0.02%     
==========================================
  Files         973      973              
  Lines      126184   126184              
==========================================
- Hits        92011    91992      -19     
- Misses      34173    34192      +19     

see 9 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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.

Missing mypy_boto3_glue in optional dependencies

1 participant