Skip to content

Commit 349efe6

Browse files
authored
Test maintenance (#355)
- ensure uv uses same constraints as pip - update deps - fixed linting issues - remove black
1 parent 0377e05 commit 349efe6

File tree

14 files changed

+220
-182
lines changed

14 files changed

+220
-182
lines changed

.config/constraints.txt

Lines changed: 119 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -1,112 +1,120 @@
1-
#
2-
# This file is autogenerated by pip-compile with Python 3.10
3-
# by the following command:
4-
#
5-
# pip-compile --all-extras --no-annotate --output-file=.config/constraints.txt --strip-extras .config/requirements.in pyproject.toml
6-
#
7-
astroid==3.3.8
8-
babel==2.16.0
9-
beautifulsoup4==4.12.3
10-
black==24.10.0
11-
build==1.2.2.post1
12-
cachetools==5.5.1
13-
cairocffi==1.7.1
14-
cairosvg==2.7.1
15-
certifi==2024.12.14
16-
cffi==1.17.1
17-
cfgv==3.4.0
18-
chardet==5.2.0
19-
charset-normalizer==3.4.1
20-
click==8.1.8
21-
colorama==0.4.6
22-
coverage==7.6.10
23-
csscompressor==0.9.5
24-
cssselect2==0.7.0
25-
defusedxml==0.7.1
26-
dill==0.3.9
27-
distlib==0.3.9
28-
dnspython==2.7.0
29-
docstring-parser-fork==0.0.12
30-
exceptiongroup==1.2.2
31-
execnet==2.1.1
32-
filelock==3.17.0
33-
flake8==7.1.1
34-
ghp-import==2.1.0
35-
griffe==1.5.5
36-
htmlmin2==0.1.13
37-
identify==2.6.6
38-
idna==3.10
39-
iniconfig==2.0.0
40-
isort==5.13.2
41-
jinja2==3.1.5
42-
jsmin==3.0.1
43-
linkchecker==10.5.0
44-
markdown==3.7
45-
markdown-exec==1.10.0
46-
markdown-include==0.8.1
47-
markupsafe==3.0.2
48-
mccabe==0.7.0
49-
mergedeep==1.3.4
50-
mkdocs==1.6.1
51-
mkdocs-ansible==24.12.0
52-
mkdocs-autorefs==1.3.0
53-
mkdocs-gen-files==0.5.0
54-
mkdocs-get-deps==0.2.0
55-
mkdocs-htmlproofer-plugin==1.3.0
56-
mkdocs-macros-plugin==1.3.7
57-
mkdocs-material==9.5.50
58-
mkdocs-material-extensions==1.3.1
59-
mkdocs-minify-plugin==0.8.0
60-
mkdocs-monorepo-plugin==1.1.0
61-
mkdocstrings==0.27.0
62-
mkdocstrings-python==1.13.0
63-
mypy==1.14.1
64-
mypy-extensions==1.0.0
65-
nodeenv==1.9.1
66-
packaging==24.2
67-
paginate==0.5.7
68-
pathspec==0.12.1
69-
pillow==11.1.0
70-
pip-tools==7.4.1
71-
pipdeptree==2.24.0
72-
platformdirs==4.3.6
73-
pluggy==1.5.0
74-
pre-commit==4.1.0
75-
pycodestyle==2.12.1
76-
pycparser==2.22
77-
pydoclint==0.6.0
78-
pyflakes==3.2.0
79-
pygments==2.19.1
80-
pylint==3.3.3
81-
pymdown-extensions==10.14.1
82-
pyproject-api==1.9.0
83-
pyproject-hooks==1.2.0
84-
pytest==8.3.4
85-
pytest-xdist==3.6.1
86-
python-dateutil==2.9.0.post0
87-
python-slugify==8.0.4
88-
pyyaml==6.0.2
89-
pyyaml-env-tag==0.1
90-
regex==2024.11.6
91-
requests==2.32.3
92-
ruff==0.9.3
93-
six==1.17.0
94-
soupsieve==2.6
95-
termcolor==2.5.0
96-
text-unidecode==1.3
97-
tinycss2==1.4.0
98-
toml-sort==0.24.2
99-
tomli==2.2.1
100-
tomlkit==0.13.2
101-
tox==4.24.1
102-
types-pyyaml==6.0.12.20241230
103-
typing-extensions==4.12.2
104-
urllib3==2.3.0
105-
virtualenv==20.29.1
106-
watchdog==6.0.0
107-
webencodings==0.5.1
108-
wheel==0.45.1
1+
# This file was autogenerated by uv via the following command:
2+
# tox run -e deps
3+
ansible-compat==25.1.1 # via ansible-lint
4+
ansible-lint==25.1.1 # via ansible-creator (pyproject.toml)
5+
argcomplete==3.5.3 # via ansible-creator (pyproject.toml)
6+
astroid==3.3.8 # via pylint
7+
attrs==25.1.0 # via jsonschema, referencing
8+
babel==2.16.0 # via mkdocs-material
9+
beautifulsoup4==4.12.3 # via linkchecker, mkdocs-htmlproofer-plugin
10+
black==25.1.0 # via ansible-lint
11+
bracex==2.5.post1 # via wcmatch
12+
cachetools==5.5.1 # via tox
13+
cairocffi==1.7.1 # via cairosvg
14+
cairosvg==2.7.1 # via mkdocs-ansible
15+
certifi==2024.12.14 # via requests
16+
cffi==1.17.1 # via cairocffi, cryptography
17+
cfgv==3.4.0 # via pre-commit
18+
chardet==5.2.0 # via tox
19+
charset-normalizer==3.4.1 # via requests
20+
click==8.1.8 # via black, mkdocs, mkdocstrings, pydoclint
21+
colorama==0.4.6 # via click, griffe, mkdocs, mkdocs-material, pylint, pytest, tox
22+
coverage==7.6.10 # via ansible-creator (pyproject.toml)
23+
cryptography==44.0.0 # via ansible-core
24+
csscompressor==0.9.5 # via mkdocs-minify-plugin
25+
cssselect2==0.7.0 # via cairosvg
26+
defusedxml==0.7.1 # via cairosvg
27+
dill==0.3.9 # via pylint
28+
distlib==0.3.9 # via virtualenv
29+
dnspython==2.7.0 # via linkchecker
30+
docstring-parser-fork==0.0.12 # via pydoclint
31+
execnet==2.1.1 # via pytest-xdist
32+
filelock==3.17.0 # via ansible-lint, tox, virtualenv
33+
ghp-import==2.1.0 # via mkdocs
34+
griffe==1.5.5 # via mkdocstrings-python
35+
hjson==3.1.0 # via mkdocs-macros-plugin, super-collections
36+
htmlmin2==0.1.13 # via mkdocs-minify-plugin
37+
identify==2.6.6 # via pre-commit
38+
idna==3.10 # via requests
39+
importlib-metadata==8.6.1 # via ansible-lint
40+
iniconfig==2.0.0 # via pytest
41+
isort==6.0.0 # via pylint
42+
jinja2==3.1.5 # via ansible-core, mkdocs, mkdocs-macros-plugin, mkdocs-material, mkdocstrings, ansible-creator (pyproject.toml)
43+
jsmin==3.0.1 # via mkdocs-minify-plugin
44+
jsonschema==4.23.0 # via ansible-compat, ansible-lint
45+
jsonschema-specifications==2024.10.1 # via jsonschema
46+
linkchecker==10.5.0 # via mkdocs-ansible
47+
markdown==3.7 # via markdown-include, mkdocs, mkdocs-autorefs, mkdocs-htmlproofer-plugin, mkdocs-material, mkdocstrings, pymdown-extensions
48+
markdown-exec==1.10.0 # via mkdocs-ansible
49+
markdown-include==0.8.1 # via mkdocs-ansible
50+
markupsafe==3.0.2 # via jinja2, mkdocs, mkdocs-autorefs, mkdocstrings
51+
mccabe==0.7.0 # via pylint
52+
mergedeep==1.3.4 # via mkdocs, mkdocs-get-deps
53+
mkdocs==1.6.1 # via mkdocs-ansible, mkdocs-autorefs, mkdocs-gen-files, mkdocs-htmlproofer-plugin, mkdocs-macros-plugin, mkdocs-material, mkdocs-minify-plugin, mkdocs-monorepo-plugin, mkdocstrings
54+
mkdocs-ansible==24.12.0 # via ansible-creator (pyproject.toml)
55+
mkdocs-autorefs==1.3.0 # via mkdocstrings, mkdocstrings-python
56+
mkdocs-gen-files==0.5.0 # via mkdocs-ansible
57+
mkdocs-get-deps==0.2.0 # via mkdocs
58+
mkdocs-htmlproofer-plugin==1.3.0 # via mkdocs-ansible
59+
mkdocs-macros-plugin==1.3.7 # via mkdocs-ansible
60+
mkdocs-material==9.5.50 # via mkdocs-ansible
61+
mkdocs-material-extensions==1.3.1 # via mkdocs-ansible, mkdocs-material
62+
mkdocs-minify-plugin==0.8.0 # via mkdocs-ansible
63+
mkdocs-monorepo-plugin==1.1.0 # via mkdocs-ansible
64+
mkdocstrings==0.27.0 # via mkdocs-ansible, mkdocstrings-python
65+
mkdocstrings-python==1.13.0 # via mkdocs-ansible
66+
mypy==1.14.1 # via ansible-creator (pyproject.toml)
67+
mypy-extensions==1.0.0 # via black, mypy
68+
nodeenv==1.9.1 # via pre-commit
69+
packaging==24.2 # via ansible-compat, ansible-core, ansible-lint, black, mkdocs, mkdocs-macros-plugin, pyproject-api, pytest, tox
70+
paginate==0.5.7 # via mkdocs-material
71+
pathspec==0.12.1 # via ansible-lint, black, mkdocs, mkdocs-macros-plugin, yamllint
72+
pillow==11.1.0 # via cairosvg, mkdocs-ansible
73+
platformdirs==4.3.6 # via black, mkdocs-get-deps, mkdocstrings, pylint, tox, virtualenv
74+
pluggy==1.5.0 # via pytest, tox
75+
pre-commit==4.1.0 # via ansible-creator (pyproject.toml)
76+
pycparser==2.22 # via cffi
77+
pydoclint==0.6.0 # via ansible-creator (pyproject.toml)
78+
pygments==2.19.1 # via mkdocs-material
79+
pylint==3.3.4 # via ansible-creator (pyproject.toml)
80+
pymdown-extensions==10.14.2 # via markdown-exec, mkdocs-ansible, mkdocs-material, mkdocstrings
81+
pyproject-api==1.9.0 # via tox
82+
pytest==8.3.4 # via pytest-xdist, ansible-creator (pyproject.toml)
83+
pytest-xdist==3.6.1 # via ansible-creator (pyproject.toml)
84+
python-dateutil==2.9.0.post0 # via ghp-import, mkdocs-macros-plugin
85+
python-slugify==8.0.4 # via mkdocs-monorepo-plugin
86+
pyyaml==6.0.2 # via ansible-compat, ansible-core, ansible-lint, mkdocs, mkdocs-get-deps, mkdocs-macros-plugin, pre-commit, pymdown-extensions, pyyaml-env-tag, yamllint, ansible-creator (pyproject.toml)
87+
pyyaml-env-tag==0.1 # via mkdocs
88+
referencing==0.36.2 # via jsonschema, jsonschema-specifications
89+
regex==2024.11.6 # via mkdocs-material
90+
requests==2.32.3 # via linkchecker, mkdocs-htmlproofer-plugin, mkdocs-material
91+
rpds-py==0.22.3 # via jsonschema, referencing
92+
ruamel-yaml==0.18.10 # via ansible-lint
93+
ruff==0.9.3 # via ansible-creator (pyproject.toml)
94+
six==1.17.0 # via python-dateutil
95+
soupsieve==2.6 # via beautifulsoup4
96+
subprocess-tee==0.4.2 # via ansible-compat, ansible-lint
97+
super-collections==0.5.3 # via mkdocs-macros-plugin
98+
termcolor==2.5.0 # via mkdocs-macros-plugin
99+
text-unidecode==1.3 # via python-slugify
100+
tinycss2==1.4.0 # via cairosvg, cssselect2
101+
toml-sort==0.24.2 # via ansible-creator (pyproject.toml)
102+
tomlkit==0.13.2 # via pylint, toml-sort
103+
tox==4.24.1 # via ansible-creator (pyproject.toml)
104+
types-pyyaml==6.0.12.20241230 # via ansible-creator (pyproject.toml)
105+
urllib3==2.3.0 # via requests
106+
virtualenv==20.29.1 # via pre-commit, tox
107+
watchdog==6.0.0 # via mkdocs
108+
wcmatch==10.0 # via ansible-lint
109+
webencodings==0.5.1 # via cssselect2, tinycss2
110+
yamllint==1.35.1 # via ansible-lint
111+
zipp==3.21.0 # via importlib-metadata
109112

110-
# The following packages are considered to be unsafe in a requirements file:
111-
# pip
112-
# setuptools
113+
# The following packages were excluded from the output:
114+
# ansible-core
115+
# exceptiongroup
116+
# resolvelib
117+
# ruamel-yaml-clib
118+
# tomli
119+
# typing-extensions
120+
# uv

.config/requirements-docs.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
mkdocs-ansible>=24.3.0
2-
pipdeptree>=2.7.1

.config/requirements-test.in

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
argcomplete
21
ansible-lint
3-
black
2+
argcomplete
43
coverage[toml]
54
mypy
6-
pip-tools
75
pre-commit
86
pydoclint
97
pylint
@@ -13,3 +11,4 @@ ruff
1311
toml-sort
1412
tox
1513
types-PyYAML
14+
uv

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,3 +170,4 @@ cython_debug/
170170

171171
.DS_Store
172172
node_modules
173+
_readthedocs

.pre-commit-config.yaml

Lines changed: 40 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ ci:
44
autoupdate_commit_msg: "chore: pre-commit autoupdate"
55
autoupdate_schedule: monthly
66
autofix_commit_msg: "chore: auto fixes from pre-commit.com hooks"
7+
skip:
8+
# https://github.com/pre-commit-ci/issues/issues/55
9+
- ccv
10+
- lock
11+
# No docker on pre-commit.ci
712

813
repos:
914
- repo: https://github.com/pre-commit/pre-commit-hooks
@@ -17,13 +22,6 @@ repos:
1722
- id: end-of-file-fixer
1823
- id: trailing-whitespace
1924

20-
- repo: https://github.com/asottile/add-trailing-comma.git
21-
rev: v3.1.0
22-
hooks:
23-
- id: add-trailing-comma
24-
args:
25-
- --py36-plus
26-
2725
- repo: https://github.com/Lucas-C/pre-commit-hooks.git
2826
rev: v1.5.5
2927
hooks:
@@ -33,7 +31,7 @@ repos:
3331
.config/pydoclint-baseline.txt
3432
)$
3533
36-
- repo: https://github.com/pycontribs/mirrors-prettier
34+
- repo: https://github.com/rbubley/mirrors-prettier
3735
rev: v3.4.2
3836
hooks:
3937
- id: prettier
@@ -49,12 +47,12 @@ repos:
4947
- id: toml-sort-fix
5048

5149
- repo: https://github.com/tox-dev/tox-ini-fmt
52-
rev: 1.4.1
50+
rev: 1.5.0
5351
hooks:
5452
- id: tox-ini-fmt
5553

5654
- repo: https://github.com/astral-sh/ruff-pre-commit
57-
rev: v0.8.6
55+
rev: v0.9.3
5856
hooks:
5957
- id: ruff
6058
args:
@@ -64,27 +62,22 @@ repos:
6462
- id: ruff-format # must be after ruff
6563
types_or: [python, pyi]
6664

67-
- repo: https://github.com/psf/black # must be after ruff
68-
rev: 24.10.0
69-
hooks:
70-
- id: black
71-
7265
- repo: https://github.com/streetsidesoftware/cspell-cli
73-
rev: v8.17.0
66+
rev: v8.17.1
7467
hooks:
7568
- id: cspell
7669
name: Spell check with cspell
7770

7871
- repo: https://github.com/jsh9/pydoclint
79-
rev: "0.5.14"
72+
rev: "0.6.0"
8073
hooks:
8174
- id: pydoclint
8275
# This allows automatic reduction of the baseline file when needed.
8376
entry: sh -ec "pydoclint . && pydoclint --generate-baseline=1 ."
8477
pass_filenames: false
8578

8679
- repo: https://github.com/pycqa/pylint.git
87-
rev: v3.3.3
80+
rev: v3.3.4
8881
hooks:
8982
- id: pylint
9083
args:
@@ -106,19 +99,33 @@ repos:
10699
# Override default pre-commit '--ignore-missing-imports'
107100
args: [--strict]
108101

109-
- repo: https://github.com/jazzband/pip-tools
110-
rev: 7.4.1
102+
# Keep last due to being considerably slower than the others:
103+
- repo: local
104+
hooks:
105+
- id: deps
106+
# To run it execute: `pre-commit run pip-compile-upgrade --hook-stage manual`
107+
name: Upgrade constraints files and requirements
108+
files: ^(pyproject\.toml|\.config/.*)$
109+
always_run: true
110+
language: python
111+
language_version: "3.10" # minimal we support officially https://github.com/astral-sh/uv/issues/3883
112+
entry: python3 -m uv pip compile -q --all-extras --universal --output-file=.config/constraints.txt pyproject.toml --upgrade
113+
pass_filenames: false
114+
stages:
115+
- manual
116+
additional_dependencies:
117+
- uv>=0.5.25
118+
- id: lock
119+
name: Check constraints files and requirements
120+
files: ^(pyproject\.toml|\.config/.*)$
121+
language: python
122+
language_version: "3.10" # minimal we support officially https://github.com/astral-sh/uv/issues/3883
123+
entry: python3 -m uv pip compile -q --all-extras --universal --output-file=.config/constraints.txt pyproject.toml
124+
pass_filenames: false
125+
additional_dependencies:
126+
- uv>=0.5.25
127+
- repo: https://github.com/mashi/codecov-validator
128+
rev: "1.0.1"
111129
hooks:
112-
- id: pip-compile
113-
name: deps
114-
alias: deps
115-
stages: [manual]
116-
entry: >-
117-
pip-compile .config/requirements.in
118-
--upgrade
119-
--all-extras
120-
--no-annotate
121-
--strip-extras
122-
--output-file=.config/constraints.txt pyproject.toml
123-
files: ^.config\/.*requirements.*$
124-
language_version: "3.10" # minimal we support officially
130+
- id: ccv
131+
name: codecov

.readthedocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ build:
1111
python: "3.11"
1212
commands:
1313
- pip install --user tox
14-
- python3 -m tox -e docs -- --strict --site-dir=_readthedocs/html/
14+
- python3 -m tox -e docs
1515
python:
1616
install:
1717
- method: pip

0 commit comments

Comments
 (0)