apache-airflow-providers-fab 1.0.2__tar.gz → 1.0.3__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 (37) hide show
  1. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/PKG-INFO +6 -6
  2. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/README.rst +3 -3
  3. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/__init__.py +1 -1
  4. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py +2 -2
  5. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py +2 -2
  6. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/fab_auth_manager.py +2 -2
  7. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/security_manager/override.py +2 -2
  8. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/get_provider_info.py +2 -2
  9. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/pyproject.toml +3 -3
  10. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/LICENSE +0 -0
  11. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/__init__.py +0 -0
  12. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api/__init__.py +0 -0
  13. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api/auth/__init__.py +0 -0
  14. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api/auth/backend/__init__.py +0 -0
  15. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py +0 -0
  16. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py +0 -0
  17. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api_endpoints/__init__.py +0 -0
  18. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/cli_commands/__init__.py +0 -0
  19. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/cli_commands/definition.py +0 -0
  20. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/cli_commands/role_command.py +0 -0
  21. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.py +0 -0
  22. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/cli_commands/user_command.py +0 -0
  23. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/cli_commands/utils.py +0 -0
  24. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/decorators/__init__.py +0 -0
  25. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/decorators/auth.py +0 -0
  26. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/models/__init__.py +0 -0
  27. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/models/anonymous_user.py +0 -0
  28. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/openapi/__init__.py +0 -0
  29. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/openapi/v1.yaml +0 -0
  30. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/security_manager/__init__.py +0 -0
  31. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/security_manager/constants.py +0 -0
  32. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/views/__init__.py +0 -0
  33. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/views/permissions.py +0 -0
  34. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/views/roles_list.py +0 -0
  35. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/views/user.py +0 -0
  36. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/views/user_edit.py +0 -0
  37. {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/views/user_stats.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: apache-airflow-providers-fab
3
- Version: 1.0.2
3
+ Version: 1.0.3
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>
@@ -27,8 +27,8 @@ Requires-Dist: flask-login>=0.6.2
27
27
  Requires-Dist: flask>=2.2,<2.3
28
28
  Requires-Dist: google-re2>=1.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-fab/1.0.2/changelog.html
31
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.2
30
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3/changelog.html
31
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3
32
32
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
33
33
  Project-URL: Source Code, https://github.com/apache/airflow
34
34
  Project-URL: Twitter, https://twitter.com/ApacheAirflow
@@ -78,7 +78,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
78
78
 
79
79
  Package ``apache-airflow-providers-fab``
80
80
 
81
- Release: ``1.0.2``
81
+ Release: ``1.0.3``
82
82
 
83
83
 
84
84
  `Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
@@ -91,7 +91,7 @@ This is a provider package for ``fab`` provider. All classes for this provider p
91
91
  are in ``airflow.providers.fab`` python package.
92
92
 
93
93
  You can find package information and changelog for the provider
94
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.2/>`_.
94
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3/>`_.
95
95
 
96
96
  Installation
97
97
  ------------
@@ -116,4 +116,4 @@ PIP package Version required
116
116
  ==================== ==================
117
117
 
118
118
  The changelog for the provider package can be found in the
119
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.2/changelog.html>`_.
119
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3/changelog.html>`_.
@@ -42,7 +42,7 @@
42
42
 
43
43
  Package ``apache-airflow-providers-fab``
44
44
 
45
- Release: ``1.0.2``
45
+ Release: ``1.0.3``
46
46
 
47
47
 
48
48
  `Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
@@ -55,7 +55,7 @@ This is a provider package for ``fab`` provider. All classes for this provider p
55
55
  are in ``airflow.providers.fab`` python package.
56
56
 
57
57
  You can find package information and changelog for the provider
58
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.2/>`_.
58
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3/>`_.
59
59
 
60
60
  Installation
61
61
  ------------
@@ -80,4 +80,4 @@ PIP package Version required
80
80
  ==================== ==================
81
81
 
82
82
  The changelog for the provider package can be found in the
83
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.2/changelog.html>`_.
83
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3/changelog.html>`_.
@@ -27,7 +27,7 @@ import packaging.version
27
27
 
28
28
  __all__ = ["__version__"]
29
29
 
30
- __version__ = "1.0.2"
30
+ __version__ = "1.0.3"
31
31
 
32
32
  try:
33
33
  from airflow import __version__ as airflow_version
@@ -77,8 +77,8 @@ def get_roles(*, order_by: str = "name", limit: int, offset: int | None = None)
77
77
  to_replace = {"role_id": "id"}
78
78
  order_param = order_by.strip("-")
79
79
  order_param = to_replace.get(order_param, order_param)
80
- allowed_filter_attrs = ["role_id", "name"]
81
- if order_by not in allowed_filter_attrs:
80
+ allowed_sort_attrs = ["role_id", "name"]
81
+ if order_by not in allowed_sort_attrs:
82
82
  raise BadRequest(
83
83
  detail=f"Ordering with '{order_by}' is disallowed or "
84
84
  f"the attribute does not exist on the model"
@@ -65,7 +65,7 @@ def get_users(*, limit: int, order_by: str = "id", offset: str | None = None) ->
65
65
  to_replace = {"user_id": "id"}
66
66
  order_param = order_by.strip("-")
67
67
  order_param = to_replace.get(order_param, order_param)
68
- allowed_filter_attrs = [
68
+ allowed_sort_attrs = [
69
69
  "id",
70
70
  "first_name",
71
71
  "last_name",
@@ -74,7 +74,7 @@ def get_users(*, limit: int, order_by: str = "id", offset: str | None = None) ->
74
74
  "is_active",
75
75
  "role",
76
76
  ]
77
- if order_by not in allowed_filter_attrs:
77
+ if order_by not in allowed_sort_attrs:
78
78
  raise BadRequest(
79
79
  detail=f"Ordering with '{order_by}' is disallowed or "
80
80
  f"the attribute does not exist on the model"
@@ -44,7 +44,7 @@ from airflow.cli.cli_config import (
44
44
  GroupCommand,
45
45
  )
46
46
  from airflow.configuration import conf
47
- from airflow.exceptions import AirflowException
47
+ from airflow.exceptions import AirflowConfigException, AirflowException
48
48
  from airflow.models import DagModel
49
49
  from airflow.providers.fab.auth_manager.cli_commands.definition import (
50
50
  ROLES_COMMANDS,
@@ -339,7 +339,7 @@ class FabAuthManager(BaseAuthManager):
339
339
  sm_from_config = self.appbuilder.get_app.config.get("SECURITY_MANAGER_CLASS")
340
340
  if sm_from_config:
341
341
  if not issubclass(sm_from_config, FabAirflowSecurityManagerOverride):
342
- raise Exception(
342
+ raise AirflowConfigException(
343
343
  """Your CUSTOM_SECURITY_MANAGER must extend FabAirflowSecurityManagerOverride."""
344
344
  )
345
345
  return sm_from_config(self.appbuilder)
@@ -810,7 +810,7 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
810
810
  # LDAP Config
811
811
  if self.auth_type == AUTH_LDAP:
812
812
  if "AUTH_LDAP_SERVER" not in app.config:
813
- raise Exception("No AUTH_LDAP_SERVER defined on config with AUTH_LDAP authentication type.")
813
+ raise ValueError("No AUTH_LDAP_SERVER defined on config with AUTH_LDAP authentication type.")
814
814
  app.config.setdefault("AUTH_LDAP_SEARCH", "")
815
815
  app.config.setdefault("AUTH_LDAP_SEARCH_FILTER", "")
816
816
  app.config.setdefault("AUTH_LDAP_APPEND_DOMAIN", "")
@@ -2212,7 +2212,7 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
2212
2212
  log.debug("User info from Azure: %s", me)
2213
2213
  # https://learn.microsoft.com/en-us/azure/active-directory/develop/id-token-claims-reference#payload-claims
2214
2214
  return {
2215
- "email": me.get("upn", me["email"]),
2215
+ "email": me["email"] if "email" in me else me["upn"],
2216
2216
  "first_name": me.get("given_name", ""),
2217
2217
  "last_name": me.get("family_name", ""),
2218
2218
  "username": me["oid"],
@@ -28,8 +28,8 @@ def get_provider_info():
28
28
  "name": "Fab",
29
29
  "description": "`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__\n",
30
30
  "state": "ready",
31
- "source-date-epoch": 1703288133,
32
- "versions": ["1.0.2", "1.0.1", "1.0.0"],
31
+ "source-date-epoch": 1712665766,
32
+ "versions": ["1.0.3", "1.0.2", "1.0.1", "1.0.0"],
33
33
  "dependencies": [
34
34
  "apache-airflow>=2.9.0",
35
35
  "flask>=2.2,<2.3",
@@ -28,7 +28,7 @@ build-backend = "flit_core.buildapi"
28
28
 
29
29
  [project]
30
30
  name = "apache-airflow-providers-fab"
31
- version = "1.0.2"
31
+ version = "1.0.3"
32
32
  description = "Provider package apache-airflow-providers-fab for Apache Airflow"
33
33
  readme = "README.rst"
34
34
  authors = [
@@ -64,8 +64,8 @@ dependencies = [
64
64
  ]
65
65
 
66
66
  [project.urls]
67
- "Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.2"
68
- "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.2/changelog.html"
67
+ "Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3"
68
+ "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3/changelog.html"
69
69
  "Bug Tracker" = "https://github.com/apache/airflow/issues"
70
70
  "Source Code" = "https://github.com/apache/airflow"
71
71
  "Slack Chat" = "https://s.apache.org/airflow-slack"