Skip to content

Commit 7ef0ba8

Browse files
authored
Revert "fix: adopt uv.lock and dependency-groups (#4757)" (#4760)
1 parent 1a47792 commit 7ef0ba8

18 files changed

+565
-3590
lines changed

.config/constraints.txt

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
# This file was autogenerated by uv via the following command:
2+
# tox run -e deps
3+
ansible-compat==25.8.1 # via ansible-lint (pyproject.toml)
4+
ansible-creator==25.7.1 # via ansible-lint (pyproject.toml)
5+
astroid==3.3.11 # via pylint
6+
asttokens==3.0.0 # via stack-data
7+
attrs==25.3.0 # via jsonschema, referencing, ansible-lint (pyproject.toml)
8+
babel==2.17.0 # via mkdocs-material
9+
backrefs==5.9 # via mkdocs-material
10+
beautifulsoup4==4.13.4 # via linkchecker, mkdocs-htmlproofer-plugin
11+
bindep==2.13.0 # via tox-extra
12+
black==25.1.0 # via ansible-lint (pyproject.toml)
13+
boolean-py==5.0 # via license-expression
14+
bracex==2.6 # via wcmatch, ansible-lint (pyproject.toml)
15+
cachetools==6.1.0 # via tox
16+
cairocffi==1.7.1 # via cairosvg
17+
cairosvg==2.7.1 # via mkdocs-ansible
18+
certifi==2025.8.3 # via requests
19+
cffi==1.17.1 # via cairocffi, cryptography, ansible-lint (pyproject.toml)
20+
chardet==5.2.0 # via tox
21+
charset-normalizer==3.4.3 # via requests
22+
click==8.2.1 # via black, mkdocs, mkdocs-material, ansible-lint (pyproject.toml)
23+
colorama==0.4.6 # via griffe, mkdocs-material, tox
24+
coverage==7.10.4 # via coverage-enable-subprocess, ansible-lint (pyproject.toml)
25+
coverage-enable-subprocess==1.0 # via ansible-lint (pyproject.toml)
26+
cryptography==45.0.6 # via ansible-core, ansible-lint (pyproject.toml)
27+
csscompressor==0.9.5 # via mkdocs-minify-plugin
28+
cssselect2==0.8.0 # via cairosvg
29+
decorator==5.2.1 # via ipdb, ipython
30+
defusedxml==0.7.1 # via cairosvg
31+
dill==0.4.0 # via pylint
32+
distlib==0.4.0 # via virtualenv
33+
distro==1.9.0 # via bindep
34+
dnspython==2.7.0 # via linkchecker
35+
execnet==2.1.1 # via pytest-xdist
36+
executing==2.2.0 # via stack-data
37+
filelock==3.19.1 # via tox, virtualenv, ansible-lint (pyproject.toml)
38+
ghp-import==2.1.0 # via mkdocs
39+
gitdb==4.0.12 # via gitpython
40+
gitpython==3.1.45 # via tox-extra
41+
griffe==1.12.1 # via mkdocstrings-python
42+
hjson==3.1.0 # via mkdocs-macros-plugin, super-collections
43+
htmlmin2==0.1.13 # via mkdocs-minify-plugin
44+
idna==3.10 # via requests
45+
importlib-metadata==8.7.0 # via ansible-lint (pyproject.toml)
46+
iniconfig==2.1.0 # via pytest
47+
ipdb==0.13.13 # via ansible-lint (pyproject.toml)
48+
ipython==8.37.0 # via ipdb, ansible-lint (pyproject.toml)
49+
isort==6.0.1 # via pylint
50+
jedi==0.19.2 # via ipython
51+
jinja2==3.1.6 # via ansible-core, ansible-creator, mkdocs, mkdocs-macros-plugin, mkdocs-material, mkdocstrings, ansible-lint (pyproject.toml)
52+
jmespath==1.0.1 # via ansible-lint (pyproject.toml)
53+
jsmin==3.0.1 # via mkdocs-minify-plugin
54+
jsonschema==4.25.0 # via ansible-compat, ansible-lint (pyproject.toml)
55+
jsonschema-specifications==2025.4.1 # via jsonschema, ansible-lint (pyproject.toml)
56+
license-expression==30.4.4 # via ansible-lint (pyproject.toml)
57+
linkchecker==10.6.0 # via mkdocs-ansible
58+
markdown==3.8.2 # via markdown-include, mkdocs, mkdocs-autorefs, mkdocs-htmlproofer-plugin, mkdocs-material, mkdocstrings, pymdown-extensions
59+
markdown-exec==1.11.0 # via mkdocs-ansible
60+
markdown-include==0.8.1 # via mkdocs-ansible
61+
markupsafe==3.0.2 # via jinja2, mkdocs, mkdocs-autorefs, mkdocstrings, ansible-lint (pyproject.toml)
62+
matplotlib-inline==0.1.7 # via ipython
63+
mccabe==0.7.0 # via pylint
64+
mergedeep==1.3.4 # via mkdocs, mkdocs-get-deps
65+
mkdocs==1.6.1 # via mkdocs-ansible, mkdocs-autorefs, mkdocs-gen-files, mkdocs-htmlproofer-plugin, mkdocs-macros-plugin, mkdocs-material, mkdocs-minify-plugin, mkdocstrings
66+
mkdocs-ansible==25.5.0 # via ansible-lint (pyproject.toml)
67+
mkdocs-autorefs==1.4.2 # via mkdocstrings, mkdocstrings-python
68+
mkdocs-gen-files==0.5.0 # via mkdocs-ansible
69+
mkdocs-get-deps==0.2.0 # via mkdocs
70+
mkdocs-htmlproofer-plugin==1.3.0 # via mkdocs-ansible
71+
mkdocs-macros-plugin==1.3.9 # via mkdocs-ansible
72+
mkdocs-material==9.6.17 # via mkdocs-ansible
73+
mkdocs-material-extensions==1.3.1 # via mkdocs-ansible, mkdocs-material
74+
mkdocs-minify-plugin==0.8.0 # via mkdocs-ansible
75+
mkdocstrings==0.30.0 # via mkdocs-ansible, mkdocstrings-python
76+
mkdocstrings-python==1.17.0 # via mkdocs-ansible
77+
mypy==1.17.1 # via ansible-lint (pyproject.toml)
78+
mypy-extensions==1.1.0 # via black, mypy, ansible-lint (pyproject.toml)
79+
netaddr==1.3.0 # via ansible-lint (pyproject.toml)
80+
packaging==25.0 # via ansible-compat, ansible-core, bindep, black, mkdocs, mkdocs-macros-plugin, pyproject-api, pytest, tox, tox-extra, tox-uv, ansible-lint (pyproject.toml)
81+
paginate==0.5.7 # via mkdocs-material
82+
parsley==1.3 # via bindep
83+
parso==0.8.4 # via jedi
84+
pathspec==0.12.1 # via black, mkdocs, mkdocs-macros-plugin, mypy, yamllint, ansible-lint (pyproject.toml)
85+
pbr==7.0.0 # via bindep
86+
pexpect==4.9.0 # via ipython
87+
pillow==11.3.0 # via cairosvg, mkdocs-ansible
88+
platformdirs==4.3.8 # via black, mkdocs-get-deps, pylint, tox, virtualenv, ansible-lint (pyproject.toml)
89+
pluggy==1.6.0 # via pytest, tox
90+
prompt-toolkit==3.0.51 # via ipython
91+
psutil==7.0.0 # via pytest-xdist, ansible-lint (pyproject.toml)
92+
ptyprocess==0.7.0 # via pexpect
93+
pure-eval==0.2.3 # via stack-data
94+
pycparser==2.22 # via cffi, ansible-lint (pyproject.toml)
95+
pygments==2.19.2 # via ipython, mkdocs-material, pytest
96+
pylint==3.3.8 # via ansible-lint (pyproject.toml)
97+
pymdown-extensions==10.16.1 # via markdown-exec, mkdocs-ansible, mkdocs-material, mkdocstrings
98+
pyproject-api==1.9.1 # via tox
99+
pytest==8.4.1 # via pytest-instafail, pytest-mock, pytest-plus, pytest-sugar, pytest-xdist, ansible-lint (pyproject.toml)
100+
pytest-instafail==0.5.0 # via ansible-lint (pyproject.toml)
101+
pytest-mock==3.14.1 # via ansible-lint (pyproject.toml)
102+
pytest-plus==0.8.1 # via ansible-lint (pyproject.toml)
103+
pytest-sugar==1.1.0 # via ansible-lint (pyproject.toml)
104+
pytest-xdist==3.8.0 # via ansible-lint (pyproject.toml)
105+
python-dateutil==2.9.0.post0 # via ghp-import, mkdocs-macros-plugin
106+
pyyaml==6.0.2 # via ansible-compat, ansible-core, ansible-creator, mkdocs, mkdocs-get-deps, mkdocs-macros-plugin, pymdown-extensions, pyyaml-env-tag, yamllint, ansible-lint (pyproject.toml)
107+
pyyaml-env-tag==1.1 # via mkdocs
108+
referencing==0.36.2 # via jsonschema, jsonschema-specifications, types-jsonschema, ansible-lint (pyproject.toml)
109+
requests==2.32.4 # via linkchecker, mkdocs-htmlproofer-plugin, mkdocs-material
110+
rpds-py==0.27.0 # via jsonschema, referencing, ansible-lint (pyproject.toml)
111+
ruamel-yaml==0.18.14 # via ansible-lint (pyproject.toml)
112+
setproctitle==1.3.6 # via pytest-xdist
113+
setuptools==80.9.0 # via pbr
114+
six==1.17.0 # via python-dateutil
115+
smmap==5.0.2 # via gitdb
116+
soupsieve==2.7 # via beautifulsoup4
117+
stack-data==0.6.3 # via ipython
118+
subprocess-tee==0.4.2 # via ansible-compat, ansible-lint (pyproject.toml)
119+
super-collections==0.5.3 # via mkdocs-macros-plugin
120+
termcolor==3.1.0 # via mkdocs-macros-plugin, pytest-sugar
121+
tinycss2==1.4.0 # via cairosvg, cssselect2
122+
tomlkit==0.13.3 # via pylint
123+
tox==4.28.4 # via tox-extra, tox-uv, ansible-lint (pyproject.toml)
124+
tox-extra==2.2.0 # via ansible-lint (pyproject.toml)
125+
tox-uv==1.28.0 # via tox-extra, ansible-lint (pyproject.toml)
126+
traitlets==5.14.3 # via ipython, matplotlib-inline
127+
types-jsonschema==4.25.0.20250809 # via ansible-lint (pyproject.toml)
128+
types-pyyaml==6.0.12.20250809 # via ansible-lint (pyproject.toml)
129+
urllib3==2.5.0 # via requests
130+
virtualenv==20.34.0 # via tox
131+
watchdog==6.0.0 # via mkdocs
132+
wcmatch==10.1 # via ansible-lint (pyproject.toml)
133+
wcwidth==0.2.13 # via prompt-toolkit
134+
webencodings==0.5.1 # via cssselect2, tinycss2
135+
yamllint==1.37.1 # via ansible-lint (pyproject.toml)
136+
zipp==3.23.0 # via importlib-metadata, ansible-lint (pyproject.toml)
137+
138+
# The following packages were excluded from the output:
139+
# ansible-core
140+
# exceptiongroup
141+
# pip
142+
# resolvelib
143+
# ruamel-yaml-clib
144+
# tomli
145+
# typing-extensions
146+
# uv

.config/requirements-docs.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
mkdocs-ansible>=25.5.0

.config/requirements-lock.txt

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# This file was autogenerated by uv via the following command:
2+
# tox run -e deps
3+
ansible-compat==25.8.1 # via ansible-lint (pyproject.toml)
4+
attrs==25.3.0 # via jsonschema, referencing
5+
black==25.1.0 # via ansible-lint (pyproject.toml)
6+
bracex==2.6 # via wcmatch
7+
cffi==1.17.1 # via cryptography
8+
click==8.2.1 # via black
9+
cryptography==45.0.6 # via ansible-core
10+
filelock==3.19.1 # via ansible-lint (pyproject.toml)
11+
importlib-metadata==8.7.0 # via ansible-lint (pyproject.toml)
12+
jinja2==3.1.6 # via ansible-core
13+
jsonschema==4.25.0 # via ansible-compat, ansible-lint (pyproject.toml)
14+
jsonschema-specifications==2025.4.1 # via jsonschema
15+
markupsafe==3.0.2 # via jinja2
16+
mypy-extensions==1.1.0 # via black
17+
packaging==25.0 # via ansible-compat, ansible-core, black, ansible-lint (pyproject.toml)
18+
pathspec==0.12.1 # via black, yamllint, ansible-lint (pyproject.toml)
19+
platformdirs==4.3.8 # via black
20+
pycparser==2.22 # via cffi
21+
pyyaml==6.0.2 # via ansible-compat, ansible-core, yamllint, ansible-lint (pyproject.toml)
22+
referencing==0.36.2 # via jsonschema, jsonschema-specifications, ansible-lint (pyproject.toml)
23+
rpds-py==0.27.0 # via jsonschema, referencing
24+
ruamel-yaml==0.18.14 # via ansible-lint (pyproject.toml)
25+
subprocess-tee==0.4.2 # via ansible-compat, ansible-lint (pyproject.toml)
26+
wcmatch==10.1 # via ansible-lint (pyproject.toml)
27+
yamllint==1.37.1 # via ansible-lint (pyproject.toml)
28+
zipp==3.23.0 # via importlib-metadata
29+
30+
# The following packages were excluded from the output:
31+
# ansible-core
32+
# resolvelib
33+
# ruamel-yaml-clib
34+
# tomli
35+
# typing-extensions

.config/requirements-test.in

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
ansible-creator >=24.6.0
2+
black # IDE support
3+
coverage-enable-subprocess # see https://github.com/nedbat/coveragepy/issues/1341#issuecomment-1228942657
4+
coverage[toml] >= 6.4.4
5+
ipdb
6+
ipython
7+
jmespath
8+
license-expression >= 30.3.0 # Apache 2.0
9+
mypy # IDE support
10+
netaddr # needed by ipwrap filter
11+
pip # tox command
12+
psutil # soft-dep of pytest-xdist
13+
pylint # IDE support
14+
pytest >= 7.2.2
15+
pytest-instafail >= 0.5.0 # only for local development, via PYTEST_ADDOPTS=-edit
16+
pytest-mock
17+
pytest-plus >= 0.6
18+
pytest-sugar # shows failures immediately, even with xdist
19+
pytest-xdist[psutil,setproctitle] >= 2.1.0
20+
ruamel-yaml-clib; python_version < '3.14' # needed for mypy
21+
ruamel.yaml>=0.18.11
22+
tox >= 4.0.0
23+
tox-extra>=2.1
24+
tox-uv>=1.25
25+
tox>=4.24.2
26+
types-jsonschema # IDE support
27+
types-pyyaml # IDE support

.config/requirements.in

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Special order section for helping pip:
2+
ansible-core>=2.16.11 # GPLv3
3+
ansible-compat>=25.8.0 # GPLv3
4+
# alphabetically sorted:
5+
black>=24.3.0 # MIT (security)
6+
filelock>=3.8.2 # The Unlicense
7+
importlib-metadata # Apache
8+
jsonschema>=4.10.0 # MIT, version needed for improved errors
9+
packaging>=22.0 # Apache-2.0,BSD-2-Clause
10+
pathspec>=0.10.3 # Mozilla Public License 2.0 (MPL 2.0)
11+
pyyaml>=6.0.2 # MIT (compilation probles with older versions)
12+
ruamel.yaml>=0.18.11 # MIT (https://sourceforge.net/p/ruamel-yaml/tickets/545/)
13+
referencing>=0.36.2 # MIT, https://github.com/python-jsonschema/referencing/issues/216
14+
subprocess-tee>=0.4.1 # MIT, used by ansible-compat
15+
yamllint >= 1.34.0 # GPLv3
16+
wcmatch>=8.1.2; python_version < '3.12' # MIT
17+
wcmatch>=8.5.0; python_version >= '3.12' # MIT

.github/lower-constraints.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# This should be kept in sync with minimal requirements configured inside
2+
# .config/requirements.in
3+
ansible-core==2.16.11
4+
ansible-compat==25.8.0 # GPLv3
5+
black==24.3.0 # MIT (security)
6+
filelock==3.16.1 # The Unlicense # due to tox-uv
7+
jsonschema==4.10.0 # MIT, version needed for improved errors
8+
packaging==24.2 # Due to tox-uv
9+
pathspec==0.10.3
10+
pyyaml==6.0.2
11+
ruamel.yaml==0.18.11 # MIT
12+
subprocess-tee==0.4.1 # MIT, used by ansible-compat
13+
# https://packages.ubuntu.com/noble/python3-wcmatch
14+
# https://packages.fedoraproject.org/pkgs/python-wcmatch/python3-wcmatch/
15+
wcmatch==8.1.2; python_version < '3.12' # EPEL 8
16+
wcmatch==8.5.0; python_version >= '3.12'
17+
yamllint == 1.34.0

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,5 @@ test/local-content
8080
test/schemas/node_modules
8181
node_modules
8282
.direnv
83+
uv.lock
8384
.ansible

.pre-commit-config.yaml

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,15 @@ ci:
66
autofix_commit_msg: "chore: auto fixes from pre-commit.com hooks"
77
skip:
88
# https://github.com/pre-commit-ci/issues/issues/55
9+
- pip-compile
910
- pyright
1011
- renovate-config-validator # container limits
1112
- schemas
1213
submodules: true
1314
exclude: >
1415
(?x)^(
16+
.config/constraints.txt|
17+
.config/.*requirements.*|
1518
examples/broken/encoding.yml|
1619
examples/broken/encoding.j2|
1720
examples/broken/yaml-with-tabs/invalid-due-tabs.yaml|
@@ -28,17 +31,8 @@ repos:
2831
- repo: meta
2932
hooks:
3033
- id: check-useless-excludes
31-
- repo: https://github.com/astral-sh/uv-pre-commit
32-
rev: 0.8.15
33-
hooks:
34-
- id: uv-sync
35-
- id: uv-lock
36-
name: "deps: upgrade via uv sync --upgrade"
37-
alias: deps
38-
args: ["--upgrade"]
39-
stages: [manual]
4034
- repo: https://github.com/renovatebot/pre-commit-hooks
41-
rev: 41.97.10
35+
rev: 41.91.1
4236
hooks:
4337
- id: renovate-config-validator
4438
alias: renovate
@@ -198,7 +192,7 @@ repos:
198192
- wcmatch
199193
- yamllint>=1.34.0
200194
- repo: https://github.com/RobertCraigie/pyright-python
201-
rev: v1.1.405
195+
rev: v1.1.404
202196
hooks:
203197
- id: pyright
204198
additional_dependencies: *deps
@@ -223,3 +217,33 @@ repos:
223217
pass_filenames: false
224218
always_run: true
225219
# stages: [manual]
220+
- id: deps
221+
name: Upgrade constraints files and requirements
222+
files: ^(pyproject\.toml|.config/.*)$
223+
always_run: true
224+
language: python
225+
entry: python3 -m uv pip compile -q --all-extras --python-version=3.10 --output-file=.config/constraints.txt pyproject.toml --upgrade
226+
pass_filenames: false
227+
stages:
228+
- manual
229+
additional_dependencies:
230+
- uv>=0.6.6
231+
- id: pip-compile
232+
name: Check constraints files and requirements
233+
files: ^(pyproject\.toml|\.config/.*)$
234+
language: python
235+
entry: uv pip compile -q --all-extras --python-version=3.10 --output-file=.config/constraints.txt pyproject.toml
236+
pass_filenames: false
237+
additional_dependencies:
238+
- uv>=0.6.6
239+
- id: lock
240+
name: Update requirements-lock.txt
241+
alias: lock
242+
always_run: true
243+
entry: python3 -m uv pip compile -q --python-version=3.10 --upgrade --output-file=.config/requirements-lock.txt pyproject.toml --strip-extras
244+
files: ^(pyproject\.toml|\.config/.*)$
245+
language: python
246+
pass_filenames: false
247+
stages: [manual]
248+
additional_dependencies:
249+
- uv>=0.6.6

.readthedocs.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,18 @@ mkdocs:
88
build:
99
os: ubuntu-24.04
1010
tools:
11-
python: "3.13"
11+
python: "3.11"
1212
commands:
13-
- curl https://mise.run | sh
14-
- ~/.local/bin/mise settings experimental=true
15-
- ~/.local/bin/mise settings python.compile=false
16-
- ~/.local/bin/mise settings python.uv_venv_auto=true
17-
- ~/.local/bin/mise trust
18-
- ~/.local/bin/mise install
19-
- PATH=~/.local/share/mise/shims:$PATH ~/.local/bin/mise doctor || true
20-
- PATH=~/.local/share/mise/shims:$PATH ~/.local/bin/mise exec --command "python3 -m pip install tox"
21-
- PATH=~/.local/share/mise/shims:$PATH ~/.local/bin/mise exec --command "python3 -m tox -e docs"
13+
- pip install --user tox
14+
- python3 -m tox -e docs
15+
python:
16+
install:
17+
- method: pip
18+
path: tox
19+
- method: pip
20+
path: .
21+
extra_requirements:
22+
- docs
2223
submodules:
2324
include: all
2425
recursive: true

.vscode/extensions.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,8 @@
1313
"redhat.vscode-yaml",
1414
"ryanluker.vscode-coverage-gutters",
1515
"shardulm94.trailing-spaces",
16-
"tombi-toml.tombi",
16+
"tamasfe.even-better-toml",
1717
"timonwong.shellcheck",
1818
"znck.grammarly"
19-
],
20-
"unwantedRecommendations": ["tamasfe.even-better-toml"]
19+
]
2120
}

0 commit comments

Comments
 (0)