apache-airflow-providers-edge3 1.3.1rc1__tar.gz → 1.5.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. apache_airflow_providers_edge3-1.5.0/.pre-commit-config.yaml +55 -0
  2. apache_airflow_providers_edge3-1.5.0/NOTICE +5 -0
  3. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/PKG-INFO +38 -15
  4. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/README.rst +30 -10
  5. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/architecture.rst +10 -11
  6. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/changelog.rst +85 -6
  7. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/deployment.rst +22 -8
  8. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/edge_executor.rst +11 -6
  9. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/index.rst +37 -8
  10. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/ui_plugin.rst +3 -3
  11. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/provider.yaml +13 -1
  12. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/pyproject.toml +8 -5
  13. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/__init__.py +1 -1
  14. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/cli/api_client.py +9 -3
  15. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/cli/worker.py +21 -11
  16. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/example_dags/win_test.py +1 -1
  17. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/executors/edge_executor.py +37 -6
  18. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/get_provider_info.py +7 -0
  19. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/models/edge_job.py +18 -15
  20. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/models/edge_logs.py +11 -8
  21. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/models/edge_worker.py +44 -26
  22. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/edge_executor_plugin.py +26 -19
  23. apache_airflow_providers_edge3-1.5.0/src/airflow/providers/edge3/plugins/www/dist/main.umd.cjs +14 -0
  24. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/schemas.gen.ts +4 -4
  25. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/types.gen.ts +1 -1
  26. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/package.json +26 -26
  27. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/pnpm-lock.yaml +1653 -1554
  28. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/layouts/EdgeLayout.tsx +9 -10
  29. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/layouts/NavTabs.tsx +1 -8
  30. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/main.tsx +5 -4
  31. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/pages/JobsPage.tsx +7 -8
  32. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/utils/index.ts +0 -1
  33. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/vite.config.ts +2 -1
  34. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/version_compat.py +5 -0
  35. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/_v2_compat.py +1 -0
  36. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/jobs.py +5 -6
  37. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/ui.py +8 -3
  38. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/worker.py +9 -5
  39. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/cli/test_worker.py +24 -16
  40. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/executors/test_edge_executor.py +86 -3
  41. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/plugins/test_edge_executor_plugin.py +1 -1
  42. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/worker_api/routes/test_logs.py +1 -1
  43. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/worker_api/routes/test_worker.py +3 -3
  44. apache_airflow_providers_edge3-1.5.0/www-hash.txt +1 -0
  45. apache_airflow_providers_edge3-1.3.1rc1/src/airflow/providers/edge3/plugins/www/dist/main.umd.cjs +0 -142
  46. apache_airflow_providers_edge3-1.3.1rc1/src/airflow/providers/edge3/plugins/www/src/utils/tokenHandler.ts +0 -51
  47. apache_airflow_providers_edge3-1.3.1rc1/www-hash.txt +0 -1
  48. {apache_airflow_providers_edge3-1.3.1rc1/src/airflow/providers/edge3 → apache_airflow_providers_edge3-1.5.0}/LICENSE +0 -0
  49. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/cli-ref.rst +0 -0
  50. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/commits.rst +0 -0
  51. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/conf.py +0 -0
  52. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/configurations-ref.rst +0 -0
  53. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/img/distributed_architecture.svg +0 -0
  54. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/img/edge_package.svg +0 -0
  55. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/img/worker_hosts.png +0 -0
  56. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/install_on_windows.rst +0 -0
  57. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/installing-providers-from-sources.rst +0 -0
  58. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/security.rst +0 -0
  59. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/why_edge.rst +0 -0
  60. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/__init__.py +0 -0
  61. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/__init__.py +0 -0
  62. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/cli/__init__.py +0 -0
  63. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/cli/dataclasses.py +0 -0
  64. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/cli/edge_command.py +0 -0
  65. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/cli/signalling.py +0 -0
  66. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/example_dags/__init__.py +0 -0
  67. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/example_dags/integration_test.py +0 -0
  68. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/example_dags/win_notepad.py +0 -0
  69. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/executors/__init__.py +0 -0
  70. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/models/__init__.py +0 -0
  71. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/openapi/__init__.py +0 -0
  72. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/openapi/edge_worker_api_v1.yaml +0 -0
  73. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/openapi/v2-edge-generated.yaml +3 -3
  74. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/__init__.py +0 -0
  75. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/templates/edge_worker_hosts.html +0 -0
  76. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/templates/edge_worker_jobs.html +0 -0
  77. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/.gitignore +0 -0
  78. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/.prettierignore +0 -0
  79. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/.prettierrc +0 -0
  80. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/README.md +0 -0
  81. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/dist/main.d.ts +0 -0
  82. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/eslint.config.js +0 -0
  83. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/index.html +0 -0
  84. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/common.ts +0 -0
  85. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/ensureQueryData.ts +0 -0
  86. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/index.ts +0 -0
  87. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/infiniteQueries.ts +0 -0
  88. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/prefetch.ts +0 -0
  89. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/queries.ts +0 -0
  90. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/suspense.ts +0 -0
  91. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiError.ts +0 -0
  92. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiRequestOptions.ts +0 -0
  93. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiResult.ts +0 -0
  94. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/CancelablePromise.ts +0 -0
  95. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/OpenAPI.ts +0 -0
  96. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/request.ts +0 -0
  97. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/index.ts +0 -0
  98. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/services.gen.ts +0 -0
  99. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/AddQueueButton.tsx +0 -0
  100. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/ErrorAlert.tsx +0 -0
  101. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/MaintenanceEditCommentButton.tsx +0 -0
  102. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/MaintenanceEnterButton.tsx +0 -0
  103. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/MaintenanceExitButton.tsx +0 -0
  104. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/RemoveQueueButton.tsx +0 -0
  105. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/StateBadge.tsx +0 -0
  106. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/StateIcon.tsx +0 -0
  107. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/WorkerDeleteButton.tsx +0 -0
  108. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/WorkerOperations.tsx +0 -0
  109. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/WorkerShutdownButton.tsx +0 -0
  110. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/WorkerStateBadge.tsx +0 -0
  111. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/WorkerStateIcon.tsx +0 -0
  112. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/ui/Alert.tsx +0 -0
  113. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/ui/CloseButton.tsx +0 -0
  114. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/ui/ScrollToAnchor.tsx +0 -0
  115. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/ui/createToaster.ts +0 -0
  116. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/ui/index.ts +0 -0
  117. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/context/colorMode/ColorModeProvider.tsx +0 -0
  118. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/context/colorMode/index.ts +0 -0
  119. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/context/colorMode/useColorMode.tsx +0 -0
  120. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/dev.tsx +0 -0
  121. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/pages/WorkerPage.tsx +0 -0
  122. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/res/README.md +0 -0
  123. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/res/cloud-computer-dark.svg +0 -0
  124. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/res/cloud-computer.svg +0 -0
  125. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/theme.ts +0 -0
  126. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/utils/config.ts +0 -0
  127. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/utils/useContainerWidth.ts +0 -0
  128. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/vite-env.d.ts +0 -0
  129. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/testsSetup.ts +0 -0
  130. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/tsconfig.app.json +0 -0
  131. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/tsconfig.json +0 -0
  132. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/tsconfig.lib.json +0 -0
  133. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/tsconfig.node.json +0 -0
  134. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/__init__.py +0 -0
  135. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/app.py +0 -0
  136. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/auth.py +0 -0
  137. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/datamodels.py +0 -0
  138. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/datamodels_ui.py +0 -0
  139. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/__init__.py +0 -0
  140. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/_v2_routes.py +0 -0
  141. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/health.py +0 -0
  142. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/logs.py +0 -0
  143. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/conftest.py +0 -0
  144. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/__init__.py +0 -0
  145. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/__init__.py +0 -0
  146. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/cli/__init__.py +0 -0
  147. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/cli/test_api_client.py +0 -0
  148. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/cli/test_dataclasses.py +0 -0
  149. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/cli/test_edge_command.py +0 -0
  150. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/cli/test_signalling.py +0 -0
  151. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/executors/__init__.py +0 -0
  152. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/models/__init__.py +0 -0
  153. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/plugins/__init__.py +0 -0
  154. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/worker_api/__init__.py +0 -0
  155. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/worker_api/routes/__init__.py +0 -0
  156. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/worker_api/routes/test_health.py +0 -0
  157. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/worker_api/routes/test_jobs.py +0 -0
  158. {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/worker_api/routes/test_ui.py +0 -0
@@ -0,0 +1,55 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+ ---
18
+ default_stages: [pre-commit, pre-push]
19
+ minimum_prek_version: '0.0.28'
20
+ default_language_version:
21
+ python: python3
22
+ node: 22.19.0
23
+ golang: 1.24.0
24
+ repos:
25
+ - repo: local
26
+ hooks:
27
+ - id: generate-openapi-spec-edge
28
+ name: Generate the FastAPI API spec for Edge
29
+ language: python
30
+ entry: ../../scripts/ci/prek/generate_openapi_spec_providers.py edge
31
+ pass_filenames: false
32
+ files: ^src/airflow/providers/edge3/worker_api/.*\.py$
33
+ - id: ts-compile-lint-edge-ui
34
+ name: Compile / format / lint edge UI
35
+ description: TS types generation / ESLint / Prettier new UI files in Edge Provider
36
+ language: node
37
+ files: |
38
+ (?x)
39
+ ^src/airflow/providers/edge3/plugins/www/.*\.(js|ts|tsx|yaml|css|json)$|
40
+ ^src/airflow/providers/edge3/openapi/v2-edge-generated.yaml$
41
+ exclude: |
42
+ (?x)
43
+ ^src/airflow/providers/edge3/plugins/www/node-modules/.*|
44
+ ^src/airflow/providers/edge3/plugins/www/.pnpm-store
45
+ entry: ../../scripts/ci/prek/ts_compile_lint_edge.py
46
+ additional_dependencies: ['pnpm@9.7.1']
47
+ pass_filenames: true
48
+ require_serial: true
49
+ - id: compile-edge-assets
50
+ name: Compile Edge provider assets
51
+ language: node
52
+ files: ^src/airflow/providers/edge3/plugins/www
53
+ entry: ../../scripts/ci/prek/compile_provider_assets.py edge
54
+ pass_filenames: false
55
+ additional_dependencies: ['yarn@1.22.21']
@@ -0,0 +1,5 @@
1
+ Apache Airflow
2
+ Copyright 2016-2025 The Apache Software Foundation
3
+
4
+ This product includes software developed at
5
+ The Apache Software Foundation (http://www.apache.org/).
@@ -1,12 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-edge3
3
- Version: 1.3.1rc1
3
+ Version: 1.5.0
4
4
  Summary: Provider package apache-airflow-providers-edge3 for Apache Airflow
5
5
  Keywords: airflow-provider,edge3,airflow,integration
6
6
  Author-email: Apache Software Foundation <dev@airflow.apache.org>
7
7
  Maintainer-email: Apache Software Foundation <dev@airflow.apache.org>
8
8
  Requires-Python: >=3.10
9
9
  Description-Content-Type: text/x-rst
10
+ License-Expression: Apache-2.0
10
11
  Classifier: Development Status :: 5 - Production/Stable
11
12
  Classifier: Environment :: Console
12
13
  Classifier: Environment :: Web Environment
@@ -14,18 +15,20 @@ Classifier: Intended Audience :: Developers
14
15
  Classifier: Intended Audience :: System Administrators
15
16
  Classifier: Framework :: Apache Airflow
16
17
  Classifier: Framework :: Apache Airflow :: Provider
17
- Classifier: License :: OSI Approved :: Apache Software License
18
18
  Classifier: Programming Language :: Python :: 3.10
19
19
  Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
21
  Classifier: Programming Language :: Python :: 3.13
22
22
  Classifier: Topic :: System :: Monitoring
23
- Requires-Dist: apache-airflow>=2.10.0rc1
23
+ License-File: LICENSE
24
+ License-File: NOTICE
25
+ Requires-Dist: apache-airflow>=2.10.0,!=3.1.0
26
+ Requires-Dist: apache-airflow-providers-common-compat>=1.8.0
24
27
  Requires-Dist: pydantic>=2.11.0
25
28
  Requires-Dist: retryhttp>=1.2.0,!=1.3.0
26
29
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
27
- Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.3.1/changelog.html
28
- Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.3.1
30
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0/changelog.html
31
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0
29
32
  Project-URL: Mastodon, https://fosstodon.org/@airflow
30
33
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
31
34
  Project-URL: Source Code, https://github.com/apache/airflow
@@ -56,7 +59,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
56
59
 
57
60
  Package ``apache-airflow-providers-edge3``
58
61
 
59
- Release: ``1.3.1``
62
+ Release: ``1.5.0``
60
63
 
61
64
 
62
65
  Handle edge workers on remote sites via HTTP(s) connection and orchestrates work over distributed sites.
@@ -81,7 +84,7 @@ This is a provider package for ``edge3`` provider. All classes for this provider
81
84
  are in ``airflow.providers.edge3`` python package.
82
85
 
83
86
  You can find package information and changelog for the provider
84
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.3.1/>`_.
87
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0/>`_.
85
88
 
86
89
  Installation
87
90
  ------------
@@ -95,14 +98,34 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13
95
98
  Requirements
96
99
  ------------
97
100
 
98
- ================== ===================
99
- PIP package Version required
100
- ================== ===================
101
- ``apache-airflow`` ``>=2.10.0``
102
- ``pydantic`` ``>=2.11.0``
103
- ``retryhttp`` ``>=1.2.0,!=1.3.0``
104
- ================== ===================
101
+ ========================================== ====================
102
+ PIP package Version required
103
+ ========================================== ====================
104
+ ``apache-airflow`` ``>=2.10.0,!=3.1.0``
105
+ ``apache-airflow-providers-common-compat`` ``>=1.8.0``
106
+ ``pydantic`` ``>=2.11.0``
107
+ ``retryhttp`` ``>=1.2.0,!=1.3.0``
108
+ ========================================== ====================
109
+
110
+ Cross provider package dependencies
111
+ -----------------------------------
112
+
113
+ Those are dependencies that might be needed in order to use all the features of the package.
114
+ You need to install the specified providers in order to use them.
115
+
116
+ You can install such cross-provider dependencies when installing from PyPI. For example:
117
+
118
+ .. code-block:: bash
119
+
120
+ pip install apache-airflow-providers-edge3[common.compat]
121
+
122
+
123
+ ================================================================================================================== =================
124
+ Dependent package Extra
125
+ ================================================================================================================== =================
126
+ `apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
127
+ ================================================================================================================== =================
105
128
 
106
129
  The changelog for the provider package can be found in the
107
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.3.1/changelog.html>`_.
130
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0/changelog.html>`_.
108
131
 
@@ -23,7 +23,7 @@
23
23
 
24
24
  Package ``apache-airflow-providers-edge3``
25
25
 
26
- Release: ``1.3.1``
26
+ Release: ``1.5.0``
27
27
 
28
28
 
29
29
  Handle edge workers on remote sites via HTTP(s) connection and orchestrates work over distributed sites.
@@ -48,7 +48,7 @@ This is a provider package for ``edge3`` provider. All classes for this provider
48
48
  are in ``airflow.providers.edge3`` python package.
49
49
 
50
50
  You can find package information and changelog for the provider
51
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.3.1/>`_.
51
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0/>`_.
52
52
 
53
53
  Installation
54
54
  ------------
@@ -62,13 +62,33 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13
62
62
  Requirements
63
63
  ------------
64
64
 
65
- ================== ===================
66
- PIP package Version required
67
- ================== ===================
68
- ``apache-airflow`` ``>=2.10.0``
69
- ``pydantic`` ``>=2.11.0``
70
- ``retryhttp`` ``>=1.2.0,!=1.3.0``
71
- ================== ===================
65
+ ========================================== ====================
66
+ PIP package Version required
67
+ ========================================== ====================
68
+ ``apache-airflow`` ``>=2.10.0,!=3.1.0``
69
+ ``apache-airflow-providers-common-compat`` ``>=1.8.0``
70
+ ``pydantic`` ``>=2.11.0``
71
+ ``retryhttp`` ``>=1.2.0,!=1.3.0``
72
+ ========================================== ====================
73
+
74
+ Cross provider package dependencies
75
+ -----------------------------------
76
+
77
+ Those are dependencies that might be needed in order to use all the features of the package.
78
+ You need to install the specified providers in order to use them.
79
+
80
+ You can install such cross-provider dependencies when installing from PyPI. For example:
81
+
82
+ .. code-block:: bash
83
+
84
+ pip install apache-airflow-providers-edge3[common.compat]
85
+
86
+
87
+ ================================================================================================================== =================
88
+ Dependent package Extra
89
+ ================================================================================================================== =================
90
+ `apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
91
+ ================================================================================================================== =================
72
92
 
73
93
  The changelog for the provider package can be found in the
74
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.3.1/changelog.html>`_.
94
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0/changelog.html>`_.
@@ -60,10 +60,10 @@ deployed outside of the central Airflow cluster is connected via HTTP(s) to the
60
60
  edge_worker->api[label="HTTP(s)"]
61
61
  }
62
62
 
63
- * **Workers** - Execute the assigned tasks - most standard setup has local or centralized workers, e.g. via Celery
63
+ * **Workers** (Central) - Execute the assigned tasks - most standard setup has local or centralized workers, e.g. via Celery
64
64
  * **Edge Workers** - Special workers which pull tasks via HTTP(s) as provided as feature via this provider package
65
65
  * **Scheduler** - Responsible for adding the necessary tasks to the queue. The EdgeExecutor is running as a module inside the scheduler.
66
- * **API server** - HTTP REST API Server provides access to Dag/task status information. The required end-points are
66
+ * **API server** (webserver in Airflow 2.x) - HTTP REST API Server provides access to Dag/task status information. The required end-points are
67
67
  provided by the Edge provider plugin. The Edge Worker uses this API to pull tasks and send back the results.
68
68
  * **Database** - Contains information about the status of tasks, Dags, Variables, connections, etc.
69
69
 
@@ -73,19 +73,18 @@ In detail the parts of the Edge provider are deployed as follows:
73
73
  :alt: Overview and communication of Edge Provider modules
74
74
 
75
75
  * **EdgeExecutor** - The EdgeExecutor is running inside the core Airflow scheduler. It is responsible for
76
- scheduling tasks and sending them to the Edge job queue in the database. The EdgeExecutor is a subclass of the
77
- ``airflow.executors.base_executor.BaseExecutor`` class. To activate the EdgeExecutor, you need to set the
78
- ``executor`` configuration option in the ``airflow.cfg`` file to
76
+ scheduling tasks and sending them to the Edge job queue in the database. To activate the EdgeExecutor, you
77
+ need to set the ``executor`` configuration option in the ``airflow.cfg`` file to
79
78
  ``airflow.providers.edge3.executors.EdgeExecutor``. For more details see :doc:`edge_executor`. Note that also
80
79
  multiple executors can be used in parallel together with the EdgeExecutor.
81
- * **API server** - The API server is providing REST endpoints to the web UI as well as serves static files. The
82
- Edge provider adds a plugin that provides additional REST API for the Edge Worker as well as UI elements to
83
- manage workers (currently Airflow 2.10 only).
80
+ * **API server** (webserver in Airflow 2.x) - The API server is providing REST endpoints to the web UI as well
81
+ as serves static files. The Edge provider adds a plugin that provides additional REST API for the Edge Worker
82
+ as well as UI elements to manage workers (not available in Airflow 3.0).
84
83
  The API server is responsible for handling requests from the Edge Worker and sending back the results. To
85
84
  activate the API server, you need to set the ``api_enabled`` configuration option in ``edge`` section in the
86
85
  ``airflow.cfg`` file to ``True``. The API endpoints for edge is not started by default.
87
- Fr more details see :doc:`ui_plugin`.
88
- * **Database** - The Airflow meta database is used to store the status of tasks, Dags, Variables, connections
86
+ For more details see :doc:`ui_plugin`.
87
+ * **Database** - The Airflow meta database is used to store the status of tasks, Dags, Variables, Connections
89
88
  etc. The Edge provider uses the database to store the status of the Edge Worker instances and the tasks that
90
89
  are assigned to it. The database is also used to store the results of the tasks that are executed by the
91
90
  Edge Worker. Setup of needed tables and migration is done automatically when the provider package is deployed.
@@ -174,7 +173,7 @@ The following features are known missing and will be implemented in increments:
174
173
  - Test/Support on Windows for Edge Worker
175
174
 
176
175
  - Scaling test - Check and define boundaries of workers/jobs. Today it is known to
177
- scale into a range of 50 workers. This is not a hard limit but just an experience reported.
176
+ scale into a range of ~80 workers. This is not a hard limit but just an experience reported.
178
177
  - Load tests - impact of scaled execution and code optimization
179
178
  - Incremental logs during task execution can be served w/o shared log disk on api-server
180
179
  - Reduce dependencies during execution: Today the worker depends on the airflow core with a lot
@@ -27,6 +27,89 @@
27
27
  Changelog
28
28
  ---------
29
29
 
30
+ 1.5.0
31
+ .....
32
+
33
+ Features
34
+ ~~~~~~~~
35
+
36
+ * `` Add push_logs configuration option to Edge executor (#58125)``
37
+
38
+ Misc
39
+ ~~~~
40
+
41
+ * ``Convert all airflow distributions to be compliant with ASF requirements (#58138)``
42
+ * ``Bump the edge-ui-package-updates group across 1 directory with 19 updates (#58235)``
43
+
44
+ .. Below changes are excluded from the changelog. Move them to
45
+ appropriate section above if needed. Do not delete the lines(!):
46
+ * ``Delete all unnecessary LICENSE Files (#58191)``
47
+ * ``Enable PT006 rule to 6 files in providers (edge3,git) (#58018)``
48
+ * ``Synchronize default versions in all split .pre-commit-config.yaml (#57851)``
49
+
50
+ 1.4.1
51
+ .....
52
+
53
+ .. warning::
54
+ The React Plugin integration in this release is incompatible with Airflow 3.1.0
55
+ It is recommended to use apache-airflow>=3.1.1
56
+
57
+ Bug Fixes
58
+ ~~~~~~~~~
59
+
60
+ * ``Fix Link to Dag in Plugin (#55642)``
61
+ * ``Bugfix/support Subpath w/o Execution API Url (#57372)``
62
+ * ``Adjust authentication token after UI changes in Airflow 3.1.1 (#57370)``
63
+
64
+ Misc
65
+ ~~~~
66
+
67
+ * ``Bump vite from 7.1.7 to 7.1.11 in plugin integration (#56909)``
68
+ * ``Bump happy-dom from 18.0.1 to 20.0.2 in plugin integration (#56686)``
69
+ * ``Bump the edge-ui-package-updates group across 1 directory with 23 updates (#57286)``
70
+ * ``Fix mypy warnings for SQLA2 migration (#56989)``
71
+
72
+ .. Below changes are excluded from the changelog. Move them to
73
+ appropriate section above if needed. Do not delete the lines(!):
74
+ * ``Extract prek hooks for Edge provider (#57104)``
75
+ * ``Prepare edge3 provider ad-hoc release (October 2025) (#57280)``
76
+ * ``Enable ruff PLW1508 rule (#57653)``
77
+ * ``Fix code formatting via ruff preview (#57641)``
78
+ * ``Prepare edge3 provider ad-hoc release rc2 (October 2025) (#57538)``
79
+
80
+ 1.4.0
81
+ .....
82
+
83
+ Features
84
+ ~~~~~~~~
85
+
86
+ * ``Introduce generic Callbacks to support running callbacks on executors (#54796)``
87
+ * ``Add revoke_task implementation to EdgeExecutor for task queued timeout support (#56240)``
88
+
89
+ Bug Fixes
90
+ ~~~~~~~~~
91
+
92
+ * ``Bugfix/remove airflow utils deprecations in edge (#56568)``
93
+ * ``Fix Edge3 provider navigation with webserver base_url configuration (#56189)``
94
+
95
+ Misc
96
+ ~~~~
97
+
98
+ * ``Migrate edge3 provider to ''common.compat'' (#56998)``
99
+ * ``SQLA2: Partially fix type hints in the edge3 provider (#56873)``
100
+
101
+ Doc-only
102
+ ~~~~~~~~
103
+
104
+ * ``Correct 'Dag' to 'DAG' for code snippets in provider docs (#56727)``
105
+ * ``Revise details of edge documentation after Airflow 3.1 release (#56166)``
106
+ * ``Remove placeholder Release Date in changelog and index files (#56056)``
107
+
108
+ .. Below changes are excluded from the changelog. Move them to
109
+ appropriate section above if needed. Do not delete the lines(!):
110
+ * ``Common.Compat: Extract reusable compat utilities and rename to sdk (#56884)``
111
+ * ``Enable PT011 rule to prvoider tests (#56277)``
112
+
30
113
  1.3.1
31
114
  .....
32
115
 
@@ -48,8 +131,6 @@ Misc
48
131
  .....
49
132
 
50
133
 
51
- Release Date: ``|PypiReleaseDate|``
52
-
53
134
  Features
54
135
  ~~~~~~~~
55
136
 
@@ -75,10 +156,10 @@ Misc
75
156
 
76
157
  * ``Pick/vite vitest full (#55623)``
77
158
  * ``Bump React and React-DOM (#55598)``
78
- * ``Bump axios from 1.11.0 to 1.12.0 in /providers/edge3/src/airflow/providers/edge3/plugins/www (#55550)``
159
+ * ``Bump axios from 1.11.0 to 1.12.0 in plugin integration (#55550)``
79
160
  * ``Some small UI polishing for Edge React UI (#55545)``
80
161
  * ``Adjust Edge color scheme after merge of PR 53981 (#55485)``
81
- * ``Bump vite from 5.4.19 to 5.4.20 in /providers/edge3/src/airflow/providers/edge3/plugins/www (#55449)``
162
+ * ``Bump vite from 5.4.19 to 5.4.20 in plugin integration (#55449)``
82
163
 
83
164
  Doc-only
84
165
  ~~~~~~~~
@@ -88,8 +169,6 @@ Doc-only
88
169
  1.2.0
89
170
  .....
90
171
 
91
- Release Date: ``|PypiReleaseDate|``
92
-
93
172
  Features
94
173
  ~~~~~~~~
95
174
 
@@ -21,8 +21,7 @@ Edge Worker Deployment
21
21
  Edge Workers can be deployed outside of the central Airflow infrastructure. They
22
22
  are connected to the Airflow API server via HTTP(s). The Edge Worker is a
23
23
  lightweight component that can be deployed on any machine that has outbound
24
- HTTP(s) access to the Airflow API server. The Edge Worker is designed to be
25
- lightweight and easy to deploy. It allows you to run Airflow tasks on machines
24
+ HTTP(s) access to the Airflow API server. It allows you to run Airflow tasks on machines
26
25
  that are not part of your main data center, e.g. edge servers. This also allows to
27
26
  deploy only reduced dependencies on the edge worker.
28
27
 
@@ -46,17 +45,18 @@ Minimum Airflow configuration settings for the Edge Worker to make it running is
46
45
 
47
46
  - Section ``[api_auth]``
48
47
 
49
- - ``jwt_secret``: A matching secret to that on the api-server (starting from version 3.0.0).
48
+ - ``jwt_secret``: A shared secret between workers and the api-server to authenticate
49
+ (starting from version 3.0.0).
50
50
 
51
51
  - Section ``[core]``
52
52
 
53
53
  - ``execution_api_server_url``: If not set, the base URL from ``edge.api_url`` will be used. For example,
54
- when ``edge.api_url`` is set to ``https://your-hostname-and-port/edge_worker/v1/rpcapi``, it will
55
- default to ``https://your-hostname-and-port/execution/``.
54
+ when ``edge.api_url`` is set to ``https://your-hostname-and-port/subpath/edge_worker/v1/rpcapi``, it will
55
+ default to ``https://your-hostname-and-port/subpath/execution/`` (starting from version Airflow version 3.0.0).
56
56
  - ``executor``: Executor must be set or added to be ``airflow.providers.edge3.executors.EdgeExecutor``
57
57
  - ``internal_api_secret_key``: An encryption key must be set on api-server and Edge Worker component as
58
58
  shared secret to authenticate traffic. It should be a random string like the fernet key
59
- (for versions earlier than 3.0.0).
59
+ (for versions earlier than 3.0.0 - from Airflow 3.0 and above this is using ``api_auth.jwt_secret``).
60
60
 
61
61
  - Section ``[edge]``
62
62
 
@@ -72,6 +72,20 @@ subcommand
72
72
  .. code-block:: bash
73
73
 
74
74
  airflow edge worker
75
+ 2025-09-27T12:28:32.954316Z [info ] Starting worker with API endpoint http://localhost:8080/edge_worker/v1/rpcapi
76
+ ____________ _____________
77
+ ____ |__( )_________ __/__ /________ __
78
+ ____ /| |_ /__ ___/_ /_ __ /_ __ \_ | /| / /
79
+ ___ ___ | / _ / _ __/ _ / / /_/ /_ |/ |/ /
80
+ _/_/ |_/_/ /_/ /_/ /_/ \____/____/|__/
81
+ ____ __ _ __ __
82
+ / __/__/ /__ ____ | | /| / /__ ____/ /_____ ____
83
+ / _// _ / _ / -_) | |/ |/ / _ \/ __/ _/ -_) __/
84
+ /___/\_,_/\_, /\__/ |__/|__/\___/_/ /_/\_\\__/_/
85
+ /___/
86
+
87
+ 2025-09-27T12:28:33.171525Z [info ] No new job to process
88
+
75
89
 
76
90
  You can also start this worker in the background by running
77
91
  it as a daemonized process. Additionally, you can redirect stdout
@@ -97,9 +111,9 @@ process as and wait until all running tasks are completed. Also in a console you
97
111
  ``Ctrl-C`` to stop the worker.
98
112
 
99
113
  If you want to monitor the remote activity and worker, use the UI plugin which
100
- is included in the provider package and install it on the webserver and use the
114
+ is included in the provider package and install it on the api-server / webserver and use the
101
115
  "Admin" - "Edge Worker Hosts" and "Edge Worker Jobs" pages.
102
- (Note: The plugin is not ported to Airflow 3.0 web UI at time of writing)
116
+ (Note: The plugin is not available on Airflow 3.0 UI, it is only in 2.x and 3.1++)
103
117
 
104
118
  If you want to check status of the worker via CLI you can use the command
105
119
 
@@ -27,6 +27,9 @@ The configuration parameters of the Edge Executor can be found in the Edge provi
27
27
 
28
28
  To understand the setup of the Edge Executor, please also take a look to :doc:`architecture`.
29
29
 
30
+ See more details Airflow documentation
31
+ :ref:`apache-airflow:using-multiple-executors-concurrently`.
32
+
30
33
  .. _edge_executor:queue:
31
34
 
32
35
  Queues
@@ -43,6 +46,7 @@ Workers can listen to one or multiple queues of tasks. When a worker is
43
46
  started (using command ``airflow edge worker``), a set of comma-delimited queue
44
47
  names (with no whitespace) can be given (e.g. ``airflow edge worker -q remote,wisconsin_site``).
45
48
  This worker will then only pick up tasks wired to the specified queue(s).
49
+ If the ``queue`` attribute is not given then a worker will pick tasks from all queues.
46
50
 
47
51
  This can be useful if you need specialized workers, either from a
48
52
  resource perspective (for say very lightweight tasks where one worker
@@ -80,12 +84,12 @@ Here is an example setting pool_slots for a task:
80
84
 
81
85
  import pendulum
82
86
 
83
- from airflow import Dag
87
+ from airflow import DAG
84
88
  from airflow.decorators import task
85
89
  from airflow.example_dags.libs.helper import print_stuff
86
90
  from airflow.settings import AIRFLOW_HOME
87
91
 
88
- with Dag(
92
+ with DAG(
89
93
  dag_id="example_edge_pool_slots",
90
94
  schedule=None,
91
95
  start_date=pendulum.datetime(2021, 1, 1, tz="UTC"),
@@ -104,9 +108,10 @@ Current Limitations Edge Executor
104
108
 
105
109
  - Some known limitations
106
110
 
107
- - Log upload will only work if you use a single web server instance or they need to share one log file volume.
108
- Logs are uploaded in chunks and are transferred via API. If you use multiple webservers w/o a shared log volume
109
- the logs will be scattered across the webserver instances.
111
+ - Log upload will only work if you use a single api-server / webserver instance or they need to share one log file
112
+ volume. Logs are uploaded in chunks and are transferred via API. If you use multiple api-servers / webservers w/o
113
+ a shared log volume the logs will be scattered across the api-server / webserver instances and if you view the
114
+ logs on UI you will only see fractions of the logs.
110
115
  - Performance: No extensive performance assessment and scaling tests have been made. The edge executor package is
111
116
  optimized for stability. This will be incrementally improved in future releases. Setups have reported stable
112
- operation with ~80 workers until now. Note that executed tasks require more webserver API capacity.
117
+ operation with ~80 workers until now. Note that executed tasks require more api-server / webserver API capacity.
@@ -90,7 +90,7 @@ Additional REST API endpoints are provided to distribute tasks and manage the ed
90
90
  are provided by the API server.
91
91
 
92
92
 
93
- Release: 1.3.1
93
+ Release: 1.5.0
94
94
 
95
95
  Provider package
96
96
  ----------------
@@ -110,10 +110,39 @@ Requirements
110
110
 
111
111
  The minimum Apache Airflow version supported by this provider distribution is ``2.10.0``.
112
112
 
113
- ================== ===================
114
- PIP package Version required
115
- ================== ===================
116
- ``apache-airflow`` ``>=2.10.0``
117
- ``pydantic`` ``>=2.11.0``
118
- ``retryhttp`` ``>=1.2.0,!=1.3.0``
119
- ================== ===================
113
+ ========================================== ====================
114
+ PIP package Version required
115
+ ========================================== ====================
116
+ ``apache-airflow`` ``>=2.10.0,!=3.1.0``
117
+ ``apache-airflow-providers-common-compat`` ``>=1.8.0``
118
+ ``pydantic`` ``>=2.11.0``
119
+ ``retryhttp`` ``>=1.2.0,!=1.3.0``
120
+ ========================================== ====================
121
+
122
+ Cross provider package dependencies
123
+ -----------------------------------
124
+
125
+ Those are dependencies that might be needed in order to use all the features of the package.
126
+ You need to install the specified provider distributions in order to use them.
127
+
128
+ You can install such cross-provider dependencies when installing from PyPI. For example:
129
+
130
+ .. code-block:: bash
131
+
132
+ pip install apache-airflow-providers-edge3[common.compat]
133
+
134
+
135
+ ================================================================================================================== =================
136
+ Dependent package Extra
137
+ ================================================================================================================== =================
138
+ `apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
139
+ ================================================================================================================== =================
140
+
141
+ Downloading official packages
142
+ -----------------------------
143
+
144
+ You can download officially released packages and verify their checksums and signatures from the
145
+ `Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
146
+
147
+ * `The apache-airflow-providers-edge3 1.5.0 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.5.0.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.5.0.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.5.0.tar.gz.sha512>`__)
148
+ * `The apache-airflow-providers-edge3 1.5.0 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.5.0-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.5.0-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.5.0-py3-none-any.whl.sha512>`__)
@@ -22,7 +22,7 @@ The Edge provider uses a Plugin to
22
22
 
23
23
  - Extend the REST API endpoints for connecting workers to the Airflow cluster
24
24
  - Provide a web UI for managing the workers and monitoring their status and tasks
25
- (Note: Airflow 3.0 does not have support for UI plugins. The UI plugin is only available in Airflow 2.10 and in 3.1 and newer.)
25
+ (Note: Airflow 3.0 does not have support for UI plugins. The UI plugin is only available in Airflow 2.x and in 3.1 and newer.)
26
26
 
27
27
  REST API endpoints
28
28
  ------------------
@@ -35,14 +35,14 @@ The Edge provider adds the following REST API endpoints to the Airflow API:
35
35
  - ``/edge_worker/v1/health``: Check that the API endpoint is deployed and active
36
36
 
37
37
  To see full documentation of the API endpoints open the Airflow web UI and navigate to
38
- the sub-path ``/edge_worker/docs`` (Airflow 3.0) or ``/edge_worker/v1/ui`` (Airflow 2.10).
38
+ the sub-path ``/edge_worker/docs`` (Airflow 3.0) or ``/edge_worker/v1/ui`` (Airflow 2.x).
39
39
 
40
40
  Web UI Plugin
41
41
  -------------
42
42
 
43
43
  .. note::
44
44
 
45
- Airflow 3.0 does not support UI plugins. The UI plugin is only available in Airflow 2.10 and in 3.1 and newer.
45
+ Airflow 3.0 does not support UI plugins. The UI plugin is only available in Airflow 2.x and in 3.1 and newer.
46
46
  Alternatively you can use the CLI commands as described in :ref:`deployment:maintenance-mgmt-cli`.
47
47
 
48
48
  The Edge provider adds a web UI plugin to the Airflow web UI. The plugin is
@@ -33,13 +33,16 @@ description: |
33
33
  are provided by the API server.
34
34
 
35
35
  state: ready
36
- source-date-epoch: 1758734943
36
+ source-date-epoch: 1763069258
37
37
 
38
38
  # Note that those versions are maintained by release manager - do not update them manually
39
39
  # with the exception of case where other provider in sources has >= new provider version.
40
40
  # In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
41
41
  # to be done in the same PR
42
42
  versions:
43
+ - 1.5.0
44
+ - 1.4.1
45
+ - 1.4.0
43
46
  - 1.3.1
44
47
  - 1.3.0
45
48
  - 1.2.0
@@ -130,6 +133,15 @@ config:
130
133
  type: integer
131
134
  example: ~
132
135
  default: "524288"
136
+ push_logs:
137
+ description: |
138
+ Flag to enable or disable pushing of log files from edge worker to the central site.
139
+ When enabled, edge workers will upload task log files in chunks to the central Airflow site.
140
+ When disabled, logs will only be available locally on the edge worker.
141
+ version_added: 1.5.0
142
+ type: boolean
143
+ example: "True"
144
+ default: "True"
133
145
  worker_umask:
134
146
  description: |
135
147
  The default umask to use for edge worker when run in daemon mode