# Pip constraints file for packages needed for development.
#
# This file specifies constraints that match the minimum versions specified in
# requirements-develop.txt. They are used for example when setting up test
# environments with the minimum versions of any dependent packages.


# Direct dependencies for development and indirect dependencies for development
# that are needed for some reason (must be consistent with requirements-develop.txt)

# PEP517 package builder, used in Makefile
build==1.0.0
# build requires virtualenv.cli_run which was added in virtualenv 20.1
virtualenv==20.36.1
pyproject-hooks==1.1.0

# Change log
towncrier==22.8.0
incremental==22.10.0
click-default-group==1.2.4

# Unit test (imports into testcases):
# Note: pytest is covered in minimum-constraints-install.txt
testfixtures==6.9.0
importlib-metadata==8.7.0
more-itertools==4.0.0
pytz==2019.1
# requests: covered in direct deps for installation
requests-mock==1.6.0
requests-toolbelt==0.8.0
tzdata==2023.4; sys_platform == 'win32'
rfc3986-validator==0.1.1

# Unit test (indirect dependencies):
# decorator: covered in direct deps for installation

# Coverage reporting (no imports, invoked via coveralls script):
coverage==7.8.0
coveralls==4.0.1; python_version == '3.9'
coveralls==4.0.2; python_version >= '3.10'

# Safety CI by pyup.io
safety==3.8.1
safety-schemas==0.0.16
dparse==0.6.4
ruamel.yaml==0.19.1
Authlib==1.6.12
marshmallow==3.26.2
pydantic==2.12.0
pydantic_core==2.41.1
typer==0.16.0
typer-cli==0.16.0
typer-slim==0.16.0
truststore==0.10.4; python_version >= '3.10'

# Bandit checker
bandit==1.7.8

# Tox
tox==4.15.0

# Sphinx (no imports, invoked via sphinx-build script):
Sphinx==7.2.0
docutils==0.20.1
sphinx-git==10.1.1
GitPython==3.1.50
sphinx-rtd-theme==2.0.0
sphinxcontrib-applehelp==1.0.4
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.1
sphinxcontrib-jquery==4.1
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.9
sphinxcontrib-websupport==1.2.4
autodocsumm==0.2.12
Babel==2.11.0
snowballstemmer==2.0.0
roman-numerals-py==3.1.0
roman-numerals==3.1.0

# PyLint (no imports, invoked via pylint script)
pylint==3.3.1
astroid==3.3.7
lazy-object-proxy==1.4.3
wrapt==1.14
isort==4.3.8
tomlkit==0.10.1
dill==0.3.7

# Flake8 and dependents (no imports, invoked via flake8 script):
flake8==6.1.0
mccabe==0.7.0
pycodestyle==2.11.0
pyflakes==3.1.0
entrypoints==0.3.0

# Ruff checker (no imports, invoked via ruff script):
ruff==0.3.5

# Jupyter Notebook (no imports, invoked via jupyter script):
# TODO: Re-enable for Python 3.13 on Windows once pywin32 install issue is solved, see
#       https://github.com/mhammond/pywin32/issues/2367
notebook==7.5.6; sys_platform != 'win32' or python_version <= '3.12'
ipykernel==6.31.0; sys_platform != 'win32' or python_version <= '3.12'
ipython-genutils==0.2.0; sys_platform != 'win32' or python_version <= '3.12'
ipython==8.18.1; sys_platform != 'win32' or python_version <= '3.12'
ipywidgets==8.1.8; sys_platform != 'win32' or python_version <= '3.12'
jupyter_client==8.6.3; sys_platform != 'win32' or python_version <= '3.12'
jupyter-console==6.6.3; sys_platform != 'win32' or python_version <= '3.12'
jupyter_core==5.8.1; sys_platform != 'win32' or python_version <= '3.12'
jupyter_server==2.18.2; python_version == '3.9' and (sys_platform != 'win32' or python_version <= '3.12')
jupyter_server==2.20.0; python_version >= '3.10' and (sys_platform != 'win32' or python_version <= '3.12')
jupyter==1.1.1; sys_platform != 'win32' or python_version <= '3.12'
jupyterlab_pygments==0.3.0; sys_platform != 'win32' or python_version <= '3.12'
jupyterlab_server==2.28.0; sys_platform != 'win32' or python_version <= '3.12'
jupyterlab_widgets==3.0.16; sys_platform != 'win32' or python_version <= '3.12'
jupyterlab==4.5.9; sys_platform != 'win32' or python_version <= '3.12'
nbclient==0.10.2; sys_platform != 'win32' or python_version <= '3.12'
nbconvert==7.17.1; sys_platform != 'win32' or python_version <= '3.12'
nbformat==5.10.4; sys_platform != 'win32' or python_version <= '3.12'
notebook_shim==0.2.4; sys_platform != 'win32' or python_version <= '3.12'
qtconsole==5.7.2; sys_platform != 'win32' or python_version <= '3.12'
ipython_pygments_lexers==1.1.1; sys_platform != 'win32' or python_version <= '3.12'
jupyter-events==0.12.1; sys_platform != 'win32' or python_version <= '3.12'
jupyter-lsp==2.3.1; sys_platform != 'win32' or python_version <= '3.12'
jupyter_server_terminals==0.5.4; sys_platform != 'win32' or python_version <= '3.12'
jupyter_builder==1.0.2; sys_platform != 'win32' or python_version <= '3.12'

# Pywin32 is used (at least?) by jupyter.
pywin32==303; sys_platform == 'win32' and python_version <= '3.11'
# TODO: Re-enable for Python 3.13 once pywin32 install issue is solved, see
#       https://github.com/mhammond/pywin32/issues/2367
pywin32==306; sys_platform == 'win32' and python_version == '3.12'

pyzmq==27.0.1

# Aditional dependencies of examples
tabulate==0.8.1
progressbar2==3.12.0

# Package dependency management tools (not used by any make rules)
pipdeptree==2.24.0
pip-check-reqs==2.5.1

# pywinpty is used by terminado <- notebook <- jupyter
pywinpty==2.0.12; os_name == "nt" and python_version <= '3.12'
pywinpty==3.0.2; os_name == "nt" and python_version >= '3.13'

# Indirect dependencies for development that are not in requirements-develop.txt

alabaster==0.7.9
annotated-doc==0.0.4
annotated-types==0.7.0
anyio==4.4.0
appnope==0.1.4
argon2-cffi==21.2.0
argon2-cffi-bindings==25.1.0
arrow==1.4.0
asttokens==3.0.1
async-lru==2.0.5
backports-datetime-fromisoformat==2.0.3
backports.shutil-get-terminal-size==1.0.0
backports.ssl-match-hostname==3.5.0.1
beautifulsoup4==4.15.0
# bleach is used by nbconvert (Jupyter notebook)
bleach==6.2.0; python_version == '3.9'
bleach==6.4.0; python_version >= '3.10'
cachetools==5.3.2
cffi==2.0.0
chardet==5.2.0
comm==0.2.3
cryptography==48.0.1  # used by Authlib, which is used by safety
decorator==4.0.11
defusedxml==0.7.1
debugpy==1.8.21
# defusedxml is used by nltk>=3.10.0
defusedxml==0.7.1; python_version >= '3.10'
distlib==0.3.7
executing==2.2.1
fastjsonschema==2.21.2
filelock==3.16.1; python_version == '3.9'
filelock==3.20.3; python_version >= '3.10'
fqdn==1.5.1
gitdb==4.0.8
h11==0.16.0
httpcore==1.0.9
httpx==0.28.1
imagesize==1.3.0
importlib-resources==5.12.0; python_version <= '3.11'  # Python 3.12 has importlib-resources 5.12
isoduration==20.11.0
jedi==0.19.2
Jinja2==3.1.6
joblib==1.5.3
joserfc==1.6.8
json5==0.15.0
jsonpointer==3.0.0
lark==1.3.1
markdown-it-py==3.0.0
MarkupSafe==2.0.0
matplotlib-inline==0.2.2
mdurl==0.1.2
mistune==3.3.0
nest-asyncio==1.5.4
nest-asyncio2==1.7.2
nltk==3.9.2; python_version == '3.9'
nltk==3.10.0; python_version >= '3.10'
overrides==7.7.0
pandocfilters==1.4.1
parso==0.8.7
pexpect==4.3.1
prompt_toolkit==3.0.52
psutil==6.1.0
pure_eval==0.2.3
pycparser==2.23
pyproject-api==1.6.1  # used by tox since its 4.0.0
python-dateutil==2.8.2
python-discovery==1.1.1
python-json-logger==4.0.0
python-utils==3.9.1
prometheus-client==0.13.1
ptyprocess==0.5.1
pywin32-ctypes==0.2.0; sys_platform=="win32"  # used by keyring
QtPy==2.4.3
regex==2026.1.15
rfc3339-validator==0.1.4
rfc3987-syntax==1.1.0
rich==14.3.4
Send2Trash==1.8.2
shellingham==1.5.4
smmap==5.0.3
sniffio==1.3.0
stevedore==5.5.0
soupsieve==2.8.4
stack-data==0.6.3
tenacity==8.5.0
terminado==0.8.3
tomli-w==1.2.0
tornado==6.5.7
tqdm==4.66.3
traitlets==5.6.0
tinycss2==1.4.0
typing-inspection==0.4.2
uri-template==1.3.0
wcwidth==0.8.1
webcolors==24.11.1
webencodings==0.5.1
widgetsnbextension==4.0.14
zipp==3.20.0
