#######################################################################################
# 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.12.15
    # via apache-airflow-providers-http
aiokafka==0.12.0
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
aiosignal==1.4.0
    # via aiohttp
alembic==1.16.5
    # via apache-airflow
anyio==4.11.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
    #   apispec
    #   flask-appbuilder
argcomplete==3.6.2
    # via apache-airflow
asgiref==3.9.2
    # 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==25.3.0
    # via
    #   aiohttp
    #   apache-airflow
    #   cattrs
    #   jsonschema
    #   referencing
babel==2.17.0
    # via flask-babel
blinker==1.9.0
    # via apache-airflow
cachelib==0.13.0
    # via
    #   flask-caching
    #   flask-session
cattrs==25.2.0
    # via apache-airflow
certifi==2025.8.3
    # via
    #   httpcore
    #   httpx
    #   requests
cffi==2.0.0
    # via cryptography
charset-normalizer==3.4.3
    # via requests
click==8.3.0
    # 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.2.0
    # via
    #   apache-airflow
    #   connexion
cron-descriptor==2.0.6
    # via apache-airflow
croniter==6.0.0
    # via apache-airflow
cryptography==46.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=master
deprecated==1.2.18
    # via apache-airflow
dill==0.4.0
    # 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
    #   pymongo
email-validator==1.3.1
    # via flask-appbuilder
exceptiongroup==1.3.0
    # 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.7.0
    # via
    #   aiohttp
    #   aiosignal
graphviz==0.21
    # via apache-airflow
greenlet==3.2.4
    # via sqlalchemy
gunicorn==23.0.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.10
    # 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.25.1
    # 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.9
    # 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.1
    # 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
msgspec==0.19.0
    # via flask-session
multidict==6.6.4
    # via
    #   aiohttp
    #   yarl
osm-common @ git+https://osm.etsi.org/gerrit/osm/common.git@master
    # via -r requirements-dev.in
packaging==25.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
pathspec==0.9.0
    # via apache-airflow
pendulum==3.1.0
    # via apache-airflow
pluggy==1.6.0
    # via apache-airflow
prison==0.2.1
    # via flask-appbuilder
propcache==0.3.2
    # via
    #   aiohttp
    #   yarl
psutil==7.1.0
    # via apache-airflow
pycparser==2.23
    # 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
pygments==2.19.2
    # via
    #   apache-airflow
    #   rich
pyjwt==2.10.1
    # via
    #   apache-airflow
    #   flask-appbuilder
    #   flask-jwt-extended
pymongo==4.15.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   motor
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.20
    # 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
referencing==0.36.2
    # 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.1.0
    # via apache-airflow
rpds-py==0.27.1
    # via
    #   jsonschema
    #   referencing
setproctitle==1.3.7
    # via apache-airflow
six==1.17.0
    # via
    #   prison
    #   python-dateutil
    #   rfc3339-validator
sniffio==1.3.1
    # via anyio
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.0
    # via flask-appbuilder
sqlparse==0.5.3
    # via apache-airflow-providers-common-sql
starlette==0.48.0
    # via connexion
tabulate==0.9.0
    # via apache-airflow
tenacity==9.1.2
    # via apache-airflow
termcolor==3.1.0
    # via apache-airflow
text-unidecode==1.3
    # via python-slugify
tomli==2.2.1
    # 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
    #   referencing
    #   starlette
tzdata==2025.2
    # via pendulum
uc-micro-py==1.0.3
    # via linkify-it-py
unicodecsv==0.14.1
    # via apache-airflow
urllib3==2.5.0
    # via requests
werkzeug==3.1.3
    # via
    #   apache-airflow
    #   connexion
    #   flask
    #   flask-jwt-extended
    #   flask-login
wrapt==1.17.3
    # via deprecated
wtforms==3.2.1
    # via
    #   flask-appbuilder
    #   flask-wtf
yarl==1.20.1
    # via aiohttp
