#######################################################################################
# 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.10
    # via connexion
aiohappyeyeballs==2.6.1
    # via aiohttp
aiohttp==3.13.3
    # via apache-airflow-providers-http
aiokafka==0.13.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   osm-common
aiosignal==1.4.0
    # via aiohttp
alembic==1.18.4
    # via apache-airflow
anyio==4.12.1
    # 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
    #   apispec
    #   flask-appbuilder
argcomplete==3.6.3
    # via apache-airflow
asgiref==3.11.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
    #   osm-common
attrs==25.4.0
    # via
    #   aiohttp
    #   apache-airflow
    #   cattrs
    #   jsonschema
    #   referencing
babel==2.18.0
    # via flask-babel
blinker==1.9.0
    # via apache-airflow
cachelib==0.13.0
    # via
    #   flask-caching
    #   flask-session
cattrs==26.1.0
    # via apache-airflow
certifi==2026.2.25
    # via
    #   httpcore
    #   httpx
    #   requests
cffi==2.0.0
    # via cryptography
charset-normalizer==3.4.4
    # via requests
click==8.3.1
    # 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.3.0
    # via
    #   apache-airflow
    #   connexion
cron-descriptor==2.0.6
    # via apache-airflow
croniter==6.0.0
    # via apache-airflow
cryptography==46.0.5
    # 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
    #   osm-common
deprecated==1.3.1
    # via apache-airflow
dill==0.4.1
    # via apache-airflow
dnspython==2.8.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   email-validator
    #   osm-common
    #   pymongo
email-validator==1.3.1
    # via flask-appbuilder
exceptiongroup==1.3.1
    # 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.1
    # via apache-airflow
flask-jwt-extended==4.7.1
    # 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.2
    # via
    #   apache-airflow
    #   flask-appbuilder
frozenlist==1.8.0
    # via
    #   aiohttp
    #   aiosignal
graphviz==0.21
    # via apache-airflow
greenlet==3.3.2
    # via sqlalchemy
gunicorn==25.1.0
    # via apache-airflow
h11==0.16.0
    # via httpcore
httpcore==1.0.9
    # via httpx
httpx==0.28.1
    # via
    #   apache-airflow
    #   connexion
idna==3.11
    # 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.6
    # via
    #   apache-airflow
    #   connexion
    #   flask
    #   flask-babel
    #   python-nvd3
jsonschema==4.26.0
    # via
    #   apache-airflow
    #   connexion
    #   flask-appbuilder
jsonschema-specifications==2025.9.1
    # via jsonschema
lazy-object-proxy==1.12.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.10
    # via alembic
markdown==3.10.2
    # via apache-airflow
markdown-it-py==4.0.0
    # via
    #   apache-airflow
    #   mdit-py-plugins
    #   rich
markupsafe==3.0.3
    # via
    #   apache-airflow
    #   jinja2
    #   mako
    #   werkzeug
    #   wtforms
marshmallow==3.26.2
    # via
    #   flask-appbuilder
    #   marshmallow-enum
    #   marshmallow-oneofschema
    #   marshmallow-sqlalchemy
marshmallow-enum==1.5.1
    # via flask-appbuilder
marshmallow-oneofschema==3.2.0
    # via apache-airflow
marshmallow-sqlalchemy==0.26.1
    # via flask-appbuilder
mdit-py-plugins==0.5.0
    # via apache-airflow
mdurl==0.1.2
    # via markdown-it-py
motor==3.7.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   osm-common
msgspec==0.20.0
    # via flask-session
multidict==6.7.1
    # via
    #   aiohttp
    #   yarl
osm-common @ git+https://osm.etsi.org/gerrit/osm/common.git@master
    # via -r requirements-dev.in
packaging==26.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   aiokafka
    #   apache-airflow
    #   gunicorn
    #   marshmallow
    #   osm-common
pathspec==0.9.0
    # via apache-airflow
pendulum==3.2.0
    # via apache-airflow
pluggy==1.6.0
    # via apache-airflow
prison==0.2.1
    # via flask-appbuilder
propcache==0.4.1
    # via
    #   aiohttp
    #   yarl
psutil==7.2.2
    # via apache-airflow
pycparser==3.0
    # via cffi
pycryptodome==3.23.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   osm-common
pygments==2.19.2
    # via
    #   apache-airflow
    #   rich
pyjwt==2.11.0
    # via
    #   apache-airflow
    #   flask-appbuilder
    #   flask-jwt-extended
pymongo==4.16.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   motor
    #   osm-common
python-daemon==3.1.2
    # via apache-airflow
python-dateutil==2.9.0.post0
    # via
    #   apache-airflow
    #   croniter
    #   flask-appbuilder
    #   pendulum
python-multipart==0.0.22
    # via connexion
python-nvd3==0.16.0
    # via apache-airflow
python-slugify==8.0.4
    # via
    #   apache-airflow
    #   python-nvd3
pytz==2025.2
    # via
    #   croniter
    #   flask-babel
pyyaml==6.0.3
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   apispec
    #   connexion
    #   osm-common
referencing==0.37.0
    # via
    #   jsonschema
    #   jsonschema-specifications
requests==2.32.5
    # 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==14.3.3
    # via apache-airflow
rpds-py==0.30.0
    # via
    #   jsonschema
    #   referencing
setproctitle==1.3.7
    # via apache-airflow
six==1.17.0
    # via
    #   prison
    #   python-dateutil
    #   rfc3339-validator
sqlalchemy==1.4.54
    # 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.42.1
    # via flask-appbuilder
sqlparse==0.5.5
    # via apache-airflow-providers-common-sql
starlette==0.52.1
    # via connexion
tabulate==0.9.0
    # via apache-airflow
tenacity==9.1.4
    # via apache-airflow
termcolor==3.3.0
    # via apache-airflow
text-unidecode==1.3
    # via python-slugify
tomli==2.4.0
    # via alembic
typing-extensions==4.15.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   a2wsgi
    #   aiokafka
    #   aiosignal
    #   alembic
    #   anyio
    #   apache-airflow
    #   asgiref
    #   cattrs
    #   connexion
    #   cron-descriptor
    #   cryptography
    #   exceptiongroup
    #   multidict
    #   osm-common
    #   referencing
    #   starlette
tzdata==2025.3
    # via pendulum
uc-micro-py==1.0.3
    # via linkify-it-py
unicodecsv==0.14.1
    # via apache-airflow
urllib3==2.6.3
    # via requests
werkzeug==3.1.6
    # via
    #   apache-airflow
    #   connexion
    #   flask
    #   flask-jwt-extended
    #   flask-login
wrapt==2.1.1
    # via deprecated
wtforms==3.2.1
    # via
    #   flask-appbuilder
    #   flask-wtf
yarl==1.22.0
    # via aiohttp
