forked from apache/airflow
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.cfg
234 lines (218 loc) · 8.96 KB
/
setup.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
[metadata]
name = apache-airflow
summary = Programmatically author, schedule and monitor data pipelines
author = Apache Software Foundation
author_email = [email protected]
url = https://airflow.apache.org/
version = attr: airflow.__version__
long_description = file: generated/PYPI_README.md
long_description_content_type = text/markdown
license = Apache License 2.0
license_files =
LICENSE
NOTICE
licenses/*.txt
classifiers =
Development Status :: 5 - Production/Stable
Environment :: Console
Environment :: Web Environment
Intended Audience :: Developers
Intended Audience :: System Administrators
License :: OSI Approved :: Apache Software License
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Topic :: System :: Monitoring
Framework :: Apache Airflow
project_urls =
Bug Tracker=https://github.com/apache/airflow/issues
Documentation=https://airflow.apache.org/docs/
Downloads=https://archive.apache.org/dist/airflow/
Release Notes=https://airflow.apache.org/docs/apache-airflow/stable/release_notes.html
Slack Chat=https://s.apache.org/airflow-slack
Source Code=https://github.com/apache/airflow
Twitter=https://twitter.com/ApacheAirflow
YouTube=https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
[options]
zip_safe = False
include_package_data = True
# Mainly because of distutils deprecation and some packages not being compatible with it, we should
# Limit airflow to < 3.12 until those dependencies are ready and until we can support Python 3.12
python_requires = ~=3.8,<3.12
packages = find:
setup_requires =
gitpython
wheel
#####################################################################################################
# IMPORTANT NOTE!!!!!!!!!!!!!!!
# IF you are removing dependencies from this list, please make sure that you also increase
# DEPENDENCIES_EPOCH_NUMBER in the Dockerfile.ci
#####################################################################################################
install_requires =
# Alembic is important to handle our migrations in predictable and performant way. It is developed
# together with SQLAlchemy. Our experience with Alembic is that it very stable in minor version
alembic>=1.6.3, <2.0
argcomplete>=1.10
asgiref
attrs>=22.1.0
blinker
# Colorlog 6.x merges TTYColoredFormatter into ColoredFormatter, breaking backwards compatibility with 4.x
# Update CustomTTYColoredFormatter to remove
colorlog>=4.0.2, <5.0
configupdater>=3.1.1
# `airflow/www/extensions/init_views` imports `connexion.decorators.validation.RequestBodyValidator`
# connexion v3 has refactored the entire module to middleware, see: /spec-first/connexion/issues/1525
# Specifically, RequestBodyValidator was removed in: /spec-first/connexion/pull/1595
# The usage was added in #30596, seemingly only to override and improve the default error message.
# Either revert that change or find another way, preferably without using connexion internals.
# This limit can be removed after https://github.com/apache/airflow/issues/35234 is fixed
connexion[flask]>=2.10.0,<3.0
cron-descriptor>=1.2.24
croniter>=0.3.17
cryptography>=0.9.3
deprecated>=1.2.13
dill>=0.2.2
# Flask 2.3 is scheduled to introduce a number of deprecation removals - some of them might be breaking
# for our dependencies - notably `_app_ctx_stack` and `_request_ctx_stack` removals.
# We should remove the limitation after 2.3 is released and our dependencies are updated to handle it
flask>=2.2,<2.3
# We are tightly coupled with FAB version because we vendored in part of FAB code related to security manager
# This is done as part of preparation to removing FAB as dependency, but we are not ready for it yet
# Every time we update FAB version here, please make sure that you review the classes and models in
# `airflow/www/fab_security` with their upstream counterparts. In particular, make sure any breaking changes,
# for example any new methods, are accounted for.
# NOTE! When you change the value here, you also have to update flask-appbuilder[oauth] in setup.py
flask-appbuilder==4.3.9
flask-caching>=1.5.0
flask-login>=0.6.2
flask-session>=0.4.0
flask-wtf>=0.15
fsspec>=2023.9.2
google-re2>=1.0
graphviz>=0.12
gunicorn>=20.1.0
httpx
importlib_metadata>=1.7;python_version<"3.9"
importlib_resources>=5.2;python_version<"3.9"
itsdangerous>=2.0
jinja2>=3.0.0
jsonschema>=4.18.0
lazy-object-proxy
linkify-it-py>=2.0.0
lockfile>=0.12.2
markdown>=3.0
markdown-it-py>=2.1.0
markupsafe>=1.1.1
marshmallow-oneofschema>=2.0.1
mdit-py-plugins>=0.3.0
opentelemetry-api>=1.15.0
opentelemetry-exporter-otlp
packaging>=14.0
pathspec>=0.9.0
# When (if) pendulum 3 released it would introduce changes in module/objects imports,
# since we are tightly coupled with pendulum library internally it will breaks Airflow functionality.
pendulum>=2.0,<3.0
pluggy>=1.0
psutil>=4.2.0
# We should bump it to at least pydantic>=2.3.0 when we prepare Airflow 2.8.0 release
# we keep Pydantic < 1 for compatibility with packages that depend on Pydantic 1
# We should also remove then `filterwarning` for pydantic from airflow/configuration.py
# and # Pydantic v1 check in airflow/serialization/serde.py
pydantic>=1.10.0
pygments>=2.0.1
pyjwt>=2.0.0
python-daemon>=3.0.0
python-dateutil>=2.3
python-nvd3>=0.15.0
python-slugify>=5.0
rfc3339_validator>=0.1.4
rich>=12.4.4
rich-argparse>=1.0.0
setproctitle>=1.1.8
# We use some deprecated features of sqlalchemy 2.0 and we should replace them before we can upgrade
# See https://sqlalche.me/e/b8d9 for details of deprecated features
# you can set environment variable SQLALCHEMY_WARN_20=1 to show all deprecation warnings.
# The issue tracking it is https://github.com/apache/airflow/issues/28723
sqlalchemy>=1.4.28,<2.0
sqlalchemy_jsonfield>=1.0
tabulate>=0.7.5
tenacity>=6.2.0,!=8.2.0
termcolor>=1.1.0
typing-extensions>=4.0.0
# We should remove this dependency when Providers are limited to Airflow 2.7+
# as we replaced the usage of unicodecsv with csv in Airflow 2.7
# See https://github.com/apache/airflow/pull/31693
# We should also remove "licenses/LICENSE-unicodecsv.txt" file when we remove this dependency
unicodecsv>=0.14.1
werkzeug>=2.0
[options.packages.find]
include =
airflow*
[options.package_data]
airflow=
py.typed
alembic.ini
git_version
customized_form_field_behaviours.schema.json
provider_info.schema.json
airflow.api_connexion.openapi=*.yaml
airflow.auth.managers.fab.openapi=*.yaml
airflow.serialization=*.json
airflow.utils=
context.pyi
[options.data_files]
generated=
generated/provider_dependencies.json
[options.entry_points]
console_scripts=
airflow=airflow.__main__:main
[bdist_wheel]
python-tag=py3
[files]
packages = airflow
[easy_install]
[mypy]
ignore_missing_imports = True
no_implicit_optional = True
warn_redundant_casts = True
warn_unused_ignores = False
plugins =
dev.mypy.plugin.decorators,
dev.mypy.plugin.outputs
pretty = True
show_error_codes = True
# Mypy since 0.991 warns about type annotations being present in an untyped
# function since they are not checked and technically meaningless. Ideally we
# should make them meaningful by setting check_untyped_defs = True, but there
# are too many issues in those currently unchecked functions to make it viable
# in the short term, so this error is simply ignored for now.
disable_error_code = annotation-unchecked
[mypy-airflow.config_templates.default_webserver_config]
# This file gets written to user installs, so lets not litter it with type comments
disable_error_code = var-annotated
[mypy-airflow.migrations.*]
ignore_errors = True
# Let's assume all google.cloud packages have implicit optionals
# Most of them don't but even if they do, it does not matter
[mypy-google.cloud.*]
no_implicit_optional = False
# Let's assume all azure packages have implicit optionals
[mypy-azure.*]
no_implicit_optional = False