# This file was autogenerated by uv via the following command:
#    uv pip compile --universal --python-version 3.8 --all-extras --unsafe-package=cffi --unsafe-package=pycparser --unsafe-package=setuptools --unsafe-package=cryptography-vectors --unsafe-package=bcrypt --refresh pyproject.toml -o ci-constraints-requirements.txt
alabaster==0.7.13 ; python_full_version < '3.9'
    # via sphinx
alabaster==0.7.16 ; python_full_version == '3.9.*'
    # via sphinx
alabaster==1.0.0 ; python_full_version >= '3.10'
    # via sphinx
argcomplete==3.6.3
    # via nox
attrs==25.3.0 ; python_full_version < '3.9'
    # via nox
attrs==25.4.0 ; python_full_version >= '3.9'
    # via nox
babel==2.17.0
    # via sphinx
build==1.2.2.post1 ; python_full_version < '3.9'
    # via
    #   cryptography (pyproject.toml)
    #   check-sdist
build==1.4.0 ; python_full_version >= '3.9'
    # via
    #   cryptography (pyproject.toml)
    #   check-sdist
certifi==2026.1.4
    # via
    #   cryptography (pyproject.toml)
    #   requests
charset-normalizer==3.4.4
    # via requests
check-sdist==1.2.0 ; python_full_version < '3.9'
    # via cryptography (pyproject.toml)
check-sdist==1.3.2 ; python_full_version >= '3.9'
    # via cryptography (pyproject.toml)
click==8.1.8 ; python_full_version < '3.10'
    # via cryptography (pyproject.toml)
click==8.3.1 ; python_full_version >= '3.10'
    # via cryptography (pyproject.toml)
colorama==0.4.6 ; os_name == 'nt' or sys_platform == 'win32'
    # via
    #   build
    #   click
    #   colorlog
    #   pytest
    #   sphinx
colorlog==6.10.1
    # via nox
coverage==7.6.1 ; python_full_version < '3.9'
    # via pytest-cov
coverage==7.10.7 ; python_full_version == '3.9.*'
    # via pytest-cov
coverage==7.13.1 ; python_full_version >= '3.10'
    # via pytest-cov
dependency-groups==1.3.1
    # via nox
distlib==0.4.0
    # via virtualenv
docutils==0.20.1 ; python_full_version < '3.9'
    # via
    #   readme-renderer
    #   sphinx
    #   sphinx-rtd-theme
docutils==0.21.2 ; python_full_version >= '3.9' and python_full_version < '3.11'
    # via
    #   readme-renderer
    #   sphinx
    #   sphinx-rtd-theme
docutils==0.22.4 ; python_full_version >= '3.11'
    # via
    #   readme-renderer
    #   sphinx
    #   sphinx-rtd-theme
exceptiongroup==1.3.1 ; python_full_version < '3.11'
    # via pytest
execnet==2.1.2
    # via pytest-xdist
filelock==3.16.1 ; python_full_version < '3.9'
    # via virtualenv
filelock==3.19.1 ; python_full_version == '3.9.*'
    # via virtualenv
filelock==3.20.3 ; python_full_version >= '3.10'
    # via virtualenv
humanize==4.10.0 ; python_full_version < '3.9'
    # via nox
humanize==4.13.0 ; python_full_version == '3.9.*'
    # via nox
humanize==4.15.0 ; python_full_version >= '3.10'
    # via nox
idna==3.11
    # via requests
imagesize==1.4.1
    # via sphinx
importlib-metadata==8.5.0 ; python_full_version < '3.9'
    # via
    #   build
    #   pytest-randomly
    #   sphinx
importlib-metadata==8.7.1 ; python_full_version >= '3.9' and python_full_version < '3.10.2'
    # via
    #   build
    #   pytest-randomly
    #   sphinx
importlib-resources==6.4.5 ; python_full_version < '3.9'
    # via check-sdist
iniconfig==2.1.0 ; python_full_version < '3.10'
    # via pytest
iniconfig==2.3.0 ; python_full_version >= '3.10'
    # via pytest
jinja2==3.1.6
    # via sphinx
librt==0.7.8 ; python_full_version >= '3.9' and platform_python_implementation != 'PyPy'
    # via mypy
markupsafe==2.1.5 ; python_full_version < '3.9'
    # via jinja2
markupsafe==3.0.3 ; python_full_version >= '3.9'
    # via jinja2
mypy==1.14.1 ; python_full_version < '3.9'
    # via cryptography (pyproject.toml)
mypy==1.19.1 ; python_full_version >= '3.9'
    # via cryptography (pyproject.toml)
mypy-extensions==1.1.0
    # via mypy
nh3==0.3.2
    # via readme-renderer
nox==2025.11.12
    # via cryptography (pyproject.toml)
packaging==25.0
    # via
    #   build
    #   dependency-groups
    #   nox
    #   pytest
    #   sphinx
pathspec==0.12.1 ; python_full_version < '3.9'
    # via check-sdist
pathspec==1.0.3 ; python_full_version >= '3.9'
    # via
    #   check-sdist
    #   mypy
platformdirs==4.3.6 ; python_full_version < '3.9'
    # via virtualenv
platformdirs==4.4.0 ; python_full_version == '3.9.*'
    # via virtualenv
platformdirs==4.5.1 ; python_full_version >= '3.10'
    # via virtualenv
pluggy==1.5.0 ; python_full_version < '3.9'
    # via pytest
pluggy==1.6.0 ; python_full_version >= '3.9'
    # via
    #   pytest
    #   pytest-cov
pretend==1.0.9
    # via cryptography (pyproject.toml)
py-cpuinfo==9.0.0
    # via pytest-benchmark
pyenchant==3.2.2 ; python_full_version < '3.9'
    # via
    #   cryptography (pyproject.toml)
    #   sphinxcontrib-spelling
pyenchant==3.3.0 ; python_full_version >= '3.9'
    # via
    #   cryptography (pyproject.toml)
    #   sphinxcontrib-spelling
pygments==2.19.2
    # via
    #   pytest
    #   readme-renderer
    #   sphinx
pyproject-hooks==1.2.0
    # via build
pytest==8.3.5 ; python_full_version < '3.9'
    # via
    #   cryptography (pyproject.toml)
    #   pytest-benchmark
    #   pytest-cov
    #   pytest-randomly
    #   pytest-xdist
pytest==8.4.2 ; python_full_version == '3.9.*'
    # via
    #   cryptography (pyproject.toml)
    #   pytest-benchmark
    #   pytest-cov
    #   pytest-randomly
    #   pytest-xdist
pytest==9.0.2 ; python_full_version >= '3.10'
    # via
    #   cryptography (pyproject.toml)
    #   pytest-benchmark
    #   pytest-cov
    #   pytest-randomly
    #   pytest-xdist
pytest-benchmark==4.0.0 ; python_full_version < '3.9'
    # via cryptography (pyproject.toml)
pytest-benchmark==5.2.3 ; python_full_version >= '3.9'
    # via cryptography (pyproject.toml)
pytest-cov==5.0.0 ; python_full_version < '3.9'
    # via cryptography (pyproject.toml)
pytest-cov==7.0.0 ; python_full_version >= '3.9'
    # via cryptography (pyproject.toml)
pytest-randomly==3.15.0 ; python_full_version < '3.9'
    # via cryptography (pyproject.toml)
pytest-randomly==4.0.1 ; python_full_version >= '3.9'
    # via cryptography (pyproject.toml)
pytest-xdist==3.6.1 ; python_full_version < '3.9'
    # via cryptography (pyproject.toml)
pytest-xdist==3.8.0 ; python_full_version >= '3.9'
    # via cryptography (pyproject.toml)
pytz==2025.2 ; python_full_version < '3.9'
    # via babel
readme-renderer==43.0 ; python_full_version < '3.9'
    # via cryptography (pyproject.toml)
readme-renderer==44.0 ; python_full_version >= '3.9'
    # via cryptography (pyproject.toml)
requests==2.32.4 ; python_full_version < '3.9'
    # via sphinx
requests==2.32.5 ; python_full_version >= '3.9'
    # via
    #   sphinx
    #   sphinxcontrib-spelling
roman-numerals==4.1.0 ; python_full_version >= '3.11'
    # via sphinx
ruff==0.14.11
    # via cryptography (pyproject.toml)
snowballstemmer==3.0.1
    # via sphinx
sphinx==7.1.2 ; python_full_version < '3.9'
    # via
    #   cryptography (pyproject.toml)
    #   sphinx-inline-tabs
    #   sphinx-rtd-theme
    #   sphinxcontrib-jquery
    #   sphinxcontrib-spelling
sphinx==7.4.7 ; python_full_version == '3.9.*'
    # via
    #   cryptography (pyproject.toml)
    #   sphinx-inline-tabs
    #   sphinx-rtd-theme
    #   sphinxcontrib-jquery
    #   sphinxcontrib-spelling
sphinx==8.1.3 ; python_full_version == '3.10.*'
    # via
    #   cryptography (pyproject.toml)
    #   sphinx-inline-tabs
    #   sphinx-rtd-theme
    #   sphinxcontrib-jquery
    #   sphinxcontrib-spelling
sphinx==9.0.4 ; python_full_version == '3.11.*'
    # via
    #   cryptography (pyproject.toml)
    #   sphinx-inline-tabs
    #   sphinx-rtd-theme
    #   sphinxcontrib-jquery
    #   sphinxcontrib-spelling
sphinx==9.1.0 ; python_full_version >= '3.12'
    # via
    #   cryptography (pyproject.toml)
    #   sphinx-inline-tabs
    #   sphinx-rtd-theme
    #   sphinxcontrib-jquery
    #   sphinxcontrib-spelling
sphinx-inline-tabs==2025.12.21.14
    # via cryptography (pyproject.toml)
sphinx-rtd-theme==3.1.0
    # via cryptography (pyproject.toml)
sphinxcontrib-applehelp==1.0.4 ; python_full_version < '3.9'
    # via sphinx
sphinxcontrib-applehelp==2.0.0 ; python_full_version >= '3.9'
    # via sphinx
sphinxcontrib-devhelp==1.0.2 ; python_full_version < '3.9'
    # via sphinx
sphinxcontrib-devhelp==2.0.0 ; python_full_version >= '3.9'
    # via sphinx
sphinxcontrib-htmlhelp==2.0.1 ; python_full_version < '3.9'
    # via sphinx
sphinxcontrib-htmlhelp==2.1.0 ; python_full_version >= '3.9'
    # via sphinx
sphinxcontrib-jquery==4.1
    # via sphinx-rtd-theme
sphinxcontrib-jsmath==1.0.1
    # via sphinx
sphinxcontrib-qthelp==1.0.3 ; python_full_version < '3.9'
    # via sphinx
sphinxcontrib-qthelp==2.0.0 ; python_full_version >= '3.9'
    # via sphinx
sphinxcontrib-serializinghtml==1.1.5 ; python_full_version < '3.9'
    # via sphinx
sphinxcontrib-serializinghtml==2.0.0 ; python_full_version >= '3.9'
    # via sphinx
sphinxcontrib-spelling==8.0.0 ; python_full_version < '3.10'
    # via cryptography (pyproject.toml)
sphinxcontrib-spelling==8.0.2 ; python_full_version >= '3.10'
    # via cryptography (pyproject.toml)
tomli==2.4.0 ; python_full_version <= '3.11'
    # via
    #   build
    #   check-sdist
    #   coverage
    #   dependency-groups
    #   mypy
    #   nox
    #   pytest
    #   sphinx
typing-extensions==4.13.2 ; python_full_version < '3.9'
    # via
    #   cryptography (pyproject.toml)
    #   exceptiongroup
    #   mypy
    #   virtualenv
typing-extensions==4.15.0 ; python_full_version >= '3.9'
    # via
    #   cryptography (pyproject.toml)
    #   exceptiongroup
    #   mypy
    #   virtualenv
urllib3==2.2.3 ; python_full_version < '3.9'
    # via requests
urllib3==2.6.3 ; python_full_version >= '3.9'
    # via requests
uv==0.9.25
    # via nox
virtualenv==20.36.1
    # via nox
zipp==3.20.2 ; python_full_version < '3.9'
    # via
    #   importlib-metadata
    #   importlib-resources
zipp==3.23.0 ; python_full_version >= '3.9' and python_full_version < '3.10.2'
    # via importlib-metadata

# The following packages were excluded from the output:
# cffi
# pycparser
# cryptography-vectors
# bcrypt
