shashbha14 opened a new pull request, #62233: URL: https://github.com/apache/airflow/pull/62233
#Closes 62222 For all dict-based AirflowPlugin attributes, strongly typed TypedDict classes are added to enhance code self-documentation, autocompletion, and IDE support. **New classes for TypedDict:**- `FastAPIAppConfig`: keys: `name`, `url_prefix`, and `app` The FastAPIRootMiddlewareConfig` — keys: `middleware`, `name`, `args` (optional), `kwargs` (optional)- `ExternalViewConfig` — keys: `name`, `href`, `destination` (literal), `icon`, `icon_dark_mode`, `url_route`, `category` - `ReactAppConfig` — keys: `name`, `bundle_url`, `destination` (literal), `icon`, `icon_dark_mode`, `url_route`, `category` - `AppBuilderViewConfig` — keys: `label`, `view`, `category`, `name` - `AppBuilderMenuItemConfig` — keys: `label`, `category`, `name`, `href` **More type hint enhancements:** - `macros`: `list[Any]` → `list[Callable]` - `timetables`, `partition_mappers`, `hook_lineage_readers`, `priority_weight_strategies`: `list[Any]` → `list[type]` To allow plugin authors to import them directly, all new types are re-exported from `airflow.plugins_manager`. Complete backward compatibility—previous plugins that make use of simple dict literals remain unchanged. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
