Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,674 changes: 857 additions & 817 deletions .pre-commit-config.yaml

Large diffs are not rendered by default.

30 changes: 27 additions & 3 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,37 +3,61 @@
# Dependencies are listed alphabetically by package name.
# Multiple entries for the same package (with different version constraints) are grouped together.


aiohttp>=3.13.3
certifi>=2024.7.4
cffi>=2.0.0
# cheroot 8.5.2 fails to build with modern setuptools due to setuptools_scm_git_archive dependency
cheroot>=10.0.1
cherrypy>=18.6.1
# We need contextvars for salt-ssh
contextvars
croniter>=0.3.0,!=0.3.22; sys_platform != 'win32'
cryptography>=46.0.5
distro>=1.0.1
frozenlist>=1.3.0; python_version < '3.11'
frozenlist>=1.5.0; python_version >= '3.11'
# immutables is a requirement of contextvars
gitpython>=3.1.37
immutables>=0.21
importlib-metadata>=8.7.0
jaraco.functools>=4.1.0
jaraco.context>=6.1.0
jaraco.text>=4.0.0
Jinja2>=3.1.5
jmespath>=1.1.0
looseversion
lxml>=6.0.2; sys_platform == 'win32'
MarkupSafe<3.0.0
msgpack>=1.0.0
# Packaging 24.1 imports annotations from __future__ which breaks salt ssh
# tests on target hosts with older python versions.
packaging==24.0
psutil<6.0.0; python_version <= '3.9'
psutil>=5.0.0; python_version >= '3.10'
pymssql>=2.2.11; sys_platform == 'win32'
pymysql>=1.0.2; sys_platform == 'win32'
pyopenssl>=25.0.0
python-dateutil>=2.8.1
python-gnupg>=0.4.7
pythonnet>=3.0.1; sys_platform == 'win32'
pywin32>=305; sys_platform == 'win32'
PyYAML
requests<2.32.0 ; python_version < '3.10'
requests>=2.32.5 ; python_version >= '3.10'
rpm-vercmp; sys_platform == 'linux'
setproctitle>=1.2.3
timelib>=0.2.5; python_version < '3.11'
timelib>=0.3.0; python_version >= '3.11'
tornado>=6.5.4
urllib3>=1.26.20,<2.0.0; python_version < '3.10'
urllib3>=2.6.3; python_version >= '3.10'
# For venv module to work without ensurepip
virtualenv
wmi>=1.5.1; sys_platform == 'win32'
xmltodict>=0.13.0; sys_platform == 'win32'
zipp>=3.19.1
apache-libcloud>=2.4.0
idna>=2.8
linode-python>=1.1.1
more-itertools>=9.1.0
pyasn1>=0.6.2
pycparser>=2.21
vultr>=1.0.1
4 changes: 2 additions & 2 deletions requirements/constraints.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
wheel >= 0.46.3
setuptools >= 80.10.2
wheel >= 0.45.1
setuptools >= 75.3.0
pip == 25.2
26 changes: 2 additions & 24 deletions requirements/darwin.txt
Original file line number Diff line number Diff line change
@@ -1,27 +1,5 @@
# Darwin source distribution requirements
# Don't add any requirements here, add them in requirements/base.txt
# If they are macOS specific, place "; sys_platform == 'darwin'" in front of the requirement.

-r zeromq.txt

apache-libcloud>=2.4.0
cherrypy>=17.4.1
gitpython>=3.1.37
idna>=2.8
linode-python>=1.1.1
pyasn1>=0.6.2
pycparser>=2.21
pyopenssl>=25.0.0
python-dateutil>=2.8.0
python-gnupg>=0.4.4
setproctitle>=1.2.3
timelib>=0.2.5
vultr>=1.0.1

# ImportLib-Metadata
importlib-metadata>=8.7.0
zipp>=3.19.1

more-itertools>=9.1.0
# cheroot 8.5.2 fails to build with modern setuptools due to setuptools_scm_git_archive dependency
cheroot>=10.0.1
jaraco.text>=4.0.0
jaraco.functools>=4.1.0
2 changes: 0 additions & 2 deletions requirements/static/ci/changelog.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
--constraint=./py{py_version}/{platform}.txt

towncrier==22.12.0
looseversion
packaging
6 changes: 2 additions & 4 deletions requirements/static/ci/cloud.in
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
# Cloud tests requirements
--constraint=./py{py_version}/{platform}.txt

apache-libcloud>=2.5.0
netaddr
profitbricks
pypsexec
pywinrm
pyspnego==0.8.0
smbprotocol==1.10.1
pyspnego
smbprotocol
27 changes: 16 additions & 11 deletions requirements/static/ci/common.in
Original file line number Diff line number Diff line change
@@ -1,55 +1,60 @@
# Requirements in this file apply to all platforms.
# We can also exclude platforms from the requirements using markers, but if a requirement only applies
# to a particular platform, please add it to the corresponding `<platform>.in` file in this directory.
--constraint=../pkg/py{py_version}/{platform}.txt


# aiohttp is a dependency of etcd3-py
aiohttp>=3.10.2
apache-libcloud>=1.5.0; sys_platform != 'win32'
boto3>=1.25.0
# bcrypt is an extra requirement for passlib, and we shouldn't use extras, like, passlib[bcrypt]
# since that will break using the compiled static requirements files as contraints file
bcrypt
boto3>=1.30.0
boto>=2.47.0
botocore>=1.30.0
cryptography>=46.0.5
cffi>=1.14.6
cherrypy>=17.4.1
clustershell
dnspython
etcd3-py==0.1.6
# aiohttp is a dependency of etcd3-py
aiohttp>=3.10.2
filelock>=3.19.1 ; python_version < '3.10'
filelock>=3.20.3 ; python_version >= '3.10'
gitpython>=3.1.37
google-auth==2.35.0; python_version == '3.9'
jmespath>=1.1.0
jsonschema
junos-eznc; sys_platform != 'win32' and python_version <= '3.10'
junos-eznc; sys_platform != 'win32'
junit-xml>=1.9
jxmlease; sys_platform != 'win32'
kazoo; sys_platform != 'win32' and sys_platform != 'darwin'
keyring==5.7.1
pyasn1-modules==0.4.0; python_version == '3.9'
kubernetes>=24.0.0
libnacl>=1.7.1; sys_platform != 'win32' and sys_platform != 'darwin'
# markdown-it-py constraint for py3.9: myst-docutils (docs requirement) needs <3.0.0,
# but netmiko (from napalm, only in py3.9) pulls in rich which wants 3.0.0+
markdown-it-py<3.0.0; python_version == '3.9'
moto>=5.0.0
# Napalm pulls in pyeapi which does not work on Py3.10
napalm; sys_platform != 'win32' and python_version < '3.10'
paramiko>=2.10.1; sys_platform != 'win32' and sys_platform != 'darwin'
# bcrypt is an extra requirement for passlib, and we shouldn't use extras, like, passlib[bcrypt]
# since that will break using the compiled static requirements files as contraints file
bcrypt
passlib>=1.7.4
pynacl>=1.5.0
pycparser>=2.21; python_version >= '3.9'
pyinotify>=0.9.6; sys_platform != 'win32' and sys_platform != 'darwin' and platform_system != "openbsd"
python-etcd>0.4.2
pyvmomi
rfc3987
sqlparse>=0.4.4
strict_rfc3339>=0.7
textfsm
toml
vcert~=0.9.0; sys_platform != 'win32'
virtualenv>=20.36.1
watchdog>=0.9.0
websocket-client>=1.3.3
# werkzeug is a dependency of moto
werkzeug>=3.1.5
textfsm
xmldiff>=2.4
# Available template libraries that can be used
genshi>=0.7.3
cheetah3>=3.2.2
Expand Down
2 changes: 0 additions & 2 deletions requirements/static/ci/crypto.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
--constraint=./py{py_version}/{platform}.txt

m2crypto
pycryptodome
9 changes: 3 additions & 6 deletions requirements/static/ci/darwin.in
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
# XXX: Temporarily do not install pylxd.
# pylxd(or likely ws4py) will cause the test suite to hang at the finish line under runtests.py
# pylxd>=2.2.5
--constraint=../pkg/py{py_version}/{platform}.txt

yamlordereddictloader
pygit2>=1.10.1
yamllint
mercurial
hglib
# Pin versions to match 3007.x
apache-libcloud>=3.8.0
gitpython>=3.1.46
6 changes: 3 additions & 3 deletions requirements/static/ci/docs.in
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
--constraint=./py{py_version}/{platform}.txt

sphinx>=3.5.1; python_version < '3.9'
sphinx>=6.1.0; python_version >= '3.9'
myst-docutils[linkify]
sphinxcontrib.httpdomain
sphinxcontrib-httpdomain>=1.8.0
sphinxcontrib-spelling
cherrypy
jinja2
MarkupSafe<3.0.0
2 changes: 0 additions & 2 deletions requirements/static/ci/freebsd.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# FreeBSD static CI requirements
--constraint=../pkg/py{py_version}/{platform}.txt

pygit2>=1.10.1
yamllint
mercurial
hglib
1 change: 0 additions & 1 deletion requirements/static/ci/lint.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Lint requirements
--constraint=./py{py_version}/{platform}.txt

docker >= 7.1.0; python_version >= '3.8'
docker < 7.1.0; python_version < '3.8'
Expand Down
2 changes: 0 additions & 2 deletions requirements/static/ci/linux.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# Linux static CI requirements
--constraint=../pkg/py{py_version}/{platform}.txt

pyiface
pygit2>=1.10.1
pymysql>=1.1.1
Expand Down
20 changes: 8 additions & 12 deletions requirements/static/ci/py3.10/changelog.txt
Original file line number Diff line number Diff line change
@@ -1,39 +1,35 @@
#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.10/changelog.txt requirements/static/ci/changelog.in
#
click==7.1.1
# This file was autogenerated by uv via the following command:
# uv pip compile requirements/static/ci/changelog.in --python-platform=linux --python-version=3.10 --no-emit-index-url --unsafe-package=setuptools -c=requirements/static/ci/py3.10/linux.txt -o=requirements/static/ci/py3.10/changelog.txt
click==8.1.3
# via
# click-default-group
# towncrier
click-default-group==1.2.2
# via towncrier
incremental==17.5.0
incremental==22.10.0
# via towncrier
jinja2==3.1.6
# via
# -c requirements/static/ci/py3.10/linux.txt
# towncrier
looseversion==1.0.2
looseversion==1.3.0
# via
# -c requirements/static/ci/py3.10/linux.txt
# -r requirements/static/ci/changelog.in
markupsafe==2.1.2
markupsafe==2.1.3
# via
# -c requirements/static/ci/py3.10/linux.txt
# jinja2
packaging==24.0
# via
# -c requirements/static/ci/py3.10/linux.txt
# -r requirements/static/ci/changelog.in
tomli==2.0.1
tomli==2.2.1
# via
# -c requirements/static/ci/py3.10/linux.txt
# towncrier
towncrier==22.12.0
# via -r requirements/static/ci/changelog.in

# The following packages are considered to be unsafe in a requirements file:
# The following packages were excluded from the output:
# setuptools
Loading
Loading