pyproject-pre-commit 0.3.2__tar.gz → 0.3.4__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 (19) hide show
  1. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/.pre-commit-config.yaml +8 -1
  2. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/.pre-commit-hooks.yaml +27 -12
  3. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/PKG-INFO +65 -40
  4. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/README.md +53 -39
  5. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/pyproject.toml +17 -5
  6. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/uv.lock +208 -4
  7. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/.github/FUNDING.yml +0 -0
  8. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/.github/workflows/pypi.yml +0 -0
  9. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/.github/workflows/test.yml +0 -0
  10. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/.gitignore +0 -0
  11. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/LICENSE +0 -0
  12. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/renovate.json +0 -0
  13. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/src/pyproject_pre_commit/__init__.py +0 -0
  14. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/src/pyproject_pre_commit/__version__.py +0 -0
  15. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/src/pyproject_pre_commit/py.typed +0 -0
  16. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/src/pyproject_pre_commit/pyproject_pre_commit.py +0 -0
  17. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/tests/__init__.py +0 -0
  18. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/tests/test_pyproject_pre_commit.py +0 -0
  19. {pyproject_pre_commit-0.3.2 → pyproject_pre_commit-0.3.4}/tests/test_version.py +0 -0
@@ -1,3 +1,4 @@
1
+ ---
1
2
  repos:
2
3
  - repo: local
3
4
  hooks:
@@ -171,7 +172,7 @@ repos:
171
172
  - id: numpydoc-validation
172
173
  # https://github.com/numpy/numpydoc
173
174
  name: numpydoc-validation
174
- entry: validate-docstrings
175
+ entry: numpydoc lint
175
176
  require_serial: true
176
177
  language: system
177
178
  types:
@@ -195,6 +196,12 @@ repos:
195
196
  entry: mdformat
196
197
  language: system
197
198
  types: [markdown]
199
+ - id: validate-pyproject
200
+ name: validate-pyproject
201
+ entry: validate-pyproject
202
+ language: system
203
+ types: []
204
+ files: ^pyproject.toml$
198
205
  - repo: https://github.com/pre-commit/pre-commit-hooks
199
206
  rev: v5.0.0
200
207
  hooks:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  - id: ruff-lint-diff
2
3
  # https://github.com/astral-sh/ruff-pre-commit
3
4
  name: ruff-lint-diff
@@ -9,9 +10,9 @@
9
10
  - pyi
10
11
  - cython
11
12
  - jupyter
12
- require_serial: true
13
13
  minimum_pre_commit_version: "2.9.2"
14
14
  verbose: true
15
+ require_serial: true
15
16
  - id: ruff-lint
16
17
  # https://github.com/astral-sh/ruff-pre-commit
17
18
  name: ruff-lint
@@ -23,8 +24,8 @@
23
24
  - pyi
24
25
  - cython
25
26
  - jupyter
26
- require_serial: true
27
27
  minimum_pre_commit_version: "2.9.2"
28
+ require_serial: true
28
29
  - id: ruff-format-diff
29
30
  # https://github.com/astral-sh/ruff-pre-commit
30
31
  name: ruff-format-diff
@@ -36,9 +37,9 @@
36
37
  - pyi
37
38
  - cython
38
39
  - jupyter
39
- require_serial: true
40
40
  minimum_pre_commit_version: "2.9.2"
41
41
  verbose: true
42
+ require_serial: true
42
43
  - id: ruff-format
43
44
  # https://github.com/astral-sh/ruff-pre-commit
44
45
  name: ruff-format
@@ -50,8 +51,8 @@
50
51
  - pyi
51
52
  - cython
52
53
  - jupyter
53
- require_serial: true
54
54
  minimum_pre_commit_version: "2.9.2"
55
+ require_serial: true
55
56
  - id: black-diff
56
57
  # https://github.com/psf/black
57
58
  name: black-diff
@@ -63,12 +64,12 @@
63
64
  - pyi
64
65
  - cython
65
66
  - jupyter
66
- require_serial: true
67
67
  args:
68
68
  - "--diff"
69
69
  - "--color"
70
70
  - "--quiet"
71
71
  verbose: true
72
+ require_serial: true
72
73
  - id: black
73
74
  # https://github.com/psf/black
74
75
  name: black
@@ -80,9 +81,9 @@
80
81
  - pyi
81
82
  - cython
82
83
  - jupyter
83
- require_serial: true
84
84
  args:
85
85
  - "--quiet"
86
+ require_serial: true
86
87
  - id: blacken-docs
87
88
  # https://github.com/asottile/blacken-docs
88
89
  name: blacken-docs
@@ -90,6 +91,7 @@
90
91
  entry: blacken-docs
91
92
  language: system
92
93
  files: '\.(rst|md|markdown|py|tex)$'
94
+ require_serial: true
93
95
  - id: autoflake-diff
94
96
  # https://github.com/PyCQA/autoflake
95
97
  name: autoflake-diff
@@ -101,8 +103,8 @@
101
103
  - pyi
102
104
  - cython
103
105
  - jupyter
104
- require_serial: true
105
106
  verbose: true
107
+ require_serial: true
106
108
  - id: autoflake
107
109
  # https://github.com/PyCQA/autoflake
108
110
  name: autoflake
@@ -114,9 +116,9 @@
114
116
  - pyi
115
117
  - cython
116
118
  - jupyter
117
- require_serial: true
118
119
  args:
119
120
  - "--in-place"
121
+ require_serial: true
120
122
  - id: autopep8-diff
121
123
  # https://github.com/pre-commit/mirrors-autopep8
122
124
  name: autopep8-diff
@@ -130,6 +132,7 @@
130
132
  - jupyter
131
133
  args:
132
134
  - "--diff"
135
+ require_serial: true
133
136
  - id: autopep8
134
137
  # https://github.com/pre-commit/mirrors-autopep8
135
138
  name: autopep8
@@ -143,13 +146,13 @@
143
146
  - jupyter
144
147
  args:
145
148
  - "--in-place"
149
+ require_serial: true
146
150
  - id: isort-diff
147
151
  # https://github.com/PyCQA/isort
148
152
  name: isort-diff
149
153
  description: Just show the diff of isort result.
150
154
  entry: isort
151
155
  language: system
152
- require_serial: true
153
156
  types_or:
154
157
  - python
155
158
  - pyi
@@ -159,13 +162,13 @@
159
162
  - '--diff'
160
163
  - '--filter-files'
161
164
  verbose: true
165
+ require_serial: true
162
166
  - id: isort
163
167
  # https://github.com/PyCQA/isort
164
168
  name: isort
165
169
  description: isort your imports, so you don't have to.
166
170
  entry: isort
167
171
  language: system
168
- require_serial: true
169
172
  types_or:
170
173
  - python
171
174
  - pyi
@@ -173,6 +176,7 @@
173
176
  - jupyter
174
177
  args:
175
178
  - '--filter-files'
179
+ require_serial: true
176
180
  - id: flake8
177
181
  # https://github.com/PyCQA/flake8
178
182
  name: flake8
@@ -199,6 +203,7 @@
199
203
  args:
200
204
  - "-c"
201
205
  - "pyproject.toml"
206
+ require_serial: true
202
207
  - id: mypy
203
208
  # https://github.com/pre-commit/mirrors-mypy
204
209
  name: mypy
@@ -210,20 +215,20 @@
210
215
  - pyi
211
216
  - cython
212
217
  - jupyter
213
- require_serial: true
214
218
  pass_filenames: false
219
+ require_serial: true
215
220
  - id: numpydoc-validation
216
221
  # https://github.com/numpy/numpydoc
217
222
  name: numpydoc-validation
218
223
  entry: numpydoc lint
219
224
  description: This hook validates that docstrings in committed files adhere to numpydoc standards.
220
- require_serial: true
221
225
  language: system
222
226
  types:
223
227
  - python
224
228
  - pyi
225
229
  - cython
226
230
  - jupyter
231
+ require_serial: true
227
232
  - id: shellcheck
228
233
  # https://github.com/shellcheck-py/shellcheck-py
229
234
  name: shellcheck
@@ -241,6 +246,7 @@
241
246
  types: [markdown]
242
247
  args:
243
248
  - "--check"
249
+ require_serial: true
244
250
  - id: mdformat
245
251
  # https://github.com/executablebooks/mdformat
246
252
  name: mdformat
@@ -248,3 +254,12 @@
248
254
  entry: mdformat
249
255
  language: system
250
256
  types: [markdown]
257
+ require_serial: true
258
+ - id: validate-pyproject
259
+ # https://github.com/abravalheri/validate-pyproject
260
+ name: validate-pyproject
261
+ description: Validate pyproject.toml file
262
+ entry: validate-pyproject
263
+ language: system
264
+ files: ^pyproject.toml$
265
+ require_serial: true
@@ -1,7 +1,10 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyproject-pre-commit
3
- Version: 0.3.2
3
+ Version: 0.3.4
4
4
  Summary: pre-commit hooks for python projects using pyproject.toml.
5
+ Project-URL: repository, https://github.com/rcmdnk/pyproject-pre-commit
6
+ Project-URL: homepage, https://github.com/rcmdnk/pyproject-pre-commit
7
+ Project-URL: documentation, https://github.com/rcmdnk/pyproject-pre-commit
5
8
  Author-email: rcmdnk <rcmdnk@gmail.com>
6
9
  Keywords: pre-commit,pyproject.toml,uv
7
10
  Classifier: Development Status :: 3 - Alpha
@@ -30,9 +33,15 @@ Requires-Dist: flake8-pyproject>=1.2.3
30
33
  Requires-Dist: flake8-rst-docstrings>=0.3.0
31
34
  Requires-Dist: flake8-string-format>=0.3.0
32
35
  Requires-Dist: isort>=5.12.0
36
+ Requires-Dist: mdformat-config>=0.2.1
33
37
  Requires-Dist: mdformat-footnote>=0.1.1
34
38
  Requires-Dist: mdformat-frontmatter>=2.0.1
35
39
  Requires-Dist: mdformat-gfm>=0.3.5
40
+ Requires-Dist: mdformat-pyproject>=0.0.1
41
+ Requires-Dist: mdformat-rustfmt>=0.0.3
42
+ Requires-Dist: mdformat-tables>=1.0.0
43
+ Requires-Dist: mdformat-toc>=0.3.0
44
+ Requires-Dist: mdformat-web>=0.2.0
36
45
  Requires-Dist: mdformat>=0.7.17
37
46
  Requires-Dist: mypy>=1.5.1
38
47
  Requires-Dist: numpydoc>=1.8.0
@@ -40,11 +49,13 @@ Requires-Dist: pep8-naming>=0.14.0
40
49
  Requires-Dist: pre-commit>=4.0.0
41
50
  Requires-Dist: pycodestyle>=2.11.0
42
51
  Requires-Dist: shellcheck-py>=0.9.0.5
52
+ Requires-Dist: validate-pyproject[all]>=0.22
43
53
  Provides-Extra: ruff
54
+ Requires-Dist: mdformat-ruff>=0.1.3; extra == 'ruff'
44
55
  Requires-Dist: ruff>=0.7.2; extra == 'ruff'
45
56
  Description-Content-Type: text/markdown
46
57
 
47
- # pyproject-pre-commit
58
+ # pyproject-pre-commit<a name="pyproject-pre-commit"></a>
48
59
 
49
60
  [![test](https://github.com/rcmdnk/pyproject-pre-commit/actions/workflows/test.yml/badge.svg)](https://github.com/rcmdnk/pyproject-pre-commit/actions/workflows/test.yml)
50
61
  [![test coverage](https://img.shields.io/badge/coverage-check%20here-blue.svg)](https://github.com/rcmdnk/pyproject-pre-commit/tree/coverage)
@@ -56,14 +67,28 @@ Description-Content-Type: text/markdown
56
67
  By installing **pyproject-pre-commit** package,
57
68
  all necessary tools are installed as dependencies.
58
69
 
59
- ## Requirement
70
+ <!-- mdformat-toc start --slug=github --maxlevel=6 --minlevel=2 -->
71
+
72
+ - [Requirement](#requirement)
73
+ - [Usage](#usage)
74
+ - [Install pyproject-pre-commit](#install-pyproject-pre-commit)
75
+ - [Install pyproject-pre-commit with ruff](#install-pyproject-pre-commit-with-ruff)
76
+ - [Prepare .pre-commit-config.yaml](#prepare-pre-commit-configyaml)
77
+ - [Run pre-commit](#run-pre-commit)
78
+ - [Available ids](#available-ids)
79
+ - [Options for tools](#options-for-tools)
80
+ - [pyproject.toml](#pyprojecttoml)
81
+
82
+ <!-- mdformat-toc end -->
83
+
84
+ ## Requirement<a name="requirement"></a>
60
85
 
61
86
  - Python >= 3.9.0
62
87
  - Poetry (For development)
63
88
 
64
- ## Usage
89
+ ## Usage<a name="usage"></a>
65
90
 
66
- ### Install pyproject-pre-commit
91
+ ### Install pyproject-pre-commit<a name="install-pyproject-pre-commit"></a>
67
92
 
68
93
  If your project uses poetry, do:
69
94
 
@@ -82,7 +107,7 @@ $ pip install pyproject-pre-commit
82
107
  This will install tools for pre-commit hooks in your working environment,
83
108
  so that you can use these tools, such as black, directly.
84
109
 
85
- ### Install pyproject-pre-commit with ruff
110
+ ### Install pyproject-pre-commit with ruff<a name="install-pyproject-pre-commit-with-ruff"></a>
86
111
 
87
112
  If you want to use ruff, you can install pyproject-pre-commit with ruff option.
88
113
 
@@ -94,30 +119,30 @@ $ poetry add --group dev "pyproject-pre-commit[ruff]"
94
119
  $ pip install pyproject-pre-commit[ruff]
95
120
  ```
96
121
 
97
- ### Prepare .pre-commit-config.yaml
122
+ ### Prepare .pre-commit-config.yaml<a name="prepare-pre-commit-configyaml"></a>
98
123
 
99
124
  Add **https://github.com/rcmdnk/pyproject-pre-commit** to your **.pre-commit-config.yaml**, like:
100
125
 
101
126
  ```yaml
102
127
  repos:
103
- - repo: https://github.com/rcmdnk/pyproject-pre-commit
104
- rev: v0.3.0
105
- hooks:
106
- - id: black-diff
107
- - id: black
108
- - id: blacken-docs
109
- - id: autoflake-diff
110
- - id: autoflake
111
- - id: autopep8-diff
112
- - id: autopep8
113
- - id: isort-diff
114
- - id: isort
115
- - id: flake8
116
- - id: bandit
117
- - id: mypy
118
- - id: shellcheck
119
- - id: mdformat-check
120
- - id: mdformat
128
+ - repo: https://github.com/rcmdnk/pyproject-pre-commit
129
+ rev: v0.3.0
130
+ hooks:
131
+ - id: black-diff
132
+ - id: black
133
+ - id: blacken-docs
134
+ - id: autoflake-diff
135
+ - id: autoflake
136
+ - id: autopep8-diff
137
+ - id: autopep8
138
+ - id: isort-diff
139
+ - id: isort
140
+ - id: flake8
141
+ - id: bandit
142
+ - id: mypy
143
+ - id: shellcheck
144
+ - id: mdformat-check
145
+ - id: mdformat
121
146
  ```
122
147
 
123
148
  By using **pyproject-pre-commit**, you can simplify your **.pre-commit-config.yaml**
@@ -147,17 +172,17 @@ To use `ruff` instead of such as `black`, `flake8`, `isort`, add following hooks
147
172
 
148
173
  ```yaml
149
174
  repos:
150
- - repo: https://github.com/rcmdnk/pyproject-pre-commit
151
- rev: v0.3.0
152
- hooks:
153
- - id: ruff-lint-diff
154
- - id: ruff-lint
155
- - id: ruff-format-diff
156
- - id: ruff-format
157
- - id: mypy
158
- - id: shellcheck
159
- - id: mdformat-check
160
- - id: mdformat
175
+ - repo: https://github.com/rcmdnk/pyproject-pre-commit
176
+ rev: v0.3.0
177
+ hooks:
178
+ - id: ruff-lint-diff
179
+ - id: ruff-lint
180
+ - id: ruff-format-diff
181
+ - id: ruff-format
182
+ - id: mypy
183
+ - id: shellcheck
184
+ - id: mdformat-check
185
+ - id: mdformat
161
186
  ```
162
187
 
163
188
  This can be made by `ppc` command:
@@ -166,7 +191,7 @@ This can be made by `ppc` command:
166
191
  $ ppc --pre-commit --ruff > .pre-commit-config.yaml
167
192
  ```
168
193
 
169
- ### Run pre-commit
194
+ ### Run pre-commit<a name="run-pre-commit"></a>
170
195
 
171
196
  `pre-commit` command is installed as dependencies of **pyproject-pre-commit** package.
172
197
 
@@ -187,7 +212,7 @@ $ pre-commit run --all-files
187
212
  > \[!NOTE\]
188
213
  > If you are using poetry, run `poetry run pre-commit ... ` or run after `poetry shell`.
189
214
 
190
- ## Available ids
215
+ ## Available ids<a name="available-ids"></a>
191
216
 
192
217
  You can find ids in **.pre-commit-hooks.yaml**.
193
218
 
@@ -245,7 +270,7 @@ For tools which can format files, there are additional ids with `-diff` or `--ch
245
270
  which show the results before modifying files.
246
271
  You can see the differences after formatting if you place these ids before ids w/o `--diff` or `--check`.
247
272
 
248
- ## Options for tools
273
+ ## Options for tools<a name="options-for-tools"></a>
249
274
 
250
275
  You can set options in pyproject.toml for all tools above.
251
276
 
@@ -253,7 +278,7 @@ For flake8, flake8-pyproject allows to read options from pyproject.toml
253
278
 
254
279
  About bandit, there is a plugin for the flake8, but plugin version does not read options from pyproject.toml even with pyproject.toml. Therefore, use bandit directly and give `-c pyproject.toml` option in the hooks.
255
280
 
256
- ## pyproject.toml
281
+ ## pyproject.toml<a name="pyprojecttoml"></a>
257
282
 
258
283
  You can set options in pyproject.toml for all tools.
259
284
 
@@ -1,4 +1,4 @@
1
- # pyproject-pre-commit
1
+ # pyproject-pre-commit<a name="pyproject-pre-commit"></a>
2
2
 
3
3
  [![test](https://github.com/rcmdnk/pyproject-pre-commit/actions/workflows/test.yml/badge.svg)](https://github.com/rcmdnk/pyproject-pre-commit/actions/workflows/test.yml)
4
4
  [![test coverage](https://img.shields.io/badge/coverage-check%20here-blue.svg)](https://github.com/rcmdnk/pyproject-pre-commit/tree/coverage)
@@ -10,14 +10,28 @@
10
10
  By installing **pyproject-pre-commit** package,
11
11
  all necessary tools are installed as dependencies.
12
12
 
13
- ## Requirement
13
+ <!-- mdformat-toc start --slug=github --maxlevel=6 --minlevel=2 -->
14
+
15
+ - [Requirement](#requirement)
16
+ - [Usage](#usage)
17
+ - [Install pyproject-pre-commit](#install-pyproject-pre-commit)
18
+ - [Install pyproject-pre-commit with ruff](#install-pyproject-pre-commit-with-ruff)
19
+ - [Prepare .pre-commit-config.yaml](#prepare-pre-commit-configyaml)
20
+ - [Run pre-commit](#run-pre-commit)
21
+ - [Available ids](#available-ids)
22
+ - [Options for tools](#options-for-tools)
23
+ - [pyproject.toml](#pyprojecttoml)
24
+
25
+ <!-- mdformat-toc end -->
26
+
27
+ ## Requirement<a name="requirement"></a>
14
28
 
15
29
  - Python >= 3.9.0
16
30
  - Poetry (For development)
17
31
 
18
- ## Usage
32
+ ## Usage<a name="usage"></a>
19
33
 
20
- ### Install pyproject-pre-commit
34
+ ### Install pyproject-pre-commit<a name="install-pyproject-pre-commit"></a>
21
35
 
22
36
  If your project uses poetry, do:
23
37
 
@@ -36,7 +50,7 @@ $ pip install pyproject-pre-commit
36
50
  This will install tools for pre-commit hooks in your working environment,
37
51
  so that you can use these tools, such as black, directly.
38
52
 
39
- ### Install pyproject-pre-commit with ruff
53
+ ### Install pyproject-pre-commit with ruff<a name="install-pyproject-pre-commit-with-ruff"></a>
40
54
 
41
55
  If you want to use ruff, you can install pyproject-pre-commit with ruff option.
42
56
 
@@ -48,30 +62,30 @@ $ poetry add --group dev "pyproject-pre-commit[ruff]"
48
62
  $ pip install pyproject-pre-commit[ruff]
49
63
  ```
50
64
 
51
- ### Prepare .pre-commit-config.yaml
65
+ ### Prepare .pre-commit-config.yaml<a name="prepare-pre-commit-configyaml"></a>
52
66
 
53
67
  Add **https://github.com/rcmdnk/pyproject-pre-commit** to your **.pre-commit-config.yaml**, like:
54
68
 
55
69
  ```yaml
56
70
  repos:
57
- - repo: https://github.com/rcmdnk/pyproject-pre-commit
58
- rev: v0.3.0
59
- hooks:
60
- - id: black-diff
61
- - id: black
62
- - id: blacken-docs
63
- - id: autoflake-diff
64
- - id: autoflake
65
- - id: autopep8-diff
66
- - id: autopep8
67
- - id: isort-diff
68
- - id: isort
69
- - id: flake8
70
- - id: bandit
71
- - id: mypy
72
- - id: shellcheck
73
- - id: mdformat-check
74
- - id: mdformat
71
+ - repo: https://github.com/rcmdnk/pyproject-pre-commit
72
+ rev: v0.3.0
73
+ hooks:
74
+ - id: black-diff
75
+ - id: black
76
+ - id: blacken-docs
77
+ - id: autoflake-diff
78
+ - id: autoflake
79
+ - id: autopep8-diff
80
+ - id: autopep8
81
+ - id: isort-diff
82
+ - id: isort
83
+ - id: flake8
84
+ - id: bandit
85
+ - id: mypy
86
+ - id: shellcheck
87
+ - id: mdformat-check
88
+ - id: mdformat
75
89
  ```
76
90
 
77
91
  By using **pyproject-pre-commit**, you can simplify your **.pre-commit-config.yaml**
@@ -101,17 +115,17 @@ To use `ruff` instead of such as `black`, `flake8`, `isort`, add following hooks
101
115
 
102
116
  ```yaml
103
117
  repos:
104
- - repo: https://github.com/rcmdnk/pyproject-pre-commit
105
- rev: v0.3.0
106
- hooks:
107
- - id: ruff-lint-diff
108
- - id: ruff-lint
109
- - id: ruff-format-diff
110
- - id: ruff-format
111
- - id: mypy
112
- - id: shellcheck
113
- - id: mdformat-check
114
- - id: mdformat
118
+ - repo: https://github.com/rcmdnk/pyproject-pre-commit
119
+ rev: v0.3.0
120
+ hooks:
121
+ - id: ruff-lint-diff
122
+ - id: ruff-lint
123
+ - id: ruff-format-diff
124
+ - id: ruff-format
125
+ - id: mypy
126
+ - id: shellcheck
127
+ - id: mdformat-check
128
+ - id: mdformat
115
129
  ```
116
130
 
117
131
  This can be made by `ppc` command:
@@ -120,7 +134,7 @@ This can be made by `ppc` command:
120
134
  $ ppc --pre-commit --ruff > .pre-commit-config.yaml
121
135
  ```
122
136
 
123
- ### Run pre-commit
137
+ ### Run pre-commit<a name="run-pre-commit"></a>
124
138
 
125
139
  `pre-commit` command is installed as dependencies of **pyproject-pre-commit** package.
126
140
 
@@ -141,7 +155,7 @@ $ pre-commit run --all-files
141
155
  > \[!NOTE\]
142
156
  > If you are using poetry, run `poetry run pre-commit ... ` or run after `poetry shell`.
143
157
 
144
- ## Available ids
158
+ ## Available ids<a name="available-ids"></a>
145
159
 
146
160
  You can find ids in **.pre-commit-hooks.yaml**.
147
161
 
@@ -199,7 +213,7 @@ For tools which can format files, there are additional ids with `-diff` or `--ch
199
213
  which show the results before modifying files.
200
214
  You can see the differences after formatting if you place these ids before ids w/o `--diff` or `--check`.
201
215
 
202
- ## Options for tools
216
+ ## Options for tools<a name="options-for-tools"></a>
203
217
 
204
218
  You can set options in pyproject.toml for all tools above.
205
219
 
@@ -207,7 +221,7 @@ For flake8, flake8-pyproject allows to read options from pyproject.toml
207
221
 
208
222
  About bandit, there is a plugin for the flake8, but plugin version does not read options from pyproject.toml even with pyproject.toml. Therefore, use bandit directly and give `-c pyproject.toml` option in the hooks.
209
223
 
210
- ## pyproject.toml
224
+ ## pyproject.toml<a name="pyprojecttoml"></a>
211
225
 
212
226
  You can set options in pyproject.toml for all tools.
213
227
 
@@ -1,12 +1,10 @@
1
1
  [project]
2
2
  name = "pyproject-pre-commit"
3
- version = "0.3.2"
3
+ version = "0.3.4"
4
4
  description = "pre-commit hooks for python projects using pyproject.toml."
5
5
  authors = [
6
6
  { name = "rcmdnk", email = "rcmdnk@gmail.com" }
7
7
  ]
8
- repository = "https://github.com/rcmdnk/pyproject-pre-commit"
9
- homepage = "https://github.com/rcmdnk/pyproject-pre-commit"
10
8
  readme = "README.md"
11
9
  license = "Apache-2.0"
12
10
  keywords = ["pre-commit", "pyproject.toml", "uv"]
@@ -46,14 +44,27 @@ dependencies = [
46
44
  "numpydoc >= 1.8.0",
47
45
  "shellcheck-py >= 0.9.0.5",
48
46
  "mdformat >= 0.7.17",
49
- "mdformat-gfm >= 0.3.5",
50
- "mdformat-frontmatter >= 2.0.1",
47
+ "mdformat-pyproject>=0.0.1",
48
+ "mdformat-config>=0.2.1",
49
+ "mdformat-rustfmt>=0.0.3",
51
50
  "mdformat-footnote >= 0.1.1",
51
+ "mdformat-frontmatter >= 2.0.1",
52
+ "mdformat-gfm >= 0.3.5",
53
+ "mdformat-tables>=1.0.0",
54
+ "mdformat-web>=0.2.0",
55
+ "mdformat-toc>=0.3.0",
56
+ "validate-pyproject[all]>=0.22",
52
57
  ]
53
58
 
59
+ [project.urls]
60
+ repository = "https://github.com/rcmdnk/pyproject-pre-commit"
61
+ homepage = "https://github.com/rcmdnk/pyproject-pre-commit"
62
+ documentation = "https://github.com/rcmdnk/pyproject-pre-commit"
63
+
54
64
  [project.optional-dependencies]
55
65
  ruff = [
56
66
  "ruff >= 0.7.2",
67
+ "mdformat-ruff >= 0.1.3",
57
68
  ]
58
69
 
59
70
  [dependency-groups]
@@ -62,6 +73,7 @@ dev = [
62
73
  "pytest-cov >= 6.0.0",
63
74
  "pytest-xdist >= 3.3.1",
64
75
  "ruff >= 0.7.2",
76
+ "mdformat-ruff >= 0.1.3",
65
77
  ]
66
78
 
67
79
  [project.scripts]
@@ -74,6 +74,18 @@ toml = [
74
74
  { name = "tomli", marker = "python_full_version < '3.11'" },
75
75
  ]
76
76
 
77
+ [[package]]
78
+ name = "beautifulsoup4"
79
+ version = "4.12.3"
80
+ source = { registry = "https://pypi.org/simple" }
81
+ dependencies = [
82
+ { name = "soupsieve" },
83
+ ]
84
+ sdist = { url = "https://files.pythonhosted.org/packages/b3/ca/824b1195773ce6166d388573fc106ce56d4a805bd7427b624e063596ec58/beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051", size = 581181 }
85
+ wheels = [
86
+ { url = "https://files.pythonhosted.org/packages/b1/fe/e8c672695b37eecc5cbf43e1d0638d88d66ba3a44c4d321c796f4e59167f/beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed", size = 147925 },
87
+ ]
88
+
77
89
  [[package]]
78
90
  name = "black"
79
91
  version = "24.10.0"
@@ -321,6 +333,17 @@ toml = [
321
333
  { name = "tomli", marker = "python_full_version <= '3.11'" },
322
334
  ]
323
335
 
336
+ [[package]]
337
+ name = "cssbeautifier"
338
+ version = "1.15.1"
339
+ source = { registry = "https://pypi.org/simple" }
340
+ dependencies = [
341
+ { name = "editorconfig" },
342
+ { name = "jsbeautifier" },
343
+ { name = "six" },
344
+ ]
345
+ sdist = { url = "https://files.pythonhosted.org/packages/e5/66/9bfd2d69fb4479d38439076132a620972939f7949015563dce5e61d29a8b/cssbeautifier-1.15.1.tar.gz", hash = "sha256:9f7064362aedd559c55eeecf6b6bed65e05f33488dcbe39044f0403c26e1c006", size = 25673 }
346
+
324
347
  [[package]]
325
348
  name = "distlib"
326
349
  version = "0.3.9"
@@ -339,6 +362,12 @@ wheels = [
339
362
  { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408 },
340
363
  ]
341
364
 
365
+ [[package]]
366
+ name = "editorconfig"
367
+ version = "0.12.4"
368
+ source = { registry = "https://pypi.org/simple" }
369
+ sdist = { url = "https://files.pythonhosted.org/packages/3d/85/7b5c2fac7fdc37d959fab714b13b9acb75884490dcc0e8b1dc5e64105084/EditorConfig-0.12.4.tar.gz", hash = "sha256:24857fa1793917dd9ccf0c7810a07e05404ce9b823521c7dce22a4fb5d125f80", size = 13278 }
370
+
342
371
  [[package]]
343
372
  name = "exceptiongroup"
344
373
  version = "1.2.2"
@@ -357,6 +386,15 @@ wheels = [
357
386
  { url = "https://files.pythonhosted.org/packages/43/09/2aea36ff60d16dd8879bdb2f5b3ee0ba8d08cbbdcdfe870e695ce3784385/execnet-2.1.1-py3-none-any.whl", hash = "sha256:26dee51f1b80cebd6d0ca8e74dd8745419761d3bef34163928cbebbdc4749fdc", size = 40612 },
358
387
  ]
359
388
 
389
+ [[package]]
390
+ name = "fastjsonschema"
391
+ version = "2.20.0"
392
+ source = { registry = "https://pypi.org/simple" }
393
+ sdist = { url = "https://files.pythonhosted.org/packages/03/3f/3ad5e7be13b4b8b55f4477141885ab2364f65d5f6ad5f7a9daffd634d066/fastjsonschema-2.20.0.tar.gz", hash = "sha256:3d48fc5300ee96f5d116f10fe6f28d938e6008f59a6a025c2649475b87f76a23", size = 373056 }
394
+ wheels = [
395
+ { url = "https://files.pythonhosted.org/packages/6d/ca/086311cdfc017ec964b2436fe0c98c1f4efcb7e4c328956a22456e497655/fastjsonschema-2.20.0-py3-none-any.whl", hash = "sha256:5875f0b0fa7a0043a91e93a9b8f793bcbbba9691e7fd83dca95c28ba26d21f0a", size = 23543 },
396
+ ]
397
+
360
398
  [[package]]
361
399
  name = "filelock"
362
400
  version = "3.16.1"
@@ -599,6 +637,16 @@ wheels = [
599
637
  { url = "https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d", size = 133271 },
600
638
  ]
601
639
 
640
+ [[package]]
641
+ name = "jsbeautifier"
642
+ version = "1.15.1"
643
+ source = { registry = "https://pypi.org/simple" }
644
+ dependencies = [
645
+ { name = "editorconfig" },
646
+ { name = "six" },
647
+ ]
648
+ sdist = { url = "https://files.pythonhosted.org/packages/69/3e/dd37e1a7223247e3ef94714abf572415b89c4e121c4af48e9e4c392e2ca0/jsbeautifier-1.15.1.tar.gz", hash = "sha256:ebd733b560704c602d744eafc839db60a1ee9326e30a2a80c4adb8718adc1b24", size = 75606 }
649
+
602
650
  [[package]]
603
651
  name = "linkify-it-py"
604
652
  version = "2.0.3"
@@ -719,6 +767,20 @@ wheels = [
719
767
  { url = "https://files.pythonhosted.org/packages/67/e0/82c7b59e27f711b71518e05ad9224fcaf64739ae119f4b1901e3311f5d56/mdformat-0.7.18-py3-none-any.whl", hash = "sha256:0060cff2a9d53a2c29a4b2be56ff90cc210d2e8506684fa482c9846166f05e22", size = 29620 },
720
768
  ]
721
769
 
770
+ [[package]]
771
+ name = "mdformat-config"
772
+ version = "0.2.1"
773
+ source = { registry = "https://pypi.org/simple" }
774
+ dependencies = [
775
+ { name = "mdformat" },
776
+ { name = "ruamel-yaml" },
777
+ { name = "taplo" },
778
+ ]
779
+ sdist = { url = "https://files.pythonhosted.org/packages/ed/c0/49baad1d5121b1b7f30b5166f668d70d2a16ce5d2c267ebe7f210f575b59/mdformat_config-0.2.1.tar.gz", hash = "sha256:753aa1179198c791e4791099a0e9b1684a649fbbcd52db7c4d2e911a4c2c69ae", size = 2829 }
780
+ wheels = [
781
+ { url = "https://files.pythonhosted.org/packages/4e/73/e989491953da2cb446253258d0f3694ea021c277ca0cfbefe0a79ca5eef1/mdformat_config-0.2.1-py3-none-any.whl", hash = "sha256:484a867c067366f85c9e4b91e36d8a92c80141490db59e481befe0ec8055f02d", size = 3473 },
782
+ ]
783
+
722
784
  [[package]]
723
785
  name = "mdformat-footnote"
724
786
  version = "0.1.1"
@@ -761,6 +823,43 @@ wheels = [
761
823
  { url = "https://files.pythonhosted.org/packages/52/c6/da0801497839bdb71fb4744b47b546675fba1fcd9a9762cca4a8f19ab032/mdformat_gfm-0.3.7-py3-none-any.whl", hash = "sha256:c40966ef26e334226961ab77908dc9697ed63668f6383a18c80cca1cb4bb5c10", size = 4914 },
762
824
  ]
763
825
 
826
+ [[package]]
827
+ name = "mdformat-pyproject"
828
+ version = "0.0.1"
829
+ source = { registry = "https://pypi.org/simple" }
830
+ dependencies = [
831
+ { name = "mdformat" },
832
+ { name = "tomli", marker = "python_full_version < '3.11'" },
833
+ ]
834
+ sdist = { url = "https://files.pythonhosted.org/packages/1f/56/1b75e565906412087940e065106a9e5953419c7db81bb534dd76d6db6324/mdformat_pyproject-0.0.1.tar.gz", hash = "sha256:a2a03b8f77ec43a60060ab5da4402f613c7d83eca51ff9f19373d590ecdba3aa", size = 5502 }
835
+ wheels = [
836
+ { url = "https://files.pythonhosted.org/packages/ff/12/9a6531cf77bfa4f734372ab3948400d839c2ff64039a8b3ec19e2d694537/mdformat_pyproject-0.0.1-py3-none-any.whl", hash = "sha256:35fe74984ca86c3c5219280be7ea8a161fdc0d0a27bd0a788dcec5d9e322a871", size = 4696 },
837
+ ]
838
+
839
+ [[package]]
840
+ name = "mdformat-ruff"
841
+ version = "0.1.3"
842
+ source = { registry = "https://pypi.org/simple" }
843
+ dependencies = [
844
+ { name = "ruff" },
845
+ ]
846
+ sdist = { url = "https://files.pythonhosted.org/packages/3a/e2/9003dc57c78aea34b21f67854d842985ceac48028d288432efa113df3887/mdformat_ruff-0.1.3.tar.gz", hash = "sha256:2ddd2758dd3f6738c1c7bfbeb89320d271454f4cd8c28a99968a50d3578b15d6", size = 3416 }
847
+ wheels = [
848
+ { url = "https://files.pythonhosted.org/packages/b1/22/3f2464d478f145bbcb731cee9fe720b9e4d69efb6ffd8bc4491f14ca20a2/mdformat_ruff-0.1.3-py3-none-any.whl", hash = "sha256:9c0cf7bfe6bf99b9e0e617e960041d06e9fa84300d5645f922306dd2ed0d1296", size = 3932 },
849
+ ]
850
+
851
+ [[package]]
852
+ name = "mdformat-rustfmt"
853
+ version = "0.0.3"
854
+ source = { registry = "https://pypi.org/simple" }
855
+ dependencies = [
856
+ { name = "mdformat" },
857
+ ]
858
+ sdist = { url = "https://files.pythonhosted.org/packages/9e/0f/d6f4e3966f4851ca613a0efcd336b57327f908f5a2012951df02246ad80f/mdformat-rustfmt-0.0.3.tar.gz", hash = "sha256:3ed82684d8faf5b16000197bbd2a035a45251ce22d4c152c5ba04bb04f644ab5", size = 3287 }
859
+ wheels = [
860
+ { url = "https://files.pythonhosted.org/packages/9e/57/29dc0cc0ab8681494918c1e2cd47ec69fa6c98c56df86686b1cb967fce33/mdformat_rustfmt-0.0.3-py3-none-any.whl", hash = "sha256:f6e3ca39e274c71406515889bb8915899008074597bb8fcb4921d8b5bd96bdd8", size = 3370 },
861
+ ]
862
+
764
863
  [[package]]
765
864
  name = "mdformat-tables"
766
865
  version = "1.0.0"
@@ -774,6 +873,33 @@ wheels = [
774
873
  { url = "https://files.pythonhosted.org/packages/2a/37/d78e37d14323da3f607cd1af7daf262cb87fe614a245c15ad03bb03a2706/mdformat_tables-1.0.0-py3-none-any.whl", hash = "sha256:94cd86126141b2adc3b04c08d1441eb1272b36c39146bab078249a41c7240a9a", size = 5104 },
775
874
  ]
776
875
 
876
+ [[package]]
877
+ name = "mdformat-toc"
878
+ version = "0.3.0"
879
+ source = { registry = "https://pypi.org/simple" }
880
+ dependencies = [
881
+ { name = "mdformat" },
882
+ ]
883
+ sdist = { url = "https://files.pythonhosted.org/packages/b1/5c/c3dfdf66aba3468ef031be23fe25083f2d5410de86fd4f86f76571e2e94d/mdformat-toc-0.3.0.tar.gz", hash = "sha256:e8735f7517068f274b58b83407491b75445dc938473a3d5fa6467c0db0142daa", size = 9847 }
884
+ wheels = [
885
+ { url = "https://files.pythonhosted.org/packages/21/1e/dabc477b3e564c358bf84afa6f8e4995a8440c384df8407c360ebb8f659e/mdformat_toc-0.3.0-py3-none-any.whl", hash = "sha256:49d1f47d563f47405f3c165c6a4c30e8404a39f56ae254a27c2a90dd7eae1849", size = 9752 },
886
+ ]
887
+
888
+ [[package]]
889
+ name = "mdformat-web"
890
+ version = "0.2.0"
891
+ source = { registry = "https://pypi.org/simple" }
892
+ dependencies = [
893
+ { name = "beautifulsoup4" },
894
+ { name = "cssbeautifier" },
895
+ { name = "jsbeautifier" },
896
+ { name = "mdformat" },
897
+ ]
898
+ sdist = { url = "https://files.pythonhosted.org/packages/ab/94/848d6f3db16cce2115921130e50bd0569afd63559abf6bb09e29992c1a26/mdformat_web-0.2.0.tar.gz", hash = "sha256:7bf3b76ce01c3af1e6706ffe430e2b5c173248934191053477813b9119b01b64", size = 2751 }
899
+ wheels = [
900
+ { url = "https://files.pythonhosted.org/packages/f7/68/575b4d9c8dbab694a0ba8e8a4a348e263e774bac4a9ceb250642bad15e2b/mdformat_web-0.2.0-py3-none-any.whl", hash = "sha256:5d896564acfbe6ad8715a97ef6cac49b44ae6a9f3521c97bcf882d0b0e2ff5e7", size = 3150 },
901
+ ]
902
+
777
903
  [[package]]
778
904
  name = "mdit-py-plugins"
779
905
  version = "0.4.2"
@@ -980,7 +1106,7 @@ wheels = [
980
1106
 
981
1107
  [[package]]
982
1108
  name = "pyproject-pre-commit"
983
- version = "0.3.2"
1109
+ version = "0.3.4"
984
1110
  source = { editable = "." }
985
1111
  dependencies = [
986
1112
  { name = "autoflake" },
@@ -1002,24 +1128,33 @@ dependencies = [
1002
1128
  { name = "flake8-string-format" },
1003
1129
  { name = "isort" },
1004
1130
  { name = "mdformat" },
1131
+ { name = "mdformat-config" },
1005
1132
  { name = "mdformat-footnote" },
1006
1133
  { name = "mdformat-frontmatter" },
1007
1134
  { name = "mdformat-gfm" },
1135
+ { name = "mdformat-pyproject" },
1136
+ { name = "mdformat-rustfmt" },
1137
+ { name = "mdformat-tables" },
1138
+ { name = "mdformat-toc" },
1139
+ { name = "mdformat-web" },
1008
1140
  { name = "mypy" },
1009
1141
  { name = "numpydoc" },
1010
1142
  { name = "pep8-naming" },
1011
1143
  { name = "pre-commit" },
1012
1144
  { name = "pycodestyle" },
1013
1145
  { name = "shellcheck-py" },
1146
+ { name = "validate-pyproject", extra = ["all"] },
1014
1147
  ]
1015
1148
 
1016
1149
  [package.optional-dependencies]
1017
1150
  ruff = [
1151
+ { name = "mdformat-ruff" },
1018
1152
  { name = "ruff" },
1019
1153
  ]
1020
1154
 
1021
1155
  [package.dev-dependencies]
1022
1156
  dev = [
1157
+ { name = "mdformat-ruff" },
1023
1158
  { name = "pytest" },
1024
1159
  { name = "pytest-cov" },
1025
1160
  { name = "pytest-xdist" },
@@ -1047,9 +1182,16 @@ requires-dist = [
1047
1182
  { name = "flake8-string-format", specifier = ">=0.3.0" },
1048
1183
  { name = "isort", specifier = ">=5.12.0" },
1049
1184
  { name = "mdformat", specifier = ">=0.7.17" },
1185
+ { name = "mdformat-config", specifier = ">=0.2.1" },
1050
1186
  { name = "mdformat-footnote", specifier = ">=0.1.1" },
1051
1187
  { name = "mdformat-frontmatter", specifier = ">=2.0.1" },
1052
1188
  { name = "mdformat-gfm", specifier = ">=0.3.5" },
1189
+ { name = "mdformat-pyproject", specifier = ">=0.0.1" },
1190
+ { name = "mdformat-ruff", marker = "extra == 'ruff'", specifier = ">=0.1.3" },
1191
+ { name = "mdformat-rustfmt", specifier = ">=0.0.3" },
1192
+ { name = "mdformat-tables", specifier = ">=1.0.0" },
1193
+ { name = "mdformat-toc", specifier = ">=0.3.0" },
1194
+ { name = "mdformat-web", specifier = ">=0.2.0" },
1053
1195
  { name = "mypy", specifier = ">=1.5.1" },
1054
1196
  { name = "numpydoc", specifier = ">=1.8.0" },
1055
1197
  { name = "pep8-naming", specifier = ">=0.14.0" },
@@ -1057,10 +1199,12 @@ requires-dist = [
1057
1199
  { name = "pycodestyle", specifier = ">=2.11.0" },
1058
1200
  { name = "ruff", marker = "extra == 'ruff'", specifier = ">=0.7.2" },
1059
1201
  { name = "shellcheck-py", specifier = ">=0.9.0.5" },
1202
+ { name = "validate-pyproject", extras = ["all"], specifier = ">=0.22" },
1060
1203
  ]
1061
1204
 
1062
1205
  [package.metadata.requires-dev]
1063
1206
  dev = [
1207
+ { name = "mdformat-ruff", specifier = ">=0.1.3" },
1064
1208
  { name = "pytest", specifier = ">=8.0.0" },
1065
1209
  { name = "pytest-cov", specifier = ">=6.0.0" },
1066
1210
  { name = "pytest-xdist", specifier = ">=3.3.1" },
@@ -1298,6 +1442,15 @@ wheels = [
1298
1442
  { url = "https://files.pythonhosted.org/packages/4d/f7/5a1fff2c73bb2d044e3e9556961c4bb42525298782a199c8af232bf5ea8a/shellcheck_py-0.10.0.1-py2.py3-none-win_amd64.whl", hash = "sha256:be73a16931c05f79643ff74b6519d1e1203b394583ab8c68a48a8e7f257d1090", size = 1611786 },
1299
1443
  ]
1300
1444
 
1445
+ [[package]]
1446
+ name = "six"
1447
+ version = "1.16.0"
1448
+ source = { registry = "https://pypi.org/simple" }
1449
+ sdist = { url = "https://files.pythonhosted.org/packages/71/39/171f1c67cd00715f190ba0b100d606d440a28c93c7714febeca8b79af85e/six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", size = 34041 }
1450
+ wheels = [
1451
+ { url = "https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254", size = 11053 },
1452
+ ]
1453
+
1301
1454
  [[package]]
1302
1455
  name = "snowballstemmer"
1303
1456
  version = "2.2.0"
@@ -1307,6 +1460,15 @@ wheels = [
1307
1460
  { url = "https://files.pythonhosted.org/packages/ed/dc/c02e01294f7265e63a7315fe086dd1df7dacb9f840a804da846b96d01b96/snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a", size = 93002 },
1308
1461
  ]
1309
1462
 
1463
+ [[package]]
1464
+ name = "soupsieve"
1465
+ version = "2.6"
1466
+ source = { registry = "https://pypi.org/simple" }
1467
+ sdist = { url = "https://files.pythonhosted.org/packages/d7/ce/fbaeed4f9fb8b2daa961f90591662df6a86c1abf25c548329a86920aedfb/soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb", size = 101569 }
1468
+ wheels = [
1469
+ { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186 },
1470
+ ]
1471
+
1310
1472
  [[package]]
1311
1473
  name = "sphinx"
1312
1474
  version = "7.4.7"
@@ -1411,6 +1573,20 @@ wheels = [
1411
1573
  { url = "https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f", size = 35252 },
1412
1574
  ]
1413
1575
 
1576
+ [[package]]
1577
+ name = "taplo"
1578
+ version = "0.9.3"
1579
+ source = { registry = "https://pypi.org/simple" }
1580
+ sdist = { url = "https://files.pythonhosted.org/packages/71/79/513513960377e1212a28446acb323cf77dfce162e825a822f035b02a422d/taplo-0.9.3.tar.gz", hash = "sha256:6b73b45b9adbd20189d8981ac9055d5465227c58bbe1b0646a7588a1a5c07a1a", size = 102556 }
1581
+ wheels = [
1582
+ { url = "https://files.pythonhosted.org/packages/61/42/a93c18ebb7cf3ee2a7a30dd2fda654aca458956c3b64bdfb9d82b2c42679/taplo-0.9.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:1c3db689406d538420c64aa779ac8694cf44c13a46e158d6df406de65980b9c7", size = 4248497 },
1583
+ { url = "https://files.pythonhosted.org/packages/82/d2/f5b6e4a4f474f9fe613b5b91012520c3f62e46748a6ce9fd61fc2fb52fa2/taplo-0.9.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:1e7782f33f97e7aa658d18788748bce5cf3ce440eeb419cf5861cf542740e610", size = 4044421 },
1584
+ { url = "https://files.pythonhosted.org/packages/7d/32/4ac46ff15bb9d060f50ad31fb3a80aa8ee1e6ca500104ca8569f6fbdee3d/taplo-0.9.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:29d4d7abfcc10bd536e5a43fe6ec2c1931507c1433e79df03ea22e1030611cb6", size = 4334420 },
1585
+ { url = "https://files.pythonhosted.org/packages/ef/cc/656aed22a59cf4c50dcaaa66aaa570d4a1412acdd8ea429120a6bb00f336/taplo-0.9.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33f12648f273478d7330cb3529c82f48f388501e1122e0bea78bce5ff5972b8b", size = 4468935 },
1586
+ { url = "https://files.pythonhosted.org/packages/21/15/d8db1db6382b444122fa1a66fe5fe0dd5b04bfbe68c74bdb5345aec11eb2/taplo-0.9.3-py3-none-win32.whl", hash = "sha256:9ab7df76a3facc6d0dd2fe2dae3e8eb52fa458d31d27878d5eac14f5cbc0abac", size = 3482612 },
1587
+ { url = "https://files.pythonhosted.org/packages/42/3c/df6641d7e2e84a6dd4de3b3a4426db7f6a7270c05bbdeadd523645c9c45f/taplo-0.9.3-py3-none-win_amd64.whl", hash = "sha256:7d80b630b93fb43cee99d1e1ee07b616236dc5615efaf7cd51074b4cffc33bab", size = 3985843 },
1588
+ ]
1589
+
1414
1590
  [[package]]
1415
1591
  name = "tomli"
1416
1592
  version = "2.0.2"
@@ -1420,6 +1596,15 @@ wheels = [
1420
1596
  { url = "https://files.pythonhosted.org/packages/cf/db/ce8eda256fa131af12e0a76d481711abe4681b6923c27efb9a255c9e4594/tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38", size = 13237 },
1421
1597
  ]
1422
1598
 
1599
+ [[package]]
1600
+ name = "trove-classifiers"
1601
+ version = "2024.10.21.16"
1602
+ source = { registry = "https://pypi.org/simple" }
1603
+ sdist = { url = "https://files.pythonhosted.org/packages/99/85/92c2667cf221b37648041ce9319427f92fa76cbec634aad844e67e284706/trove_classifiers-2024.10.21.16.tar.gz", hash = "sha256:17cbd055d67d5e9d9de63293a8732943fabc21574e4c7b74edf112b4928cf5f3", size = 16153 }
1604
+ wheels = [
1605
+ { url = "https://files.pythonhosted.org/packages/35/35/5055ab8d215af853d07bbff1a74edf48f91ed308f037380a5ca52dd73348/trove_classifiers-2024.10.21.16-py3-none-any.whl", hash = "sha256:0fb11f1e995a757807a8ef1c03829fbd4998d817319abcef1f33165750f103be", size = 13546 },
1606
+ ]
1607
+
1423
1608
  [[package]]
1424
1609
  name = "typing-extensions"
1425
1610
  version = "4.12.2"
@@ -1447,6 +1632,25 @@ wheels = [
1447
1632
  { url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338 },
1448
1633
  ]
1449
1634
 
1635
+ [[package]]
1636
+ name = "validate-pyproject"
1637
+ version = "0.22"
1638
+ source = { registry = "https://pypi.org/simple" }
1639
+ dependencies = [
1640
+ { name = "fastjsonschema" },
1641
+ ]
1642
+ sdist = { url = "https://files.pythonhosted.org/packages/16/eb/758cc41af04ce1c6714a04b95add9769b75675467f43ff5abd48725a7d89/validate_pyproject-0.22.tar.gz", hash = "sha256:5d9a0fa67380ae6b19bcfc253d8d4af9fbcddc59540887efff486ea3075a16bb", size = 112776 }
1643
+ wheels = [
1644
+ { url = "https://files.pythonhosted.org/packages/f8/df/a722c2579283240f86efb0f5f23e6f5e6559b0b73869042e43ac7d7c931b/validate_pyproject-0.22-py3-none-any.whl", hash = "sha256:0200c076741f92374ad2e45fbefda085e0f45507f816dd85481b7b778fc1aef3", size = 52646 },
1645
+ ]
1646
+
1647
+ [package.optional-dependencies]
1648
+ all = [
1649
+ { name = "packaging" },
1650
+ { name = "tomli", marker = "python_full_version < '3.11'" },
1651
+ { name = "trove-classifiers" },
1652
+ ]
1653
+
1450
1654
  [[package]]
1451
1655
  name = "virtualenv"
1452
1656
  version = "20.27.1"
@@ -1472,9 +1676,9 @@ wheels = [
1472
1676
 
1473
1677
  [[package]]
1474
1678
  name = "zipp"
1475
- version = "3.20.2"
1679
+ version = "3.21.0"
1476
1680
  source = { registry = "https://pypi.org/simple" }
1477
- sdist = { url = "https://files.pythonhosted.org/packages/54/bf/5c0000c44ebc80123ecbdddba1f5dcd94a5ada602a9c225d84b5aaa55e86/zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29", size = 24199 }
1681
+ sdist = { url = "https://files.pythonhosted.org/packages/3f/50/bad581df71744867e9468ebd0bcd6505de3b275e06f202c2cb016e3ff56f/zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4", size = 24545 }
1478
1682
  wheels = [
1479
- { url = "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350", size = 9200 },
1683
+ { url = "https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931", size = 9630 },
1480
1684
  ]