apache-airflow-providers-edge3 1.1.3rc1__tar.gz → 1.2.0rc1__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 (146) hide show
  1. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/PKG-INFO +7 -8
  2. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/README.rst +4 -5
  3. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/architecture.rst +3 -3
  4. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/changelog.rst +30 -0
  5. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/edge_executor.rst +7 -2
  6. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/index.rst +3 -5
  7. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/install_on_windows.rst +5 -5
  8. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/ui_plugin.rst +5 -5
  9. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/provider.yaml +2 -1
  10. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/pyproject.toml +4 -4
  11. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/__init__.py +1 -1
  12. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/cli/worker.py +6 -2
  13. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/example_dags/integration_test.py +6 -2
  14. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/example_dags/win_test.py +6 -1
  15. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/openapi/v2-edge-generated.yaml +1138 -0
  16. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/plugins/edge_executor_plugin.py +43 -3
  17. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/.gitignore +27 -0
  18. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/.prettierignore +6 -0
  19. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/.prettierrc +13 -0
  20. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/README.md +141 -0
  21. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/dist/main.d.ts +1 -0
  22. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/dist/main.umd.cjs +124 -0
  23. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/eslint.config.js +54 -0
  24. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/index.html +13 -0
  25. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/common.ts +33 -0
  26. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/ensureQueryData.ts +16 -0
  27. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/index.ts +4 -0
  28. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/infiniteQueries.ts +2 -0
  29. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/prefetch.ts +16 -0
  30. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/queries.ts +87 -0
  31. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/suspense.ts +16 -0
  32. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiError.ts +21 -0
  33. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiRequestOptions.ts +21 -0
  34. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiResult.ts +7 -0
  35. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/CancelablePromise.ts +126 -0
  36. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/OpenAPI.ts +57 -0
  37. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/request.ts +347 -0
  38. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/index.ts +7 -0
  39. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/schemas.gen.ts +700 -0
  40. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/services.gen.ts +289 -0
  41. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/types.gen.ts +655 -0
  42. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/package.json +80 -0
  43. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/pnpm-lock.yaml +6653 -0
  44. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/ErrorAlert.tsx +66 -0
  45. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/StateBadge.tsx +43 -0
  46. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/StateIcon.tsx +58 -0
  47. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/WorkerStateBadge.tsx +71 -0
  48. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/WorkerStateIcon.tsx +57 -0
  49. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/ui/Alert.tsx +62 -0
  50. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/ui/CloseButton.tsx +32 -0
  51. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/ui/index.ts +20 -0
  52. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/context/colorMode/ColorModeProvider.tsx +24 -0
  53. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/context/colorMode/index.ts +21 -0
  54. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/context/colorMode/useColorMode.tsx +32 -0
  55. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/dev.tsx +29 -0
  56. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/layouts/EdgeLayout.tsx +44 -0
  57. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/layouts/NavTabs.tsx +63 -0
  58. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/main.tsx +58 -0
  59. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/pages/JobsPage.tsx +88 -0
  60. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/pages/WorkerPage.tsx +105 -0
  61. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/res/README.md +24 -0
  62. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/res/cloud-computer-dark.svg +3 -0
  63. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/res/cloud-computer.svg +3 -0
  64. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/theme.ts +176 -0
  65. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/utils/config.ts +23 -0
  66. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/utils/index.ts +22 -0
  67. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/utils/tokenHandler.ts +51 -0
  68. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/utils/useContainerWidth.ts +43 -0
  69. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/vite-env.d.ts +20 -0
  70. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/testsSetup.ts +19 -0
  71. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/tsconfig.app.json +31 -0
  72. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/tsconfig.json +8 -0
  73. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/tsconfig.lib.json +15 -0
  74. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/tsconfig.node.json +29 -0
  75. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/vite.config.ts +95 -0
  76. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/version_compat.py +1 -0
  77. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/worker_api/app.py +69 -0
  78. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/worker_api/datamodels_ui.py +67 -0
  79. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/worker_api/routes/health.py +1 -1
  80. apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/worker_api/routes/ui.py +102 -0
  81. apache_airflow_providers_edge3-1.2.0rc1/tests/unit/edge3/worker_api/routes/test_ui.py +48 -0
  82. apache_airflow_providers_edge3-1.2.0rc1/www-hash.txt +1 -0
  83. apache_airflow_providers_edge3-1.1.3rc1/src/airflow/providers/edge3/worker_api/app.py +0 -43
  84. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/cli-ref.rst +0 -0
  85. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/commits.rst +0 -0
  86. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/conf.py +0 -0
  87. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/configurations-ref.rst +0 -0
  88. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/deployment.rst +0 -0
  89. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/img/distributed_architecture.svg +0 -0
  90. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/img/edge_package.svg +0 -0
  91. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/img/worker_hosts.png +0 -0
  92. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/img/worker_maintenance.png +0 -0
  93. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/installing-providers-from-sources.rst +0 -0
  94. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/security.rst +0 -0
  95. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/why_edge.rst +0 -0
  96. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/__init__.py +0 -0
  97. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/__init__.py +0 -0
  98. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/LICENSE +0 -0
  99. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/cli/__init__.py +0 -0
  100. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/cli/api_client.py +0 -0
  101. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/cli/dataclasses.py +0 -0
  102. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/cli/edge_command.py +0 -0
  103. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/cli/signalling.py +0 -0
  104. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/example_dags/__init__.py +0 -0
  105. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/example_dags/win_notepad.py +0 -0
  106. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/executors/__init__.py +0 -0
  107. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/executors/edge_executor.py +0 -0
  108. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/get_provider_info.py +0 -0
  109. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/models/__init__.py +0 -0
  110. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/models/edge_job.py +0 -0
  111. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/models/edge_logs.py +0 -0
  112. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/models/edge_worker.py +0 -0
  113. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/openapi/__init__.py +0 -0
  114. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/openapi/edge_worker_api_v1.yaml +0 -0
  115. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/plugins/__init__.py +0 -0
  116. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/plugins/templates/edge_worker_hosts.html +0 -0
  117. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/plugins/templates/edge_worker_jobs.html +0 -0
  118. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/worker_api/__init__.py +0 -0
  119. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/worker_api/auth.py +0 -0
  120. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/worker_api/datamodels.py +0 -0
  121. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/worker_api/routes/__init__.py +0 -0
  122. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/worker_api/routes/_v2_compat.py +0 -0
  123. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/worker_api/routes/_v2_routes.py +0 -0
  124. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/worker_api/routes/jobs.py +0 -0
  125. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/worker_api/routes/logs.py +0 -0
  126. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/worker_api/routes/worker.py +0 -0
  127. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/conftest.py +0 -0
  128. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/__init__.py +0 -0
  129. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/__init__.py +0 -0
  130. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/cli/__init__.py +0 -0
  131. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/cli/test_api_client.py +0 -0
  132. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/cli/test_dataclasses.py +0 -0
  133. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/cli/test_edge_command.py +0 -0
  134. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/cli/test_signalling.py +0 -0
  135. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/cli/test_worker.py +0 -0
  136. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/executors/__init__.py +0 -0
  137. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/executors/test_edge_executor.py +0 -0
  138. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/models/__init__.py +0 -0
  139. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/plugins/__init__.py +0 -0
  140. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/plugins/test_edge_executor_plugin.py +0 -0
  141. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/worker_api/__init__.py +0 -0
  142. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/worker_api/routes/__init__.py +0 -0
  143. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/worker_api/routes/test_health.py +0 -0
  144. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/worker_api/routes/test_jobs.py +0 -0
  145. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/worker_api/routes/test_logs.py +0 -0
  146. {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/worker_api/routes/test_worker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-edge3
3
- Version: 1.1.3rc1
3
+ Version: 1.2.0rc1
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>
@@ -24,8 +24,8 @@ Requires-Dist: apache-airflow>=2.10.0rc1
24
24
  Requires-Dist: pydantic>=2.11.0
25
25
  Requires-Dist: retryhttp>=1.2.0,!=1.3.0
26
26
  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.1.3/changelog.html
28
- Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.1.3
27
+ Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.2.0/changelog.html
28
+ Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.2.0
29
29
  Project-URL: Mastodon, https://fosstodon.org/@airflow
30
30
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
31
31
  Project-URL: Source Code, https://github.com/apache/airflow
@@ -56,9 +56,8 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
56
56
 
57
57
  Package ``apache-airflow-providers-edge3``
58
58
 
59
- Release: ``1.1.3``
59
+ Release: ``1.2.0``
60
60
 
61
- Release Date: ``|PypiReleaseDate|``
62
61
 
63
62
  Handle edge workers on remote sites via HTTP(s) connection and orchestrates work over distributed sites.
64
63
 
@@ -82,12 +81,12 @@ This is a provider package for ``edge3`` provider. All classes for this provider
82
81
  are in ``airflow.providers.edge3`` python package.
83
82
 
84
83
  You can find package information and changelog for the provider
85
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.1.3/>`_.
84
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.2.0/>`_.
86
85
 
87
86
  Installation
88
87
  ------------
89
88
 
90
- You can install this package on top of an existing Airflow 2 installation (see ``Requirements`` below
89
+ You can install this package on top of an existing Airflow installation (see ``Requirements`` below
91
90
  for the minimum Airflow version supported) via
92
91
  ``pip install apache-airflow-providers-edge3``
93
92
 
@@ -105,5 +104,5 @@ PIP package Version required
105
104
  ================== ===================
106
105
 
107
106
  The changelog for the provider package can be found in the
108
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.1.3/changelog.html>`_.
107
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.2.0/changelog.html>`_.
109
108
 
@@ -23,9 +23,8 @@
23
23
 
24
24
  Package ``apache-airflow-providers-edge3``
25
25
 
26
- Release: ``1.1.3``
26
+ Release: ``1.2.0``
27
27
 
28
- Release Date: ``|PypiReleaseDate|``
29
28
 
30
29
  Handle edge workers on remote sites via HTTP(s) connection and orchestrates work over distributed sites.
31
30
 
@@ -49,12 +48,12 @@ This is a provider package for ``edge3`` provider. All classes for this provider
49
48
  are in ``airflow.providers.edge3`` python package.
50
49
 
51
50
  You can find package information and changelog for the provider
52
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.1.3/>`_.
51
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.2.0/>`_.
53
52
 
54
53
  Installation
55
54
  ------------
56
55
 
57
- You can install this package on top of an existing Airflow 2 installation (see ``Requirements`` below
56
+ You can install this package on top of an existing Airflow installation (see ``Requirements`` below
58
57
  for the minimum Airflow version supported) via
59
58
  ``pip install apache-airflow-providers-edge3``
60
59
 
@@ -72,4 +71,4 @@ PIP package Version required
72
71
  ================== ===================
73
72
 
74
73
  The changelog for the provider package can be found in the
75
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.1.3/changelog.html>`_.
74
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.2.0/changelog.html>`_.
@@ -37,7 +37,7 @@ deployed outside of the central Airflow cluster is connected via HTTP(s) to the
37
37
  scheduler[label="Scheduler"]
38
38
  api[label="API server"]
39
39
  database[label="Database"]
40
- dag[label="DAG files"]
40
+ dag[label="Dag files"]
41
41
 
42
42
  api->workers
43
43
  api->database
@@ -52,7 +52,7 @@ deployed outside of the central Airflow cluster is connected via HTTP(s) to the
52
52
  label="Edge site";
53
53
  {rank = same; edge_worker; edge_dag}
54
54
  edge_worker[label="Edge Worker"]
55
- edge_dag[label="DAG files (Remote copy)"]
55
+ edge_dag[label="Dag files (Remote copy)"]
56
56
 
57
57
  edge_worker->edge_dag
58
58
  }
@@ -63,7 +63,7 @@ deployed outside of the central Airflow cluster is connected via HTTP(s) to the
63
63
  * **Workers** - 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** - 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
 
@@ -27,6 +27,36 @@
27
27
  Changelog
28
28
  ---------
29
29
 
30
+ 1.2.0
31
+ .....
32
+
33
+ Release Date: ``|PypiReleaseDate|``
34
+
35
+ Features
36
+ ~~~~~~~~
37
+
38
+ * ``Provide React UI for Edge (#53563)``
39
+ * ``Feature/add auto refresh to edge react UI (#54994)``
40
+ * ``Feature/add state badge to edge react UI (#54993)``
41
+
42
+ Bug Fixes
43
+ ~~~~~~~~~
44
+
45
+ * ``Fix setproctitle usage on macos (#53122)``
46
+
47
+ Doc-only
48
+ ~~~~~~~~
49
+
50
+ * ``Make term Dag consistent in providers docs (#55101)``
51
+ * ``Add a note to edgeexecutor doc regarding multiple executors (#54077)``
52
+ * ``Fix Airflow 2 reference in README/index of providers (#55240)``
53
+
54
+ .. Below changes are excluded from the changelog. Move them to
55
+ appropriate section above if needed. Do not delete the lines(!):
56
+ * ``Remove airflow.models.DAG (#54383)``
57
+ * ``Move trigger_rule utils from 'airflow/utils' to 'airflow.task'and integrate with Execution API spec (#53389)``
58
+ * ``Switch pre-commit to prek (#54258)``
59
+
30
60
  1.1.3
31
61
  .....
32
62
 
@@ -50,6 +50,11 @@ could take thousands of tasks without a problem), or from an environment
50
50
  perspective (you want a worker running from a specific location where required
51
51
  infrastructure is available).
52
52
 
53
+ When using EdgeExecutor in addition to other executors and EdgeExecutor not being the default executor
54
+ (that is to say the first one in the list of executors), be reminded to also define EdgeExecutor
55
+ as the executor at task or Dag level in addition to the queues you are targeting.
56
+ For more details on multiple executors please see :ref:`apache-airflow:using-multiple-executors-concurrently`.
57
+
53
58
  .. _edge_executor:concurrency_slots:
54
59
 
55
60
  Concurrency slot handling
@@ -75,12 +80,12 @@ Here is an example setting pool_slots for a task:
75
80
 
76
81
  import pendulum
77
82
 
78
- from airflow import DAG
83
+ from airflow import Dag
79
84
  from airflow.decorators import task
80
85
  from airflow.example_dags.libs.helper import print_stuff
81
86
  from airflow.settings import AIRFLOW_HOME
82
87
 
83
- with DAG(
88
+ with Dag(
84
89
  dag_id="example_edge_pool_slots",
85
90
  schedule=None,
86
91
  start_date=pendulum.datetime(2021, 1, 1, tz="UTC"),
@@ -57,7 +57,7 @@
57
57
  :maxdepth: 1
58
58
  :caption: Resources
59
59
 
60
- Example DAGs <_api/airflow/providers/edge3/example_dags/index>
60
+ Example Dags <_api/airflow/providers/edge3/example_dags/index>
61
61
  PyPI Repository <https://pypi.org/project/apache-airflow-providers-edge3/>
62
62
  Installing from sources <installing-providers-from-sources>
63
63
 
@@ -90,9 +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.1.3
94
-
95
- Release Date: ``|PypiReleaseDate|``
93
+ Release: 1.2.0
96
94
 
97
95
  Provider package
98
96
  ----------------
@@ -103,7 +101,7 @@ All classes for this package are included in the ``airflow.providers.edge3`` pyt
103
101
  Installation
104
102
  ------------
105
103
 
106
- You can install this package on top of an existing Airflow 2 installation via
104
+ You can install this package on top of an existing Airflow installation via
107
105
  ``pip install apache-airflow-providers-edge3``.
108
106
  For the minimum Airflow version supported, see ``Requirements`` below.
109
107
 
@@ -35,8 +35,8 @@ To setup a instance of Edge Worker on Windows, you need to follow the steps belo
35
35
  4. Activate the virtual environment via: ``venv\Scripts\activate.bat``
36
36
  5. Install Edge provider using the Airflow constraints as of your Airflow version via
37
37
  ``pip install apache-airflow-providers-edge3 --constraint https://raw.githubusercontent.com/apache/airflow/constraints-2.10.5/constraints-3.12.txt``.
38
- 6. Create a new folder ``dags`` in ``C:\Airflow`` and copy the relevant DAG files in it.
39
- (At least the DAG files which should be executed on the edge alongside the dependencies.)
38
+ 6. Create a new folder ``dags`` in ``C:\Airflow`` and copy the relevant Dag files in it.
39
+ (At least the Dag files which should be executed on the edge alongside the dependencies.)
40
40
  7. Collect needed parameters from your running Airflow backend, at least the following:
41
41
 
42
42
  - ``api_auth`` / ``jwt_token``: The shared secret key between the api-server and the Edge Worker
@@ -65,7 +65,7 @@ To setup a instance of Edge Worker on Windows, you need to follow the steps belo
65
65
  @REM Add if needed: set https_proxy=http://my-company-proxy.com:3128
66
66
  airflow edge worker --concurrency 4 --queues windows
67
67
 
68
- 9. Note on logs: Per default the DAG Run ID is used as path in the log structure and per default the date and time
68
+ 9. Note on logs: Per default the Dag Run ID is used as path in the log structure and per default the date and time
69
69
  is contained in the Run ID. Windows fails with a colon (":") in a file or folder name and this also
70
70
  the Edge Worker fails.
71
71
  Therefore you might consider changing the config ``AIRFLOW__LOGGING__LOG_FILENAME_TEMPLATE`` to avoid the colon.
@@ -73,7 +73,7 @@ To setup a instance of Edge Worker on Windows, you need to follow the steps belo
73
73
  Note that the log filename template is resolved on server side and not on the worker side. So you need to make
74
74
  this as a global change.
75
75
  Alternatively for testing purposes only you must use Run IDs without a colon, e.g. set the Run ID manually when
76
- starting a DAG run.
76
+ starting a Dag run.
77
77
  10. Start the worker via: ``start_worker.bat``
78
78
  Watch the console for errors.
79
- 11. Run a DAG as test and see if the result is as expected.
79
+ 11. Run a Dag as test and see if the result is as expected.
@@ -30,13 +30,13 @@ REST API endpoints
30
30
 
31
31
  The Edge provider adds the following REST API endpoints to the Airflow API:
32
32
 
33
- - ``/api/v1/edge/health``: Check that the API endpoint is deployed and active
34
- - ``/api/v1/edge/jobs``: Endpoints to fetch jobs for workers and report state
35
- - ``/api/v1/edge/logs``: Endpoint to push log chunks from workers to the Airflow cluster
36
- - ``/api/v1/edge/workers``: Endpoints to register and manage workers, report heartbeat
33
+ - ``/edge_worker/v1/jobs``: Endpoints to fetch jobs for workers and report state
34
+ - ``/edge_worker/v1/logs``: Endpoint to push log chunks from workers to the Airflow cluster
35
+ - ``/edge_worker/v1/workers``: Endpoints to register and manage workers, report heartbeat
36
+ - ``/edge_worker/v1/health``: Check that the API endpoint is deployed and active
37
37
 
38
38
  To see full documentation of the API endpoints open the Airflow web UI and navigate to
39
- the sub-path ``/edge_worker/v1/docs`` (Airflow 3.0) or ``/edge_worker/v1/ui`` (Airflow 2.10).
39
+ the sub-path ``/edge_worker/docs`` (Airflow 3.0) or ``/edge_worker/v1/ui`` (Airflow 2.10).
40
40
 
41
41
  Web UI Plugin (Airflow 2.10 only)
42
42
  ---------------------------------
@@ -33,13 +33,14 @@ description: |
33
33
  are provided by the API server.
34
34
 
35
35
  state: ready
36
- source-date-epoch: 1754503142
36
+ source-date-epoch: 1756876811
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.2.0
43
44
  - 1.1.3
44
45
  - 1.1.2
45
46
  - 1.1.1
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
25
25
 
26
26
  [project]
27
27
  name = "apache-airflow-providers-edge3"
28
- version = "1.1.3rc1"
28
+ version = "1.2.0rc1"
29
29
  description = "Provider package apache-airflow-providers-edge3 for Apache Airflow"
30
30
  readme = "README.rst"
31
31
  authors = [
@@ -54,7 +54,7 @@ requires-python = ">=3.10"
54
54
 
55
55
  # The dependencies should be modified in place in the generated file.
56
56
  # Any change in the dependencies is preserved when the file is regenerated
57
- # Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
57
+ # Make sure to run ``prek update-providers-dependencies --all-files``
58
58
  # After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
59
59
  dependencies = [
60
60
  "apache-airflow>=2.10.0rc1",
@@ -96,8 +96,8 @@ apache-airflow-providers-common-sql = {workspace = true}
96
96
  apache-airflow-providers-standard = {workspace = true}
97
97
 
98
98
  [project.urls]
99
- "Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.1.3"
100
- "Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.1.3/changelog.html"
99
+ "Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.2.0"
100
+ "Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.2.0/changelog.html"
101
101
  "Bug Tracker" = "https://github.com/apache/airflow/issues"
102
102
  "Source Code" = "https://github.com/apache/airflow"
103
103
  "Slack Chat" = "https://s.apache.org/airflow-slack"
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "1.1.3"
32
+ __version__ = "1.2.0"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.10.0"
@@ -19,6 +19,7 @@ from __future__ import annotations
19
19
  import logging
20
20
  import os
21
21
  import signal
22
+ import sys
22
23
  from datetime import datetime
23
24
  from http import HTTPStatus
24
25
  from multiprocessing import Process
@@ -60,6 +61,11 @@ if TYPE_CHECKING:
60
61
 
61
62
  logger = logging.getLogger(__name__)
62
63
 
64
+ if sys.platform == "darwin":
65
+ setproctitle = lambda title: logger.debug("Mac OS detected, skipping setproctitle")
66
+ else:
67
+ from setproctitle import setproctitle
68
+
63
69
 
64
70
  def _edge_hostname() -> str:
65
71
  """Get the hostname of the edge worker that should be reported by tasks."""
@@ -176,8 +182,6 @@ class EdgeWorker:
176
182
  def _run_job_via_supervisor(
177
183
  workload: ExecuteTask,
178
184
  ) -> int:
179
- from setproctitle import setproctitle
180
-
181
185
  from airflow.sdk.execution_time.supervisor import supervise
182
186
 
183
187
  # Ignore ctrl-c in this process -- we don't want to kill _this_ one. we let tasks run to completion
@@ -32,7 +32,11 @@ try:
32
32
  from airflow.sdk import BaseHook
33
33
  except ImportError:
34
34
  from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
35
- from airflow.utils.trigger_rule import TriggerRule
35
+ try:
36
+ from airflow.sdk import TriggerRule
37
+ except ImportError:
38
+ # Compatibility for Airflow < 3.1
39
+ from airflow.utils.trigger_rule import TriggerRule # type: ignore[no-redef,attr-defined]
36
40
 
37
41
  try:
38
42
  from airflow.providers.standard.operators.bash import BashOperator
@@ -42,7 +46,7 @@ try:
42
46
  except ImportError:
43
47
  # Airflow 2.10 compat
44
48
  from airflow.decorators import task, task_group # type: ignore[attr-defined,no-redef]
45
- from airflow.models.dag import DAG # type: ignore[assignment]
49
+ from airflow.models.dag import DAG # type: ignore[no-redef]
46
50
  from airflow.models.param import Param # type: ignore[no-redef]
47
51
  from airflow.models.variable import Variable
48
52
  from airflow.operators.bash import BashOperator # type: ignore[no-redef]
@@ -48,8 +48,13 @@ try:
48
48
  except ImportError:
49
49
  from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
50
50
  from airflow.sdk import Param
51
+
52
+ try:
53
+ from airflow.sdk import TriggerRule
54
+ except ImportError:
55
+ # Compatibility for Airflow < 3.1
56
+ from airflow.utils.trigger_rule import TriggerRule # type: ignore[no-redef,attr-defined]
51
57
  from airflow.sdk.execution_time.context import context_to_airflow_vars
52
- from airflow.utils.trigger_rule import TriggerRule
53
58
  from airflow.utils.types import ArgNotSet
54
59
 
55
60
  if TYPE_CHECKING: