#######################################################################################
# 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.
#######################################################################################
aiokafka==0.8.0
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
alembic==1.9.2
    # 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.0
    # via apache-airflow
apache-airflow-providers-http==4.1.1
    # 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
async-timeout==4.0.2
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
    #   aiokafka
attrs==22.2.0
    # via
    #   apache-airflow
    #   cattrs
    #   jsonschema
babel==2.11.0
    # 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 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.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.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.2
    # 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
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
importlib-metadata==6.0.0
    # via
    #   alembic
    #   apache-airflow
    #   flask
    #   markdown
importlib-resources==5.10.2
    # 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=master
    #   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.1.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.3
    # 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=master
osm-common @ git+https://osm.etsi.org/gerrit/osm/common.git@master
    # 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=master
    #   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
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=master
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=master
    #   motor
pyrsistent==0.19.3
    # via jsonschema
python-daemon==2.3.2
    # 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.0
    # 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=master
    #   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
    #   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.39.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
tenacity==8.1.0
    # via apache-airflow
termcolor==2.2.0
    # via apache-airflow
text-unidecode==1.3
    # via python-slugify
typing-extensions==4.4.0
    # via
    #   apache-airflow
    #   rich
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.2
    # via
    #   apache-airflow
    #   connexion
    #   flask
    #   flask-jwt-extended
    #   flask-login
wrapt==1.14.1
    # via deprecated
wtforms==3.0.1
    # via
    #   flask-appbuilder
    #   flask-wtf
zipp==3.12.0
    # via
    #   importlib-metadata
    #   importlib-resources

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