apache / apache/airflow

Decouple Cadwyn (FastAPI/Starlette) hard dependencies from the Airflow Task SDK installation

Open
#66,837 1 comment 0 reactions 2 assignees Claimed by @uranusjr View on GitHub
area:coordinator area:dependencies area:java-sdk kind:feature priority:low
Dominant language
Python
Stars
46.9k
Forks
17.8k
Avg merge
2d 9h
Merged PRs (30d)
472

Description

## Summary

[Cadwyn](https://github.com/zmievsa/cadwyn) is used within the Task SDK for API versioning and schema migration. However, Cadwyn currently carries hard dependencies on **FastAPI** and **Starlette**, which are web framework dependencies that are not needed in a standalone SDK installation (i.e. on worker nodes running tasks).

## Problem

Installing the Airflow Task SDK pulls in FastAPI and Starlette transitively through Cadwyn, even in environments where no HTTP server is needed. This bloats the SDK's dependency footprint and may cause conflicts in constrained environments.

## Proposed Resolution

Coordinate with the Cadwyn maintainer to explore one of the following:

- Making FastAPI/Starlette **optional extras** in Cadwyn (only required when the routing/versioning middleware is used)
- Exposing the core migration utilities (e.g. `VersionChange`, `_migrate_response`) as a dependency-free sub-package
- Or equivalent approach agreed upon with the maintainer

## Acceptance Criteria

- Installing `apache-airflow-task-sdk` (or equivalent) does **not** pull in FastAPI or Starlette unless explicitly opted into
- Cadwyn's schema migration functionality used by the supervisor remains fully operational

---
Drafted-by: Claude Code (Opus 4.7); reviewed by @jason810496 before posting

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.