#######################################################################################
# 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.5
    # via apache-airflow-providers-http
aiokafka==0.8.1
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v14.0
aiosignal==1.3.1
    # via aiohttp
alembic==1.12.0
    # via apache-airflow
anyio==4.0.0
    # via httpcore
apache-airflow==2.5.3
    # via
    #   -r requirements-dev.in
    #   apache-airflow-providers-common-sql
    #   apache-airflow-providers-ftp
    #   apache-airflow-providers-http
    #   apache-airflow-providers-imap
    #   apache-airflow-providers-sqlite
apache-airflow-providers-common-sql==1.7.2
    # via
    #   apache-airflow
    #   apache-airflow-providers-sqlite
apache-airflow-providers-ftp==3.5.2
    # via apache-airflow
apache-airflow-providers-http==4.5.2
    # via apache-airflow
apache-airflow-providers-imap==3.3.2
    # via apache-airflow
apache-airflow-providers-sqlite==3.4.3
    # via apache-airflow
apispec[yaml]==3.3.2
    # via flask-appbuilder
argcomplete==3.1.2
    # via apache-airflow
asgiref==3.7.2
    # via apache-airflow-providers-http
async-timeout==4.0.3
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v14.0
    #   aiohttp
    #   aiokafka
attrs==23.1.0
    # via
    #   aiohttp
    #   apache-airflow
    #   cattrs
    #   jsonschema
    #   referencing
babel==2.13.0
    # via flask-babel
blinker==1.6.2
    # via apache-airflow
cachelib==0.9.0
    # via
    #   flask-caching
    #   flask-session
cattrs==23.1.2
    # via apache-airflow
certifi==2023.7.22
    # via
    #   httpcore
    #   httpx
    #   requests
cffi==1.16.0
    # via cryptography
charset-normalizer==3.3.0
    # via
    #   aiohttp
    #   requests
click==8.1.7
    # 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]==2.14.2
    # via apache-airflow
cron-descriptor==1.4.0
    # via apache-airflow
croniter==1.4.1
    # via apache-airflow
cryptography==41.0.4
    # via apache-airflow
dataclasses==0.6
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v14.0
deprecated==1.2.14
    # via apache-airflow
dill==0.3.7
    # via apache-airflow
dnspython==2.4.2
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v14.0
    #   email-validator
    #   pymongo
docutils==0.20.1
    # via python-daemon
email-validator==1.3.1
    # via flask-appbuilder
exceptiongroup==1.1.3
    # via
    #   anyio
    #   cattrs
flask==2.2.5
    # 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.5.3
    # via flask-appbuilder
flask-login==0.6.2
    # via
    #   apache-airflow
    #   flask-appbuilder
flask-session==0.5.0
    # via apache-airflow
flask-sqlalchemy==2.5.1
    # via flask-appbuilder
flask-wtf==1.2.1
    # via
    #   apache-airflow
    #   flask-appbuilder
frozenlist==1.4.0
    # via
    #   aiohttp
    #   aiosignal
graphviz==0.20.1
    # via apache-airflow
greenlet==3.0.0
    # via sqlalchemy
gunicorn==21.2.0
    # via apache-airflow
h11==0.14.0
    # via httpcore
httpcore==0.18.0
    # via httpx
httpx==0.25.0
    # via apache-airflow
idna==3.4
    # via
    #   anyio
    #   email-validator
    #   httpx
    #   requests
    #   yarl
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
jsonschema==4.19.1
    # via
    #   apache-airflow
    #   connexion
    #   flask-appbuilder
jsonschema-specifications==2023.7.1
    # via jsonschema
kafka-python==2.0.2
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v14.0
    #   aiokafka
lazy-object-proxy==1.9.0
    # via apache-airflow
linkify-it-py==2.0.2
    # via apache-airflow
lockfile==0.12.2
    # via
    #   apache-airflow
    #   python-daemon
mako==1.2.4
    # via alembic
markdown==3.4.4
    # via apache-airflow
markdown-it-py==3.0.0
    # via
    #   apache-airflow
    #   mdit-py-plugins
    #   rich
markupsafe==2.1.3
    # via
    #   apache-airflow
    #   jinja2
    #   mako
    #   werkzeug
    #   wtforms
marshmallow==3.20.1
    # 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.4.0
    # via apache-airflow
mdurl==0.1.2
    # via markdown-it-py
motor==3.3.1
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v14.0
multidict==6.0.4
    # via
    #   aiohttp
    #   yarl
osm-common @ git+https://osm.etsi.org/gerrit/osm/common.git@v14.0
    # via -r requirements-dev.in
packaging==23.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v14.0
    #   aiokafka
    #   apache-airflow
    #   connexion
    #   gunicorn
    #   marshmallow
pathspec==0.9.0
    # via apache-airflow
pendulum==2.1.2
    # via apache-airflow
pluggy==1.3.0
    # via apache-airflow
prison==0.2.1
    # via flask-appbuilder
psutil==5.9.5
    # via apache-airflow
pycparser==2.21
    # via cffi
pycryptodome==3.19.0
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v14.0
pygments==2.16.1
    # via
    #   apache-airflow
    #   rich
pyjwt==2.8.0
    # via
    #   apache-airflow
    #   flask-appbuilder
    #   flask-jwt-extended
pymongo==4.5.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v14.0
    #   motor
python-daemon==3.0.1
    # via apache-airflow
python-dateutil==2.8.2
    # via
    #   apache-airflow
    #   croniter
    #   flask-appbuilder
    #   pendulum
python-nvd3==0.15.0
    # via apache-airflow
python-slugify==8.0.1
    # via
    #   apache-airflow
    #   python-nvd3
pytz==2023.3.post1
    # via flask-babel
pytzdata==2020.1
    # via pendulum
pyyaml==6.0.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v14.0
    #   apispec
    #   clickclick
    #   connexion
referencing==0.30.2
    # via
    #   jsonschema
    #   jsonschema-specifications
requests==2.31.0
    # via
    #   apache-airflow-providers-http
    #   connexion
    #   requests-toolbelt
requests-toolbelt==1.0.0
    # via apache-airflow-providers-http
rfc3339-validator==0.1.4
    # via apache-airflow
rich==13.6.0
    # via apache-airflow
rpds-py==0.10.3
    # via
    #   jsonschema
    #   referencing
setproctitle==1.3.3
    # via apache-airflow
six==1.16.0
    # via
    #   prison
    #   python-dateutil
    #   rfc3339-validator
sniffio==1.3.0
    # via
    #   anyio
    #   httpcore
    #   httpx
sqlalchemy==1.4.49
    # 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.41.1
    # via flask-appbuilder
sqlparse==0.4.4
    # via apache-airflow-providers-common-sql
tabulate==0.9.0
    # via apache-airflow
tenacity==8.2.3
    # via apache-airflow
termcolor==2.3.0
    # via apache-airflow
text-unidecode==1.3
    # via python-slugify
typing-extensions==4.8.0
    # via
    #   alembic
    #   apache-airflow
    #   asgiref
    #   cattrs
uc-micro-py==1.0.2
    # via linkify-it-py
unicodecsv==0.14.1
    # via apache-airflow
urllib3==2.0.6
    # 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.9.2
    # via aiohttp

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