# 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.26.6
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==4.8.3
more-itertools==4.0.0
# pytz: covered in direct deps for installation
# requests: covered in direct deps for installation
requests-mock==1.6.0
requests-toolbelt==0.8.0

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

# Coverage reporting (no imports, invoked via coveralls script):
coverage==5.0
pytest-cov==2.7.0
coveralls==3.3.0

# Safety CI by pyup.io
safety==3.1.0
safety-schemas==0.0.2
# TODO: Change to dparse 0.6.4 once released
dparse==0.6.4b0
ruamel.yaml==0.17.21
click==8.0.2
Authlib==1.3.1
marshmallow==3.15.0
pydantic==2.8.0
typer==0.12.0
typer-cli==0.12.0
typer-slim==0.12.0
psutil==6.0.0

# Bandit checker
bandit==1.7.8

# Tox
tox==4.15.0

# Sphinx (no imports, invoked via sphinx-build script):
Sphinx==7.1.0; python_version == '3.8'
Sphinx==7.2.0; python_version >= '3.9'
docutils==0.18.1
sphinx-git==10.1.1
GitPython==3.1.41
Pygments==2.15.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.5; python_version == '3.8'
sphinxcontrib-serializinghtml==1.1.9; python_version >= '3.9'
sphinxcontrib-websupport==1.2.4
autodocsumm==0.2.12
Babel==2.11.0

# PyLint (no imports, invoked via pylint script)
pylint==3.0.1; python_version == '3.8'
pylint==3.3.1; python_version >= '3.9'
astroid==3.0.1; python_version == '3.8'
astroid==3.3.5; python_version >= '3.9'
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.2.2; sys_platform != 'win32' or python_version <= '3.12'
jupyter==1.0.0; sys_platform != 'win32' or python_version <= '3.12'
jupyter-console==6.6.3; sys_platform != 'win32' or python_version <= '3.12'
ipywidgets==8.0.5; sys_platform != 'win32' or python_version <= '3.12'
nbconvert==7.2.10; sys_platform != 'win32' or python_version <= '3.12'
nbclient==0.7.4; sys_platform != 'win32' or python_version <= '3.12'
nbformat==5.8.0; sys_platform != 'win32' or python_version <= '3.12'
qtconsole==5.4.2; sys_platform != 'win32' or python_version <= '3.12'
ipykernel==6.22.0; sys_platform != 'win32' or python_version <= '3.12'
jupyter-client==8.1.0; sys_platform != 'win32' or python_version <= '3.12'
jupyterlab-widgets==3.0.7; sys_platform != 'win32' or python_version <= '3.12'
jupyterlab-pygments==0.2.0; sys_platform != 'win32' or python_version <= '3.12'
jupyter-core==5.3.0; sys_platform != 'win32' or python_version <= '3.12'
ipython-genutils==0.2.0; sys_platform != 'win32' or python_version <= '3.12'
ipython==8.10.0; sys_platform != 'win32' or python_version <= '3.12'
jupyter-server==2.14.1; sys_platform != 'win32' or python_version <= '3.12'
jupyterlab==4.2.5; sys_platform != 'win32' or python_version <= '3.12'
jupyterlab-server==2.27.1; sys_platform != 'win32' or python_version <= '3.12'
notebook-shim==0.2.3; 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==26.1.0

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

# Package dependency management tools (not used by any make rules)
pipdeptree==2.2.0
pip-check-reqs==2.4.3; python_version <= '3.8'
pip-check-reqs==2.5.1; python_version >= '3.9'

# pywinpty is used by terminado <- notebook <- jupyter
pywinpty==2.0.12; os_name == "nt"

# 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.0
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
dataclasses==0.8
defusedxml==0.7.1
distlib==0.3.7
filelock==3.13.1
gitdb==4.0.8
gitdb2==2.0.0
html5lib==1.1
imagesize==1.3.0
importlib-resources==1.4.0
jedi==0.17.2
Jinja2==3.1.4
keyring==18.0.0
lxml==4.9.3
MarkupSafe==2.0.0
# nbconvert 7.2.10 depends on mistune<3 and >=2.0.3
mistune==2.0.3
nest-asyncio==1.5.4
# 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
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
snowballstemmer==2.0.0
stevedore==5.2.0
terminado==0.8.3
testpath==0.3
toml==0.10.0
tomli==2.0.1
tornado==6.4.1
tqdm==4.66.3
traitlets==5.6.0
typing==3.6.1
typing-extensions==4.12.2
webencodings==0.5.1
widgetsnbextension==4.0.0
