apache-airflow-providers-fab 1.5.3rc1__py3-none-any.whl → 2.0.0b1__py3-none-any.whl
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.
- airflow/providers/fab/LICENSE +0 -52
- airflow/providers/fab/__init__.py +3 -3
- airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py +3 -3
- airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py +4 -4
- airflow/providers/fab/auth_manager/api/auth/backend/session.py +1 -1
- airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py +14 -13
- airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py +12 -12
- airflow/providers/fab/auth_manager/api_fastapi/__init__.py +16 -0
- airflow/providers/fab/auth_manager/api_fastapi/datamodels/__init__.py +16 -0
- airflow/providers/fab/auth_manager/api_fastapi/datamodels/login.py +32 -0
- airflow/providers/fab/auth_manager/api_fastapi/openapi/__init__.py +16 -0
- airflow/providers/fab/auth_manager/api_fastapi/openapi/v1-generated.yaml +152 -0
- airflow/providers/fab/auth_manager/api_fastapi/routes/__init__.py +16 -0
- airflow/providers/fab/auth_manager/api_fastapi/routes/login.py +51 -0
- airflow/providers/fab/auth_manager/api_fastapi/services/__init__.py +16 -0
- airflow/providers/fab/auth_manager/api_fastapi/services/login.py +58 -0
- airflow/providers/fab/auth_manager/cli_commands/db_command.py +2 -4
- airflow/providers/fab/auth_manager/cli_commands/user_command.py +2 -2
- airflow/providers/fab/auth_manager/cli_commands/utils.py +10 -9
- airflow/providers/fab/auth_manager/fab_auth_manager.py +231 -126
- airflow/providers/fab/auth_manager/models/__init__.py +1 -1
- airflow/providers/fab/auth_manager/models/anonymous_user.py +1 -1
- airflow/providers/fab/auth_manager/models/db.py +22 -5
- airflow/providers/fab/auth_manager/schemas/user_schema.py +1 -1
- airflow/providers/fab/auth_manager/security_manager/override.py +71 -632
- airflow/providers/fab/auth_manager/views/permissions.py +1 -1
- airflow/providers/fab/auth_manager/views/roles_list.py +1 -1
- airflow/providers/fab/auth_manager/views/user.py +1 -1
- airflow/providers/fab/auth_manager/views/user_edit.py +1 -1
- airflow/providers/fab/auth_manager/views/user_stats.py +1 -1
- airflow/providers/fab/get_provider_info.py +22 -16
- airflow/providers/fab/www/airflow_flask_app.py +31 -0
- airflow/providers/fab/www/api_connexion/__init__.py +17 -0
- airflow/providers/fab/www/api_connexion/exceptions.py +197 -0
- airflow/providers/fab/www/api_connexion/parameters.py +131 -0
- airflow/providers/fab/www/api_connexion/security.py +84 -0
- airflow/providers/fab/www/api_connexion/types.py +30 -0
- airflow/providers/fab/www/app.py +112 -0
- airflow/providers/fab/www/auth.py +350 -0
- airflow/providers/fab/www/constants.py +28 -0
- airflow/providers/fab/www/extensions/__init__.py +16 -0
- airflow/providers/fab/www/extensions/init_appbuilder.py +602 -0
- airflow/providers/fab/www/extensions/init_jinja_globals.py +82 -0
- airflow/providers/fab/www/extensions/init_manifest_files.py +61 -0
- airflow/providers/fab/www/extensions/init_security.py +61 -0
- airflow/providers/fab/www/extensions/init_session.py +64 -0
- airflow/providers/fab/www/extensions/init_views.py +177 -0
- airflow/providers/fab/www/package-lock.json +10127 -0
- airflow/providers/fab/www/package.json +81 -0
- airflow/providers/fab/www/security/__init__.py +17 -0
- airflow/providers/fab/www/security/permissions.py +126 -0
- airflow/providers/fab/www/security_appless.py +44 -0
- airflow/providers/fab/www/security_manager.py +122 -0
- airflow/providers/fab/www/session.py +41 -0
- airflow/providers/fab/www/static/css/bootstrap-theme.css +6215 -0
- airflow/providers/fab/www/static/css/flash.css +57 -0
- airflow/providers/fab/www/static/css/loading-dots.css +60 -0
- airflow/providers/fab/www/static/css/main.css +676 -0
- airflow/providers/fab/www/static/css/material-icons.css +84 -0
- airflow/providers/fab/www/static/dist/airflowDefaultTheme.feec4a4075c2f3d6ae01.css +33 -0
- airflow/providers/fab/www/static/dist/airflowDefaultTheme.feec4a4075c2f3d6ae01.js +1 -0
- airflow/providers/fab/www/static/dist/flash.137b30cff85b5588e661.css +18 -0
- airflow/providers/fab/www/static/dist/flash.137b30cff85b5588e661.js +1 -0
- airflow/providers/fab/www/static/dist/jquery-ui.min.css +5 -0
- airflow/providers/fab/www/static/dist/jquery-ui.min.js +2 -0
- airflow/providers/fab/www/static/dist/jquery-ui.min.js.LICENSE.txt +4 -0
- airflow/providers/fab/www/static/dist/loadingDots.48ab7d5b04e66f2686b0.css +18 -0
- airflow/providers/fab/www/static/dist/loadingDots.48ab7d5b04e66f2686b0.js +1 -0
- airflow/providers/fab/www/static/dist/main.ec1d38d994d72bb083cd.css +18 -0
- airflow/providers/fab/www/static/dist/main.ec1d38d994d72bb083cd.js +2 -0
- airflow/providers/fab/www/static/dist/main.ec1d38d994d72bb083cd.js.LICENSE.txt +18 -0
- airflow/providers/fab/www/static/dist/manifest.json +17 -0
- airflow/providers/fab/www/static/dist/materialIcons.57390fa60d8f61175334.css +18 -0
- airflow/providers/fab/www/static/dist/materialIcons.57390fa60d8f61175334.js +1 -0
- airflow/providers/fab/www/static/dist/moment.4d28b37c229bdfc54575.js +2 -0
- airflow/providers/fab/www/static/dist/moment.4d28b37c229bdfc54575.js.LICENSE.txt +11 -0
- airflow/providers/fab/www/static/dist/oss-licenses.json +29 -0
- airflow/providers/fab/www/static/js/datetime_utils.js +134 -0
- airflow/providers/fab/www/static/js/main.js +324 -0
- airflow/providers/fab/www/static/sort_asc.png +0 -0
- airflow/providers/fab/www/static/sort_both.png +0 -0
- airflow/providers/fab/www/static/sort_desc.png +0 -0
- airflow/providers/fab/www/templates/airflow/_messages.html +30 -0
- airflow/providers/fab/www/templates/airflow/error.html +35 -0
- airflow/providers/fab/www/templates/airflow/main.html +78 -0
- airflow/providers/fab/www/templates/airflow/traceback.html +53 -0
- airflow/providers/fab/www/templates/appbuilder/flash.html +34 -0
- airflow/providers/fab/www/templates/appbuilder/index.html +20 -0
- airflow/providers/fab/www/templates/appbuilder/navbar.html +60 -0
- airflow/providers/fab/www/templates/appbuilder/navbar_menu.html +60 -0
- airflow/providers/fab/www/templates/appbuilder/navbar_right.html +64 -0
- airflow/providers/fab/www/utils.py +272 -0
- airflow/providers/fab/www/views.py +129 -0
- airflow/providers/fab/www/webpack.config.js +213 -0
- {apache_airflow_providers_fab-1.5.3rc1.dist-info → apache_airflow_providers_fab-2.0.0b1.dist-info}/METADATA +18 -36
- apache_airflow_providers_fab-2.0.0b1.dist-info/RECORD +122 -0
- {apache_airflow_providers_fab-1.5.3rc1.dist-info → apache_airflow_providers_fab-2.0.0b1.dist-info}/WHEEL +1 -1
- airflow/providers/fab/auth_manager/decorators/auth.py +0 -126
- apache_airflow_providers_fab-1.5.3rc1.dist-info/RECORD +0 -51
- /airflow/providers/fab/{auth_manager/decorators → www}/__init__.py +0 -0
- {apache_airflow_providers_fab-1.5.3rc1.dist-info → apache_airflow_providers_fab-2.0.0b1.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,129 @@
|
|
1
|
+
#
|
2
|
+
# Licensed to the Apache Software Foundation (ASF) under one
|
3
|
+
# or more contributor license agreements. See the NOTICE file
|
4
|
+
# distributed with this work for additional information
|
5
|
+
# regarding copyright ownership. The ASF licenses this file
|
6
|
+
# to you under the Apache License, Version 2.0 (the
|
7
|
+
# "License"); you may not use this file except in compliance
|
8
|
+
# with the License. You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing,
|
13
|
+
# software distributed under the License is distributed on an
|
14
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
15
|
+
# KIND, either express or implied. See the License for the
|
16
|
+
# specific language governing permissions and limitations
|
17
|
+
# under the License.
|
18
|
+
from __future__ import annotations
|
19
|
+
|
20
|
+
from urllib.parse import unquote, urljoin, urlsplit
|
21
|
+
|
22
|
+
from flask import (
|
23
|
+
g,
|
24
|
+
make_response,
|
25
|
+
redirect,
|
26
|
+
render_template,
|
27
|
+
request,
|
28
|
+
url_for,
|
29
|
+
)
|
30
|
+
from flask_appbuilder import IndexView, expose
|
31
|
+
|
32
|
+
from airflow.api_fastapi.app import get_auth_manager
|
33
|
+
from airflow.api_fastapi.auth.managers.base_auth_manager import COOKIE_NAME_JWT_TOKEN
|
34
|
+
from airflow.configuration import conf
|
35
|
+
|
36
|
+
# Following the release of https://github.com/python/cpython/issues/102153 in Python 3.9.17 on
|
37
|
+
# June 6, 2023, we are adding extra sanitization of the urls passed to get_safe_url method to make it works
|
38
|
+
# the same way regardless if the user uses latest Python patchlevel versions or not. This also follows
|
39
|
+
# a recommended solution by the Python core team.
|
40
|
+
#
|
41
|
+
# From: https://github.com/python/cpython/commit/d28bafa2d3e424b6fdcfd7ae7cde8e71d7177369
|
42
|
+
#
|
43
|
+
# We recommend that users of these APIs where the values may be used anywhere
|
44
|
+
# with security implications code defensively. Do some verification within your
|
45
|
+
# code before trusting a returned component part. Does that ``scheme`` make
|
46
|
+
# sense? Is that a sensible ``path``? Is there anything strange about that
|
47
|
+
# ``hostname``? etc.
|
48
|
+
#
|
49
|
+
# C0 control and space to be stripped per WHATWG spec.
|
50
|
+
# == "".join([chr(i) for i in range(0, 0x20 + 1)])
|
51
|
+
_WHATWG_C0_CONTROL_OR_SPACE = (
|
52
|
+
"\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c"
|
53
|
+
"\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f "
|
54
|
+
)
|
55
|
+
|
56
|
+
|
57
|
+
class FabIndexView(IndexView):
|
58
|
+
"""
|
59
|
+
A simple view that inherits from FAB index view.
|
60
|
+
|
61
|
+
The only goal of this view is to redirect the user to the Airflow 3 UI index page if the user is
|
62
|
+
authenticated. It is impossible to redirect the user directly to the Airflow 3 UI index page before
|
63
|
+
redirecting them to this page because FAB itself defines the logic redirection and does not allow external
|
64
|
+
redirect.
|
65
|
+
"""
|
66
|
+
|
67
|
+
@expose("/")
|
68
|
+
def index(self):
|
69
|
+
if g.user is not None and g.user.is_authenticated:
|
70
|
+
token = get_auth_manager().generate_jwt(g.user)
|
71
|
+
response = make_response(redirect(f"{conf.get('api', 'base_url')}", code=302))
|
72
|
+
|
73
|
+
secure = bool(conf.get("api", "ssl_cert"))
|
74
|
+
response.set_cookie(COOKIE_NAME_JWT_TOKEN, token, secure=secure)
|
75
|
+
|
76
|
+
return response
|
77
|
+
else:
|
78
|
+
return redirect(conf.get("api", "base_url"), code=302)
|
79
|
+
|
80
|
+
|
81
|
+
def show_traceback(error):
|
82
|
+
"""Show Traceback for a given error."""
|
83
|
+
return render_template("airflow/traceback.html"), 500
|
84
|
+
|
85
|
+
|
86
|
+
def not_found(error):
|
87
|
+
"""Show Not Found on screen for any error in the Webserver."""
|
88
|
+
return (
|
89
|
+
render_template(
|
90
|
+
"airflow/error.html",
|
91
|
+
hostname="",
|
92
|
+
status_code=404,
|
93
|
+
error_message="Page cannot be found.",
|
94
|
+
),
|
95
|
+
404,
|
96
|
+
)
|
97
|
+
|
98
|
+
|
99
|
+
def get_safe_url(url):
|
100
|
+
"""Given a user-supplied URL, ensure it points to our web server."""
|
101
|
+
if not url:
|
102
|
+
return url_for("FabIndexView.index")
|
103
|
+
|
104
|
+
# If the url contains semicolon, redirect it to homepage to avoid
|
105
|
+
# potential XSS. (Similar to https://github.com/python/cpython/pull/24297/files (bpo-42967))
|
106
|
+
if ";" in unquote(url):
|
107
|
+
return url_for("FabIndexView.index")
|
108
|
+
|
109
|
+
url = url.lstrip(_WHATWG_C0_CONTROL_OR_SPACE)
|
110
|
+
|
111
|
+
host_url = urlsplit(request.host_url)
|
112
|
+
redirect_url = urlsplit(urljoin(request.host_url, url))
|
113
|
+
if not (redirect_url.scheme in ("http", "https") and host_url.netloc == redirect_url.netloc):
|
114
|
+
return url_for("FabIndexView.index")
|
115
|
+
|
116
|
+
# This will ensure we only redirect to the right scheme/netloc
|
117
|
+
return redirect_url.geturl()
|
118
|
+
|
119
|
+
|
120
|
+
def method_not_allowed(error):
|
121
|
+
"""Show Method Not Allowed on screen for any error in the Webserver."""
|
122
|
+
return (
|
123
|
+
render_template(
|
124
|
+
"airflow/error.html",
|
125
|
+
status_code=405,
|
126
|
+
error_message="Received an invalid request.",
|
127
|
+
),
|
128
|
+
405,
|
129
|
+
)
|
@@ -0,0 +1,213 @@
|
|
1
|
+
/*!
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one
|
3
|
+
* or more contributor license agreements. See the NOTICE file
|
4
|
+
* distributed with this work for additional information
|
5
|
+
* regarding copyright ownership. The ASF licenses this file
|
6
|
+
* to you under the Apache License, Version 2.0 (the
|
7
|
+
* "License"); you may not use this file except in compliance
|
8
|
+
* with the License. You may obtain a copy of the License at
|
9
|
+
*
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
*
|
12
|
+
* Unless required by applicable law or agreed to in writing,
|
13
|
+
* software distributed under the License is distributed on an
|
14
|
+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
15
|
+
* KIND, either express or implied. See the License for the
|
16
|
+
* specific language governing permissions and limitations
|
17
|
+
* under the License.
|
18
|
+
*/
|
19
|
+
|
20
|
+
const webpack = require("webpack");
|
21
|
+
const path = require("path");
|
22
|
+
const { WebpackManifestPlugin } = require("webpack-manifest-plugin");
|
23
|
+
const cwplg = require("clean-webpack-plugin");
|
24
|
+
const CopyWebpackPlugin = require("copy-webpack-plugin");
|
25
|
+
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
26
|
+
const MomentLocalesPlugin = require("moment-locales-webpack-plugin");
|
27
|
+
const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
|
28
|
+
const LicensePlugin = require("webpack-license-plugin");
|
29
|
+
const TerserPlugin = require("terser-webpack-plugin");
|
30
|
+
|
31
|
+
// Input Directory (airflow/www)
|
32
|
+
// noinspection JSUnresolvedVariable
|
33
|
+
const CSS_DIR = path.resolve(__dirname, "./static/css");
|
34
|
+
const JS_DIR = path.resolve(__dirname, "./static/js");
|
35
|
+
|
36
|
+
// Output Directory (airflow/www/static/dist)
|
37
|
+
// noinspection JSUnresolvedVariable
|
38
|
+
const BUILD_DIR = path.resolve(__dirname, "./static/dist");
|
39
|
+
|
40
|
+
// Convert licenses json into a standard format for LICENSES.txt
|
41
|
+
const formatLicenses = (packages) => {
|
42
|
+
let text = `Apache Airflow
|
43
|
+
Copyright 2016-2023 The Apache Software Foundation
|
44
|
+
|
45
|
+
This product includes software developed at The Apache Software
|
46
|
+
Foundation (http://www.apache.org/).
|
47
|
+
|
48
|
+
=======================================================================
|
49
|
+
`;
|
50
|
+
packages.forEach((p) => {
|
51
|
+
text += `${p.name}|${p.version}:\n-----\n${p.license}\n${
|
52
|
+
p.licenseText || p.author
|
53
|
+
}\n${p.repository || ""}\n\n\n`;
|
54
|
+
});
|
55
|
+
return text;
|
56
|
+
};
|
57
|
+
|
58
|
+
const config = {
|
59
|
+
entry: {
|
60
|
+
airflowDefaultTheme: `${CSS_DIR}/bootstrap-theme.css`,
|
61
|
+
flash: `${CSS_DIR}/flash.css`,
|
62
|
+
loadingDots: `${CSS_DIR}/loading-dots.css`,
|
63
|
+
main: [`${CSS_DIR}/main.css`, `${JS_DIR}/main.js`],
|
64
|
+
materialIcons: `${CSS_DIR}/material-icons.css`,
|
65
|
+
moment: "moment-timezone",
|
66
|
+
},
|
67
|
+
output: {
|
68
|
+
path: BUILD_DIR,
|
69
|
+
filename: "[name].[chunkhash].js",
|
70
|
+
chunkFilename: "[name].[chunkhash].js",
|
71
|
+
library: ["Airflow", "[name]"],
|
72
|
+
libraryTarget: "umd",
|
73
|
+
publicPath: "",
|
74
|
+
},
|
75
|
+
resolve: {
|
76
|
+
alias: {
|
77
|
+
// Be sure to update aliases in jest.config.js and tsconfig.json
|
78
|
+
src: path.resolve(__dirname, "static/js"),
|
79
|
+
},
|
80
|
+
extensions: [".js", ".css"],
|
81
|
+
},
|
82
|
+
module: {
|
83
|
+
rules: [
|
84
|
+
{
|
85
|
+
test: /\.(js)$/,
|
86
|
+
exclude: /node_modules/,
|
87
|
+
use: [
|
88
|
+
{
|
89
|
+
loader: "babel-loader",
|
90
|
+
},
|
91
|
+
],
|
92
|
+
},
|
93
|
+
// Extract css files
|
94
|
+
{
|
95
|
+
test: /\.css$/,
|
96
|
+
include: CSS_DIR,
|
97
|
+
exclude: /node_modules/,
|
98
|
+
use: [
|
99
|
+
{
|
100
|
+
loader: MiniCssExtractPlugin.loader,
|
101
|
+
options: {
|
102
|
+
esModule: true,
|
103
|
+
},
|
104
|
+
},
|
105
|
+
"css-loader",
|
106
|
+
],
|
107
|
+
},
|
108
|
+
// Extract css files
|
109
|
+
{
|
110
|
+
test: /\.css$/,
|
111
|
+
exclude: CSS_DIR,
|
112
|
+
include: /node_modules/,
|
113
|
+
use: ["css-loader"],
|
114
|
+
},
|
115
|
+
/* for css linking images */
|
116
|
+
{
|
117
|
+
test: /\.(png|jpg|gif)$/i,
|
118
|
+
use: [
|
119
|
+
{
|
120
|
+
loader: "url-loader",
|
121
|
+
options: {
|
122
|
+
limit: 100000,
|
123
|
+
},
|
124
|
+
},
|
125
|
+
],
|
126
|
+
},
|
127
|
+
/* for fonts */
|
128
|
+
{
|
129
|
+
test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
|
130
|
+
use: [
|
131
|
+
{
|
132
|
+
loader: "url-loader",
|
133
|
+
options: {
|
134
|
+
limit: 100000,
|
135
|
+
mimetype: "application/font-woff",
|
136
|
+
},
|
137
|
+
},
|
138
|
+
],
|
139
|
+
},
|
140
|
+
{
|
141
|
+
test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
|
142
|
+
use: [
|
143
|
+
{
|
144
|
+
loader: "file-loader",
|
145
|
+
},
|
146
|
+
],
|
147
|
+
},
|
148
|
+
],
|
149
|
+
},
|
150
|
+
plugins: [
|
151
|
+
new WebpackManifestPlugin({
|
152
|
+
// d3-tip is named index.js in its dist folder which was confusing the manifest
|
153
|
+
map: (file) =>
|
154
|
+
file.path === "d3-tip.js" ? { ...file, name: "d3-tip.js" } : file,
|
155
|
+
}),
|
156
|
+
new cwplg.CleanWebpackPlugin({
|
157
|
+
verbose: true,
|
158
|
+
}),
|
159
|
+
new MiniCssExtractPlugin({
|
160
|
+
filename: "[name].[chunkhash].css",
|
161
|
+
}),
|
162
|
+
|
163
|
+
// MomentJS loads all the locale, making it a huge JS file.
|
164
|
+
// This will ignore the locales from momentJS
|
165
|
+
new MomentLocalesPlugin(),
|
166
|
+
|
167
|
+
new webpack.DefinePlugin({
|
168
|
+
"process.env": {
|
169
|
+
NODE_ENV: JSON.stringify(process.env.NODE_ENV),
|
170
|
+
},
|
171
|
+
}),
|
172
|
+
// Since we have all the dependencies separated from hard-coded JS within HTML,
|
173
|
+
// this seems like an efficient solution for now. Will update that once
|
174
|
+
// we'll have the dependencies imported within the custom JS
|
175
|
+
new CopyWebpackPlugin({
|
176
|
+
patterns: [
|
177
|
+
{
|
178
|
+
from: "node_modules/jquery-ui/dist/jquery-ui.min.js",
|
179
|
+
flatten: true,
|
180
|
+
},
|
181
|
+
{
|
182
|
+
from: "node_modules/jquery-ui/dist/themes/base/jquery-ui.min.css",
|
183
|
+
flatten: true,
|
184
|
+
},
|
185
|
+
],
|
186
|
+
}),
|
187
|
+
new LicensePlugin({
|
188
|
+
additionalFiles: {
|
189
|
+
"../../../../3rd-party-licenses/LICENSES-ui.txt": formatLicenses,
|
190
|
+
},
|
191
|
+
unacceptableLicenseTest: (licenseIdentifier) =>
|
192
|
+
[
|
193
|
+
"BCL",
|
194
|
+
"JSR",
|
195
|
+
"ASL",
|
196
|
+
"RSAL",
|
197
|
+
"SSPL",
|
198
|
+
"CPOL",
|
199
|
+
"NPL",
|
200
|
+
"BSD-4",
|
201
|
+
"QPL",
|
202
|
+
"GPL",
|
203
|
+
"LGPL",
|
204
|
+
].includes(licenseIdentifier),
|
205
|
+
}),
|
206
|
+
],
|
207
|
+
optimization: {
|
208
|
+
minimize: process.env.NODE_ENV === "production",
|
209
|
+
minimizer: [new CssMinimizerPlugin({}), new TerserPlugin()],
|
210
|
+
},
|
211
|
+
};
|
212
|
+
|
213
|
+
module.exports = config;
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: apache-airflow-providers-fab
|
3
|
-
Version:
|
3
|
+
Version: 2.0.0b1
|
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,20 +20,20 @@ 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
|
24
|
-
Requires-Dist: apache-airflow>=2.
|
23
|
+
Requires-Dist: apache-airflow>=3.0.0.dev0
|
24
|
+
Requires-Dist: apache-airflow-providers-common-compat>=1.2.1
|
25
|
+
Requires-Dist: flask>=2.2,<2.3
|
25
26
|
Requires-Dist: flask-appbuilder==4.5.3
|
26
27
|
Requires-Dist: flask-login>=0.6.2
|
27
|
-
Requires-Dist: flask>=2.2,<
|
28
|
-
Requires-Dist: google-re2>=1.0
|
28
|
+
Requires-Dist: connexion[flask]>=2.14.2,<3.0
|
29
29
|
Requires-Dist: jmespath>=0.7.0
|
30
30
|
Requires-Dist: kerberos>=1.3.0 ; extra == "kerberos"
|
31
31
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
32
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-fab/
|
33
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-fab/
|
32
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-fab/2.0.0b1/changelog.html
|
33
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-fab/2.0.0b1
|
34
|
+
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
34
35
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
35
36
|
Project-URL: Source Code, https://github.com/apache/airflow
|
36
|
-
Project-URL: Twitter, https://x.com/ApacheAirflow
|
37
37
|
Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
38
38
|
Provides-Extra: kerberos
|
39
39
|
|
@@ -55,33 +55,14 @@ Provides-Extra: kerberos
|
|
55
55
|
specific language governing permissions and limitations
|
56
56
|
under the License.
|
57
57
|
|
58
|
-
|
59
|
-
or more contributor license agreements. See the NOTICE file
|
60
|
-
distributed with this work for additional information
|
61
|
-
regarding copyright ownership. The ASF licenses this file
|
62
|
-
to you under the Apache License, Version 2.0 (the
|
63
|
-
"License"); you may not use this file except in compliance
|
64
|
-
with the License. You may obtain a copy of the License at
|
65
|
-
|
66
|
-
.. http://www.apache.org/licenses/LICENSE-2.0
|
67
|
-
|
68
|
-
.. Unless required by applicable law or agreed to in writing,
|
69
|
-
software distributed under the License is distributed on an
|
70
|
-
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
71
|
-
KIND, either express or implied. See the License for the
|
72
|
-
specific language governing permissions and limitations
|
73
|
-
under the License.
|
74
|
-
|
75
|
-
.. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
|
76
|
-
OVERWRITTEN WHEN PREPARING PACKAGES.
|
77
|
-
|
78
|
-
.. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
|
79
|
-
`PROVIDER_README_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
|
58
|
+
.. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
|
80
59
|
|
60
|
+
.. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
|
61
|
+
``PROVIDER_README_TEMPLATE.rst.jinja2`` IN the ``dev/breeze/src/airflow_breeze/templates`` DIRECTORY
|
81
62
|
|
82
63
|
Package ``apache-airflow-providers-fab``
|
83
64
|
|
84
|
-
Release: ``
|
65
|
+
Release: ``2.0.0b1``
|
85
66
|
|
86
67
|
|
87
68
|
`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
|
@@ -94,7 +75,7 @@ This is a provider package for ``fab`` provider. All classes for this provider p
|
|
94
75
|
are in ``airflow.providers.fab`` python package.
|
95
76
|
|
96
77
|
You can find package information and changelog for the provider
|
97
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/
|
78
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.0.0b1/>`_.
|
98
79
|
|
99
80
|
Installation
|
100
81
|
------------
|
@@ -111,12 +92,12 @@ Requirements
|
|
111
92
|
========================================== ==================
|
112
93
|
PIP package Version required
|
113
94
|
========================================== ==================
|
114
|
-
``apache-airflow`` ``>=
|
95
|
+
``apache-airflow`` ``>=3.0.0.dev0``
|
115
96
|
``apache-airflow-providers-common-compat`` ``>=1.2.1``
|
116
97
|
``flask`` ``>=2.2,<2.3``
|
117
98
|
``flask-appbuilder`` ``==4.5.3``
|
118
99
|
``flask-login`` ``>=0.6.2``
|
119
|
-
``
|
100
|
+
``connexion[flask]`` ``>=2.14.2,<3.0``
|
120
101
|
``jmespath`` ``>=0.7.0``
|
121
102
|
========================================== ==================
|
122
103
|
|
@@ -140,4 +121,5 @@ Dependent package
|
|
140
121
|
================================================================================================================== =================
|
141
122
|
|
142
123
|
The changelog for the provider package can be found in the
|
143
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/
|
124
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.0.0b1/changelog.html>`_.
|
125
|
+
|
@@ -0,0 +1,122 @@
|
|
1
|
+
airflow/providers/fab/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
|
2
|
+
airflow/providers/fab/__init__.py,sha256=ATVeBSoHT4O7ZiWtcHgq1afB4a1-IZilk8chJ1jXXSk,1502
|
3
|
+
airflow/providers/fab/alembic.ini,sha256=_1SvObfjMAkuD7DN5VR2S6Rd7_F81pORZT-w7GJldIA,4461
|
4
|
+
airflow/providers/fab/get_provider_info.py,sha256=i3Rt6O3VRPggRjMjY2odMHDit3y3KPEQCvsZn-J2eVw,3903
|
5
|
+
airflow/providers/fab/auth_manager/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
6
|
+
airflow/providers/fab/auth_manager/fab_auth_manager.py,sha256=HHJQvGnKSv_Fmtwaa52Fn7cujSP3Lu2pv1d5f9JOwzc,25594
|
7
|
+
airflow/providers/fab/auth_manager/api/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
8
|
+
airflow/providers/fab/auth_manager/api/auth/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
9
|
+
airflow/providers/fab/auth_manager/api/auth/backend/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
10
|
+
airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py,sha256=ogaqINat_nL8jc4ciiqMi3ksYezyQiRPbHOGnWEsito,2503
|
11
|
+
airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py,sha256=Vh8YZ4W4RP23C06FUNPqwYkP0kq4opNuGhNnPVh4FbQ,4997
|
12
|
+
airflow/providers/fab/auth_manager/api/auth/backend/session.py,sha256=3xBC4PKvONya4MGhr5HZoPwojWmjStHoR43J8t4eiY4,1502
|
13
|
+
airflow/providers/fab/auth_manager/api_endpoints/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
14
|
+
airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py,sha256=-imnqDvaiv126asvHga9nu3mkoeU-2eQna3FIYmZepc,7607
|
15
|
+
airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py,sha256=B-MY-H9ctooXby4BBuyaJ-1HXkOln8umg0EVHkMXx_o,8447
|
16
|
+
airflow/providers/fab/auth_manager/api_fastapi/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
17
|
+
airflow/providers/fab/auth_manager/api_fastapi/datamodels/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
18
|
+
airflow/providers/fab/auth_manager/api_fastapi/datamodels/login.py,sha256=1y3Kl3O7NDqfcGddkVYAVxQ5z3ahNAw9Rr61ZRbKpno,1089
|
19
|
+
airflow/providers/fab/auth_manager/api_fastapi/openapi/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
20
|
+
airflow/providers/fab/auth_manager/api_fastapi/openapi/v1-generated.yaml,sha256=locFEKtJTYNqO_VNo0gOQtqFkMLIxYPlPWFPRyCkNSk,4050
|
21
|
+
airflow/providers/fab/auth_manager/api_fastapi/routes/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
22
|
+
airflow/providers/fab/auth_manager/api_fastapi/routes/login.py,sha256=jSvVMa0lm10XW5WUeVygmfsSlTDiSZE2JDYAJiQkNXU,2127
|
23
|
+
airflow/providers/fab/auth_manager/api_fastapi/services/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
24
|
+
airflow/providers/fab/auth_manager/api_fastapi/services/login.py,sha256=mozWzoJr-iYYiLaclzw9wgKO2oWxylc69ronSF7-5A0,2466
|
25
|
+
airflow/providers/fab/auth_manager/cli_commands/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
26
|
+
airflow/providers/fab/auth_manager/cli_commands/db_command.py,sha256=rIVQwgF1tevH87_d4uhKE3P4X3bnQ9P0IG9aicUvMcE,2166
|
27
|
+
airflow/providers/fab/auth_manager/cli_commands/definition.py,sha256=XIAPqoHwkFHshfbj6yGIs7xUrR-uSE1F7V71n44PttA,11483
|
28
|
+
airflow/providers/fab/auth_manager/cli_commands/role_command.py,sha256=4w1tHTR5gBbsymeqGIJ4Rs8CmGdw0l49y58pfI0DB_s,9098
|
29
|
+
airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.py,sha256=VpW-rWhgHAL_ReU66D_BrsxlXQN4okfxzj6dyE5IfwA,1663
|
30
|
+
airflow/providers/fab/auth_manager/cli_commands/user_command.py,sha256=jkJZnuw17YGTCuUZHtnkSQ6pcUr38nDHetuRdV-0N5o,10273
|
31
|
+
airflow/providers/fab/auth_manager/cli_commands/utils.py,sha256=beQBh8sRQc3w3fGHj5f4c23v0_MjGvaj2FquWNjZ8_s,2927
|
32
|
+
airflow/providers/fab/auth_manager/models/__init__.py,sha256=Maaid2MjfR3wswj5SsbfBc-VEqgKbbCgny1JLk5Aqaw,9255
|
33
|
+
airflow/providers/fab/auth_manager/models/anonymous_user.py,sha256=mGLV26biw5db6hymFZ6qL7oCyVNaLduwDWS0kYuMZDg,1886
|
34
|
+
airflow/providers/fab/auth_manager/models/db.py,sha256=k0CFgwnSLjTDia7yM0yZOwA8IrGIrQ7k1Qm9hrdBtII,4975
|
35
|
+
airflow/providers/fab/auth_manager/openapi/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
36
|
+
airflow/providers/fab/auth_manager/openapi/v1.yaml,sha256=xFlQMccLoGarx8SnQvGJ1DRfHo4jQ3p9DzoPqQINcCw,19380
|
37
|
+
airflow/providers/fab/auth_manager/schemas/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
38
|
+
airflow/providers/fab/auth_manager/schemas/role_and_permission_schema.py,sha256=aDB0naczyEsGYaF3U3djF-Ui6lxPdgWHvgcwjyJn_X8,2526
|
39
|
+
airflow/providers/fab/auth_manager/schemas/user_schema.py,sha256=MLnZotQqAg_BFvJunrSwbwur5CaTjk1ww3eCI3aPT6Y,2401
|
40
|
+
airflow/providers/fab/auth_manager/security_manager/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
41
|
+
airflow/providers/fab/auth_manager/security_manager/constants.py,sha256=x1Sjl_Mu3wmaSy3NFZlHxK2z-juzWmMs1SrzJ0aiBBQ,907
|
42
|
+
airflow/providers/fab/auth_manager/security_manager/override.py,sha256=FiRD1sdhW05BFS9TiRvcfLZGdrfr8RMkYS6ExxN7kKA,94349
|
43
|
+
airflow/providers/fab/auth_manager/views/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
44
|
+
airflow/providers/fab/auth_manager/views/permissions.py,sha256=CT6jMCDHtirs0Qe4Penb6VwQq1yZeZ1lOLZITIlVqm4,2904
|
45
|
+
airflow/providers/fab/auth_manager/views/roles_list.py,sha256=DwJ1iOCfpbxsWTEFWjW5_Jo3fmrZwxj1rPeflTaSg7A,1512
|
46
|
+
airflow/providers/fab/auth_manager/views/user.py,sha256=JmeBUmTleJSvvQmQdNyESx3-FzBq95vPHiWQ8W6jzaI,6013
|
47
|
+
airflow/providers/fab/auth_manager/views/user_edit.py,sha256=79RILFOlmithdKCBYDUlPT0Iq_uffZnCZgGBiD4lz4E,2158
|
48
|
+
airflow/providers/fab/auth_manager/views/user_stats.py,sha256=hs-bYvKTxU1-ohryLQgczMT0peOJWcpDwAD2mItQJLE,1318
|
49
|
+
airflow/providers/fab/migrations/README,sha256=heMzebYwlGhnE8_4CWJ4LS74WoEZjBy-S-mIJRxAEKI,39
|
50
|
+
airflow/providers/fab/migrations/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
51
|
+
airflow/providers/fab/migrations/env.py,sha256=wbgFowVIf-wY1L-DqD2f8wiuTeXNDKeAUw1oM15Fd0U,3998
|
52
|
+
airflow/providers/fab/migrations/script.py.mako,sha256=_krfPtzv1Unme2b9MCHPgXo0g73HcN2_zDgz3co2N4M,1353
|
53
|
+
airflow/providers/fab/migrations/versions/0001_1_4_0_placeholder_migration.py,sha256=wLZiBiWjfSofXZ4jXMjpEKkIc3jI0a6hpJ73xEYAzss,1370
|
54
|
+
airflow/providers/fab/migrations/versions/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
55
|
+
airflow/providers/fab/www/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
56
|
+
airflow/providers/fab/www/airflow_flask_app.py,sha256=-JPQ-mS1kKEj5adENnoVSD4LaFrh36l1THnVhFYF8d4,1057
|
57
|
+
airflow/providers/fab/www/app.py,sha256=Pwi9RsdbZhg4KFtS3G4kcTICHgKULsICgbl5cIV0Jv4,4485
|
58
|
+
airflow/providers/fab/www/auth.py,sha256=J3ym_4hE3Uh3okRNSpNzfq1XFIJnWN73HrONyWUR-Xc,12647
|
59
|
+
airflow/providers/fab/www/constants.py,sha256=VUg48B-EZAUZ2IIdmL31Iv0lRlP0yLNPNTufB7rsWr0,1352
|
60
|
+
airflow/providers/fab/www/package-lock.json,sha256=lgoSRCr_a65HrAH3FeG89DhoVemjluW3ZhiuLiigX-s,376480
|
61
|
+
airflow/providers/fab/www/package.json,sha256=4ZRVleR8Z-BtpKgr0WsA1Aw8tltkmBKnx0ecf8cyzkc,2470
|
62
|
+
airflow/providers/fab/www/security_appless.py,sha256=J0OJGRPq6NK2vY6qfMRvyMUEc-E59vXucquQdjgsndY,1655
|
63
|
+
airflow/providers/fab/www/security_manager.py,sha256=Zr6xqjego7Z1-1h2HHyWLt1ZBKG8yHHmNPfEXNxXaRY,4850
|
64
|
+
airflow/providers/fab/www/session.py,sha256=qyy8ipXLe4qH7D52tH3aKY6hyJNJ5tUfHel7_1S4BGg,1741
|
65
|
+
airflow/providers/fab/www/utils.py,sha256=N95_hNDmNFR0HNWJfuVfHGBVy6Z3nF0r8MVSZrgCmMc,9382
|
66
|
+
airflow/providers/fab/www/views.py,sha256=IL6drx8ODEGRXThvhySqo2VK2gpjvj2JVAWyz8t8Qjc,4735
|
67
|
+
airflow/providers/fab/www/webpack.config.js,sha256=CYJI21suTesM36JfdVkP9d5rmVoo2IadYmllcoEyXLM,6105
|
68
|
+
airflow/providers/fab/www/api_connexion/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
69
|
+
airflow/providers/fab/www/api_connexion/exceptions.py,sha256=j0S90JH6Q5hnkshfiZot7Yb9hAvFs1JON0EYjW2bxW0,5783
|
70
|
+
airflow/providers/fab/www/api_connexion/parameters.py,sha256=aOzt-N_627mYgmw9100OoFyPHaB1czEAs69DZDsn134,4306
|
71
|
+
airflow/providers/fab/www/api_connexion/security.py,sha256=79GlHsqBShsUwbdJMv0JhdM9rji6ThFosXArrb-ukzI,3055
|
72
|
+
airflow/providers/fab/www/api_connexion/types.py,sha256=FY96u5nR-ByiKBhoxC_kKVoXalH9GDhexXIGmCbBmKw,1094
|
73
|
+
airflow/providers/fab/www/extensions/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
74
|
+
airflow/providers/fab/www/extensions/init_appbuilder.py,sha256=raB0cXym5RcOK1cgLp3OnjskYsomOtapFt0pDIXBnWE,22074
|
75
|
+
airflow/providers/fab/www/extensions/init_jinja_globals.py,sha256=TfNOEsdLg9mflzDz6hU7lB2ZMkEJvgr-ruB6qKBBLoI,3199
|
76
|
+
airflow/providers/fab/www/extensions/init_manifest_files.py,sha256=DLeAcH2zMGbT-eDLYdXztP7HJG7H-e1jmSTolimZeAI,2125
|
77
|
+
airflow/providers/fab/www/extensions/init_security.py,sha256=sDwMjNMMQgyn2tsQAVkNHArPVbWe9qua66iOO59YGoU,2110
|
78
|
+
airflow/providers/fab/www/extensions/init_session.py,sha256=8oEf0GNncBZ8CN3GPKrwzV6R7s54SUTyO7ZbK47KATo,2648
|
79
|
+
airflow/providers/fab/www/extensions/init_views.py,sha256=OiLfHshii7R1s3lOpTQEzs2syIq-5Arm4Gt-AXGxsKI,6447
|
80
|
+
airflow/providers/fab/www/security/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
81
|
+
airflow/providers/fab/www/security/permissions.py,sha256=5Srt7nuYHOOee439CHKJ74FnCgYkesG32a_6WFCXcOA,4537
|
82
|
+
airflow/providers/fab/www/static/sort_asc.png,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
83
|
+
airflow/providers/fab/www/static/sort_both.png,sha256=PgFsI65RQXOCtkCuLRnrSAR1MsN61TiUvRhVhlWcz_s,201
|
84
|
+
airflow/providers/fab/www/static/sort_desc.png,sha256=0I7Q4h8YfdMJAw1GUiTagIURmhWhfWFroOR3u1DG8Q0,158
|
85
|
+
airflow/providers/fab/www/static/css/bootstrap-theme.css,sha256=9hxX-_gQUlWspJ-CazcRU74IqY8WnmbhrEdbfHJHxV8,129001
|
86
|
+
airflow/providers/fab/www/static/css/flash.css,sha256=Kz1LaSVRlvQU3voXxqB-fQLmIE-gpVrhaTzijXEkrvA,1468
|
87
|
+
airflow/providers/fab/www/static/css/loading-dots.css,sha256=amw1pWMdsaL0yEN_r0rCfwb11FwerQyRyXXFNAoB6hA,1385
|
88
|
+
airflow/providers/fab/www/static/css/main.css,sha256=Emc-ZZumKwH9qLsjor1Lx4supb8NQUHAmRTMNy5mdhU,10395
|
89
|
+
airflow/providers/fab/www/static/css/material-icons.css,sha256=4LV_bzKwJd8UDqOx7jbb2ro_y10nqeaNDmP8Rbv9XCY,112094
|
90
|
+
airflow/providers/fab/www/static/dist/airflowDefaultTheme.feec4a4075c2f3d6ae01.css,sha256=AYL5zQAyux7t5Fpjk5aHSLsRpGfty938gITGl-hrDGY,103413
|
91
|
+
airflow/providers/fab/www/static/dist/airflowDefaultTheme.feec4a4075c2f3d6ae01.js,sha256=hxvEM0DAftBeQQMjkjTgr6t1L4CgkMMPg4UjE5nvjBI,470
|
92
|
+
airflow/providers/fab/www/static/dist/flash.137b30cff85b5588e661.css,sha256=cy1mAp-hBaY2yVlalKNo1Oz7nyykxJiswRttS3Dp9V4,1253
|
93
|
+
airflow/providers/fab/www/static/dist/flash.137b30cff85b5588e661.js,sha256=ChX7SzURR7CK8Qd6p0-NKMyPqVe0qi2thVbINTEQXM4,456
|
94
|
+
airflow/providers/fab/www/static/dist/jquery-ui.min.css,sha256=88PJqqGmkMquKXVmyBhfZSHMepYriRZplfDw8kXA8NM,29941
|
95
|
+
airflow/providers/fab/www/static/dist/jquery-ui.min.js,sha256=txZuQSIYI96Y96416OrtgUwI_X_HubsBrk-6-cA8cpQ,252313
|
96
|
+
airflow/providers/fab/www/static/dist/jquery-ui.min.js.LICENSE.txt,sha256=4UlrvolSNnS2q3J3GQcl__s2-Ssc6GNw5x7IOvvsVbU,1135
|
97
|
+
airflow/providers/fab/www/static/dist/loadingDots.48ab7d5b04e66f2686b0.css,sha256=ohfW0OGrwhZDp1qPPTqvL-6ssIkt6uDooaZkB7KYT7U,1244
|
98
|
+
airflow/providers/fab/www/static/dist/loadingDots.48ab7d5b04e66f2686b0.js,sha256=9xPjsUFKXwEvjkBZgcnab38R99GMuvQv3XCBO-HIzaw,462
|
99
|
+
airflow/providers/fab/www/static/dist/main.ec1d38d994d72bb083cd.css,sha256=JTxeOdRtN5pH8oLgxA6pniehIQryZ9NWMO96EIn9eZo,7318
|
100
|
+
airflow/providers/fab/www/static/dist/main.ec1d38d994d72bb083cd.js,sha256=vRBNB5foD045YePjBu5EF7ZRP0dTMTSw2NZi_ii4jbo,5688
|
101
|
+
airflow/providers/fab/www/static/dist/main.ec1d38d994d72bb083cd.js.LICENSE.txt,sha256=FX9Q5lmXWsdQeuAN5eIQlag1BKUFTx3rpUftXrj5Et4,809
|
102
|
+
airflow/providers/fab/www/static/dist/manifest.json,sha256=KKxND0kHUmHl0C9upXD8WF1SoIOS8MK5aghVBtLjZ00,871
|
103
|
+
airflow/providers/fab/www/static/dist/materialIcons.57390fa60d8f61175334.css,sha256=C930ncJQYNCkklP-ni_wMJ-N0oBmGRyHqfihGMyngJ4,111666
|
104
|
+
airflow/providers/fab/www/static/dist/materialIcons.57390fa60d8f61175334.js,sha256=_qbml493nkr1JAO9KxOlf-b5kVeLvGJHkjG9VasVAfU,464
|
105
|
+
airflow/providers/fab/www/static/dist/moment.4d28b37c229bdfc54575.js,sha256=eJObNXFzygWzZ0Z8A3G9klSnGUYfbUYtSCjXH2dIgj0,792973
|
106
|
+
airflow/providers/fab/www/static/dist/moment.4d28b37c229bdfc54575.js.LICENSE.txt,sha256=aK_bf7PQf56G1WwV40mdzH0AXi-kQ6T5db5L6UN-8Wg,174
|
107
|
+
airflow/providers/fab/www/static/dist/oss-licenses.json,sha256=mBfxaJB6qShjoZgTXHt4uhtCxucK7-EArSOgWw6O1CQ,4250
|
108
|
+
airflow/providers/fab/www/static/js/datetime_utils.js,sha256=Nq8gP1tRy-ztodREw8Q2QDLGYt_DwIMZWgrEVfuFMgE,4543
|
109
|
+
airflow/providers/fab/www/static/js/main.js,sha256=MUyTstwNQiN9GNT7yHBSt2Oh4Cr3M173CUFSXX6cI2g,9194
|
110
|
+
airflow/providers/fab/www/templates/airflow/_messages.html,sha256=DKKiboYjmRqPRIP3BpUYsIxK5xKGpZy2yRk67lcAW5Y,1147
|
111
|
+
airflow/providers/fab/www/templates/airflow/error.html,sha256=AEXwcesuTXQdzfjJrTr2hX2L1Oxtr-FgehWV9dCBCBA,1327
|
112
|
+
airflow/providers/fab/www/templates/airflow/main.html,sha256=LYIkSwrXy5UjqFOqlA991ILpz5Dj_1z5bEteGfEUz_c,2919
|
113
|
+
airflow/providers/fab/www/templates/airflow/traceback.html,sha256=jyHjbK9V6RccA4P5ml4p1E6o8w1pZ8-aGa0NXp4Lvtk,2273
|
114
|
+
airflow/providers/fab/www/templates/appbuilder/flash.html,sha256=CfY_E0Bq_vSnWI58UqlcchTfLFfnr-mxRLdS_hwr_Ps,1408
|
115
|
+
airflow/providers/fab/www/templates/appbuilder/index.html,sha256=ZaZsNdD8fCENqdnZMbjGbCaK5R9WNFRW5vk8y43pCsk,810
|
116
|
+
airflow/providers/fab/www/templates/appbuilder/navbar.html,sha256=N3KTgWFw720Hyr3NGYz787oRYLGQXDrRW1mLXIABLxc,10236
|
117
|
+
airflow/providers/fab/www/templates/appbuilder/navbar_menu.html,sha256=WWQ-_QLMqcW4Cpx_1_yulaQO-soD6ztnY2zfmBAUAGI,2034
|
118
|
+
airflow/providers/fab/www/templates/appbuilder/navbar_right.html,sha256=qrwZDBbzLi4yhLrfai842MJDdQ4C31Xz9hJ3NoG5mo0,2488
|
119
|
+
apache_airflow_providers_fab-2.0.0b1.dist-info/entry_points.txt,sha256=m05kASp7vFi0ZmQ--CFp7GeJpPL7UT2RQF8EEP5XRX8,99
|
120
|
+
apache_airflow_providers_fab-2.0.0b1.dist-info/WHEEL,sha256=_2ozNFCLWc93bK4WKHCO-eDUENDlo-dgc9cU3qokYO4,82
|
121
|
+
apache_airflow_providers_fab-2.0.0b1.dist-info/METADATA,sha256=ztufMIUGWrL2cWkaom_c3RpX4jbK0DLSVsJxfOScBKQ,5650
|
122
|
+
apache_airflow_providers_fab-2.0.0b1.dist-info/RECORD,,
|