vws-python 2026.8.14__tar.gz → 2026.8.26__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. {vws_python-2026.8.14 → vws_python-2026.8.26}/.github/workflows/autofix.yml +1 -1
  2. {vws_python-2026.8.14 → vws_python-2026.8.26}/.github/workflows/ci.yml +1 -1
  3. {vws_python-2026.8.14 → vws_python-2026.8.26}/.github/workflows/lint.yml +2 -1
  4. {vws_python-2026.8.14 → vws_python-2026.8.26}/.github/workflows/release.yml +1 -1
  5. {vws_python-2026.8.14 → vws_python-2026.8.26}/CHANGELOG.rst +6 -0
  6. {vws_python-2026.8.14/src/vws_python.egg-info → vws_python-2026.8.26}/PKG-INFO +15 -15
  7. vws_python-2026.8.26/prek.toml +528 -0
  8. {vws_python-2026.8.14 → vws_python-2026.8.26}/pyproject.toml +15 -15
  9. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/_model_targets.py +2 -6
  10. {vws_python-2026.8.14 → vws_python-2026.8.26/src/vws_python.egg-info}/PKG-INFO +15 -15
  11. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws_python.egg-info/SOURCES.txt +1 -1
  12. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws_python.egg-info/requires.txt +14 -14
  13. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws_python.egg-info/scm_file_list.json +1 -1
  14. vws_python-2026.8.26/src/vws_python.egg-info/scm_version.json +8 -0
  15. {vws_python-2026.8.14 → vws_python-2026.8.26}/tests/test_async_cloud_reco_exceptions.py +2 -2
  16. {vws_python-2026.8.14 → vws_python-2026.8.26}/tests/test_async_model_targets.py +108 -12
  17. {vws_python-2026.8.14 → vws_python-2026.8.26}/tests/test_async_vws_exceptions.py +9 -1
  18. {vws_python-2026.8.14 → vws_python-2026.8.26}/tests/test_cloud_reco_exceptions.py +2 -2
  19. {vws_python-2026.8.14 → vws_python-2026.8.26}/tests/test_model_targets.py +67 -78
  20. {vws_python-2026.8.14 → vws_python-2026.8.26}/tests/test_vws_exceptions.py +9 -1
  21. vws_python-2026.8.14/.pre-commit-config.yaml +0 -457
  22. vws_python-2026.8.14/src/vws_python.egg-info/scm_version.json +0 -8
  23. {vws_python-2026.8.14 → vws_python-2026.8.26}/.git_archival.txt +0 -0
  24. {vws_python-2026.8.14 → vws_python-2026.8.26}/.gitattributes +0 -0
  25. {vws_python-2026.8.14 → vws_python-2026.8.26}/.github/dependabot.yml +0 -0
  26. {vws_python-2026.8.14 → vws_python-2026.8.26}/.github/workflows/dependabot-merge.yml +0 -0
  27. {vws_python-2026.8.14 → vws_python-2026.8.26}/.github/workflows/publish-site.yml +0 -0
  28. {vws_python-2026.8.14 → vws_python-2026.8.26}/.gitignore +0 -0
  29. {vws_python-2026.8.14 → vws_python-2026.8.26}/.prettierrc +0 -0
  30. {vws_python-2026.8.14 → vws_python-2026.8.26}/.vale.ini +0 -0
  31. {vws_python-2026.8.14 → vws_python-2026.8.26}/.vscode/extensions.json +0 -0
  32. {vws_python-2026.8.14 → vws_python-2026.8.26}/.vscode/settings.json +0 -0
  33. {vws_python-2026.8.14 → vws_python-2026.8.26}/CODE_OF_CONDUCT.rst +0 -0
  34. {vws_python-2026.8.14 → vws_python-2026.8.26}/LICENSE +0 -0
  35. {vws_python-2026.8.14 → vws_python-2026.8.26}/README.rst +0 -0
  36. {vws_python-2026.8.14 → vws_python-2026.8.26}/conftest.py +0 -0
  37. {vws_python-2026.8.14 → vws_python-2026.8.26}/docs/source/__init__.py +0 -0
  38. {vws_python-2026.8.14 → vws_python-2026.8.26}/docs/source/api-reference.rst +0 -0
  39. {vws_python-2026.8.14 → vws_python-2026.8.26}/docs/source/changelog.rst +0 -0
  40. {vws_python-2026.8.14 → vws_python-2026.8.26}/docs/source/conf.py +0 -0
  41. {vws_python-2026.8.14 → vws_python-2026.8.26}/docs/source/contributing.rst +0 -0
  42. {vws_python-2026.8.14 → vws_python-2026.8.26}/docs/source/exceptions.rst +0 -0
  43. {vws_python-2026.8.14 → vws_python-2026.8.26}/docs/source/index.rst +0 -0
  44. {vws_python-2026.8.14 → vws_python-2026.8.26}/docs/source/release-process.rst +0 -0
  45. {vws_python-2026.8.14 → vws_python-2026.8.26}/docs/source/unreleased.rst +0 -0
  46. {vws_python-2026.8.14 → vws_python-2026.8.26}/docs/towncrier_template.rst.jinja +0 -0
  47. {vws_python-2026.8.14 → vws_python-2026.8.26}/newsfragments/.gitkeep +0 -0
  48. {vws_python-2026.8.14 → vws_python-2026.8.26}/setup.cfg +0 -0
  49. {vws_python-2026.8.14 → vws_python-2026.8.26}/spelling_private_dict.txt +0 -0
  50. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/__init__.py +0 -0
  51. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/_async_vws_request.py +0 -0
  52. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/_image_utils.py +0 -0
  53. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/_reco_counts.py +0 -0
  54. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/_vws_request.py +0 -0
  55. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/async_model_target_service.py +0 -0
  56. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/async_query.py +0 -0
  57. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/async_vumark_service.py +0 -0
  58. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/async_vws.py +0 -0
  59. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/exceptions/__init__.py +0 -0
  60. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/exceptions/base_exceptions.py +0 -0
  61. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/exceptions/cloud_reco_exceptions.py +0 -0
  62. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/exceptions/custom_exceptions.py +0 -0
  63. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/exceptions/model_target_exceptions.py +0 -0
  64. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/exceptions/vws_exceptions.py +0 -0
  65. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/include_target_data.py +0 -0
  66. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/model_target_datasets.py +0 -0
  67. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/model_target_service.py +0 -0
  68. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/py.typed +0 -0
  69. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/query.py +0 -0
  70. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/reports.py +0 -0
  71. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/response.py +0 -0
  72. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/transports.py +0 -0
  73. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/vumark_accept.py +0 -0
  74. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/vumark_service.py +0 -0
  75. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws/vws.py +0 -0
  76. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws_python.egg-info/dependency_links.txt +0 -0
  77. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws_python.egg-info/not-zip-safe +0 -0
  78. {vws_python-2026.8.14 → vws_python-2026.8.26}/src/vws_python.egg-info/top_level.txt +0 -0
  79. {vws_python-2026.8.14 → vws_python-2026.8.26}/tests/__init__.py +0 -0
  80. {vws_python-2026.8.14 → vws_python-2026.8.26}/tests/conftest.py +0 -0
  81. {vws_python-2026.8.14 → vws_python-2026.8.26}/tests/test_async_query.py +0 -0
  82. {vws_python-2026.8.14 → vws_python-2026.8.26}/tests/test_async_vws.py +0 -0
  83. {vws_python-2026.8.14 → vws_python-2026.8.26}/tests/test_query.py +0 -0
  84. {vws_python-2026.8.14 → vws_python-2026.8.26}/tests/test_transports.py +0 -0
  85. {vws_python-2026.8.14 → vws_python-2026.8.26}/tests/test_vws.py +0 -0
  86. {vws_python-2026.8.14 → vws_python-2026.8.26}/zizmor.yml +0 -0
@@ -21,7 +21,7 @@ jobs:
21
21
  persist-credentials: false
22
22
 
23
23
  - name: Install uv
24
- uses: astral-sh/setup-uv@v9.0.0
24
+ uses: astral-sh/setup-uv@v10.0.1
25
25
 
26
26
  - name: Run fixers
27
27
  uses: j178/prek-action@v3.0.0
@@ -28,7 +28,7 @@ jobs:
28
28
  persist-credentials: false
29
29
 
30
30
  - name: Install uv
31
- uses: astral-sh/setup-uv@v9.0.0
31
+ uses: astral-sh/setup-uv@v10.0.1
32
32
  with:
33
33
  enable-cache: true
34
34
  cache-dependency-glob: '**/pyproject.toml'
@@ -29,7 +29,7 @@ jobs:
29
29
  persist-credentials: false
30
30
 
31
31
  - name: Install uv
32
- uses: astral-sh/setup-uv@v9.0.0
32
+ uses: astral-sh/setup-uv@v10.0.1
33
33
  with:
34
34
  enable-cache: true
35
35
  cache-dependency-glob: '**/pyproject.toml'
@@ -38,6 +38,7 @@ jobs:
38
38
  uses: j178/prek-action@v3.0.0
39
39
  with:
40
40
  prek-version: 0.4.11
41
+ cache: false
41
42
  extra-args: >-
42
43
  --all-files --hook-stage ${{ matrix.hook-stage }} --verbose
43
44
  env:
@@ -33,7 +33,7 @@ jobs:
33
33
  fetch-depth: 0
34
34
 
35
35
  - name: Install uv
36
- uses: astral-sh/setup-uv@v9.0.0
36
+ uses: astral-sh/setup-uv@v10.0.1
37
37
  with:
38
38
  enable-cache: true
39
39
  cache-dependency-glob: '**/pyproject.toml'
@@ -3,6 +3,12 @@ Changelog
3
3
 
4
4
  .. towncrier release notes start
5
5
 
6
+ 2026.08.26
7
+ ----------
8
+
9
+ - Test synchronous and asynchronous Model Target error responses through the
10
+ public mock API, and include rate-limit and server-error branches in coverage.
11
+
6
12
  2026.08.14
7
13
  ----------
8
14
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vws-python
3
- Version: 2026.8.14
3
+ Version: 2026.8.26
4
4
  Summary: Interact with the Vuforia Web Services (VWS) API.
5
5
  Author-email: Adam Dangoor <adamdangoor@gmail.com>
6
6
  License-Expression: MIT
@@ -26,47 +26,47 @@ Requires-Dist: actionlint-py==1.7.12.24; extra == "dev"
26
26
  Requires-Dist: check-manifest==0.51; extra == "dev"
27
27
  Requires-Dist: deptry==0.25.1; extra == "dev"
28
28
  Requires-Dist: doc8==2.0.0; extra == "dev"
29
- Requires-Dist: doccmd==2026.7.19; extra == "dev"
29
+ Requires-Dist: doccmd==2026.8.16; extra == "dev"
30
30
  Requires-Dist: freezegun==1.5.5; extra == "dev"
31
31
  Requires-Dist: furo==2025.12.19; extra == "dev"
32
32
  Requires-Dist: interrogate==1.7.0; extra == "dev"
33
- Requires-Dist: mypy[faster-cache]==2.3.0; extra == "dev"
34
- Requires-Dist: mypy-strict-kwargs==2026.7.19.1; extra == "dev"
33
+ Requires-Dist: mypy[faster-cache]==2.3.1; extra == "dev"
34
+ Requires-Dist: mypy-strict-kwargs==2026.8.25.1; extra == "dev"
35
35
  Requires-Dist: no-defaults==2.1.0; extra == "dev"
36
- Requires-Dist: prek==0.4.13; extra == "dev"
36
+ Requires-Dist: prek==0.4.14; extra == "dev"
37
37
  Requires-Dist: pydocstringformatter==1.0.0; extra == "dev"
38
38
  Requires-Dist: pydocstyle==6.3; extra == "dev"
39
- Requires-Dist: pygments==2.20.0; extra == "dev"
39
+ Requires-Dist: pygments==2.21.0; extra == "dev"
40
40
  Requires-Dist: pylint[spelling]==4.0.7; extra == "dev"
41
41
  Requires-Dist: pylint-per-file-ignores==3.2.1; extra == "dev"
42
- Requires-Dist: pyproject-fmt==2.27.0; extra == "dev"
42
+ Requires-Dist: pyproject-fmt==2.28.0; extra == "dev"
43
43
  Requires-Dist: pyrefly==1.2.0; extra == "dev"
44
44
  Requires-Dist: pyright==1.1.411; extra == "dev"
45
45
  Requires-Dist: pyroma==5.0.1; extra == "dev"
46
46
  Requires-Dist: pytest==9.1.1; extra == "dev"
47
47
  Requires-Dist: pytest-asyncio==1.4.0; extra == "dev"
48
- Requires-Dist: pytest-beartype-tests==2026.4.26; extra == "dev"
48
+ Requires-Dist: pytest-beartype-tests==2026.8.16; extra == "dev"
49
49
  Requires-Dist: pytest-cov==7.1.0; extra == "dev"
50
50
  Requires-Dist: pyyaml==6.0.3; extra == "dev"
51
- Requires-Dist: ruff==0.16.2; extra == "dev"
51
+ Requires-Dist: ruff==0.16.4; extra == "dev"
52
52
  Requires-Dist: shellcheck-py==0.11.0.1; extra == "dev"
53
53
  Requires-Dist: shfmt-py==4.0.0; extra == "dev"
54
54
  Requires-Dist: sphinx==9.1.0; extra == "dev"
55
55
  Requires-Dist: sphinx-copybutton==0.5.2; extra == "dev"
56
56
  Requires-Dist: sphinx-lint==1.0.2; extra == "dev"
57
57
  Requires-Dist: sphinx-pyproject==0.3.0; extra == "dev"
58
- Requires-Dist: sphinx-substitution-extensions==2026.8.5; extra == "dev"
58
+ Requires-Dist: sphinx-substitution-extensions==2026.8.13.1; extra == "dev"
59
59
  Requires-Dist: sphinxcontrib-spelling==8.0.2; extra == "dev"
60
60
  Requires-Dist: sphinxcontrib-towncrier==0.5.0a0; extra == "dev"
61
- Requires-Dist: strict-kwargs==2026.7.24; extra == "dev"
61
+ Requires-Dist: strict-kwargs==2026.8.16; extra == "dev"
62
62
  Requires-Dist: sybil==10.1.0; extra == "dev"
63
63
  Requires-Dist: towncrier==25.8.0; extra == "dev"
64
- Requires-Dist: ty==0.0.70; extra == "dev"
64
+ Requires-Dist: ty==0.0.74; extra == "dev"
65
65
  Requires-Dist: types-requests==2.33.0.20260712; extra == "dev"
66
- Requires-Dist: vale==3.13.0.0; extra == "dev"
66
+ Requires-Dist: vale==3.18.0.0; extra == "dev"
67
67
  Requires-Dist: vulture==2.16; extra == "dev"
68
- Requires-Dist: vws-python-mock==2026.8.14; extra == "dev"
69
- Requires-Dist: vws-test-fixtures==2023.3.5; extra == "dev"
68
+ Requires-Dist: vws-python-mock==2026.8.26.1; extra == "dev"
69
+ Requires-Dist: vws-test-fixtures==2026.8.23; extra == "dev"
70
70
  Requires-Dist: yamlfix==1.19.1; extra == "dev"
71
71
  Requires-Dist: zizmor==1.29.0; extra == "dev"
72
72
  Provides-Extra: release
@@ -0,0 +1,528 @@
1
+ # Configuration file for `prek`, a git hook framework written in Rust.
2
+ # See https://prek.j178.dev for more information.
3
+ #:schema https://www.schemastore.org/prek.json
4
+
5
+ fail_fast = true
6
+ default_install_hook_types = [
7
+ "pre-commit",
8
+ "pre-push"
9
+ ]
10
+
11
+ [[repos]]
12
+ repo = "meta"
13
+ hooks = [
14
+ {
15
+ id = "check-useless-excludes",
16
+ stages = ["pre-commit"]
17
+ }
18
+ ]
19
+
20
+ [[repos]]
21
+ repo = "https://github.com/pre-commit/pre-commit-hooks"
22
+ rev = "v6.0.0"
23
+ hooks = [
24
+ {
25
+ id = "check-added-large-files",
26
+ stages = ["pre-commit"]
27
+ },
28
+ {
29
+ id = "check-case-conflict",
30
+ stages = ["pre-commit"]
31
+ },
32
+ {
33
+ id = "check-executables-have-shebangs",
34
+ stages = ["pre-commit"]
35
+ },
36
+ {
37
+ id = "check-merge-conflict",
38
+ stages = ["pre-commit"]
39
+ },
40
+ {
41
+ id = "check-shebang-scripts-are-executable",
42
+ stages = ["pre-commit"]
43
+ },
44
+ {
45
+ id = "check-symlinks",
46
+ stages = ["pre-commit"]
47
+ },
48
+ {
49
+ id = "check-json",
50
+ stages = ["pre-commit"]
51
+ },
52
+ {
53
+ id = "check-toml",
54
+ stages = ["pre-commit"]
55
+ },
56
+ {
57
+ id = "check-vcs-permalinks",
58
+ stages = ["pre-commit"]
59
+ },
60
+ {
61
+ id = "check-yaml",
62
+ stages = ["pre-commit"]
63
+ },
64
+ {
65
+ id = "end-of-file-fixer",
66
+ stages = ["pre-commit"]
67
+ },
68
+ {
69
+ id = "file-contents-sorter",
70
+ files = 'spelling_private_dict\.txt$',
71
+ stages = ["pre-commit"]
72
+ },
73
+ {
74
+ id = "trailing-whitespace",
75
+ stages = ["pre-commit"]
76
+ }
77
+ ]
78
+
79
+ [[repos]]
80
+ repo = "https://github.com/pre-commit/pygrep-hooks"
81
+ rev = "v1.10.0"
82
+ hooks = [
83
+ {
84
+ id = "rst-directive-colons",
85
+ stages = ["pre-commit"]
86
+ },
87
+ {
88
+ id = "rst-inline-touching-normal",
89
+ stages = ["pre-commit"]
90
+ },
91
+ {
92
+ id = "text-unicode-replacement-char",
93
+ stages = ["pre-commit"]
94
+ },
95
+ {
96
+ id = "rst-backticks",
97
+ stages = ["pre-commit"]
98
+ }
99
+ ]
100
+
101
+ [[repos]]
102
+ repo = "local"
103
+ hooks = [
104
+ {
105
+ id = "actionlint",
106
+ name = "actionlint",
107
+ entry = "uv run --extra=dev actionlint",
108
+ language = "python",
109
+ pass_filenames = false,
110
+ types_or = ["yaml"],
111
+ additional_dependencies = ["uv==0.11.7"],
112
+ stages = ["pre-commit"]
113
+ },
114
+ {
115
+ id = "pydocstringformatter",
116
+ name = "pydocstringformatter",
117
+ entry = "uv run --extra=dev pydocstringformatter",
118
+ language = "python",
119
+ types_or = ["python"],
120
+ additional_dependencies = ["uv==0.11.7"],
121
+ stages = ["pre-commit"]
122
+ },
123
+ {
124
+ id = "shellcheck",
125
+ name = "shellcheck",
126
+ entry = "uv run --extra=dev shellcheck --shell=bash",
127
+ language = "python",
128
+ types_or = ["shell"],
129
+ additional_dependencies = ["uv==0.11.7"],
130
+ stages = ["pre-commit"]
131
+ },
132
+ {
133
+ id = "shellcheck-docs",
134
+ name = "shellcheck-docs",
135
+ entry = 'uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=shell --language=console --command="shellcheck --shell=bash"',
136
+ language = "python",
137
+ types_or = [
138
+ "markdown",
139
+ "rst"
140
+ ],
141
+ additional_dependencies = ["uv==0.11.7"],
142
+ stages = ["pre-commit"]
143
+ },
144
+ {
145
+ id = "shfmt",
146
+ name = "shfmt",
147
+ entry = "uv run --extra=dev shfmt --write --space-redirects --indent=4",
148
+ language = "python",
149
+ types_or = ["shell"],
150
+ additional_dependencies = ["uv==0.11.7"],
151
+ stages = ["pre-commit"]
152
+ },
153
+ {
154
+ id = "shfmt-docs",
155
+ name = "shfmt-docs",
156
+ entry = 'uv run --extra=dev doccmd --language=shell --language=console --skip-marker=shfmt --no-pad-file --command="shfmt --write --space-redirects --indent=4"',
157
+ language = "python",
158
+ types_or = [
159
+ "markdown",
160
+ "rst"
161
+ ],
162
+ additional_dependencies = ["uv==0.11.7"],
163
+ stages = ["pre-commit"]
164
+ },
165
+ {
166
+ id = "mypy",
167
+ name = "mypy",
168
+ stages = ["pre-push"],
169
+ entry = "uv run --extra=dev -m mypy --num-workers=4",
170
+ language = "python",
171
+ types_or = [
172
+ "python",
173
+ "toml"
174
+ ],
175
+ pass_filenames = false,
176
+ additional_dependencies = ["uv==0.11.7"]
177
+ },
178
+ {
179
+ id = "mypy-docs",
180
+ name = "mypy-docs",
181
+ stages = ["pre-push"],
182
+ entry = 'uv run --extra=dev doccmd --no-write-to-file --language=python --command="mypy --num-workers=4"',
183
+ language = "python",
184
+ types_or = [
185
+ "markdown",
186
+ "rst"
187
+ ],
188
+ additional_dependencies = ["uv==0.11.7"]
189
+ },
190
+ {
191
+ id = "check-manifest",
192
+ name = "check-manifest",
193
+ stages = ["pre-push"],
194
+ entry = "uv run --extra=dev -m check_manifest",
195
+ language = "python",
196
+ pass_filenames = false,
197
+ additional_dependencies = ["uv==0.11.7"]
198
+ },
199
+ {
200
+ id = "pyright",
201
+ name = "pyright",
202
+ stages = ["pre-push"],
203
+ entry = "uv run --extra=dev -m pyright .",
204
+ language = "python",
205
+ types_or = [
206
+ "python",
207
+ "toml"
208
+ ],
209
+ pass_filenames = false,
210
+ additional_dependencies = ["uv==0.11.7"]
211
+ },
212
+ {
213
+ id = "pyright-docs",
214
+ name = "pyright-docs",
215
+ stages = ["pre-push"],
216
+ entry = 'uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python --command="pyright"',
217
+ language = "python",
218
+ types_or = [
219
+ "markdown",
220
+ "rst"
221
+ ],
222
+ additional_dependencies = ["uv==0.11.7"]
223
+ },
224
+ {
225
+ id = "vulture",
226
+ name = "vulture",
227
+ entry = "uv run --extra=dev -m vulture .",
228
+ language = "python",
229
+ types_or = ["python"],
230
+ pass_filenames = false,
231
+ additional_dependencies = ["uv==0.11.7"],
232
+ stages = ["pre-commit"]
233
+ },
234
+ {
235
+ id = "vulture-docs",
236
+ name = "vulture docs",
237
+ entry = 'uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python --command="vulture"',
238
+ language = "python",
239
+ types_or = [
240
+ "markdown",
241
+ "rst"
242
+ ],
243
+ additional_dependencies = ["uv==0.11.7"],
244
+ stages = ["pre-commit"]
245
+ },
246
+ {
247
+ id = "pyroma",
248
+ name = "pyroma",
249
+ entry = "uv run --extra=dev -m pyroma --min 10 .",
250
+ language = "python",
251
+ pass_filenames = false,
252
+ types_or = ["toml"],
253
+ additional_dependencies = ["uv==0.11.7"],
254
+ stages = ["pre-commit"]
255
+ },
256
+ {
257
+ id = "deptry",
258
+ name = "deptry",
259
+ entry = "uv run --extra=dev -m deptry src/",
260
+ language = "python",
261
+ pass_filenames = false,
262
+ additional_dependencies = ["uv==0.11.7"],
263
+ stages = ["pre-commit"]
264
+ },
265
+ {
266
+ id = "pylint",
267
+ name = "pylint",
268
+ entry = "uv run --extra=dev -m pylint *.py src/ tests/ docs/",
269
+ language = "python",
270
+ stages = ["manual"],
271
+ pass_filenames = false,
272
+ additional_dependencies = ["uv==0.11.7"]
273
+ },
274
+ {
275
+ id = "pylint-docs",
276
+ name = "pylint-docs",
277
+ entry = 'uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python --command="pylint"',
278
+ language = "python",
279
+ stages = ["manual"],
280
+ types_or = [
281
+ "markdown",
282
+ "rst"
283
+ ],
284
+ additional_dependencies = ["uv==0.11.7"]
285
+ },
286
+ {
287
+ id = "ruff-check-fix",
288
+ name = "Ruff check fix",
289
+ entry = "uv run --extra=dev -m ruff check --fix",
290
+ language = "python",
291
+ types_or = ["python"],
292
+ additional_dependencies = ["uv==0.11.7"],
293
+ stages = ["pre-commit"]
294
+ },
295
+ {
296
+ id = "ruff-check-fix-docs",
297
+ name = "Ruff check fix docs",
298
+ entry = 'uv run --extra=dev doccmd --language=python --command="ruff check --fix"',
299
+ language = "python",
300
+ types_or = [
301
+ "markdown",
302
+ "rst"
303
+ ],
304
+ additional_dependencies = ["uv==0.11.7"],
305
+ stages = ["pre-commit"]
306
+ },
307
+ {
308
+ id = "ruff-format-fix",
309
+ name = "Ruff format",
310
+ entry = "uv run --extra=dev -m ruff format",
311
+ language = "python",
312
+ types_or = ["python"],
313
+ additional_dependencies = ["uv==0.11.7"],
314
+ stages = ["pre-commit"]
315
+ },
316
+ {
317
+ id = "ruff-format-fix-docs",
318
+ name = "Ruff format docs",
319
+ entry = 'uv run --extra=dev doccmd --language=python --no-pad-file --command="ruff format"',
320
+ language = "python",
321
+ types_or = [
322
+ "markdown",
323
+ "rst"
324
+ ],
325
+ additional_dependencies = ["uv==0.11.7"],
326
+ stages = ["pre-commit"]
327
+ },
328
+ {
329
+ id = "strict-kwargs-fix",
330
+ name = "strict-kwargs",
331
+ entry = "uv run --extra=dev strict-kwargs check --fix",
332
+ language = "python",
333
+ types_or = ["python"],
334
+ additional_dependencies = ["uv==0.11.7"],
335
+ stages = ["pre-commit"],
336
+ require_serial = true
337
+ },
338
+ {
339
+ id = "no-defaults",
340
+ name = "no-defaults",
341
+ entry = "uv run --extra=dev no-defaults",
342
+ language = "python",
343
+ types_or = ["python"],
344
+ additional_dependencies = ["uv==0.11.7"],
345
+ stages = ["pre-commit"],
346
+ require_serial = true
347
+ },
348
+ {
349
+ id = "doc8",
350
+ name = "doc8",
351
+ entry = "uv run --extra=dev -m doc8",
352
+ language = "python",
353
+ types_or = ["rst"],
354
+ additional_dependencies = ["uv==0.11.7"],
355
+ stages = ["pre-commit"]
356
+ },
357
+ {
358
+ id = "vale-sync",
359
+ name = "vale sync",
360
+ entry = "uv run --extra=dev vale sync",
361
+ language = "python",
362
+ pass_filenames = false,
363
+ files = '(\.(rst|md)$|^\.vale\.ini$)',
364
+ additional_dependencies = ["uv==0.11.7"],
365
+ stages = ["pre-commit"]
366
+ },
367
+ {
368
+ id = "vale",
369
+ name = "vale",
370
+ entry = "uv run --extra=dev vale",
371
+ language = "python",
372
+ types_or = [
373
+ "rst",
374
+ "markdown"
375
+ ],
376
+ require_serial = true,
377
+ additional_dependencies = ["uv==0.11.7"],
378
+ stages = ["pre-commit"]
379
+ },
380
+ {
381
+ id = "interrogate",
382
+ name = "interrogate",
383
+ entry = "uv run --extra=dev -m interrogate",
384
+ language = "python",
385
+ types_or = ["python"],
386
+ additional_dependencies = ["uv==0.11.7"],
387
+ stages = ["pre-commit"]
388
+ },
389
+ {
390
+ id = "interrogate-docs",
391
+ name = "interrogate docs",
392
+ entry = 'uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python --command="interrogate"',
393
+ language = "python",
394
+ types_or = [
395
+ "markdown",
396
+ "rst"
397
+ ],
398
+ additional_dependencies = ["uv==0.11.7"],
399
+ stages = ["pre-commit"]
400
+ },
401
+ {
402
+ id = "pyproject-fmt-fix",
403
+ name = "pyproject-fmt",
404
+ entry = "uv run --extra=dev pyproject-fmt",
405
+ language = "python",
406
+ types_or = ["toml"],
407
+ files = "pyproject.toml",
408
+ additional_dependencies = ["uv==0.11.7"],
409
+ stages = ["pre-commit"]
410
+ },
411
+ {
412
+ id = "linkcheck",
413
+ name = "linkcheck",
414
+ entry = "uv run --extra=dev sphinx-build -M linkcheck docs/source docs/build -W",
415
+ language = "python",
416
+ types_or = ["rst"],
417
+ stages = ["manual"],
418
+ pass_filenames = false,
419
+ additional_dependencies = ["uv==0.11.7"]
420
+ },
421
+ {
422
+ id = "spelling",
423
+ name = "spelling",
424
+ entry = "uv run --extra=dev sphinx-build -M spelling docs/source docs/build -W",
425
+ language = "python",
426
+ types_or = ["rst"],
427
+ stages = ["manual"],
428
+ pass_filenames = false,
429
+ additional_dependencies = ["uv==0.11.7"]
430
+ },
431
+ {
432
+ id = "docs",
433
+ name = "Build Documentation",
434
+ entry = "uv run --extra=dev sphinx-build -M html docs/source docs/build -W",
435
+ language = "python",
436
+ stages = ["manual"],
437
+ pass_filenames = false,
438
+ additional_dependencies = ["uv==0.11.7"]
439
+ },
440
+ {
441
+ id = "pyright-verifytypes",
442
+ name = "pyright-verifytypes",
443
+ stages = ["pre-push"],
444
+ entry = "uv run --extra=dev -m pyright --verifytypes vws",
445
+ language = "python",
446
+ pass_filenames = false,
447
+ types_or = ["python"],
448
+ additional_dependencies = ["uv==0.11.7"]
449
+ },
450
+ {
451
+ id = "ty",
452
+ name = "ty",
453
+ stages = ["pre-push"],
454
+ entry = "uv run --extra=dev ty check",
455
+ language = "python",
456
+ types_or = [
457
+ "python",
458
+ "toml"
459
+ ],
460
+ pass_filenames = false,
461
+ additional_dependencies = ["uv==0.11.7"]
462
+ },
463
+ {
464
+ id = "ty-docs",
465
+ name = "ty-docs",
466
+ stages = ["pre-push"],
467
+ entry = 'uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python --command="ty check"',
468
+ language = "python",
469
+ types_or = [
470
+ "markdown",
471
+ "rst"
472
+ ],
473
+ additional_dependencies = ["uv==0.11.7"]
474
+ },
475
+ {
476
+ id = "yamlfix",
477
+ name = "yamlfix",
478
+ entry = "uv run --extra=dev yamlfix",
479
+ language = "python",
480
+ types_or = ["yaml"],
481
+ additional_dependencies = ["uv==0.11.7"],
482
+ stages = ["pre-commit"]
483
+ },
484
+ {
485
+ id = "zizmor",
486
+ name = "zizmor",
487
+ entry = "uv run --extra=dev zizmor --strict-collection .github",
488
+ language = "python",
489
+ pass_filenames = false,
490
+ types_or = ["yaml"],
491
+ additional_dependencies = ["uv==0.11.7"],
492
+ stages = ["pre-commit"]
493
+ },
494
+ {
495
+ id = "sphinx-lint",
496
+ name = "sphinx-lint",
497
+ entry = "uv run --extra=dev sphinx-lint --enable=all --disable=line-too-long",
498
+ language = "python",
499
+ types_or = ["rst"],
500
+ additional_dependencies = ["uv==0.11.7"],
501
+ stages = ["pre-commit"]
502
+ },
503
+ {
504
+ id = "pyrefly",
505
+ name = "pyrefly",
506
+ stages = ["pre-push"],
507
+ entry = "uv run --extra=dev pyrefly check",
508
+ language = "python",
509
+ types_or = [
510
+ "python",
511
+ "toml"
512
+ ],
513
+ pass_filenames = false,
514
+ additional_dependencies = ["uv==0.11.7"]
515
+ },
516
+ {
517
+ id = "pyrefly-docs",
518
+ name = "pyrefly-docs",
519
+ stages = ["pre-push"],
520
+ entry = 'uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python --command="pyrefly check"',
521
+ language = "python",
522
+ types_or = [
523
+ "markdown",
524
+ "rst"
525
+ ],
526
+ additional_dependencies = ["uv==0.11.7"]
527
+ }
528
+ ]