You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "potiuk (via GitHub)" <gi...@apache.org> on 2026/04/19 16:18:29 UTC

[PR] airflow-ctl: pull provider workspace deps so local mypy resolves cross-project types [airflow]

potiuk opened a new pull request, #65504:
URL: https://github.com/apache/airflow/pull/65504

   Local ``prek run mypy-airflow-ctl --all-files`` (and the equivalent direct ``uv run --frozen --project airflow-ctl ... mypy`` command documented in ``CLAUDE.md``) fails on macOS with ~29 errors in ``airflow-core``, ``task-sdk``, and ``providers/common/sql`` files that mypy follows via ``[tool.mypy].mypy_path``. The same hook passes cleanly in the CI docker image because the image has the full workspace installed.
   
   Root cause: ``uv sync --frozen --project airflow-ctl`` installs only airflow-ctl's immediate deps, but mypy — per the root ``[tool.mypy].mypy_path`` that points at every workspace project — follows imports from airflow-ctl's generated datamodels into task-sdk/airflow-core source, and then into runtime deps like ``msgspec`` that only get installed via the providers/task-sdk dev groups.
   
   This PR adds ``apache-airflow-providers-common-sql`` and ``apache-airflow-providers-standard`` to airflow-ctl's ``[dependency-groups].dev`` (and to ``[tool.uv.sources]`` as workspace members), mirroring what ``task-sdk/pyproject.toml`` already does. Those two providers transitively pull in ``msgspec`` and enough of the airflow-core/task-sdk graph that mypy's workspace-following succeeds locally.
   
   Verified locally: ``prek run mypy-airflow-ctl --all-files`` now reports ``Passed``.
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Opus 4.7 (1M context)
   
   Generated-by: Claude Opus 4.7 (1M context) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] airflow-ctl: pull provider workspace deps so local mypy resolves cross-project types [airflow]

Posted by "potiuk (via GitHub)" <gi...@apache.org>.
potiuk commented on PR #65504:
URL: https://github.com/apache/airflow/pull/65504#issuecomment-4276316857

   This is already fixed in #65492


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] airflow-ctl: pull provider workspace deps so local mypy resolves cross-project types [airflow]

Posted by "potiuk (via GitHub)" <gi...@apache.org>.
potiuk closed pull request #65504: airflow-ctl: pull provider workspace deps so local mypy resolves cross-project types
URL: https://github.com/apache/airflow/pull/65504


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org