apache-airflow-providers-edge3 1.5.0__tar.gz → 1.6.0rc2__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 (167) hide show
  1. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/PKG-INFO +10 -10
  2. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/README.rst +5 -5
  3. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/changelog.rst +35 -0
  4. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/index.rst +6 -6
  5. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/provider.yaml +2 -1
  6. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/pyproject.toml +5 -5
  7. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/__init__.py +3 -3
  8. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/cli/api_client.py +11 -3
  9. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/cli/worker.py +8 -1
  10. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/example_dags/win_test.py +29 -22
  11. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/models/edge_worker.py +6 -0
  12. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/openapi/v2-edge-generated.yaml +58 -3
  13. apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/dist/main.umd.cjs +14 -0
  14. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/common.ts +6 -1
  15. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/ensureQueryData.ts +6 -1
  16. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/prefetch.ts +6 -1
  17. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/queries.ts +6 -2
  18. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/suspense.ts +6 -1
  19. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/schemas.gen.ts +5 -0
  20. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/services.gen.ts +18 -3
  21. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/types.gen.ts +24 -0
  22. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/package.json +16 -14
  23. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/pnpm-lock.yaml +1194 -1244
  24. apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/SearchBar.tsx +103 -0
  25. apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/ui/InputGroup.tsx +57 -0
  26. apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/ui/Select/Content.tsx +37 -0
  27. apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/ui/Select/Item.tsx +34 -0
  28. apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/ui/Select/Root.tsx +24 -0
  29. apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/ui/Select/Trigger.tsx +54 -0
  30. apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/ui/Select/ValueText.tsx +51 -0
  31. apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/ui/Select/index.ts +34 -0
  32. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/ui/index.ts +3 -0
  33. apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/constants.ts +43 -0
  34. apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/pages/WorkerPage.tsx +224 -0
  35. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/_v2_compat.py +8 -0
  36. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/ui.py +14 -3
  37. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/worker.py +14 -0
  38. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/worker_api/routes/test_worker.py +48 -0
  39. apache_airflow_providers_edge3-1.6.0rc2/www-hash.txt +1 -0
  40. apache_airflow_providers_edge3-1.5.0/src/airflow/providers/edge3/plugins/www/dist/main.umd.cjs +0 -14
  41. apache_airflow_providers_edge3-1.5.0/src/airflow/providers/edge3/plugins/www/src/pages/WorkerPage.tsx +0 -135
  42. apache_airflow_providers_edge3-1.5.0/www-hash.txt +0 -1
  43. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/.pre-commit-config.yaml +0 -0
  44. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/LICENSE +0 -0
  45. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/NOTICE +0 -0
  46. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/architecture.rst +0 -0
  47. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/cli-ref.rst +0 -0
  48. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/commits.rst +0 -0
  49. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/conf.py +0 -0
  50. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/configurations-ref.rst +0 -0
  51. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/deployment.rst +0 -0
  52. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/edge_executor.rst +0 -0
  53. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/img/distributed_architecture.svg +0 -0
  54. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/img/edge_package.svg +0 -0
  55. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/img/worker_hosts.png +0 -0
  56. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/install_on_windows.rst +0 -0
  57. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/installing-providers-from-sources.rst +0 -0
  58. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/security.rst +0 -0
  59. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/ui_plugin.rst +0 -0
  60. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/why_edge.rst +0 -0
  61. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/__init__.py +0 -0
  62. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/__init__.py +0 -0
  63. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/cli/__init__.py +0 -0
  64. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/cli/dataclasses.py +0 -0
  65. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/cli/edge_command.py +0 -0
  66. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/cli/signalling.py +0 -0
  67. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/example_dags/__init__.py +0 -0
  68. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/example_dags/integration_test.py +0 -0
  69. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/example_dags/win_notepad.py +0 -0
  70. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/executors/__init__.py +0 -0
  71. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/executors/edge_executor.py +0 -0
  72. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/get_provider_info.py +0 -0
  73. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/models/__init__.py +0 -0
  74. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/models/edge_job.py +0 -0
  75. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/models/edge_logs.py +0 -0
  76. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/openapi/__init__.py +0 -0
  77. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/openapi/edge_worker_api_v1.yaml +0 -0
  78. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/__init__.py +0 -0
  79. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/edge_executor_plugin.py +0 -0
  80. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/templates/edge_worker_hosts.html +0 -0
  81. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/templates/edge_worker_jobs.html +0 -0
  82. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/.gitignore +0 -0
  83. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/.prettierignore +0 -0
  84. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/.prettierrc +0 -0
  85. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/README.md +0 -0
  86. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/dist/main.d.ts +0 -0
  87. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/eslint.config.js +0 -0
  88. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/index.html +0 -0
  89. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/index.ts +0 -0
  90. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/infiniteQueries.ts +0 -0
  91. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiError.ts +0 -0
  92. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiRequestOptions.ts +0 -0
  93. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiResult.ts +0 -0
  94. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/CancelablePromise.ts +0 -0
  95. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/OpenAPI.ts +0 -0
  96. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/request.ts +0 -0
  97. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/index.ts +0 -0
  98. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/AddQueueButton.tsx +0 -0
  99. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/ErrorAlert.tsx +0 -0
  100. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/MaintenanceEditCommentButton.tsx +0 -0
  101. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/MaintenanceEnterButton.tsx +0 -0
  102. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/MaintenanceExitButton.tsx +0 -0
  103. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/RemoveQueueButton.tsx +0 -0
  104. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/StateBadge.tsx +0 -0
  105. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/StateIcon.tsx +0 -0
  106. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/WorkerDeleteButton.tsx +0 -0
  107. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/WorkerOperations.tsx +0 -0
  108. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/WorkerShutdownButton.tsx +0 -0
  109. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/WorkerStateBadge.tsx +0 -0
  110. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/WorkerStateIcon.tsx +0 -0
  111. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/ui/Alert.tsx +0 -0
  112. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/ui/CloseButton.tsx +0 -0
  113. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/ui/ScrollToAnchor.tsx +0 -0
  114. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/ui/createToaster.ts +0 -0
  115. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/context/colorMode/ColorModeProvider.tsx +0 -0
  116. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/context/colorMode/index.ts +0 -0
  117. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/context/colorMode/useColorMode.tsx +0 -0
  118. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/dev.tsx +0 -0
  119. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/layouts/EdgeLayout.tsx +0 -0
  120. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/layouts/NavTabs.tsx +0 -0
  121. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/main.tsx +0 -0
  122. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/pages/JobsPage.tsx +0 -0
  123. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/res/README.md +0 -0
  124. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/res/cloud-computer-dark.svg +0 -0
  125. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/res/cloud-computer.svg +0 -0
  126. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/theme.ts +0 -0
  127. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/utils/config.ts +0 -0
  128. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/utils/index.ts +0 -0
  129. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/utils/useContainerWidth.ts +0 -0
  130. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/vite-env.d.ts +0 -0
  131. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/testsSetup.ts +0 -0
  132. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/tsconfig.app.json +0 -0
  133. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/tsconfig.json +0 -0
  134. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/tsconfig.lib.json +0 -0
  135. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/tsconfig.node.json +0 -0
  136. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/vite.config.ts +0 -0
  137. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/version_compat.py +0 -0
  138. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/__init__.py +0 -0
  139. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/app.py +0 -0
  140. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/auth.py +0 -0
  141. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/datamodels.py +0 -0
  142. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/datamodels_ui.py +0 -0
  143. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/__init__.py +0 -0
  144. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/_v2_routes.py +0 -0
  145. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/health.py +0 -0
  146. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/jobs.py +0 -0
  147. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/logs.py +0 -0
  148. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/conftest.py +0 -0
  149. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/__init__.py +0 -0
  150. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/__init__.py +0 -0
  151. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/cli/__init__.py +0 -0
  152. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/cli/test_api_client.py +0 -0
  153. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/cli/test_dataclasses.py +0 -0
  154. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/cli/test_edge_command.py +0 -0
  155. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/cli/test_signalling.py +0 -0
  156. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/cli/test_worker.py +0 -0
  157. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/executors/__init__.py +0 -0
  158. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/executors/test_edge_executor.py +0 -0
  159. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/models/__init__.py +0 -0
  160. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/plugins/__init__.py +0 -0
  161. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/plugins/test_edge_executor_plugin.py +0 -0
  162. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/worker_api/__init__.py +0 -0
  163. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/worker_api/routes/__init__.py +0 -0
  164. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/worker_api/routes/test_health.py +0 -0
  165. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/worker_api/routes/test_jobs.py +0 -0
  166. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/worker_api/routes/test_logs.py +0 -0
  167. {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/worker_api/routes/test_ui.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-edge3
3
- Version: 1.5.0
3
+ Version: 1.6.0rc2
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>
@@ -22,13 +22,13 @@ Classifier: Programming Language :: Python :: 3.13
22
22
  Classifier: Topic :: System :: Monitoring
23
23
  License-File: LICENSE
24
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
25
+ Requires-Dist: apache-airflow>=2.11.0,!=3.1.0
26
+ Requires-Dist: apache-airflow-providers-common-compat>=1.10.0rc1
27
27
  Requires-Dist: pydantic>=2.11.0
28
28
  Requires-Dist: retryhttp>=1.2.0,!=1.3.0
29
29
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
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
30
+ Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.6.0/changelog.html
31
+ Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.6.0
32
32
  Project-URL: Mastodon, https://fosstodon.org/@airflow
33
33
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
34
34
  Project-URL: Source Code, https://github.com/apache/airflow
@@ -59,7 +59,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
59
59
 
60
60
  Package ``apache-airflow-providers-edge3``
61
61
 
62
- Release: ``1.5.0``
62
+ Release: ``1.6.0``
63
63
 
64
64
 
65
65
  Handle edge workers on remote sites via HTTP(s) connection and orchestrates work over distributed sites.
@@ -84,7 +84,7 @@ This is a provider package for ``edge3`` provider. All classes for this provider
84
84
  are in ``airflow.providers.edge3`` python package.
85
85
 
86
86
  You can find package information and changelog for the provider
87
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0/>`_.
87
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.6.0/>`_.
88
88
 
89
89
  Installation
90
90
  ------------
@@ -101,8 +101,8 @@ Requirements
101
101
  ========================================== ====================
102
102
  PIP package Version required
103
103
  ========================================== ====================
104
- ``apache-airflow`` ``>=2.10.0,!=3.1.0``
105
- ``apache-airflow-providers-common-compat`` ``>=1.8.0``
104
+ ``apache-airflow`` ``>=2.11.0,!=3.1.0``
105
+ ``apache-airflow-providers-common-compat`` ``>=1.10.0``
106
106
  ``pydantic`` ``>=2.11.0``
107
107
  ``retryhttp`` ``>=1.2.0,!=1.3.0``
108
108
  ========================================== ====================
@@ -127,5 +127,5 @@ Dependent package
127
127
  ================================================================================================================== =================
128
128
 
129
129
  The changelog for the provider package can be found in the
130
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0/changelog.html>`_.
130
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.6.0/changelog.html>`_.
131
131
 
@@ -23,7 +23,7 @@
23
23
 
24
24
  Package ``apache-airflow-providers-edge3``
25
25
 
26
- Release: ``1.5.0``
26
+ Release: ``1.6.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.5.0/>`_.
51
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.6.0/>`_.
52
52
 
53
53
  Installation
54
54
  ------------
@@ -65,8 +65,8 @@ Requirements
65
65
  ========================================== ====================
66
66
  PIP package Version required
67
67
  ========================================== ====================
68
- ``apache-airflow`` ``>=2.10.0,!=3.1.0``
69
- ``apache-airflow-providers-common-compat`` ``>=1.8.0``
68
+ ``apache-airflow`` ``>=2.11.0,!=3.1.0``
69
+ ``apache-airflow-providers-common-compat`` ``>=1.10.0``
70
70
  ``pydantic`` ``>=2.11.0``
71
71
  ``retryhttp`` ``>=1.2.0,!=1.3.0``
72
72
  ========================================== ====================
@@ -91,4 +91,4 @@ Dependent package
91
91
  ================================================================================================================== =================
92
92
 
93
93
  The changelog for the provider package can be found in the
94
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0/changelog.html>`_.
94
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.6.0/changelog.html>`_.
@@ -27,6 +27,41 @@
27
27
  Changelog
28
28
  ---------
29
29
 
30
+ 1.6.0
31
+ .....
32
+
33
+ .. note::
34
+ This release of provider is only available for Airflow 2.11+ as explained in the
35
+ Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>_.
36
+
37
+ Features
38
+ ~~~~~~~~
39
+
40
+ * ``Send executor integration info in workload (#57800)``
41
+ * ``Prevent duplicate edge workers unless existing worker is offline or unkown (#58586)``
42
+ * ``Add multi-select state filter to worker page (#58505)``
43
+ * ``Add queue name filtering to Edge Worker tab (#58416)``
44
+ * ``Add search functionality to Edge Worker tab (#58331)``
45
+
46
+ Bug Fixes
47
+ ~~~~~~~~~
48
+
49
+ * ``Use 'before_sleep_log' in retries of Edge Worker (#58480)``
50
+
51
+ Misc
52
+ ~~~~
53
+
54
+ * ``Bump the edge-ui-package-updates group across 1 directory with 8 updates (#58780)``
55
+ * ``Move out some exceptions to TaskSDK (#54505)``
56
+ * ``Bump minimum Airflow version in providers to Airflow 2.11.0 (#58612)``
57
+ * ``Upgrade Edge TS dependencies (#58413)``
58
+ * ``Fix lower bound dependency to common-compat provider (#58833)``
59
+
60
+ .. Below changes are excluded from the changelog. Move them to
61
+ appropriate section above if needed. Do not delete the lines(!):
62
+ * ``Remove SDK reference for NOTSET in Airflow Core (#58258)``
63
+ * ``Prepare release for 2025-11-27 wave of providers (#58697)``
64
+
30
65
  1.5.0
31
66
  .....
32
67
 
@@ -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.5.0
93
+ Release: 1.6.0
94
94
 
95
95
  Provider package
96
96
  ----------------
@@ -108,13 +108,13 @@ For the minimum Airflow version supported, see ``Requirements`` below.
108
108
  Requirements
109
109
  ------------
110
110
 
111
- The minimum Apache Airflow version supported by this provider distribution is ``2.10.0``.
111
+ The minimum Apache Airflow version supported by this provider distribution is ``2.11.0``.
112
112
 
113
113
  ========================================== ====================
114
114
  PIP package Version required
115
115
  ========================================== ====================
116
- ``apache-airflow`` ``>=2.10.0,!=3.1.0``
117
- ``apache-airflow-providers-common-compat`` ``>=1.8.0``
116
+ ``apache-airflow`` ``>=2.11.0,!=3.1.0``
117
+ ``apache-airflow-providers-common-compat`` ``>=1.10.0``
118
118
  ``pydantic`` ``>=2.11.0``
119
119
  ``retryhttp`` ``>=1.2.0,!=1.3.0``
120
120
  ========================================== ====================
@@ -144,5 +144,5 @@ Downloading official packages
144
144
  You can download officially released packages and verify their checksums and signatures from the
145
145
  `Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
146
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>`__)
147
+ * `The apache-airflow-providers-edge3 1.6.0 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.6.0.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.6.0.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.6.0.tar.gz.sha512>`__)
148
+ * `The apache-airflow-providers-edge3 1.6.0 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.6.0-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.6.0-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.6.0-py3-none-any.whl.sha512>`__)
@@ -33,13 +33,14 @@ description: |
33
33
  are provided by the API server.
34
34
 
35
35
  state: ready
36
- source-date-epoch: 1763069258
36
+ source-date-epoch: 1764110065
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.6.0
43
44
  - 1.5.0
44
45
  - 1.4.1
45
46
  - 1.4.0
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
25
25
 
26
26
  [project]
27
27
  name = "apache-airflow-providers-edge3"
28
- version = "1.5.0"
28
+ version = "1.6.0rc2"
29
29
  description = "Provider package apache-airflow-providers-edge3 for Apache Airflow"
30
30
  readme = "README.rst"
31
31
  license = "Apache-2.0"
@@ -58,8 +58,8 @@ requires-python = ">=3.10"
58
58
  # Make sure to run ``prek update-providers-dependencies --all-files``
59
59
  # After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
60
60
  dependencies = [
61
- "apache-airflow>=2.10.0,!=3.1.0",
62
- "apache-airflow-providers-common-compat>=1.8.0",
61
+ "apache-airflow>=2.11.0,!=3.1.0",
62
+ "apache-airflow-providers-common-compat>=1.10.0rc1",
63
63
  "pydantic>=2.11.0",
64
64
  "retryhttp>=1.2.0,!=1.3.0",
65
65
  ]
@@ -99,8 +99,8 @@ apache-airflow-providers-common-sql = {workspace = true}
99
99
  apache-airflow-providers-standard = {workspace = true}
100
100
 
101
101
  [project.urls]
102
- "Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0"
103
- "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0/changelog.html"
102
+ "Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.6.0"
103
+ "Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.6.0/changelog.html"
104
104
  "Bug Tracker" = "https://github.com/apache/airflow/issues"
105
105
  "Source Code" = "https://github.com/apache/airflow"
106
106
  "Slack Chat" = "https://s.apache.org/airflow-slack"
@@ -29,11 +29,11 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "1.5.0"
32
+ __version__ = "1.6.0"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
- "2.10.0"
35
+ "2.11.0"
36
36
  ):
37
37
  raise RuntimeError(
38
- f"The package `apache-airflow-providers-edge3:{__version__}` needs Apache Airflow 2.10.0+"
38
+ f"The package `apache-airflow-providers-edge3:{__version__}` needs Apache Airflow 2.11.0+"
39
39
  )
@@ -27,10 +27,13 @@ from urllib.parse import quote, urljoin
27
27
 
28
28
  import requests
29
29
  from retryhttp import retry, wait_retry_after
30
- from tenacity import before_log, wait_random_exponential
30
+ from tenacity import before_sleep_log, wait_random_exponential
31
31
 
32
32
  from airflow.configuration import conf
33
- from airflow.providers.edge3.models.edge_worker import EdgeWorkerVersionException
33
+ from airflow.providers.edge3.models.edge_worker import (
34
+ EdgeWorkerDuplicateException,
35
+ EdgeWorkerVersionException,
36
+ )
34
37
  from airflow.providers.edge3.version_compat import AIRFLOW_V_3_0_PLUS
35
38
  from airflow.providers.edge3.worker_api.datamodels import (
36
39
  EdgeJobFetched,
@@ -78,7 +81,7 @@ _default_wait = wait_random_exponential(min=API_RETRY_WAIT_MIN, max=API_RETRY_WA
78
81
  wait_network_errors=_default_wait,
79
82
  wait_timeouts=_default_wait,
80
83
  wait_rate_limited=wait_retry_after(fallback=_default_wait), # No infinite timeout on HTTP 429
81
- before_sleep=before_log(logger, logging.WARNING),
84
+ before_sleep=before_sleep_log(logger, logging.WARNING),
82
85
  )
83
86
  def _make_generic_request(method: str, rest_path: str, data: str | None = None) -> Any:
84
87
  if AIRFLOW_V_3_0_PLUS:
@@ -132,6 +135,11 @@ def worker_register(
132
135
  except requests.HTTPError as e:
133
136
  if e.response.status_code == 400:
134
137
  raise EdgeWorkerVersionException(str(e))
138
+ if e.response.status_code == 409:
139
+ raise EdgeWorkerDuplicateException(
140
+ f"A worker with the name '{hostname}' is already active. "
141
+ "Please ensure worker names are unique, or stop the existing worker before starting a new one."
142
+ )
135
143
  raise e
136
144
  return WorkerRegistrationReturn(**result)
137
145
 
@@ -51,7 +51,11 @@ from airflow.providers.edge3.cli.signalling import (
51
51
  status_file_path,
52
52
  write_pid_to_pidfile,
53
53
  )
54
- from airflow.providers.edge3.models.edge_worker import EdgeWorkerState, EdgeWorkerVersionException
54
+ from airflow.providers.edge3.models.edge_worker import (
55
+ EdgeWorkerDuplicateException,
56
+ EdgeWorkerState,
57
+ EdgeWorkerVersionException,
58
+ )
55
59
  from airflow.providers.edge3.version_compat import AIRFLOW_V_3_0_PLUS
56
60
  from airflow.utils.net import getfqdn
57
61
  from airflow.utils.state import TaskInstanceState
@@ -262,6 +266,9 @@ class EdgeWorker:
262
266
  except EdgeWorkerVersionException as e:
263
267
  logger.info("Version mismatch of Edge worker and Core. Shutting down worker.")
264
268
  raise SystemExit(str(e))
269
+ except EdgeWorkerDuplicateException as e:
270
+ logger.error(str(e))
271
+ raise SystemExit(str(e))
265
272
  except HTTPError as e:
266
273
  if e.response.status_code == HTTPStatus.NOT_FOUND:
267
274
  raise SystemExit("Error: API endpoint is not ready, please set [edge] api_enabled=True.")
@@ -32,42 +32,49 @@ from subprocess import STDOUT, Popen
32
32
  from time import sleep
33
33
  from typing import TYPE_CHECKING, Any
34
34
 
35
- try:
36
- from airflow.sdk import task, task_group
37
- except ImportError:
38
- # Airflow 2 path
39
- from airflow.decorators import task, task_group # type: ignore[attr-defined,no-redef]
40
- from airflow.exceptions import AirflowException, AirflowNotFoundException, AirflowSkipException
35
+ from airflow.exceptions import AirflowException, AirflowNotFoundException
41
36
  from airflow.models import BaseOperator
42
37
  from airflow.models.dag import DAG
43
38
  from airflow.models.variable import Variable
39
+ from airflow.providers.common.compat.sdk import AirflowSkipException
44
40
  from airflow.providers.standard.operators.empty import EmptyOperator
41
+ from airflow.sdk.execution_time.context import context_to_airflow_vars
45
42
 
43
+ try:
44
+ from airflow.sdk import task, task_group
45
+ except ImportError:
46
+ from airflow.decorators import task, task_group # type: ignore[attr-defined,no-redef]
46
47
  try:
47
48
  from airflow.sdk import BaseHook
48
49
  except ImportError:
49
50
  from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
50
- from airflow.sdk import Param
51
-
51
+ try:
52
+ from airflow.sdk import Param
53
+ except ImportError:
54
+ from airflow.models import Param # type: ignore[attr-defined,no-redef]
52
55
  try:
53
56
  from airflow.sdk import TriggerRule
54
57
  except ImportError:
55
- # Compatibility for Airflow < 3.1
56
58
  from airflow.utils.trigger_rule import TriggerRule # type: ignore[no-redef,attr-defined]
57
- from airflow.sdk.execution_time.context import context_to_airflow_vars
58
- from airflow.utils.types import ArgNotSet
59
-
60
- if TYPE_CHECKING:
61
- try:
62
- from airflow.sdk.types import RuntimeTaskInstanceProtocol as TaskInstance
63
- except ImportError:
64
- from airflow.models import TaskInstance # type: ignore[assignment]
65
- from airflow.utils.context import Context
66
-
67
59
  try:
68
- from airflow.operators.python import PythonOperator
60
+ from airflow.providers.common.compat.standard.operators import PythonOperator
61
+ except ImportError:
62
+ from airflow.operators.python import PythonOperator # type: ignore[no-redef]
63
+ try:
64
+ from airflow.sdk.definitions._internal.types import NOTSET, ArgNotSet
69
65
  except ImportError:
70
- from airflow.providers.common.compat.standard.operators import PythonOperator # type: ignore[no-redef]
66
+ from airflow.utils.types import NOTSET, ArgNotSet # type: ignore[attr-defined,no-redef]
67
+ try:
68
+ from airflow.sdk.definitions._internal.types import is_arg_set
69
+ except ImportError:
70
+
71
+ def is_arg_set(value): # type: ignore[misc,no-redef]
72
+ return value is not NOTSET
73
+
74
+
75
+ if TYPE_CHECKING:
76
+ from airflow.sdk import Context
77
+ from airflow.sdk.types import RuntimeTaskInstanceProtocol as TaskInstance
71
78
 
72
79
 
73
80
  class CmdOperator(BaseOperator):
@@ -163,7 +170,7 @@ class CmdOperator(BaseOperator):
163
170
  # When using the @task.command decorator, the command is not known until the underlying Python
164
171
  # callable is executed and therefore set to NOTSET initially. This flag is useful during execution to
165
172
  # determine whether the command value needs to re-rendered.
166
- self._init_command_not_set = isinstance(self.command, ArgNotSet)
173
+ self._init_command_not_set = not is_arg_set(self.command)
167
174
 
168
175
  @staticmethod
169
176
  def refresh_command(ti: TaskInstance) -> None:
@@ -50,6 +50,12 @@ class EdgeWorkerVersionException(AirflowException):
50
50
  pass
51
51
 
52
52
 
53
+ class EdgeWorkerDuplicateException(AirflowException):
54
+ """Signal that a worker with the same name is already active."""
55
+
56
+ pass
57
+
58
+
53
59
  class EdgeWorkerState(str, Enum):
54
60
  """Status of a Edge Worker instance."""
55
61
 
@@ -397,6 +397,12 @@ paths:
397
397
  schema:
398
398
  $ref: '#/components/schemas/HTTPExceptionResponse'
399
399
  description: Forbidden
400
+ '409':
401
+ content:
402
+ application/json:
403
+ schema:
404
+ $ref: '#/components/schemas/HTTPExceptionResponse'
405
+ description: Conflict
400
406
  '422':
401
407
  description: Validation Error
402
408
  content:
@@ -463,6 +469,12 @@ paths:
463
469
  schema:
464
470
  $ref: '#/components/schemas/HTTPExceptionResponse'
465
471
  description: Forbidden
472
+ '409':
473
+ content:
474
+ application/json:
475
+ schema:
476
+ $ref: '#/components/schemas/HTTPExceptionResponse'
477
+ description: Conflict
466
478
  '422':
467
479
  description: Validation Error
468
480
  content:
@@ -523,6 +535,12 @@ paths:
523
535
  schema:
524
536
  $ref: '#/components/schemas/HTTPExceptionResponse'
525
537
  description: Forbidden
538
+ '409':
539
+ content:
540
+ application/json:
541
+ schema:
542
+ $ref: '#/components/schemas/HTTPExceptionResponse'
543
+ description: Conflict
526
544
  '422':
527
545
  description: Validation Error
528
546
  content:
@@ -553,6 +571,36 @@ paths:
553
571
  summary: Worker
554
572
  description: Return Edge Workers.
555
573
  operationId: worker
574
+ security:
575
+ - OAuth2PasswordBearer: []
576
+ - HTTPBearer: []
577
+ parameters:
578
+ - name: worker_name_pattern
579
+ in: query
580
+ required: false
581
+ schema:
582
+ anyOf:
583
+ - type: string
584
+ - type: 'null'
585
+ title: Worker Name Pattern
586
+ - name: queue_name_pattern
587
+ in: query
588
+ required: false
589
+ schema:
590
+ anyOf:
591
+ - type: string
592
+ - type: 'null'
593
+ title: Queue Name Pattern
594
+ - name: state
595
+ in: query
596
+ required: false
597
+ schema:
598
+ anyOf:
599
+ - type: array
600
+ items:
601
+ $ref: '#/components/schemas/EdgeWorkerState'
602
+ - type: 'null'
603
+ title: State
556
604
  responses:
557
605
  '200':
558
606
  description: Successful Response
@@ -560,9 +608,12 @@ paths:
560
608
  application/json:
561
609
  schema:
562
610
  $ref: '#/components/schemas/WorkerCollectionResponse'
563
- security:
564
- - OAuth2PasswordBearer: []
565
- - HTTPBearer: []
611
+ '422':
612
+ description: Validation Error
613
+ content:
614
+ application/json:
615
+ schema:
616
+ $ref: '#/components/schemas/HTTPValidationError'
566
617
  /edge_worker/ui/jobs:
567
618
  get:
568
619
  tags:
@@ -899,6 +950,10 @@ components:
899
950
  title: Log Path
900
951
  ti:
901
952
  $ref: '#/components/schemas/TaskInstance'
953
+ sentry_integration:
954
+ type: string
955
+ title: Sentry Integration
956
+ default: ''
902
957
  type:
903
958
  type: string
904
959
  const: ExecuteTask