# Pip constraints file for packages needed for development.
#
# This file specifies constraints that match the minimum versions specified in
# dev-requirements.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 dev-requirements.txt)

# six (only needed by packages that still support Python 2)
six==1.16.0

# 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
colorama==0.4.6
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'

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

# Coverage reporting (no imports, invoked via coveralls script):
coverage==7.8.0; python_version <= '3.12'
coverage==6.5.0; python_version >= '3.13'
coveralls==4.0.1; python_version <= '3.12'
coveralls==3.3.0; python_version >= '3.13'

# Safety CI by pyup.io
safety==3.6.2
safety-schemas==0.0.16
dparse==0.6.4
ruamel.yaml==0.17.21
click==8.0.2
Authlib==1.6.11
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
psutil==6.1.0

# 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
Pygments==2.20.0
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
platformdirs==4.1.0
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; 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.7; 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'

# 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 dev-requirements.txt

alabaster==0.7.9
anyio==4.4.0
appdirs==1.4.3
appnope==0.1.2
argon2-cffi==21.2.0
args==0.1.0
atomicwrites==1.4.0
backports-abc==0.5
backports.shutil-get-terminal-size==1.0.0
backports.ssl-match-hostname==3.5.0.1
bleach==3.3.0
cachetools==5.3.2
Click==8.0.2
clint==0.5.1
configparser==4.0.2
cryptography==46.0.7  # used by Authlib, which is used by safety
dataclasses==0.8
decorator==4.0.11
defusedxml==0.7.1
distlib==0.3.7
filelock==3.16.1; python_version == '3.9'
filelock==3.20.3; python_version >= '3.10'
gitdb==4.0.8
gitdb2==2.0.0
html5lib==1.1
httpx==0.28.1
imagesize==1.3.0
importlib-resources==6.4.0
jedi==0.17.2
Jinja2==3.1.6
keyring==18.0.0
levenshtein==0.25.1
lxml==6.1.0
MarkupSafe==2.0.0
mistune==3.2.1
nest-asyncio==1.5.4
# nltk 3.9.3 fixes CVE-2025-14009
# Need to comment out nltk==3.9.2 due to issue https://github.com/pyupio/safety/issues/847
# nltk==3.9.2; python_version == '3.9'
nltk==3.9.4; python_version >= '3.10'
# nose is used by older versions of notebook, e.g. 4.3.1
nose==1.3.7
pandocfilters==1.4.1
pathlib2==2.3.3
pexpect==4.3.1
pickleshare==0.7.4
pkginfo==1.4.2
pyproject-api==1.6.1  # used by tox since its 4.0.0
pyrsistent==0.20.0  # used by jsonschema>3.0,<4.18
python-dateutil==2.8.2
python-discovery==1.1.1
prometheus-client==0.13.1
ptyprocess==0.5.1
pyparsing==3.0.7
pywin32-ctypes==0.2.0; sys_platform=="win32"  # used by keyring
rfc3986==1.4.0
rich==12.0.0
scandir==1.9.0
Send2Trash==1.8.2
simplegeneric==0.8.1
smmap2==2.0.1
sniffio==1.3.0
stevedore==5.2.0
tenacity==8.5.0
terminado==0.8.3
testpath==0.3
toml==0.10.0
tomli==2.0.1  # used by towncrier
tomli-w==1.2.0  # used by tox>=4.48.0
tornado==6.5.5
tqdm==4.66.3
traitlets==5.6.0
typing==3.6.1
typing-extensions==4.14.1
webencodings==0.5.1
widgetsnbextension==4.0.14
zipp==3.20.0
