# Requirements to build the Python documentation, for the oldest supported
# Sphinx version.
#
# We pin Sphinx and all of its dependencies to ensure a consistent environment.

blurb
python-docs-theme>=2022.1

# Generated from:
#     pip install "Sphinx~=4.2.0"
#     pip freeze
#
# Sphinx 4.2 comes from ``needs_sphinx = '4.2'`` in ``Doc/conf.py``.

alabaster==0.7.13
Babel==2.13.0
certifi==2023.7.22
charset-normalizer==3.3.0
docutils==0.17.1
idna==3.4
imagesize==1.4.1
Jinja2==3.1.2
MarkupSafe==2.1.3
packaging==23.2
Pygments==2.16.1
requests==2.31.0
snowballstemmer==2.2.0
Sphinx==4.2.0
sphinxcontrib-applehelp==1.0.4
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.1
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
urllib3==2.0.7
