apache-airflow-providers-fab 2.2.0rc1__tar.gz → 2.2.1__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-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/PKG-INFO +8 -8
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/README.rst +3 -3
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/changelog.rst +25 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/index.rst +3 -3
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/provider.yaml +2 -1
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/pyproject.toml +5 -5
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/__init__.py +1 -1
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/fab_auth_manager.py +6 -6
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/security_manager/override.py +19 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/init_appbuilder.py +8 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/package-lock.json +4 -4
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/package.json +1 -1
- apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/743.57634ddb93717b7c8c1a.js → apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/743.b6629eaae7f541f4158f.js +1 -1
- apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/main.49c4d5787ef1f247f004.js → apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/main.26e36c3998f451900260.js +1 -1
- apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/manifest.json +22 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/test_fab_auth_manager.py +103 -0
- apache_airflow_providers_fab-2.2.1/www-hash.txt +1 -0
- apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/manifest.json +0 -22
- apache_airflow_providers_fab-2.2.0rc1/www-hash.txt +0 -1
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/3rd-party-licenses/LICENSES-ui.txt +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/NOTICE +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/api-ref/fab-public-api-ref.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/api-ref/fab-token-api-ref.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/auth-manager/access-control.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/auth-manager/api-authentication.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/auth-manager/configuring-flask-app.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/auth-manager/index.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/auth-manager/security.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/auth-manager/token.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/auth-manager/webserver-authentication.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/cli-ref.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/commits.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/conf.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/configurations-ref.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/img/add-role.png +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/img/diagram_fab_auth_manager_airflow_architecture.md5sum +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/img/diagram_fab_auth_manager_airflow_architecture.png +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/img/diagram_fab_auth_manager_airflow_architecture.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/img/new-role.png +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/installing-providers-from-sources.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/migrations-ref.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/security.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/upgrading.rst +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/3rd-party-licenses/LICENSES-ui.txt +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/LICENSE +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/alembic.ini +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api/auth/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api/auth/backend/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api/auth/backend/session.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_endpoints/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/datamodels/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/datamodels/login.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/openapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/openapi/v2-fab-auth-manager-generated.yaml +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/routes/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/routes/login.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/services/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/api_fastapi/services/login.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/cli_commands/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/cli_commands/db_command.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/cli_commands/definition.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/cli_commands/role_command.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/cli_commands/user_command.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/cli_commands/utils.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/models/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/models/anonymous_user.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/models/db.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/openapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/openapi/v1-flask-api.yaml +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/schemas/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/schemas/role_and_permission_schema.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/schemas/user_schema.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/security_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/security_manager/constants.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/views/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/views/permissions.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/views/roles_list.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/views/user.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/views/user_edit.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/auth_manager/views/user_stats.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/get_provider_info.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/migrations/README +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/migrations/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/migrations/env.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/migrations/script.py.mako +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/migrations/versions/0001_1_4_0_placeholder_migration.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/migrations/versions/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/airflow_flask_app.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/api_connexion/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/api_connexion/exceptions.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/api_connexion/parameters.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/api_connexion/security.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/api_connexion/types.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/app.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/auth.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/constants.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/init_jinja_globals.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/init_manifest_files.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/init_security.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/init_session.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/init_views.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/extensions/init_wsgi_middlewares.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/security/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/security/permissions.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/security_appless.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/security_manager.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/session.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/css/bootstrap-theme.css +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/css/flash.css +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/css/loading-dots.css +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/css/main.css +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/css/material-icons.css +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/dist/48f0ea180c40270a5b05.png +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/dist/649c0b07771e68fafdeb.png +0 -0
- /apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/743.57634ddb93717b7c8c1a.js.LICENSE.txt → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/743.b6629eaae7f541f4158f.js.LICENSE.txt +0 -0
- /apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.48540e25fb1e474cef20.css → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.5a4eda684d2f5f33fa6a.css +0 -0
- /apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.48540e25fb1e474cef20.js → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.5a4eda684d2f5f33fa6a.js +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/dist/f7490d556a6c42e49ba4.png +0 -0
- /apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/flash.02dea0c2ac20820e8d1b.css → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/flash.9f756672299e9e57a824.css +0 -0
- /apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/flash.02dea0c2ac20820e8d1b.js → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/flash.9f756672299e9e57a824.js +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/dist/jquery-ui.min.css +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js.LICENSE.txt +0 -0
- /apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/loadingDots.96221bc8b6345c7d65b3.css → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/loadingDots.fc35e1feb443bd3a8d80.css +0 -0
- /apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/loadingDots.96221bc8b6345c7d65b3.js → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/loadingDots.fc35e1feb443bd3a8d80.js +0 -0
- /apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/main.49c4d5787ef1f247f004.css → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/main.26e36c3998f451900260.css +0 -0
- /apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/main.49c4d5787ef1f247f004.js.LICENSE.txt → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/main.26e36c3998f451900260.js.LICENSE.txt +0 -0
- /apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/materialIcons.4fd835641d53f81af3d3.css → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/materialIcons.e84a12f5be6e8d456d02.css +0 -0
- /apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/materialIcons.4fd835641d53f81af3d3.js → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/materialIcons.e84a12f5be6e8d456d02.js +0 -0
- /apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/moment.6943aa3cca9cb1129a71.js → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/moment.9023635a87b836172067.js +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/dist/oss-licenses.json +0 -0
- /apache_airflow_providers_fab-2.2.0rc1/src/airflow/providers/fab/www/static/dist/runtime.3c1a5fcbb3c1b7c62ad7.js → /apache_airflow_providers_fab-2.2.1/src/airflow/providers/fab/www/static/dist/runtime.78bb8f6146c25d99b9e2.js +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/js/datetime_utils.js +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/js/main.js +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/sort_asc.png +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/sort_both.png +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/static/sort_desc.png +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/airflow/_messages.html +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/airflow/error.html +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/airflow/main.html +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/airflow/traceback.html +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/appbuilder/flash.html +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/appbuilder/index.html +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/appbuilder/navbar.html +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/appbuilder/navbar_menu.html +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/templates/appbuilder/navbar_right.html +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/utils.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/views.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/src/airflow/providers/fab/www/webpack.config.js +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/conftest.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api/auth/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api/auth/backend/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api/auth/backend/test_basic_auth.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api/auth/backend/test_kerberos_auth.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api/auth/backend/test_session.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_endpoints/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_endpoints/api_connexion_utils.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_endpoints/remote_user_api_auth_backend.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_endpoints/test_auth.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_endpoints/test_role_and_permission_endpoint.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_endpoints/test_user_endpoint.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_fastapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_fastapi/conftest.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_fastapi/routes/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_fastapi/routes/test_login.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_fastapi/services/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/api_fastapi/services/test_login.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/cli_commands/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/cli_commands/test_db_command.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/cli_commands/test_definition.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/cli_commands/test_role_command.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/cli_commands/test_sync_perm_command.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/cli_commands/test_user_command.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/cli_commands/test_utils.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/conftest.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/models/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/models/test_anonymous_user.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/models/test_db.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/schemas/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/schemas/test_role_and_permission_schema.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/schemas/test_user_schema.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/security_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/security_manager/test_constants.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/security_manager/test_override.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/test_models.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/test_security.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/views/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/views/test_permissions.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/views/test_roles_list.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/views/test_user.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/views/test_user_edit.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/auth_manager/views/test_user_stats.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/decorators.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/utils.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/www/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/www/test_auth.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/www/test_utils.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/www/views/__init__.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/www/views/conftest.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/www/views/test_connection_form_fields.py +0 -0
- {apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/tests/unit/fab/www/views/test_views_custom_user_views.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: apache-airflow-providers-fab
|
3
|
-
Version: 2.2.
|
3
|
+
Version: 2.2.1
|
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>
|
@@ -22,8 +22,8 @@ Classifier: Programming Language :: Python :: 3.12
|
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
23
23
|
License-File: 3rd-party-licenses/LICENSES-ui.txt
|
24
24
|
License-File: NOTICE
|
25
|
-
Requires-Dist: apache-airflow>=3.0.
|
26
|
-
Requires-Dist: apache-airflow-providers-common-compat>=1.2.
|
25
|
+
Requires-Dist: apache-airflow>=3.0.2
|
26
|
+
Requires-Dist: apache-airflow-providers-common-compat>=1.2.1
|
27
27
|
Requires-Dist: blinker>=1.6.2
|
28
28
|
Requires-Dist: flask>=2.2.1,<2.3
|
29
29
|
Requires-Dist: flask-appbuilder==4.6.3
|
@@ -36,8 +36,8 @@ Requires-Dist: werkzeug>=2.2,<4
|
|
36
36
|
Requires-Dist: wtforms>=3.0,<4
|
37
37
|
Requires-Dist: kerberos>=1.3.0 ; extra == "kerberos"
|
38
38
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
39
|
-
Project-URL: Changelog, https://airflow.
|
40
|
-
Project-URL: Documentation, https://airflow.
|
39
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1/changelog.html
|
40
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1
|
41
41
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
42
42
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
43
43
|
Project-URL: Source Code, https://github.com/apache/airflow
|
@@ -69,7 +69,7 @@ Provides-Extra: kerberos
|
|
69
69
|
|
70
70
|
Package ``apache-airflow-providers-fab``
|
71
71
|
|
72
|
-
Release: ``2.2.
|
72
|
+
Release: ``2.2.1``
|
73
73
|
|
74
74
|
|
75
75
|
`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
|
@@ -82,7 +82,7 @@ This is a provider package for ``fab`` provider. All classes for this provider p
|
|
82
82
|
are in ``airflow.providers.fab`` python package.
|
83
83
|
|
84
84
|
You can find package information and changelog for the provider
|
85
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.
|
85
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1/>`_.
|
86
86
|
|
87
87
|
Installation
|
88
88
|
------------
|
@@ -133,5 +133,5 @@ Dependent package
|
|
133
133
|
================================================================================================================== =================
|
134
134
|
|
135
135
|
The changelog for the provider package can be found in the
|
136
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.
|
136
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1/changelog.html>`_.
|
137
137
|
|
@@ -23,7 +23,7 @@
|
|
23
23
|
|
24
24
|
Package ``apache-airflow-providers-fab``
|
25
25
|
|
26
|
-
Release: ``2.2.
|
26
|
+
Release: ``2.2.1``
|
27
27
|
|
28
28
|
|
29
29
|
`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
|
@@ -36,7 +36,7 @@ This is a provider package for ``fab`` provider. All classes for this provider p
|
|
36
36
|
are in ``airflow.providers.fab`` python package.
|
37
37
|
|
38
38
|
You can find package information and changelog for the provider
|
39
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.
|
39
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1/>`_.
|
40
40
|
|
41
41
|
Installation
|
42
42
|
------------
|
@@ -87,4 +87,4 @@ Dependent package
|
|
87
87
|
================================================================================================================== =================
|
88
88
|
|
89
89
|
The changelog for the provider package can be found in the
|
90
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.
|
90
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1/changelog.html>`_.
|
{apache_airflow_providers_fab-2.2.0rc1 → apache_airflow_providers_fab-2.2.1}/docs/changelog.rst
RENAMED
@@ -20,6 +20,31 @@
|
|
20
20
|
Changelog
|
21
21
|
---------
|
22
22
|
|
23
|
+
2.2.1
|
24
|
+
.....
|
25
|
+
|
26
|
+
Bug Fixes
|
27
|
+
~~~~~~~~~
|
28
|
+
|
29
|
+
* ``Fix: allow users with specific DAG permissions to access DAGs when no pecific DAG is requested (#51462)``
|
30
|
+
* ``Fix fab asset compilation hashing script (#51446)``
|
31
|
+
* ``Fix default setting for hash algorithm for FAB password hash (#51858)``
|
32
|
+
|
33
|
+
Misc
|
34
|
+
~~~~
|
35
|
+
|
36
|
+
* ``Add back security api in FAB auth manager (#51578)``
|
37
|
+
* ``Bump @babel/eslint-parser from 7.27.1 to 7.27.5 in /providers/fab/src/airflow/providers/fab/www in the fab-ui-package-updates group across 1 directory (#51375)``
|
38
|
+
|
39
|
+
Doc-only
|
40
|
+
~~~~~~~~
|
41
|
+
|
42
|
+
* ``Fix docstring in 'FabAuthManager' (#51892)``
|
43
|
+
|
44
|
+
.. Below changes are excluded from the changelog. Move them to
|
45
|
+
appropriate section above if needed. Do not delete the lines(!):
|
46
|
+
* ``Prepare release for June 2025 provider wave (#51724)``
|
47
|
+
|
23
48
|
2.2.0
|
24
49
|
.....
|
25
50
|
|
@@ -84,7 +84,7 @@ apache-airflow-providers-fab package
|
|
84
84
|
`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
|
85
85
|
|
86
86
|
|
87
|
-
Release: 2.2.
|
87
|
+
Release: 2.2.1
|
88
88
|
|
89
89
|
Provider package
|
90
90
|
----------------
|
@@ -146,5 +146,5 @@ Downloading official packages
|
|
146
146
|
You can download officially released packages and verify their checksums and signatures from the
|
147
147
|
`Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
|
148
148
|
|
149
|
-
* `The apache-airflow-providers-fab 2.2.
|
150
|
-
* `The apache-airflow-providers-fab 2.2.
|
149
|
+
* `The apache-airflow-providers-fab 2.2.1 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.1.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.1.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.1.tar.gz.sha512>`__)
|
150
|
+
* `The apache-airflow-providers-fab 2.2.1 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.1-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.1-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.2.1-py3-none-any.whl.sha512>`__)
|
@@ -28,13 +28,14 @@ description: |
|
|
28
28
|
# For providers until we think it should be released.
|
29
29
|
state: ready
|
30
30
|
|
31
|
-
source-date-epoch:
|
31
|
+
source-date-epoch: 1749896451
|
32
32
|
|
33
33
|
# Note that those versions are maintained by release manager - do not update them manually
|
34
34
|
# with the exception of case where other provider in sources has >= new provider version.
|
35
35
|
# In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
|
36
36
|
# to be done in the same PR
|
37
37
|
versions:
|
38
|
+
- 2.2.1
|
38
39
|
- 2.2.0
|
39
40
|
- 2.1.0
|
40
41
|
- 2.0.2
|
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
|
|
25
25
|
|
26
26
|
[project]
|
27
27
|
name = "apache-airflow-providers-fab"
|
28
|
-
version = "2.2.
|
28
|
+
version = "2.2.1"
|
29
29
|
description = "Provider package apache-airflow-providers-fab for Apache Airflow"
|
30
30
|
readme = "README.rst"
|
31
31
|
authors = [
|
@@ -57,8 +57,8 @@ license-files = ["NOTICE", "*/LICENSE*"]
|
|
57
57
|
# Make sure to run ``breeze static-checks --type 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
|
-
"apache-airflow>=3.0.
|
61
|
-
"apache-airflow-providers-common-compat>=1.2.
|
60
|
+
"apache-airflow>=3.0.2",
|
61
|
+
"apache-airflow-providers-common-compat>=1.2.1",
|
62
62
|
# Blinker use for signals in Flask, this is an optional dependency in Flask 2.2 and lower.
|
63
63
|
# In Flask 2.3 it becomes a mandatory dependency, and flask signals are always available.
|
64
64
|
"blinker>=1.6.2",
|
@@ -127,8 +127,8 @@ apache-airflow-providers-common-sql = {workspace = true}
|
|
127
127
|
apache-airflow-providers-standard = {workspace = true}
|
128
128
|
|
129
129
|
[project.urls]
|
130
|
-
"Documentation" = "https://airflow.
|
131
|
-
"Changelog" = "https://airflow.
|
130
|
+
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1"
|
131
|
+
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/2.2.1/changelog.html"
|
132
132
|
"Bug Tracker" = "https://github.com/apache/airflow/issues"
|
133
133
|
"Source Code" = "https://github.com/apache/airflow"
|
134
134
|
"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__ = "2.2.
|
32
|
+
__version__ = "2.2.1"
|
33
33
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
35
35
|
"3.0.2"
|
@@ -308,9 +308,9 @@ class FabAuthManager(BaseAuthManager[User]):
|
|
308
308
|
|
309
309
|
There are multiple scenarios:
|
310
310
|
|
311
|
-
1. ``
|
311
|
+
1. ``access_entity`` is not provided which means the user wants to access the DAG itself and not a sub
|
312
312
|
entity (e.g. DAG runs).
|
313
|
-
2. ``
|
313
|
+
2. ``access_entity`` is provided which means the user wants to access a sub entity of the DAG
|
314
314
|
(e.g. DAG runs).
|
315
315
|
|
316
316
|
a. If ``method`` is GET, then check the user has READ permissions on the DAG and the sub entity.
|
@@ -564,8 +564,8 @@ class FabAuthManager(BaseAuthManager[User]):
|
|
564
564
|
# Check whether the user has permissions to access a specific DAG
|
565
565
|
resource_dag_name = permissions.resource_name(details.id, RESOURCE_DAG)
|
566
566
|
return self._is_authorized(method=method, resource_type=resource_dag_name, user=user)
|
567
|
-
|
568
|
-
return
|
567
|
+
authorized_dags = self.get_authorized_dag_ids(user=user, method=method)
|
568
|
+
return len(authorized_dags) > 0
|
569
569
|
|
570
570
|
def _is_authorized_dag_run(
|
571
571
|
self,
|
@@ -590,8 +590,8 @@ class FabAuthManager(BaseAuthManager[User]):
|
|
590
590
|
# Check whether the user has permissions to access a specific DAG Run permission on a DAG Level
|
591
591
|
resource_dag_name = permissions.resource_name(details.id, RESOURCE_DAG_RUN)
|
592
592
|
return self._is_authorized(method=method, resource_type=resource_dag_name, user=user)
|
593
|
-
|
594
|
-
return
|
593
|
+
authorized_dags = self.get_authorized_dag_ids(user=user, method=method)
|
594
|
+
return len(authorized_dags) > 0
|
595
595
|
|
596
596
|
@staticmethod
|
597
597
|
def _get_fab_action(method: ResourceMethod) -> str:
|
@@ -43,6 +43,7 @@ from flask_appbuilder.const import (
|
|
43
43
|
)
|
44
44
|
from flask_appbuilder.models.sqla import Base
|
45
45
|
from flask_appbuilder.models.sqla.interface import SQLAInterface
|
46
|
+
from flask_appbuilder.security.api import SecurityApi
|
46
47
|
from flask_appbuilder.security.registerviews import (
|
47
48
|
RegisterUserDBView,
|
48
49
|
RegisterUserOAuthView,
|
@@ -187,6 +188,10 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
|
|
187
188
|
useroidmodelview = CustomUserOIDModelView
|
188
189
|
userstatschartview = CustomUserStatsChartView
|
189
190
|
|
191
|
+
# API
|
192
|
+
security_api = SecurityApi
|
193
|
+
""" Override if you want your own Security API login endpoint """
|
194
|
+
|
190
195
|
jwt_manager = None
|
191
196
|
""" Flask-JWT-Extended """
|
192
197
|
oauth = None
|
@@ -401,6 +406,9 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
|
|
401
406
|
if not self.appbuilder.get_app.config.get("FAB_ADD_SECURITY_VIEWS", True):
|
402
407
|
return
|
403
408
|
|
409
|
+
# Security APIs
|
410
|
+
self.appbuilder.add_api(self.security_api)
|
411
|
+
|
404
412
|
if self.auth_user_registration:
|
405
413
|
if self.auth_type == AUTH_DB:
|
406
414
|
self.registeruser_view = self.registeruserdbview()
|
@@ -743,6 +751,15 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
|
|
743
751
|
"""Get the builtin roles."""
|
744
752
|
return self._builtin_roles
|
745
753
|
|
754
|
+
@property
|
755
|
+
def api_login_allow_multiple_providers(self):
|
756
|
+
return self.appbuilder.get_app.config["AUTH_API_LOGIN_ALLOW_MULTIPLE_PROVIDERS"]
|
757
|
+
|
758
|
+
@property
|
759
|
+
def auth_type_provider_name(self):
|
760
|
+
provider_to_auth_type = {AUTH_DB: "db", AUTH_LDAP: "ldap"}
|
761
|
+
return provider_to_auth_type.get(self.auth_type)
|
762
|
+
|
746
763
|
def _init_config(self):
|
747
764
|
"""
|
748
765
|
Initialize config.
|
@@ -767,12 +784,14 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
|
|
767
784
|
|
768
785
|
parsed_werkzeug_version = Version(werkzeug_version)
|
769
786
|
if parsed_werkzeug_version < Version("3.0.0"):
|
787
|
+
app.config.setdefault("FAB_PASSWORD_HASH_METHOD", "pbkdf2:sha256")
|
770
788
|
app.config.setdefault(
|
771
789
|
"AUTH_DB_FAKE_PASSWORD_HASH_CHECK",
|
772
790
|
"pbkdf2:sha256:150000$Z3t6fmj2$22da622d94a1f8118"
|
773
791
|
"c0976a03d2f18f680bfff877c9a965db9eedc51bc0be87c",
|
774
792
|
)
|
775
793
|
else:
|
794
|
+
app.config.setdefault("FAB_PASSWORD_HASH_METHOD", "scrypt")
|
776
795
|
app.config.setdefault(
|
777
796
|
"AUTH_DB_FAKE_PASSWORD_HASH_CHECK",
|
778
797
|
"scrypt:32768:8:1$wiDa0ruWlIPhp9LM$6e409d093e62ad54df2af895d0e125b05ff6cf6414"
|
@@ -525,6 +525,14 @@ class AirflowAppBuilder:
|
|
525
525
|
log.warning(LOGMSG_WAR_FAB_VIEW_EXISTS, baseview.__class__.__name__)
|
526
526
|
return baseview
|
527
527
|
|
528
|
+
def add_api(self, baseview):
|
529
|
+
"""
|
530
|
+
Add a BaseApi class or child to AppBuilder.
|
531
|
+
|
532
|
+
:param baseview: A BaseApi type class
|
533
|
+
"""
|
534
|
+
return self.add_view_no_menu(baseview)
|
535
|
+
|
528
536
|
@property
|
529
537
|
def get_url_for_index(self):
|
530
538
|
return url_for(f"{self.indexview.endpoint}.{self.indexview.default_view}")
|
@@ -14,7 +14,7 @@
|
|
14
14
|
},
|
15
15
|
"devDependencies": {
|
16
16
|
"@babel/core": "^7.27.4",
|
17
|
-
"@babel/eslint-parser": "^7.27.
|
17
|
+
"@babel/eslint-parser": "^7.27.5",
|
18
18
|
"@babel/plugin-transform-runtime": "^7.27.4",
|
19
19
|
"@babel/preset-env": "^7.27.2",
|
20
20
|
"babel-loader": "^10.0.0",
|
@@ -112,9 +112,9 @@
|
|
112
112
|
}
|
113
113
|
},
|
114
114
|
"node_modules/@babel/eslint-parser": {
|
115
|
-
"version": "7.27.
|
116
|
-
"resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.27.
|
117
|
-
"integrity": "sha512-
|
115
|
+
"version": "7.27.5",
|
116
|
+
"resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.27.5.tgz",
|
117
|
+
"integrity": "sha512-HLkYQfRICudzcOtjGwkPvGc5nF1b4ljLZh1IRDj50lRZ718NAKVgQpIAUX8bfg6u/yuSKY3L7E0YzIV+OxrB8Q==",
|
118
118
|
"dev": true,
|
119
119
|
"license": "MIT",
|
120
120
|
"dependencies": {
|