#######################################################################################
# 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.
#######################################################################################
a2wsgi==1.10.7
    # via connexion
aiohappyeyeballs==2.3.4
    # via aiohttp
aiohttp==3.10.1
    # via apache-airflow-providers-http
aiokafka==0.11.0
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
aiosignal==1.3.1
    # via aiohttp
alembic==1.13.2
    # via apache-airflow
anyio==4.4.0
    # via
    #   httpx
    #   starlette
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.8.1
    # via
    #   apache-airflow
    #   apache-airflow-providers-sqlite
apache-airflow-providers-ftp==3.6.1
    # via apache-airflow
apache-airflow-providers-http==4.7.0
    # via apache-airflow
apache-airflow-providers-imap==3.4.0
    # via apache-airflow
apache-airflow-providers-sqlite==3.5.0
    # via apache-airflow
apispec[yaml]==3.3.2
    # via flask-appbuilder
argcomplete==3.5.0
    # via apache-airflow
asgiref==3.8.1
    # via
    #   apache-airflow-providers-http
    #   connexion
    #   flask
async-timeout==4.0.3
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   aiohttp
    #   aiokafka
attrs==24.2.0
    # via
    #   aiohttp
    #   apache-airflow
    #   cattrs
    #   jsonschema
    #   referencing
babel==2.15.0
    # via flask-babel
blinker==1.8.2
    # via apache-airflow
cachelib==0.9.0
    # via
    #   flask-caching
    #   flask-session
cattrs==23.2.3
    # via apache-airflow
certifi==2024.7.4
    # via
    #   httpcore
    #   httpx
    #   requests
cffi==1.17.0
    # via cryptography
charset-normalizer==3.3.2
    # via requests
click==8.1.7
    # via
    #   flask
    #   flask-appbuilder
colorama==0.4.6
    # via flask-appbuilder
colorlog==4.8.0
    # via apache-airflow
configupdater==3.2
    # via apache-airflow
connexion[flask]==3.1.0
    # via apache-airflow
cron-descriptor==1.4.3
    # via apache-airflow
croniter==3.0.3
    # via apache-airflow
cryptography==43.0.0
    # via apache-airflow
dataclasses==0.6
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
deprecated==1.2.14
    # via apache-airflow
dill==0.3.8
    # via apache-airflow
dnspython==2.6.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   email-validator
    #   pymongo
docutils==0.21.2
    # via python-daemon
email-validator==1.3.1
    # via flask-appbuilder
exceptiongroup==1.2.2
    # via
    #   anyio
    #   cattrs
flask[async]==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.3.0
    # via apache-airflow
flask-jwt-extended==4.6.0
    # via flask-appbuilder
flask-login==0.6.3
    # via
    #   apache-airflow
    #   flask-appbuilder
flask-session==0.8.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.1
    # via
    #   aiohttp
    #   aiosignal
graphviz==0.20.3
    # via apache-airflow
greenlet==3.0.3
    # via sqlalchemy
gunicorn==22.0.0
    # via apache-airflow
h11==0.14.0
    # via httpcore
httpcore==1.0.5
    # via httpx
httpx==0.27.0
    # via
    #   apache-airflow
    #   connexion
idna==3.7
    # via
    #   anyio
    #   email-validator
    #   httpx
    #   requests
    #   yarl
inflection==0.5.1
    # via connexion
itsdangerous==2.2.0
    # via
    #   apache-airflow
    #   flask
    #   flask-wtf
jinja2==3.1.4
    # via
    #   apache-airflow
    #   connexion
    #   flask
    #   flask-babel
    #   python-nvd3
jsonschema==4.23.0
    # via
    #   apache-airflow
    #   connexion
    #   flask-appbuilder
jsonschema-specifications==2023.12.1
    # via jsonschema
lazy-object-proxy==1.10.0
    # via apache-airflow
linkify-it-py==2.0.3
    # via apache-airflow
lockfile==0.12.2
    # via
    #   apache-airflow
    #   python-daemon
mako==1.3.5
    # via alembic
markdown==3.6
    # via apache-airflow
markdown-it-py==3.0.0
    # via
    #   apache-airflow
    #   mdit-py-plugins
    #   rich
markupsafe==2.1.5
    # via
    #   apache-airflow
    #   jinja2
    #   mako
    #   werkzeug
    #   wtforms
marshmallow==3.21.3
    # via
    #   flask-appbuilder
    #   marshmallow-enum
    #   marshmallow-oneofschema
    #   marshmallow-sqlalchemy
marshmallow-enum==1.5.1
    # via flask-appbuilder
marshmallow-oneofschema==3.1.1
    # via apache-airflow
marshmallow-sqlalchemy==0.26.1
    # via flask-appbuilder
mdit-py-plugins==0.4.1
    # via apache-airflow
mdurl==0.1.2
    # via markdown-it-py
motor==3.5.1
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
msgspec==0.18.6
    # via flask-session
multidict==6.0.5
    # via
    #   aiohttp
    #   yarl
osm-common @ git+https://osm.etsi.org/gerrit/osm/common.git@master
    # via -r requirements-dev.in
packaging==24.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   aiokafka
    #   apache-airflow
    #   gunicorn
    #   marshmallow
pathspec==0.9.0
    # via apache-airflow
pendulum==3.0.0
    # via apache-airflow
pluggy==1.5.0
    # via apache-airflow
prison==0.2.1
    # via flask-appbuilder
psutil==6.0.0
    # via apache-airflow
pycparser==2.22
    # via cffi
pycryptodome==3.20.0
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
pygments==2.18.0
    # via
    #   apache-airflow
    #   rich
pyjwt==2.9.0
    # via
    #   apache-airflow
    #   flask-appbuilder
    #   flask-jwt-extended
pymongo==4.8.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   motor
python-daemon==3.0.1
    # via apache-airflow
python-dateutil==2.9.0.post0
    # via
    #   apache-airflow
    #   croniter
    #   flask-appbuilder
    #   pendulum
    #   time-machine
python-multipart==0.0.9
    # via connexion
python-nvd3==0.16.0
    # via apache-airflow
python-slugify==8.0.4
    # via
    #   apache-airflow
    #   python-nvd3
pytz==2024.1
    # via
    #   croniter
    #   flask-babel
pyyaml==6.0.2
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   apispec
    #   connexion
referencing==0.35.1
    # via
    #   jsonschema
    #   jsonschema-specifications
requests==2.32.3
    # 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.7.1
    # via apache-airflow
rpds-py==0.20.0
    # via
    #   jsonschema
    #   referencing
setproctitle==1.3.3
    # via apache-airflow
six==1.16.0
    # via
    #   prison
    #   python-dateutil
    #   rfc3339-validator
sniffio==1.3.1
    # via
    #   anyio
    #   httpx
sqlalchemy==1.4.53
    # via
    #   alembic
    #   apache-airflow
    #   flask-appbuilder
    #   flask-sqlalchemy
    #   marshmallow-sqlalchemy
    #   sqlalchemy-jsonfield
    #   sqlalchemy-utils
sqlalchemy-jsonfield==1.0.2
    # via apache-airflow
sqlalchemy-utils==0.41.2
    # via flask-appbuilder
sqlparse==0.5.1
    # via apache-airflow-providers-common-sql
starlette==0.38.2
    # via connexion
tabulate==0.9.0
    # via apache-airflow
tenacity==9.0.0
    # via apache-airflow
termcolor==2.4.0
    # via apache-airflow
text-unidecode==1.3
    # via python-slugify
time-machine==2.15.0
    # via pendulum
typing-extensions==4.12.2
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   a2wsgi
    #   aiokafka
    #   alembic
    #   anyio
    #   apache-airflow
    #   asgiref
    #   cattrs
    #   connexion
tzdata==2024.1
    # via pendulum
uc-micro-py==1.0.3
    # via linkify-it-py
unicodecsv==0.14.1
    # via apache-airflow
urllib3==2.2.2
    # via requests
werkzeug==3.0.3
    # via
    #   apache-airflow
    #   connexion
    #   flask
    #   flask-jwt-extended
    #   flask-login
wrapt==1.16.0
    # via deprecated
wtforms==3.1.2
    # via
    #   flask-appbuilder
    #   flask-wtf
yarl==1.9.4
    # via aiohttp

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