#######################################################################################
# Copyright ETSI Contributors and Others.
#
# Licensed 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.
#######################################################################################
aiohttp==3.8.4
    # via apache-airflow-providers-http
aiokafka==0.8.0
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
aiosignal==1.3.1
    # via aiohttp
alembic==1.9.4
    # via apache-airflow
anyio==3.6.2
    # via httpcore
apache-airflow==2.4.3
    # via -r requirements-dev.in
apache-airflow-providers-common-sql==1.3.3
    # via
    #   apache-airflow
    #   apache-airflow-providers-sqlite
apache-airflow-providers-ftp==3.3.1
    # via apache-airflow
apache-airflow-providers-http==4.2.0
    # via apache-airflow
apache-airflow-providers-imap==3.1.1
    # via apache-airflow
apache-airflow-providers-sqlite==3.3.1
    # via apache-airflow
apispec[yaml]==3.3.2
    # via flask-appbuilder
argcomplete==2.0.0
    # via apache-airflow
asgiref==3.6.0
    # via apache-airflow-providers-http
async-timeout==4.0.2
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
    #   aiohttp
    #   aiokafka
attrs==22.2.0
    # via
    #   aiohttp
    #   apache-airflow
    #   cattrs
    #   jsonschema
babel==2.12.1
    # via flask-babel
blinker==1.5
    # via apache-airflow
cachelib==0.9.0
    # via
    #   flask-caching
    #   flask-session
cattrs==22.2.0
    # via apache-airflow
certifi==2022.12.7
    # via
    #   httpcore
    #   httpx
    #   requests
cffi==1.15.1
    # via cryptography
charset-normalizer==3.0.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
    #   aiohttp
    #   requests
click==8.1.3
    # via
    #   clickclick
    #   flask
    #   flask-appbuilder
clickclick==20.10.2
    # via connexion
colorama==0.4.6
    # via flask-appbuilder
colorlog==4.8.0
    # via apache-airflow
configupdater==3.1.1
    # via apache-airflow
connexion[flask,swagger-ui]==2.14.2
    # via apache-airflow
cron-descriptor==1.2.35
    # via apache-airflow
croniter==1.3.8
    # via apache-airflow
cryptography==39.0.1
    # via apache-airflow
dataclasses==0.6
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
deprecated==1.2.13
    # via apache-airflow
dill==0.3.6
    # via apache-airflow
dnspython==2.3.0
    # via email-validator
docutils==0.19
    # via python-daemon
email-validator==1.3.1
    # via flask-appbuilder
exceptiongroup==1.1.0
    # via cattrs
flask==2.2.3
    # via
    #   apache-airflow
    #   connexion
    #   flask-appbuilder
    #   flask-babel
    #   flask-caching
    #   flask-jwt-extended
    #   flask-login
    #   flask-session
    #   flask-sqlalchemy
    #   flask-wtf
flask-appbuilder==4.1.4
    # via apache-airflow
flask-babel==2.0.0
    # via flask-appbuilder
flask-caching==2.0.2
    # via apache-airflow
flask-jwt-extended==4.4.4
    # via flask-appbuilder
flask-login==0.6.2
    # via
    #   apache-airflow
    #   flask-appbuilder
flask-session==0.4.0
    # via apache-airflow
flask-sqlalchemy==2.5.1
    # via flask-appbuilder
flask-wtf==1.1.1
    # via
    #   apache-airflow
    #   flask-appbuilder
frozenlist==1.3.3
    # via
    #   aiohttp
    #   aiosignal
graphviz==0.20.1
    # via apache-airflow
greenlet==2.0.2
    # via sqlalchemy
gunicorn==20.1.0
    # via apache-airflow
h11==0.14.0
    # via httpcore
httpcore==0.16.3
    # via httpx
httpx==0.23.3
    # via apache-airflow
idna==3.4
    # via
    #   anyio
    #   email-validator
    #   requests
    #   rfc3986
    #   yarl
importlib-metadata==6.0.0
    # via
    #   alembic
    #   apache-airflow
    #   flask
    #   markdown
importlib-resources==5.12.0
    # via
    #   alembic
    #   apache-airflow
    #   jsonschema
inflection==0.5.1
    # via connexion
itsdangerous==2.1.2
    # via
    #   apache-airflow
    #   connexion
    #   flask
    #   flask-wtf
jinja2==3.1.2
    # via
    #   apache-airflow
    #   flask
    #   flask-babel
    #   python-nvd3
    #   swagger-ui-bundle
jsonschema==4.17.3
    # via
    #   apache-airflow
    #   connexion
    #   flask-appbuilder
kafka-python==2.0.2
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
    #   aiokafka
lazy-object-proxy==1.9.0
    # via apache-airflow
linkify-it-py==2.0.0
    # via apache-airflow
lockfile==0.12.2
    # via
    #   apache-airflow
    #   python-daemon
mako==1.2.4
    # via alembic
markdown==3.4.1
    # via apache-airflow
markdown-it-py==2.2.0
    # via
    #   apache-airflow
    #   mdit-py-plugins
    #   rich
markupsafe==2.1.2
    # via
    #   apache-airflow
    #   jinja2
    #   mako
    #   werkzeug
    #   wtforms
marshmallow==3.19.0
    # via
    #   flask-appbuilder
    #   marshmallow-enum
    #   marshmallow-oneofschema
    #   marshmallow-sqlalchemy
marshmallow-enum==1.5.1
    # via flask-appbuilder
marshmallow-oneofschema==3.0.1
    # via apache-airflow
marshmallow-sqlalchemy==0.26.1
    # via flask-appbuilder
mdit-py-plugins==0.3.4
    # via apache-airflow
mdurl==0.1.2
    # via markdown-it-py
motor==1.3.1
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
multidict==6.0.4
    # via
    #   aiohttp
    #   yarl
osm-common @ git+https://osm.etsi.org/gerrit/osm/common.git@paas
    # via -r requirements-dev.in
packaging==23.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
    #   aiokafka
    #   apache-airflow
    #   connexion
    #   marshmallow
pathspec==0.9.0
    # via apache-airflow
pendulum==2.1.2
    # via apache-airflow
pkgutil-resolve-name==1.3.10
    # via jsonschema
pluggy==1.0.0
    # via apache-airflow
prison==0.2.1
    # via flask-appbuilder
protobuf==3.20.3
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
    #   temporalio
psutil==5.9.4
    # via apache-airflow
pycparser==2.21
    # via cffi
pycryptodome==3.17
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
pygments==2.14.0
    # via
    #   apache-airflow
    #   rich
pyjwt==2.6.0
    # via
    #   apache-airflow
    #   flask-appbuilder
    #   flask-jwt-extended
pymongo==3.13.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
    #   motor
pyrsistent==0.19.3
    # via jsonschema
python-daemon==2.3.2
    # via apache-airflow
python-dateutil==2.8.2
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
    #   apache-airflow
    #   croniter
    #   flask-appbuilder
    #   pendulum
    #   temporalio
python-nvd3==0.15.0
    # via apache-airflow
python-slugify==8.0.1
    # via
    #   apache-airflow
    #   python-nvd3
pytz==2022.7.1
    # via
    #   babel
    #   flask-babel
pytzdata==2020.1
    # via pendulum
pyyaml==5.4.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
    #   apispec
    #   clickclick
    #   connexion
requests==2.28.2
    # via
    #   apache-airflow-providers-http
    #   connexion
    #   requests-toolbelt
requests-toolbelt==0.10.1
    # via apache-airflow-providers-http
rfc3986[idna2008]==1.5.0
    # via httpx
rich==13.3.1
    # via apache-airflow
setproctitle==1.3.2
    # via apache-airflow
six==1.16.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
    #   prison
    #   python-dateutil
sniffio==1.3.0
    # via
    #   anyio
    #   httpcore
    #   httpx
sqlalchemy==1.4.46
    # via
    #   alembic
    #   apache-airflow
    #   flask-appbuilder
    #   flask-sqlalchemy
    #   marshmallow-sqlalchemy
    #   sqlalchemy-jsonfield
    #   sqlalchemy-utils
sqlalchemy-jsonfield==1.0.1.post0
    # via apache-airflow
sqlalchemy-utils==0.40.0
    # via flask-appbuilder
sqlparse==0.4.3
    # via apache-airflow-providers-common-sql
swagger-ui-bundle==0.0.9
    # via connexion
tabulate==0.9.0
    # via apache-airflow
temporalio==1.1.0
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
tenacity==8.2.2
    # via apache-airflow
termcolor==2.2.0
    # via apache-airflow
text-unidecode==1.3
    # via python-slugify
types-protobuf==4.22.0.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
    #   temporalio
typing-extensions==4.5.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=paas
    #   apache-airflow
    #   rich
    #   temporalio
uc-micro-py==1.0.1
    # via linkify-it-py
unicodecsv==0.14.1
    # via apache-airflow
urllib3==1.26.14
    # via requests
werkzeug==2.2.3
    # via
    #   apache-airflow
    #   connexion
    #   flask
    #   flask-jwt-extended
    #   flask-login
wrapt==1.15.0
    # via deprecated
wtforms==3.0.1
    # via
    #   flask-appbuilder
    #   flask-wtf
yarl==1.8.2
    # via aiohttp
zipp==3.15.0
    # via
    #   importlib-metadata
    #   importlib-resources

# The following packages are considered to be unsafe in a requirements file:
# setuptools
