#
# This constraints file was automatically generated on 2021-11-08T21:02:11Z
# 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.2
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
attrs==20.3.0
backports.entry-points-selectable==1.1.0
bcrypt==3.2.0
billiard==3.6.4.0
blinker==1.4
cachetools==4.2.4
cattrs==1.5.0
celery==5.2.0
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==8.0.3
clickclick==20.10.2
cloudpickle==1.4.1
colorama==0.4.4
colorlog==4.8.0
commonmark==0.9.1
croniter==1.0.15
cryptography==35.0.0
dask==2021.6.0
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
fsspec==2021.11.0
gevent==21.8.0
google-ads==14.0.0
google-api-core==2.2.2
google-auth-oauthlib==0.4.6
google-auth==2.3.3
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
inflection==0.5.1
iso8601==1.0.0
isodate==0.6.0
itsdangerous==1.1.0
jsonschema==3.2.0
kombu==5.2.1
krb5==0.2.0
kubernetes==11.0.0
lazy-object-proxy==1.4.3
ldap3==2.9.1
locket==0.2.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.21.4
oauthlib==3.1.1
openapi-schema-validator==0.1.5
openapi-spec-validator==0.3.1
packaging==21.2
pandas==1.3.4
partd==1.2.0
pendulum==2.1.2
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.18.1
protobuf==3.19.1
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
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
zope.event==4.5.0
zope.interface==5.4.0
