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.
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/PKG-INFO +7 -8
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/README.rst +4 -5
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/architecture.rst +3 -3
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/changelog.rst +30 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/edge_executor.rst +7 -2
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/index.rst +3 -5
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/install_on_windows.rst +5 -5
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/ui_plugin.rst +5 -5
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/provider.yaml +2 -1
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/pyproject.toml +4 -4
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/__init__.py +1 -1
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/cli/worker.py +6 -2
- {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
- {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
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/openapi/v2-edge-generated.yaml +1138 -0
- {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
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/.gitignore +27 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/.prettierignore +6 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/.prettierrc +13 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/README.md +141 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/dist/main.d.ts +1 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/dist/main.umd.cjs +124 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/eslint.config.js +54 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/index.html +13 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/common.ts +33 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/ensureQueryData.ts +16 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/index.ts +4 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/infiniteQueries.ts +2 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/prefetch.ts +16 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/queries.ts +87 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/suspense.ts +16 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiError.ts +21 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiRequestOptions.ts +21 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiResult.ts +7 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/CancelablePromise.ts +126 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/OpenAPI.ts +57 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/request.ts +347 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/index.ts +7 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/schemas.gen.ts +700 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/services.gen.ts +289 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/types.gen.ts +655 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/package.json +80 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/pnpm-lock.yaml +6653 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/ErrorAlert.tsx +66 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/StateBadge.tsx +43 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/StateIcon.tsx +58 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/WorkerStateBadge.tsx +71 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/WorkerStateIcon.tsx +57 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/ui/Alert.tsx +62 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/ui/CloseButton.tsx +32 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/components/ui/index.ts +20 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/context/colorMode/ColorModeProvider.tsx +24 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/context/colorMode/index.ts +21 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/context/colorMode/useColorMode.tsx +32 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/dev.tsx +29 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/layouts/EdgeLayout.tsx +44 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/layouts/NavTabs.tsx +63 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/main.tsx +58 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/pages/JobsPage.tsx +88 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/pages/WorkerPage.tsx +105 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/res/README.md +24 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/res/cloud-computer-dark.svg +3 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/res/cloud-computer.svg +3 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/theme.ts +176 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/utils/config.ts +23 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/utils/index.ts +22 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/utils/tokenHandler.ts +51 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/utils/useContainerWidth.ts +43 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/src/vite-env.d.ts +20 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/testsSetup.ts +19 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/tsconfig.app.json +31 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/tsconfig.json +8 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/tsconfig.lib.json +15 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/tsconfig.node.json +29 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/plugins/www/vite.config.ts +95 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/version_compat.py +1 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/worker_api/app.py +69 -0
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/worker_api/datamodels_ui.py +67 -0
- {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
- apache_airflow_providers_edge3-1.2.0rc1/src/airflow/providers/edge3/worker_api/routes/ui.py +102 -0
- apache_airflow_providers_edge3-1.2.0rc1/tests/unit/edge3/worker_api/routes/test_ui.py +48 -0
- apache_airflow_providers_edge3-1.2.0rc1/www-hash.txt +1 -0
- apache_airflow_providers_edge3-1.1.3rc1/src/airflow/providers/edge3/worker_api/app.py +0 -43
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/cli-ref.rst +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/commits.rst +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/conf.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/configurations-ref.rst +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/deployment.rst +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/img/distributed_architecture.svg +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/img/edge_package.svg +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/img/worker_hosts.png +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/img/worker_maintenance.png +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/installing-providers-from-sources.rst +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/security.rst +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/why_edge.rst +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/LICENSE +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/cli/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/cli/api_client.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/cli/dataclasses.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/cli/edge_command.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/cli/signalling.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/example_dags/__init__.py +0 -0
- {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
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/executors/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/executors/edge_executor.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/get_provider_info.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/models/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/models/edge_job.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/models/edge_logs.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/models/edge_worker.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/openapi/__init__.py +0 -0
- {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
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/plugins/__init__.py +0 -0
- {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
- {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
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/worker_api/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/worker_api/auth.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/src/airflow/providers/edge3/worker_api/datamodels.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/conftest.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/cli/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/cli/test_api_client.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/cli/test_dataclasses.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/cli/test_edge_command.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/cli/test_signalling.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/cli/test_worker.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/executors/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/executors/test_edge_executor.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/models/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/plugins/__init__.py +0 -0
- {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
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/worker_api/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/tests/unit/edge3/worker_api/routes/__init__.py +0 -0
- {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
- {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
- {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
- {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
{apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: apache-airflow-providers-edge3
|
3
|
-
Version: 1.
|
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.
|
28
|
-
Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.
|
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.
|
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.
|
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
|
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.
|
107
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.2.0/changelog.html>`_.
|
109
108
|
|
{apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/README.rst
RENAMED
@@ -23,9 +23,8 @@
|
|
23
23
|
|
24
24
|
Package ``apache-airflow-providers-edge3``
|
25
25
|
|
26
|
-
Release: ``1.
|
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.
|
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
|
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.
|
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="
|
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="
|
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
|
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
|
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
|
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"),
|
{apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/docs/index.rst
RENAMED
@@ -57,7 +57,7 @@
|
|
57
57
|
:maxdepth: 1
|
58
58
|
:caption: Resources
|
59
59
|
|
60
|
-
Example
|
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.
|
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
|
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
|
39
|
-
(At least the
|
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
|
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
|
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
|
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
|
-
- ``/
|
34
|
-
- ``/
|
35
|
-
- ``/
|
36
|
-
- ``/
|
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/
|
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
|
---------------------------------
|
{apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/provider.yaml
RENAMED
@@ -33,13 +33,14 @@ description: |
|
|
33
33
|
are provided by the API server.
|
34
34
|
|
35
35
|
state: ready
|
36
|
-
source-date-epoch:
|
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
|
{apache_airflow_providers_edge3-1.1.3rc1 → apache_airflow_providers_edge3-1.2.0rc1}/pyproject.toml
RENAMED
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
|
|
25
25
|
|
26
26
|
[project]
|
27
27
|
name = "apache-airflow-providers-edge3"
|
28
|
-
version = "1.
|
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 ``
|
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.
|
100
|
-
"Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.
|
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.
|
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
|
-
|
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[
|
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:
|