#
# This constraints file was automatically generated on 2021-11-08T21:02:32Z
# via "eager-upgrade" mechanism of PIP. For the "main" branch of Airflow.
# This variant of constraints install just the 'bare' 'apache-airflow' package build from the HEAD of
# the branch, without installing any of the providers.
#
# Those constraints represent the "newest" dependencies airflow could use, if providers did not limit
# Airflow in any way.
#
# Editable install with no version control (apache-airflow==2.2.2)
Authlib==0.15.5
Babel==2.9.1
Flask-AppBuilder==3.3.4
Flask-Babel==2.0.0
Flask-Bcrypt==0.7.1
Flask-Caching==1.10.1
Flask-JWT-Extended==3.25.1
Flask-Login==0.4.1
Flask-OpenID==1.3.0
Flask-SQLAlchemy==2.5.1
Flask-WTF==0.14.3
Flask==1.1.4
HeapDict==1.0.1
Jinja2==2.11.3
Mako==1.1.5
Markdown==3.3.4
MarkupSafe==1.1.1
PyJWT==1.7.1
PyYAML==5.4.1
Pygments==2.10.0
SQLAlchemy-JSONField==1.0.0
SQLAlchemy-Utils==0.37.9
SQLAlchemy==1.3.24
WTForms==2.3.3
Werkzeug==1.0.1
alembic==1.7.4
amqp==5.0.6
anyio==3.3.4
apispec==3.3.2
argcomplete==1.12.3
async-generator==1.10
attrs==20.3.0
backports.entry-points-selectable==1.1.0
bcrypt==3.2.0
billiard==3.6.4.0
blinker==1.4
cached-property==1.5.2
cachetools==4.2.4
cattrs==1.0.0
celery==5.1.2
certifi==2020.12.5
cffi==1.15.0
cgroupspy==0.2.1
charset-normalizer==2.0.7
click-didyoumean==0.3.0
click-plugins==1.1.1
click-repl==0.2.0
click==7.1.2
clickclick==20.10.2
cloudpickle==1.4.1
colorama==0.4.4
colorlog==4.8.0
commonmark==0.9.1
contextvars==2.4
croniter==1.0.15
cryptography==35.0.0
dask==2021.3.0
dataclasses==0.8
decorator==5.1.0
defusedxml==0.7.1
dill==0.3.2
distlib==0.3.3
distributed==2.19.0
dnspython==2.1.0
docutils==0.16
email-validator==1.1.3
eventlet==0.32.0
filelock==3.3.2
flower==1.0.0
gevent==21.8.0
google-ads==12.0.0
google-api-core==1.31.3
google-auth-oauthlib==0.4.6
google-auth==1.35.0
googleapis-common-protos==1.53.0
graphviz==0.18
greenlet==1.1.2
grpcio==1.41.1
gssapi==1.7.2
gunicorn==20.1.0
h11==0.12.0
httpcore==0.13.7
httpx==0.19.0
humanize==3.12.0
idna==3.3
immutables==0.16
importlib-metadata==4.8.1
importlib-resources==5.4.0
inflection==0.5.1
iso8601==1.0.0
isodate==0.6.0
itsdangerous==1.1.0
jsonschema==3.2.0
kombu==5.1.0
krb5==0.2.0
kubernetes==11.0.0
lazy-object-proxy==1.4.3
ldap3==2.9.1
lockfile==0.12.2
marshmallow-enum==1.5.1
marshmallow-oneofschema==3.0.1
marshmallow-sqlalchemy==0.26.1
marshmallow==3.14.0
msgpack==1.0.2
nox==2020.12.31
numpy==1.19.5
oauthlib==3.1.1
openapi-schema-validator==0.1.5
openapi-spec-validator==0.3.1
packaging==21.2
pandas==1.1.5
pendulum==2.1.2
pep562==1.1
platformdirs==2.4.0
plyvel==1.3.0
prison==0.2.1
prometheus-client==0.12.0
prompt-toolkit==3.0.22
proto-plus==1.19.6
protobuf==3.17.3
psutil==5.8.0
pure-sasl==0.6.2
py==1.11.0
pyasn1-modules==0.2.8
pyasn1==0.4.8
pycparser==2.21
pykerberos==1.2.1
pyparsing==2.4.7
pyrsistent==0.18.0
pyspnego==0.3.1
python-daemon==2.3.0
python-dateutil==2.8.2
python-ldap==3.3.1
python-nvd3==0.15.0
python-slugify==4.0.1
python3-openid==3.2.0
pytz==2021.3
pytzdata==2020.1
requests-kerberos==0.13.0
requests-oauthlib==1.3.0
requests==2.26.0
rfc3986==1.5.0
rich==10.13.0
rsa==4.7.2
sentry-sdk==1.4.3
setproctitle==1.2.2
six==1.16.0
sniffio==1.2.0
sortedcontainers==2.4.0
statsd==3.3.0
swagger-ui-bundle==0.0.9
tabulate==0.8.9
tblib==1.7.0
tenacity==8.0.1
termcolor==1.1.0
text-unidecode==1.3
thrift-sasl==0.4.3
thrift==0.15.0
toolz==0.11.2
tornado==6.1
typing-extensions==3.10.0.2
typing==3.7.4.3
unicodecsv==0.14.1
urllib3==1.26.7
vine==5.0.0
virtualenv==20.10.0
wcwidth==0.2.5
websocket-client==1.2.1
zict==2.0.0
zipp==3.6.0
zope.event==4.5.0
zope.interface==5.4.0
