#
# This file is autogenerated by pip-compile with python 3.8
# To update, run:
#
#    pip-compile
#
alabaster==0.7.12
    # via sphinx
attrs==21.2.0
    # via markdown-it-py
babel==2.9.1
    # via sphinx
certifi==2021.5.30
    # via requests
charset-normalizer==2.0.4
    # via requests
click==8.0.1
    # via pip-tools
docutils==0.16
    # via
    #   myst-parser
    #   sphinx
    #   sphinx-rtd-theme
idna==3.2
    # via requests
imagesize==1.2.0
    # via sphinx
jinja2==3.0.1
    # via
    #   myst-parser
    #   sphinx
markdown-it-py==1.1.0
    # via
    #   mdit-py-plugins
    #   myst-parser
markupsafe==2.0.1
    # via jinja2
mdit-py-plugins==0.2.8
    # via myst-parser
myst-parser==0.15.2
    # via -r requirements.in
packaging==21.0
    # via sphinx
pep517==0.11.0
    # via pip-tools
pip-tools==6.4.0
    # via -r requirements.in
pygments==2.10.0
    # via sphinx
pyparsing==2.4.7
    # via packaging
pytz==2021.1
    # via babel
pyyaml==6.0
    # via myst-parser
requests==2.26.0
    # via sphinx
snowballstemmer==2.1.0
    # via sphinx
sphinx==4.2.0
    # via
    #   -r requirements.in
    #   myst-parser
    #   sphinx-rtd-theme
    #   sphinxcontrib-plantuml
sphinx-rtd-theme==1.0.0
    # via -r requirements.in
sphinxcontrib-applehelp==1.0.2
    # via sphinx
sphinxcontrib-devhelp==1.0.2
    # via sphinx
sphinxcontrib-htmlhelp==2.0.0
    # via sphinx
sphinxcontrib-jsmath==1.0.1
    # via sphinx
sphinxcontrib-plantuml==0.22
    # via -r requirements.in
sphinxcontrib-qthelp==1.0.3
    # via sphinx
sphinxcontrib-serializinghtml==1.1.5
    # via sphinx
tomli==1.2.1
    # via pep517
urllib3==1.26.6
    # via requests
wheel==0.37.0
    # via pip-tools

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