-
Notifications
You must be signed in to change notification settings - Fork 26
/
dev-requirements.txt
184 lines (160 loc) · 7.01 KB
/
dev-requirements.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
# Pip requirements file for packages needed for development.
# Direct dependencies for development and indirect dependencies for development
# that are needed for some reason (must be consistent with minimum-constraints-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.26.6
pyproject-hooks>=1.1.0
# six (only needed by packages that still support Python 2)
six>=1.16.0
# Change log
towncrier>=22.8.0
# Unit test (imports into testcases):
# pytest is covered in extra-testutils-requirements.txt
testfixtures>=6.9.0
importlib-metadata>=4.8.3
# requests: covered in direct deps for installation
colorama>=0.4.6
requests-mock>=1.6.0
requests-toolbelt>=0.8.0
more-itertools>=4.0.0
# pytz: covered in requirements.txt
# packaging is used by pytest, pip-check-reqs, sphinx
packaging>=23.2
# Unit test (indirect dependencies):
pluggy>=1.3.0
# decorator: covered in requirements.txt
# Coverage reporting (no imports, invoked via coveralls script):
# coveralls pins coverage to <7.0, causing pip backtracking to happen. Pinning
# it to <7.0 in this file saves the time for backtracking, but requires to
# occasionally check for new versions of coveralls without pinning.
coverage>=5.0,<7.0
pytest-cov>=2.7.0
coveralls>=3.3.0
# PyYAML: covered in direct deps for development
# Safety CI by pyup.io
# Safety 3.0.0 requires exact versions of authlib==1.2.0 and jwt==1.3.1.
# Safety 3.0.x pins pydantic to <2.0, preventing bug fixes.
# pydantic 2.8.0 fixes an install issue on Python 3.13.
safety>=3.1.0
safety-schemas>=0.0.2,!=0.0.7
# TODO: Change to dparse 0.6.4 once released
dparse>=0.6.4b0
ruamel.yaml>=0.17.21
click>=8.0.2
Authlib>=1.2.0
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.2.0 started requiring Python>=3.9
Sphinx>=7.1.0; python_version == '3.8'
Sphinx>=7.2.0; python_version >= '3.9'
# Sphinx 7.1.0 pins docutils to <0.21
docutils>=0.18.1,<0.21; python_version == '3.8'
docutils>=0.18.1; python_version >= '3.9'
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 is also used by tox
platformdirs>=4.1.0
# isort 4.3.8 fixes an issue with py310 and works on py310 (Note that isort 5.10.0 has official support for py310)
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):
# Note: The packages for Jupyter Notebook are prone to causing endless pip backtracking when
# installed with minimum versions. This was addressed by pinning the package versions
# to a maximum in order to reduce the search space for pip.
# Note: nbconvert 7.0.0 started using importlib-metadata and requires importlib-metadata>=3.6
# which conflicts with flake8 (which still uses the deprecated interfaces importlib-metadata
# removed). Therefore, we cannot currently use the latest versions of Jupyter Notebook
# packages.
# Note: notebook 6.5.1 starts using nbclassic which seems to introduce some challenges for pip
# dependency resolution, so for now we pin notebook to <6.5.
# 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 version 226 needs to be excluded, see issues #1946 and #1975.
# pywin32 version 302 added support for Python 3.10
# pywin32 version 303 added support for Python 3.11
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'
# The tornado package is used by ipykernel which is used by jupyter.
tornado>=6.4.1
# pyzmq 26.1.0 added wheel archives for Python 3.13
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 fixes a speed issue on Python 3.11 and requires pip>=21.2.4
# pip-check-reqs 2.5.0 dropped support for py38
# pip-check-reqs 2.5.0 has issue https://github.com/r1chardj0n3s/pip-check-reqs/issues/143
pip-check-reqs>=2.4.3,!=2.5.0; python_version == '3.8'
pip-check-reqs>=2.5.1; python_version >= '3.9'
# pywinpty is used by terminado <- notebook <- jupyter
# pywinpty>=1.0 requires maturin to build. Meanwhile, it works.
pywinpty>=2.0.12; os_name == "nt"
# pytz is actually covered in requirements.txt, but we need to repeat it here
# because development packages pull it in, so the exclusion of 2024.2 is active
# for development as well.
# pytz 2024.2 introduced an issue that causes our tests to fail.
pytz>=2019.1,!=2024.2