Skip to content

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

Description

@jason810496

Summary

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

Metadata

Metadata

Labels

area:coordinatorCoordinator: The interface to spawn Lang-SDK subprocessesarea:dependenciesIssues related to dependencies problemsarea:java-sdkkind:featureFeature Requestspriority:lowBug with a simple workaround that would not block a release

Type

No type

Projects

Status
Backlog

Relationships

None yet

Development

No branches or pull requests

Issue actions