apache-airflow-providers-fab 1.5.0__tar.gz → 1.5.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_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/PKG-INFO +4 -4
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/README.rst +1 -1
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/fab_auth_manager.py +1 -12
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/security_manager/override.py +4 -5
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/migrations/env.py +1 -2
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/pyproject.toml +4 -4
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/LICENSE +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/__init__.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/alembic.ini +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/api/__init__.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/api/auth/__init__.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/api/auth/backend/__init__.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/api/auth/backend/session.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/api_endpoints/__init__.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/cli_commands/__init__.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/cli_commands/db_command.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/cli_commands/definition.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/cli_commands/role_command.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/cli_commands/user_command.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/cli_commands/utils.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/decorators/__init__.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/decorators/auth.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/models/__init__.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/models/anonymous_user.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/models/db.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/openapi/__init__.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/openapi/v1.yaml +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/schemas/__init__.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/schemas/role_and_permission_schema.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/schemas/user_schema.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/security_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/security_manager/constants.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/views/__init__.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/views/permissions.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/views/roles_list.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/views/user.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/views/user_edit.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/auth_manager/views/user_stats.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/get_provider_info.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/migrations/README +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/migrations/__init__.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/migrations/script.py.mako +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/migrations/versions/0001_1_4_0_placeholder_migration.py +0 -0
- {apache_airflow_providers_fab-1.5.0 → apache_airflow_providers_fab-1.5.0rc1}/airflow/providers/fab/migrations/versions/__init__.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: apache-airflow-providers-fab
|
3
|
-
Version: 1.5.
|
3
|
+
Version: 1.5.0rc1
|
4
4
|
Summary: Provider package apache-airflow-providers-fab for Apache Airflow
|
5
5
|
Keywords: airflow-provider,fab,airflow,integration
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
@@ -20,8 +20,8 @@ Classifier: Programming Language :: Python :: 3.10
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.11
|
21
21
|
Classifier: Programming Language :: Python :: 3.12
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
23
|
-
Requires-Dist: apache-airflow-providers-common-compat>=1.2.
|
24
|
-
Requires-Dist: apache-airflow>=2.9.
|
23
|
+
Requires-Dist: apache-airflow-providers-common-compat>=1.2.1rc0
|
24
|
+
Requires-Dist: apache-airflow>=2.9.0rc0
|
25
25
|
Requires-Dist: flask-appbuilder==4.5.2
|
26
26
|
Requires-Dist: flask-login>=0.6.2
|
27
27
|
Requires-Dist: flask>=2.2,<2.3
|
@@ -83,7 +83,7 @@ Provides-Extra: kerberos
|
|
83
83
|
|
84
84
|
Package ``apache-airflow-providers-fab``
|
85
85
|
|
86
|
-
Release: ``1.5.0``
|
86
|
+
Release: ``1.5.0.rc1``
|
87
87
|
|
88
88
|
|
89
89
|
`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
|
@@ -18,7 +18,6 @@
|
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
20
|
import argparse
|
21
|
-
import warnings
|
22
21
|
from functools import cached_property
|
23
22
|
from pathlib import Path
|
24
23
|
from typing import TYPE_CHECKING, Container
|
@@ -47,7 +46,7 @@ from airflow.cli.cli_config import (
|
|
47
46
|
GroupCommand,
|
48
47
|
)
|
49
48
|
from airflow.configuration import conf
|
50
|
-
from airflow.exceptions import AirflowConfigException, AirflowException
|
49
|
+
from airflow.exceptions import AirflowConfigException, AirflowException
|
51
50
|
from airflow.models import DagModel
|
52
51
|
from airflow.providers.fab.auth_manager.cli_commands.definition import (
|
53
52
|
DB_COMMANDS,
|
@@ -272,16 +271,6 @@ class FabAuthManager(BaseAuthManager):
|
|
272
271
|
) -> bool:
|
273
272
|
return self._is_authorized(method=method, resource_type=RESOURCE_ASSET, user=user)
|
274
273
|
|
275
|
-
def is_authorized_dataset(
|
276
|
-
self, *, method: ResourceMethod, details: AssetDetails | None = None, user: BaseUser | None = None
|
277
|
-
) -> bool:
|
278
|
-
warnings.warn(
|
279
|
-
"is_authorized_dataset will be renamed as is_authorized_asset in Airflow 3 and will be removed when the minimum Airflow version is set to 3.0 for the fab provider",
|
280
|
-
AirflowProviderDeprecationWarning,
|
281
|
-
stacklevel=2,
|
282
|
-
)
|
283
|
-
return self.is_authorized_asset(method=method, user=user)
|
284
|
-
|
285
274
|
def is_authorized_pool(
|
286
275
|
self, *, method: ResourceMethod, details: PoolDetails | None = None, user: BaseUser | None = None
|
287
276
|
) -> bool:
|
@@ -17,7 +17,6 @@
|
|
17
17
|
# under the License.
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
|
-
import copy
|
21
20
|
import datetime
|
22
21
|
import itertools
|
23
22
|
import logging
|
@@ -25,7 +24,7 @@ import os
|
|
25
24
|
import random
|
26
25
|
import uuid
|
27
26
|
import warnings
|
28
|
-
from typing import TYPE_CHECKING, Any, Callable, Collection, Container, Iterable,
|
27
|
+
from typing import TYPE_CHECKING, Any, Callable, Collection, Container, Iterable, Sequence
|
29
28
|
|
30
29
|
import jwt
|
31
30
|
import packaging.version
|
@@ -1108,7 +1107,7 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
|
|
1108
1107
|
def sync_perm_for_dag(
|
1109
1108
|
self,
|
1110
1109
|
dag_id: str,
|
1111
|
-
access_control:
|
1110
|
+
access_control: dict[str, dict[str, Collection[str]] | Collection[str]] | None = None,
|
1112
1111
|
) -> None:
|
1113
1112
|
"""
|
1114
1113
|
Sync permissions for given dag id.
|
@@ -1129,7 +1128,7 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
|
|
1129
1128
|
|
1130
1129
|
if access_control is not None:
|
1131
1130
|
self.log.debug("Syncing DAG-level permissions for DAG '%s'", dag_id)
|
1132
|
-
self._sync_dag_view_permissions(dag_id,
|
1131
|
+
self._sync_dag_view_permissions(dag_id, access_control.copy())
|
1133
1132
|
else:
|
1134
1133
|
self.log.debug(
|
1135
1134
|
"Not syncing DAG-level permissions for DAG '%s' as access control is unset.",
|
@@ -1150,7 +1149,7 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
|
|
1150
1149
|
def _sync_dag_view_permissions(
|
1151
1150
|
self,
|
1152
1151
|
dag_id: str,
|
1153
|
-
access_control:
|
1152
|
+
access_control: dict[str, dict[str, Collection[str]] | Collection[str]],
|
1154
1153
|
) -> None:
|
1155
1154
|
"""
|
1156
1155
|
Set the access policy on the given DAG's ViewModel.
|
@@ -17,7 +17,6 @@
|
|
17
17
|
from __future__ import annotations
|
18
18
|
|
19
19
|
import contextlib
|
20
|
-
from logging import getLogger
|
21
20
|
from logging.config import fileConfig
|
22
21
|
|
23
22
|
from alembic import context
|
@@ -33,7 +32,7 @@ version_table = FABDBManager.version_table_name
|
|
33
32
|
|
34
33
|
# Interpret the config file for Python logging.
|
35
34
|
# This line sets up loggers basically.
|
36
|
-
if
|
35
|
+
if config.config_file_name is not None:
|
37
36
|
fileConfig(config.config_file_name, disable_existing_loggers=False)
|
38
37
|
|
39
38
|
# add your model's MetaData object here
|
@@ -23,12 +23,12 @@
|
|
23
23
|
# `pyproject_TEMPLATE.toml.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
|
24
24
|
#
|
25
25
|
[build-system]
|
26
|
-
requires = ["flit_core
|
26
|
+
requires = ["flit_core >=3.2,<4"]
|
27
27
|
build-backend = "flit_core.buildapi"
|
28
28
|
|
29
29
|
[project]
|
30
30
|
name = "apache-airflow-providers-fab"
|
31
|
-
version = "1.5.0"
|
31
|
+
version = "1.5.0.rc1"
|
32
32
|
description = "Provider package apache-airflow-providers-fab for Apache Airflow"
|
33
33
|
readme = "README.rst"
|
34
34
|
authors = [
|
@@ -55,8 +55,8 @@ classifiers = [
|
|
55
55
|
]
|
56
56
|
requires-python = "~=3.9"
|
57
57
|
dependencies = [
|
58
|
-
"apache-airflow-providers-common-compat>=1.2.
|
59
|
-
"apache-airflow>=2.9.
|
58
|
+
"apache-airflow-providers-common-compat>=1.2.1rc0",
|
59
|
+
"apache-airflow>=2.9.0rc0",
|
60
60
|
"flask-appbuilder==4.5.2",
|
61
61
|
"flask-login>=0.6.2",
|
62
62
|
"flask>=2.2,<2.3",
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|