fotolab 0.16.7__tar.gz → 0.16.12__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.
- {fotolab-0.16.7 → fotolab-0.16.12}/.pre-commit-config.yaml +3 -3
- {fotolab-0.16.7 → fotolab-0.16.12}/.python-version +1 -1
- {fotolab-0.16.7 → fotolab-0.16.12}/CHANGELOG.md +32 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/CONTRIBUTING.md +7 -7
- {fotolab-0.16.7 → fotolab-0.16.12}/PKG-INFO +48 -3
- {fotolab-0.16.7 → fotolab-0.16.12}/Pipfile.lock +230 -208
- {fotolab-0.16.7 → fotolab-0.16.12}/README.md +47 -2
- {fotolab-0.16.7 → fotolab-0.16.12}/fotolab/__init__.py +1 -1
- {fotolab-0.16.7 → fotolab-0.16.12}/noxfile.py +24 -22
- {fotolab-0.16.7 → fotolab-0.16.12}/.coveragerc +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/.gitignore +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/LICENSE.md +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/Pipfile +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/docs/Makefile +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/docs/make.bat +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/docs/source/CHANGELOG.md +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/docs/source/CONTRIBUTING.md +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/docs/source/LICENSE.md +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/docs/source/README.md +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/docs/source/_static/logo.jpg +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/docs/source/conf.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/docs/source/index.rst +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/fotolab/__main__.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/fotolab/animate.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/fotolab/auto.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/fotolab/border.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/fotolab/cli.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/fotolab/contrast.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/fotolab/env.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/fotolab/info.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/fotolab/montage.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/fotolab/resize.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/fotolab/rotate.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/fotolab/sharpen.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/fotolab/watermark.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/pyproject.toml +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/tests/__init__.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/tests/conftest.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/tests/test_env.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/tests/test_help_flag.py +0 -0
- {fotolab-0.16.7 → fotolab-0.16.12}/tests/test_quiet_flag.py +0 -0
@@ -45,7 +45,7 @@ repos:
|
|
45
45
|
- --py=312
|
46
46
|
|
47
47
|
- repo: https://github.com/psf/black
|
48
|
-
rev: 24.
|
48
|
+
rev: 24.8.0
|
49
49
|
hooks:
|
50
50
|
- id: black
|
51
51
|
language_version: python3.12
|
@@ -58,7 +58,7 @@ repos:
|
|
58
58
|
- --target-version=py312
|
59
59
|
|
60
60
|
- repo: https://github.com/asottile/blacken-docs
|
61
|
-
rev: 1.
|
61
|
+
rev: 1.18.0
|
62
62
|
hooks:
|
63
63
|
- id: blacken-docs
|
64
64
|
additional_dependencies:
|
@@ -107,7 +107,7 @@ repos:
|
|
107
107
|
- --disable=R0801,W0212
|
108
108
|
|
109
109
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
110
|
-
rev: v1.
|
110
|
+
rev: v1.11.1
|
111
111
|
hooks:
|
112
112
|
- id: mypy
|
113
113
|
exclude: docs/
|
@@ -7,6 +7,38 @@ and this project adheres to [0-based versioning](https://0ver.org/).
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## v0.16.12 (2024-08-04)
|
11
|
+
|
12
|
+
- Bump deps and `pre-commit` hooks
|
13
|
+
- Hide courtesy message when updating deps
|
14
|
+
- Use extra args when running `test` session in `nox`
|
15
|
+
|
16
|
+
## v0.16.11 (2024-07-28)
|
17
|
+
|
18
|
+
- Bump deps and `pre-commit` hooks
|
19
|
+
- Refactor `readme` nox session to capture help message correctly
|
20
|
+
- Use common helper function to install deps
|
21
|
+
|
22
|
+
## v0.16.10 (2024-07-21)
|
23
|
+
|
24
|
+
- Bump deps
|
25
|
+
- Fix first line of comment should be in imperative mood
|
26
|
+
- Install `pipenv` in venv managed by `nox`
|
27
|
+
- Update `nox` session in contributing doc
|
28
|
+
- Use `sphinx-build` in venv managed by `nox`
|
29
|
+
|
30
|
+
## v0.16.9 (2024-07-14)
|
31
|
+
|
32
|
+
- Add marker to all subcommand in readme
|
33
|
+
- Bump deps
|
34
|
+
- Fix `pipenv` install warning in `nox`
|
35
|
+
- Refactor `readme` session in `nox`
|
36
|
+
|
37
|
+
## v0.16.8 (2024-07-07)
|
38
|
+
|
39
|
+
- Bump deps, `pre-commit` hooks, and Python versions for `pyenv`
|
40
|
+
- Do not reuse `venv` for all `nox` sessions
|
41
|
+
|
10
42
|
## v0.16.7 (2024-06-30)
|
11
43
|
|
12
44
|
- Bump deps and `pre-commit` hooks
|
@@ -50,13 +50,13 @@ nox -l
|
|
50
50
|
```console
|
51
51
|
...
|
52
52
|
* deps -> Update pre-commit hooks and deps.
|
53
|
-
* lint ->
|
54
|
-
* test-3.8 ->
|
55
|
-
* test-3.9 ->
|
56
|
-
* test-3.10 ->
|
57
|
-
* test-3.11 ->
|
58
|
-
* test-3.12 ->
|
59
|
-
* cov ->
|
53
|
+
* lint -> Run pre-commit linter.
|
54
|
+
* test-3.8 -> Run test.
|
55
|
+
* test-3.9 -> Run test.
|
56
|
+
* test-3.10 -> Run test.
|
57
|
+
* test-3.11 -> Run test.
|
58
|
+
* test-3.12 -> Run test.
|
59
|
+
* cov -> Run test coverage.
|
60
60
|
* doc -> Build doc with sphinx.
|
61
61
|
* readme -> Update console help menu to readme.
|
62
62
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: fotolab
|
3
|
-
Version: 0.16.
|
3
|
+
Version: 0.16.12
|
4
4
|
Summary: A console program that manipulate images.
|
5
5
|
Keywords: photography,photo
|
6
6
|
Author-email: Kian-Meng Ang <kianmeng@cpan.org>
|
@@ -60,7 +60,8 @@ fotolab -h
|
|
60
60
|
|
61
61
|
```console
|
62
62
|
usage: fotolab [-h] [-o] [-op] [-od OUTPUT_DIR] [-q] [-v] [-d] [-V]
|
63
|
-
{animate,auto,border,contrast,info,resize,rotate,montage,sharpen,watermark,env}
|
63
|
+
{animate,auto,border,contrast,info,resize,rotate,montage,sharpen,watermark,env}
|
64
|
+
...
|
64
65
|
|
65
66
|
A console program to manipulate photos.
|
66
67
|
|
@@ -83,7 +84,7 @@ positional arguments:
|
|
83
84
|
watermark watermark an image
|
84
85
|
env print environment information for bug reporting
|
85
86
|
|
86
|
-
|
87
|
+
options:
|
87
88
|
-h, --help show this help message and exit
|
88
89
|
-o, --overwrite overwrite existing image
|
89
90
|
-op, --open open the image using default program (default: 'False')
|
@@ -103,6 +104,8 @@ optional arguments:
|
|
103
104
|
fotolab animate -h
|
104
105
|
```
|
105
106
|
|
107
|
+
<!--help-animate !-->
|
108
|
+
|
106
109
|
```console
|
107
110
|
usage: fotolab animate [-h] [-f FORMAT] [-d DURATION] [-l LOOP]
|
108
111
|
IMAGE_FILENAMES [IMAGE_FILENAMES ...]
|
@@ -119,12 +122,16 @@ optional arguments:
|
|
119
122
|
-l LOOP, --loop LOOP set the loop cycle (default: '0')
|
120
123
|
```
|
121
124
|
|
125
|
+
<!--help-animate !-->
|
126
|
+
|
122
127
|
### fotolab auto
|
123
128
|
|
124
129
|
```console
|
125
130
|
fotolab auto -h
|
126
131
|
```
|
127
132
|
|
133
|
+
<!--help-auto !-->
|
134
|
+
|
128
135
|
```console
|
129
136
|
usage: fotolab auto [-h] IMAGE_FILENAMES [IMAGE_FILENAMES ...]
|
130
137
|
|
@@ -135,12 +142,16 @@ optional arguments:
|
|
135
142
|
-h, --help show this help message and exit
|
136
143
|
```
|
137
144
|
|
145
|
+
<!--help-auto !-->
|
146
|
+
|
138
147
|
### fotolab border
|
139
148
|
|
140
149
|
```console
|
141
150
|
fotolab border -h
|
142
151
|
```
|
143
152
|
|
153
|
+
<!--help-border !-->
|
154
|
+
|
144
155
|
```console
|
145
156
|
usage: fotolab border [-h] [-c COLOR] [-w WIDTH] [-wt WIDTH] [-wr WIDTH]
|
146
157
|
[-wb WIDTH] [-wl WIDTH]
|
@@ -165,12 +176,16 @@ optional arguments:
|
|
165
176
|
set the width of left border (default: '0')
|
166
177
|
```
|
167
178
|
|
179
|
+
<!--help-border !-->
|
180
|
+
|
168
181
|
### fotolab contrast
|
169
182
|
|
170
183
|
```console
|
171
184
|
fotolab contrast -h
|
172
185
|
```
|
173
186
|
|
187
|
+
<!--help-contrast !-->
|
188
|
+
|
174
189
|
```console
|
175
190
|
usage: fotolab contrast [-h] [-c CUTOFF] IMAGE_FILENAMES [IMAGE_FILENAMES ...]
|
176
191
|
|
@@ -184,12 +199,16 @@ optional arguments:
|
|
184
199
|
discard from histogram (default: '1')
|
185
200
|
```
|
186
201
|
|
202
|
+
<!--help-contrast !-->
|
203
|
+
|
187
204
|
### fotolab info
|
188
205
|
|
189
206
|
```console
|
190
207
|
fotolab info -h
|
191
208
|
```
|
192
209
|
|
210
|
+
<!--help-info !-->
|
211
|
+
|
193
212
|
```console
|
194
213
|
usage: fotolab info [-h] IMAGE_FILENAME
|
195
214
|
|
@@ -200,12 +219,16 @@ optional arguments:
|
|
200
219
|
-h, --help show this help message and exit
|
201
220
|
```
|
202
221
|
|
222
|
+
<!--help-info !-->
|
223
|
+
|
203
224
|
### fotolab rotate
|
204
225
|
|
205
226
|
```console
|
206
227
|
fotolab rotate -h
|
207
228
|
```
|
208
229
|
|
230
|
+
<!--help-rotate !-->
|
231
|
+
|
209
232
|
```console
|
210
233
|
usage: fotolab rotate [-h] IMAGE_FILENAMES [IMAGE_FILENAMES ...]
|
211
234
|
|
@@ -216,12 +239,16 @@ optional arguments:
|
|
216
239
|
-h, --help show this help message and exit
|
217
240
|
```
|
218
241
|
|
242
|
+
<!--help-rotate !-->
|
243
|
+
|
219
244
|
### fotolab montage
|
220
245
|
|
221
246
|
```console
|
222
247
|
fotolab montage -h
|
223
248
|
```
|
224
249
|
|
250
|
+
<!--help-montage !-->
|
251
|
+
|
225
252
|
```console
|
226
253
|
usage: fotolab montage [-h] IMAGE_FILENAMES [IMAGE_FILENAMES ...]
|
227
254
|
|
@@ -232,12 +259,16 @@ optional arguments:
|
|
232
259
|
-h, --help show this help message and exit
|
233
260
|
```
|
234
261
|
|
262
|
+
<!--help-montage !-->
|
263
|
+
|
235
264
|
### fotolab resize
|
236
265
|
|
237
266
|
```console
|
238
267
|
fotolab resize -h
|
239
268
|
```
|
240
269
|
|
270
|
+
<!--help-resize !-->
|
271
|
+
|
241
272
|
```console
|
242
273
|
usage: fotolab resize [-h] [-wh WIDTH | -ht HEIGHT]
|
243
274
|
IMAGE_FILENAMES [IMAGE_FILENAMES ...]
|
@@ -253,12 +284,16 @@ optional arguments:
|
|
253
284
|
set the height of the image (default: '277')
|
254
285
|
```
|
255
286
|
|
287
|
+
<!--help-resize !-->
|
288
|
+
|
256
289
|
### fotolab sharpen
|
257
290
|
|
258
291
|
```console
|
259
292
|
fotolab sharpen -h
|
260
293
|
```
|
261
294
|
|
295
|
+
<!--help-sharpen !-->
|
296
|
+
|
262
297
|
```console
|
263
298
|
usage: fotolab sharpen [-h] [-r RADIUS] [-p PERCENT] [-t THRESHOLD]
|
264
299
|
IMAGE_FILENAMES [IMAGE_FILENAMES ...]
|
@@ -278,12 +313,16 @@ optional arguments:
|
|
278
313
|
(default: '3')
|
279
314
|
```
|
280
315
|
|
316
|
+
<!--help-sharpen !-->
|
317
|
+
|
281
318
|
### fotolab watermark
|
282
319
|
|
283
320
|
```console
|
284
321
|
fotolab watermark -h
|
285
322
|
```
|
286
323
|
|
324
|
+
<!--help-watermark !-->
|
325
|
+
|
287
326
|
```console
|
288
327
|
usage: fotolab watermark [-h] [-t WATERMARK_TEXT]
|
289
328
|
[-p {top-left,top-right,bottom-left,bottom-right}]
|
@@ -317,12 +356,16 @@ optional arguments:
|
|
317
356
|
'black')
|
318
357
|
```
|
319
358
|
|
359
|
+
<!--help-watermark !-->
|
360
|
+
|
320
361
|
### fotolab env
|
321
362
|
|
322
363
|
```console
|
323
364
|
fotolab env -h
|
324
365
|
```
|
325
366
|
|
367
|
+
<!--help-env !-->
|
368
|
+
|
326
369
|
```console
|
327
370
|
usage: fotolab env [-h]
|
328
371
|
|
@@ -330,6 +373,8 @@ options:
|
|
330
373
|
-h, --help show this help message and exit
|
331
374
|
```
|
332
375
|
|
376
|
+
<!--help-env !-->
|
377
|
+
|
333
378
|
## Copyright and License
|
334
379
|
|
335
380
|
Copyright (C) 2024 Kian-Meng Ang
|
@@ -18,79 +18,90 @@
|
|
18
18
|
"default": {
|
19
19
|
"pillow": {
|
20
20
|
"hashes": [
|
21
|
-
"sha256:
|
22
|
-
"sha256:
|
23
|
-
"sha256:
|
24
|
-
"sha256:
|
25
|
-
"sha256:
|
26
|
-
"sha256:
|
27
|
-
"sha256:
|
28
|
-
"sha256:
|
29
|
-
"sha256:
|
30
|
-
"sha256:
|
31
|
-
"sha256:
|
32
|
-
"sha256:
|
33
|
-
"sha256:
|
34
|
-
"sha256:
|
35
|
-
"sha256:
|
36
|
-
"sha256:
|
37
|
-
"sha256:
|
38
|
-
"sha256:
|
39
|
-
"sha256:
|
40
|
-
"sha256:
|
41
|
-
"sha256:
|
42
|
-
"sha256:
|
43
|
-
"sha256:
|
44
|
-
"sha256:
|
45
|
-
"sha256:
|
46
|
-
"sha256:
|
47
|
-
"sha256:
|
48
|
-
"sha256:
|
49
|
-
"sha256:
|
50
|
-
"sha256:
|
51
|
-
"sha256:
|
52
|
-
"sha256:
|
53
|
-
"sha256:
|
54
|
-
"sha256:
|
55
|
-
"sha256:
|
56
|
-
"sha256:
|
57
|
-
"sha256:
|
58
|
-
"sha256:
|
59
|
-
"sha256:
|
60
|
-
"sha256:
|
61
|
-
"sha256:
|
62
|
-
"sha256:
|
63
|
-
"sha256:
|
64
|
-
"sha256:
|
65
|
-
"sha256:
|
66
|
-
"sha256:
|
67
|
-
"sha256:
|
68
|
-
"sha256:
|
69
|
-
"sha256:
|
70
|
-
"sha256:
|
71
|
-
"sha256:
|
72
|
-
"sha256:
|
73
|
-
"sha256:
|
74
|
-
"sha256:
|
75
|
-
"sha256:
|
76
|
-
"sha256:
|
77
|
-
"sha256:
|
78
|
-
"sha256:
|
79
|
-
"sha256:
|
80
|
-
"sha256:
|
81
|
-
"sha256:
|
82
|
-
"sha256:
|
83
|
-
"sha256:
|
84
|
-
"sha256:
|
85
|
-
"sha256:
|
86
|
-
"sha256:
|
87
|
-
"sha256:
|
88
|
-
"sha256:
|
89
|
-
"sha256:
|
21
|
+
"sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885",
|
22
|
+
"sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea",
|
23
|
+
"sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df",
|
24
|
+
"sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5",
|
25
|
+
"sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c",
|
26
|
+
"sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d",
|
27
|
+
"sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd",
|
28
|
+
"sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06",
|
29
|
+
"sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908",
|
30
|
+
"sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a",
|
31
|
+
"sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be",
|
32
|
+
"sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0",
|
33
|
+
"sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b",
|
34
|
+
"sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80",
|
35
|
+
"sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a",
|
36
|
+
"sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e",
|
37
|
+
"sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9",
|
38
|
+
"sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696",
|
39
|
+
"sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b",
|
40
|
+
"sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309",
|
41
|
+
"sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e",
|
42
|
+
"sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab",
|
43
|
+
"sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d",
|
44
|
+
"sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060",
|
45
|
+
"sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d",
|
46
|
+
"sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d",
|
47
|
+
"sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4",
|
48
|
+
"sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3",
|
49
|
+
"sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6",
|
50
|
+
"sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb",
|
51
|
+
"sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94",
|
52
|
+
"sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b",
|
53
|
+
"sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496",
|
54
|
+
"sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0",
|
55
|
+
"sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319",
|
56
|
+
"sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b",
|
57
|
+
"sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856",
|
58
|
+
"sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef",
|
59
|
+
"sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680",
|
60
|
+
"sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b",
|
61
|
+
"sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42",
|
62
|
+
"sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e",
|
63
|
+
"sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597",
|
64
|
+
"sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a",
|
65
|
+
"sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8",
|
66
|
+
"sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3",
|
67
|
+
"sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736",
|
68
|
+
"sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da",
|
69
|
+
"sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126",
|
70
|
+
"sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd",
|
71
|
+
"sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5",
|
72
|
+
"sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b",
|
73
|
+
"sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026",
|
74
|
+
"sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b",
|
75
|
+
"sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc",
|
76
|
+
"sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46",
|
77
|
+
"sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2",
|
78
|
+
"sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c",
|
79
|
+
"sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe",
|
80
|
+
"sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984",
|
81
|
+
"sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a",
|
82
|
+
"sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70",
|
83
|
+
"sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca",
|
84
|
+
"sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b",
|
85
|
+
"sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91",
|
86
|
+
"sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3",
|
87
|
+
"sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84",
|
88
|
+
"sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1",
|
89
|
+
"sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5",
|
90
|
+
"sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be",
|
91
|
+
"sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f",
|
92
|
+
"sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc",
|
93
|
+
"sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9",
|
94
|
+
"sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e",
|
95
|
+
"sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141",
|
96
|
+
"sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef",
|
97
|
+
"sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22",
|
98
|
+
"sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27",
|
99
|
+
"sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e",
|
100
|
+
"sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1"
|
90
101
|
],
|
91
102
|
"index": "pypi",
|
92
103
|
"markers": "python_version >= '3.8'",
|
93
|
-
"version": "==10.
|
104
|
+
"version": "==10.4.0"
|
94
105
|
}
|
95
106
|
},
|
96
107
|
"develop": {
|
@@ -128,11 +139,11 @@
|
|
128
139
|
},
|
129
140
|
"certifi": {
|
130
141
|
"hashes": [
|
131
|
-
"sha256:
|
132
|
-
"sha256:
|
142
|
+
"sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b",
|
143
|
+
"sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"
|
133
144
|
],
|
134
145
|
"markers": "python_version >= '3.6'",
|
135
|
-
"version": "==2024.
|
146
|
+
"version": "==2024.7.4"
|
136
147
|
},
|
137
148
|
"cfgv": {
|
138
149
|
"hashes": [
|
@@ -251,61 +262,61 @@
|
|
251
262
|
"toml"
|
252
263
|
],
|
253
264
|
"hashes": [
|
254
|
-
"sha256:
|
255
|
-
"sha256:
|
256
|
-
"sha256:
|
257
|
-
"sha256:
|
258
|
-
"sha256:
|
259
|
-
"sha256:
|
260
|
-
"sha256:
|
261
|
-
"sha256:
|
262
|
-
"sha256:
|
263
|
-
"sha256:
|
264
|
-
"sha256:
|
265
|
-
"sha256:
|
266
|
-
"sha256:
|
267
|
-
"sha256:
|
268
|
-
"sha256:
|
269
|
-
"sha256:
|
270
|
-
"sha256:
|
271
|
-
"sha256:
|
272
|
-
"sha256:
|
273
|
-
"sha256:
|
274
|
-
"sha256:
|
275
|
-
"sha256:
|
276
|
-
"sha256:
|
277
|
-
"sha256:
|
278
|
-
"sha256:
|
279
|
-
"sha256:
|
280
|
-
"sha256:
|
281
|
-
"sha256:
|
282
|
-
"sha256:
|
283
|
-
"sha256:
|
284
|
-
"sha256:
|
285
|
-
"sha256:
|
286
|
-
"sha256:
|
287
|
-
"sha256:
|
288
|
-
"sha256:
|
289
|
-
"sha256:
|
290
|
-
"sha256:
|
291
|
-
"sha256:
|
292
|
-
"sha256:
|
293
|
-
"sha256:
|
294
|
-
"sha256:
|
295
|
-
"sha256:
|
296
|
-
"sha256:
|
297
|
-
"sha256:
|
298
|
-
"sha256:
|
299
|
-
"sha256:
|
300
|
-
"sha256:
|
301
|
-
"sha256:
|
302
|
-
"sha256:
|
303
|
-
"sha256:
|
304
|
-
"sha256:
|
305
|
-
"sha256:
|
265
|
+
"sha256:0086cd4fc71b7d485ac93ca4239c8f75732c2ae3ba83f6be1c9be59d9e2c6382",
|
266
|
+
"sha256:01c322ef2bbe15057bc4bf132b525b7e3f7206f071799eb8aa6ad1940bcf5fb1",
|
267
|
+
"sha256:03cafe82c1b32b770a29fd6de923625ccac3185a54a5e66606da26d105f37dac",
|
268
|
+
"sha256:044a0985a4f25b335882b0966625270a8d9db3d3409ddc49a4eb00b0ef5e8cee",
|
269
|
+
"sha256:07ed352205574aad067482e53dd606926afebcb5590653121063fbf4e2175166",
|
270
|
+
"sha256:0d1b923fc4a40c5832be4f35a5dab0e5ff89cddf83bb4174499e02ea089daf57",
|
271
|
+
"sha256:0e7b27d04131c46e6894f23a4ae186a6a2207209a05df5b6ad4caee6d54a222c",
|
272
|
+
"sha256:1fad32ee9b27350687035cb5fdf9145bc9cf0a094a9577d43e909948ebcfa27b",
|
273
|
+
"sha256:289cc803fa1dc901f84701ac10c9ee873619320f2f9aff38794db4a4a0268d51",
|
274
|
+
"sha256:3c59105f8d58ce500f348c5b56163a4113a440dad6daa2294b5052a10db866da",
|
275
|
+
"sha256:46c3d091059ad0b9c59d1034de74a7f36dcfa7f6d3bde782c49deb42438f2450",
|
276
|
+
"sha256:482855914928c8175735a2a59c8dc5806cf7d8f032e4820d52e845d1f731dca2",
|
277
|
+
"sha256:49c76cdfa13015c4560702574bad67f0e15ca5a2872c6a125f6327ead2b731dd",
|
278
|
+
"sha256:4b03741e70fb811d1a9a1d75355cf391f274ed85847f4b78e35459899f57af4d",
|
279
|
+
"sha256:4bea27c4269234e06f621f3fac3925f56ff34bc14521484b8f66a580aacc2e7d",
|
280
|
+
"sha256:4d5fae0a22dc86259dee66f2cc6c1d3e490c4a1214d7daa2a93d07491c5c04b6",
|
281
|
+
"sha256:543ef9179bc55edfd895154a51792b01c017c87af0ebaae092720152e19e42ca",
|
282
|
+
"sha256:54dece71673b3187c86226c3ca793c5f891f9fc3d8aa183f2e3653da18566169",
|
283
|
+
"sha256:6379688fb4cfa921ae349c76eb1a9ab26b65f32b03d46bb0eed841fd4cb6afb1",
|
284
|
+
"sha256:65fa405b837060db569a61ec368b74688f429b32fa47a8929a7a2f9b47183713",
|
285
|
+
"sha256:6616d1c9bf1e3faea78711ee42a8b972367d82ceae233ec0ac61cc7fec09fa6b",
|
286
|
+
"sha256:6fe885135c8a479d3e37a7aae61cbd3a0fb2deccb4dda3c25f92a49189f766d6",
|
287
|
+
"sha256:7221f9ac9dad9492cecab6f676b3eaf9185141539d5c9689d13fd6b0d7de840c",
|
288
|
+
"sha256:76d5f82213aa78098b9b964ea89de4617e70e0d43e97900c2778a50856dac605",
|
289
|
+
"sha256:7792f0ab20df8071d669d929c75c97fecfa6bcab82c10ee4adb91c7a54055463",
|
290
|
+
"sha256:831b476d79408ab6ccfadaaf199906c833f02fdb32c9ab907b1d4aa0713cfa3b",
|
291
|
+
"sha256:9146579352d7b5f6412735d0f203bbd8d00113a680b66565e205bc605ef81bc6",
|
292
|
+
"sha256:9cc44bf0315268e253bf563f3560e6c004efe38f76db03a1558274a6e04bf5d5",
|
293
|
+
"sha256:a73d18625f6a8a1cbb11eadc1d03929f9510f4131879288e3f7922097a429f63",
|
294
|
+
"sha256:a8659fd33ee9e6ca03950cfdcdf271d645cf681609153f218826dd9805ab585c",
|
295
|
+
"sha256:a94925102c89247530ae1dab7dc02c690942566f22e189cbd53579b0693c0783",
|
296
|
+
"sha256:ad4567d6c334c46046d1c4c20024de2a1c3abc626817ae21ae3da600f5779b44",
|
297
|
+
"sha256:b2e16f4cd2bc4d88ba30ca2d3bbf2f21f00f382cf4e1ce3b1ddc96c634bc48ca",
|
298
|
+
"sha256:bbdf9a72403110a3bdae77948b8011f644571311c2fb35ee15f0f10a8fc082e8",
|
299
|
+
"sha256:beb08e8508e53a568811016e59f3234d29c2583f6b6e28572f0954a6b4f7e03d",
|
300
|
+
"sha256:c4cbe651f3904e28f3a55d6f371203049034b4ddbce65a54527a3f189ca3b390",
|
301
|
+
"sha256:c7b525ab52ce18c57ae232ba6f7010297a87ced82a2383b1afd238849c1ff933",
|
302
|
+
"sha256:ca5d79cfdae420a1d52bf177de4bc2289c321d6c961ae321503b2ca59c17ae67",
|
303
|
+
"sha256:cdab02a0a941af190df8782aafc591ef3ad08824f97850b015c8c6a8b3877b0b",
|
304
|
+
"sha256:d17c6a415d68cfe1091d3296ba5749d3d8696e42c37fca5d4860c5bf7b729f03",
|
305
|
+
"sha256:d39bd10f0ae453554798b125d2f39884290c480f56e8a02ba7a6ed552005243b",
|
306
|
+
"sha256:d4b3cd1ca7cd73d229487fa5caca9e4bc1f0bca96526b922d61053ea751fe791",
|
307
|
+
"sha256:d50a252b23b9b4dfeefc1f663c568a221092cbaded20a05a11665d0dbec9b8fb",
|
308
|
+
"sha256:da8549d17489cd52f85a9829d0e1d91059359b3c54a26f28bec2c5d369524807",
|
309
|
+
"sha256:dcd070b5b585b50e6617e8972f3fbbee786afca71b1936ac06257f7e178f00f6",
|
310
|
+
"sha256:ddaaa91bfc4477d2871442bbf30a125e8fe6b05da8a0015507bfbf4718228ab2",
|
311
|
+
"sha256:df423f351b162a702c053d5dddc0fc0ef9a9e27ea3f449781ace5f906b664428",
|
312
|
+
"sha256:dff044f661f59dace805eedb4a7404c573b6ff0cdba4a524141bc63d7be5c7fd",
|
313
|
+
"sha256:e7e128f85c0b419907d1f38e616c4f1e9f1d1b37a7949f44df9a73d5da5cd53c",
|
314
|
+
"sha256:ed8d1d1821ba5fc88d4a4f45387b65de52382fa3ef1f0115a4f7a20cdfab0e94",
|
315
|
+
"sha256:f2501d60d7497fd55e391f423f965bbe9e650e9ffc3c627d5f0ac516026000b8",
|
316
|
+
"sha256:f7db0b6ae1f96ae41afe626095149ecd1b212b424626175a6633c2999eaad45b"
|
306
317
|
],
|
307
318
|
"markers": "python_version >= '3.8'",
|
308
|
-
"version": "==7.
|
319
|
+
"version": "==7.6.0"
|
309
320
|
},
|
310
321
|
"distlib": {
|
311
322
|
"hashes": [
|
@@ -324,12 +335,12 @@
|
|
324
335
|
},
|
325
336
|
"exceptiongroup": {
|
326
337
|
"hashes": [
|
327
|
-
"sha256:
|
328
|
-
"sha256:
|
338
|
+
"sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b",
|
339
|
+
"sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"
|
329
340
|
],
|
330
341
|
"index": "pypi",
|
331
342
|
"markers": "python_version >= '3.7'",
|
332
|
-
"version": "==1.2.
|
343
|
+
"version": "==1.2.2"
|
333
344
|
},
|
334
345
|
"execnet": {
|
335
346
|
"hashes": [
|
@@ -405,11 +416,11 @@
|
|
405
416
|
},
|
406
417
|
"identify": {
|
407
418
|
"hashes": [
|
408
|
-
"sha256:
|
409
|
-
"sha256:
|
419
|
+
"sha256:cb171c685bdc31bcc4c1734698736a7d5b6c8bf2e0c15117f4d469c8640ae5cf",
|
420
|
+
"sha256:e79ae4406387a9d300332b5fd366d8994f1525e8414984e1a59e058b2eda2dd0"
|
410
421
|
],
|
411
422
|
"markers": "python_version >= '3.8'",
|
412
|
-
"version": "==2.
|
423
|
+
"version": "==2.6.0"
|
413
424
|
},
|
414
425
|
"idna": {
|
415
426
|
"hashes": [
|
@@ -429,12 +440,12 @@
|
|
429
440
|
},
|
430
441
|
"importlib-metadata": {
|
431
442
|
"hashes": [
|
432
|
-
"sha256:
|
433
|
-
"sha256:
|
443
|
+
"sha256:11901fa0c2f97919b288679932bb64febaeacf289d18ac84dd68cb2e74213369",
|
444
|
+
"sha256:72e8d4399996132204f9a16dcc751af254a48f8d1b20b9ff0f98d4a8f901e73d"
|
434
445
|
],
|
435
446
|
"index": "pypi",
|
436
447
|
"markers": "python_version >= '3.8'",
|
437
|
-
"version": "==8.
|
448
|
+
"version": "==8.2.0"
|
438
449
|
},
|
439
450
|
"iniconfig": {
|
440
451
|
"hashes": [
|
@@ -586,79 +597,90 @@
|
|
586
597
|
},
|
587
598
|
"pillow": {
|
588
599
|
"hashes": [
|
589
|
-
"sha256:
|
590
|
-
"sha256:
|
591
|
-
"sha256:
|
592
|
-
"sha256:
|
593
|
-
"sha256:
|
594
|
-
"sha256:
|
595
|
-
"sha256:
|
596
|
-
"sha256:
|
597
|
-
"sha256:
|
598
|
-
"sha256:
|
599
|
-
"sha256:
|
600
|
-
"sha256:
|
601
|
-
"sha256:
|
602
|
-
"sha256:
|
603
|
-
"sha256:
|
604
|
-
"sha256:
|
605
|
-
"sha256:
|
606
|
-
"sha256:
|
607
|
-
"sha256:
|
608
|
-
"sha256:
|
609
|
-
"sha256:
|
610
|
-
"sha256:
|
611
|
-
"sha256:
|
612
|
-
"sha256:
|
613
|
-
"sha256:
|
614
|
-
"sha256:
|
615
|
-
"sha256:
|
616
|
-
"sha256:
|
617
|
-
"sha256:
|
618
|
-
"sha256:
|
619
|
-
"sha256:
|
620
|
-
"sha256:
|
621
|
-
"sha256:
|
622
|
-
"sha256:
|
623
|
-
"sha256:
|
624
|
-
"sha256:
|
625
|
-
"sha256:
|
626
|
-
"sha256:
|
627
|
-
"sha256:
|
628
|
-
"sha256:
|
629
|
-
"sha256:
|
630
|
-
"sha256:
|
631
|
-
"sha256:
|
632
|
-
"sha256:
|
633
|
-
"sha256:
|
634
|
-
"sha256:
|
635
|
-
"sha256:
|
636
|
-
"sha256:
|
637
|
-
"sha256:
|
638
|
-
"sha256:
|
639
|
-
"sha256:
|
640
|
-
"sha256:
|
641
|
-
"sha256:
|
642
|
-
"sha256:
|
643
|
-
"sha256:
|
644
|
-
"sha256:
|
645
|
-
"sha256:
|
646
|
-
"sha256:
|
647
|
-
"sha256:
|
648
|
-
"sha256:
|
649
|
-
"sha256:
|
650
|
-
"sha256:
|
651
|
-
"sha256:
|
652
|
-
"sha256:
|
653
|
-
"sha256:
|
654
|
-
"sha256:
|
655
|
-
"sha256:
|
656
|
-
"sha256:
|
657
|
-
"sha256:
|
600
|
+
"sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885",
|
601
|
+
"sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea",
|
602
|
+
"sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df",
|
603
|
+
"sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5",
|
604
|
+
"sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c",
|
605
|
+
"sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d",
|
606
|
+
"sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd",
|
607
|
+
"sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06",
|
608
|
+
"sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908",
|
609
|
+
"sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a",
|
610
|
+
"sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be",
|
611
|
+
"sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0",
|
612
|
+
"sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b",
|
613
|
+
"sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80",
|
614
|
+
"sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a",
|
615
|
+
"sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e",
|
616
|
+
"sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9",
|
617
|
+
"sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696",
|
618
|
+
"sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b",
|
619
|
+
"sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309",
|
620
|
+
"sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e",
|
621
|
+
"sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab",
|
622
|
+
"sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d",
|
623
|
+
"sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060",
|
624
|
+
"sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d",
|
625
|
+
"sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d",
|
626
|
+
"sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4",
|
627
|
+
"sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3",
|
628
|
+
"sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6",
|
629
|
+
"sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb",
|
630
|
+
"sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94",
|
631
|
+
"sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b",
|
632
|
+
"sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496",
|
633
|
+
"sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0",
|
634
|
+
"sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319",
|
635
|
+
"sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b",
|
636
|
+
"sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856",
|
637
|
+
"sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef",
|
638
|
+
"sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680",
|
639
|
+
"sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b",
|
640
|
+
"sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42",
|
641
|
+
"sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e",
|
642
|
+
"sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597",
|
643
|
+
"sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a",
|
644
|
+
"sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8",
|
645
|
+
"sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3",
|
646
|
+
"sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736",
|
647
|
+
"sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da",
|
648
|
+
"sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126",
|
649
|
+
"sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd",
|
650
|
+
"sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5",
|
651
|
+
"sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b",
|
652
|
+
"sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026",
|
653
|
+
"sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b",
|
654
|
+
"sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc",
|
655
|
+
"sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46",
|
656
|
+
"sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2",
|
657
|
+
"sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c",
|
658
|
+
"sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe",
|
659
|
+
"sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984",
|
660
|
+
"sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a",
|
661
|
+
"sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70",
|
662
|
+
"sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca",
|
663
|
+
"sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b",
|
664
|
+
"sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91",
|
665
|
+
"sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3",
|
666
|
+
"sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84",
|
667
|
+
"sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1",
|
668
|
+
"sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5",
|
669
|
+
"sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be",
|
670
|
+
"sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f",
|
671
|
+
"sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc",
|
672
|
+
"sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9",
|
673
|
+
"sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e",
|
674
|
+
"sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141",
|
675
|
+
"sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef",
|
676
|
+
"sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22",
|
677
|
+
"sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27",
|
678
|
+
"sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e",
|
679
|
+
"sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1"
|
658
680
|
],
|
659
681
|
"index": "pypi",
|
660
682
|
"markers": "python_version >= '3.8'",
|
661
|
-
"version": "==10.
|
683
|
+
"version": "==10.4.0"
|
662
684
|
},
|
663
685
|
"platformdirs": {
|
664
686
|
"hashes": [
|
@@ -719,12 +741,12 @@
|
|
719
741
|
},
|
720
742
|
"pytest": {
|
721
743
|
"hashes": [
|
722
|
-
"sha256:
|
723
|
-
"sha256:
|
744
|
+
"sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5",
|
745
|
+
"sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce"
|
724
746
|
],
|
725
747
|
"index": "pypi",
|
726
748
|
"markers": "python_version >= '3.8'",
|
727
|
-
"version": "==8.
|
749
|
+
"version": "==8.3.2"
|
728
750
|
},
|
729
751
|
"pytest-cov": {
|
730
752
|
"hashes": [
|
@@ -38,7 +38,8 @@ fotolab -h
|
|
38
38
|
|
39
39
|
```console
|
40
40
|
usage: fotolab [-h] [-o] [-op] [-od OUTPUT_DIR] [-q] [-v] [-d] [-V]
|
41
|
-
{animate,auto,border,contrast,info,resize,rotate,montage,sharpen,watermark,env}
|
41
|
+
{animate,auto,border,contrast,info,resize,rotate,montage,sharpen,watermark,env}
|
42
|
+
...
|
42
43
|
|
43
44
|
A console program to manipulate photos.
|
44
45
|
|
@@ -61,7 +62,7 @@ positional arguments:
|
|
61
62
|
watermark watermark an image
|
62
63
|
env print environment information for bug reporting
|
63
64
|
|
64
|
-
|
65
|
+
options:
|
65
66
|
-h, --help show this help message and exit
|
66
67
|
-o, --overwrite overwrite existing image
|
67
68
|
-op, --open open the image using default program (default: 'False')
|
@@ -81,6 +82,8 @@ optional arguments:
|
|
81
82
|
fotolab animate -h
|
82
83
|
```
|
83
84
|
|
85
|
+
<!--help-animate !-->
|
86
|
+
|
84
87
|
```console
|
85
88
|
usage: fotolab animate [-h] [-f FORMAT] [-d DURATION] [-l LOOP]
|
86
89
|
IMAGE_FILENAMES [IMAGE_FILENAMES ...]
|
@@ -97,12 +100,16 @@ optional arguments:
|
|
97
100
|
-l LOOP, --loop LOOP set the loop cycle (default: '0')
|
98
101
|
```
|
99
102
|
|
103
|
+
<!--help-animate !-->
|
104
|
+
|
100
105
|
### fotolab auto
|
101
106
|
|
102
107
|
```console
|
103
108
|
fotolab auto -h
|
104
109
|
```
|
105
110
|
|
111
|
+
<!--help-auto !-->
|
112
|
+
|
106
113
|
```console
|
107
114
|
usage: fotolab auto [-h] IMAGE_FILENAMES [IMAGE_FILENAMES ...]
|
108
115
|
|
@@ -113,12 +120,16 @@ optional arguments:
|
|
113
120
|
-h, --help show this help message and exit
|
114
121
|
```
|
115
122
|
|
123
|
+
<!--help-auto !-->
|
124
|
+
|
116
125
|
### fotolab border
|
117
126
|
|
118
127
|
```console
|
119
128
|
fotolab border -h
|
120
129
|
```
|
121
130
|
|
131
|
+
<!--help-border !-->
|
132
|
+
|
122
133
|
```console
|
123
134
|
usage: fotolab border [-h] [-c COLOR] [-w WIDTH] [-wt WIDTH] [-wr WIDTH]
|
124
135
|
[-wb WIDTH] [-wl WIDTH]
|
@@ -143,12 +154,16 @@ optional arguments:
|
|
143
154
|
set the width of left border (default: '0')
|
144
155
|
```
|
145
156
|
|
157
|
+
<!--help-border !-->
|
158
|
+
|
146
159
|
### fotolab contrast
|
147
160
|
|
148
161
|
```console
|
149
162
|
fotolab contrast -h
|
150
163
|
```
|
151
164
|
|
165
|
+
<!--help-contrast !-->
|
166
|
+
|
152
167
|
```console
|
153
168
|
usage: fotolab contrast [-h] [-c CUTOFF] IMAGE_FILENAMES [IMAGE_FILENAMES ...]
|
154
169
|
|
@@ -162,12 +177,16 @@ optional arguments:
|
|
162
177
|
discard from histogram (default: '1')
|
163
178
|
```
|
164
179
|
|
180
|
+
<!--help-contrast !-->
|
181
|
+
|
165
182
|
### fotolab info
|
166
183
|
|
167
184
|
```console
|
168
185
|
fotolab info -h
|
169
186
|
```
|
170
187
|
|
188
|
+
<!--help-info !-->
|
189
|
+
|
171
190
|
```console
|
172
191
|
usage: fotolab info [-h] IMAGE_FILENAME
|
173
192
|
|
@@ -178,12 +197,16 @@ optional arguments:
|
|
178
197
|
-h, --help show this help message and exit
|
179
198
|
```
|
180
199
|
|
200
|
+
<!--help-info !-->
|
201
|
+
|
181
202
|
### fotolab rotate
|
182
203
|
|
183
204
|
```console
|
184
205
|
fotolab rotate -h
|
185
206
|
```
|
186
207
|
|
208
|
+
<!--help-rotate !-->
|
209
|
+
|
187
210
|
```console
|
188
211
|
usage: fotolab rotate [-h] IMAGE_FILENAMES [IMAGE_FILENAMES ...]
|
189
212
|
|
@@ -194,12 +217,16 @@ optional arguments:
|
|
194
217
|
-h, --help show this help message and exit
|
195
218
|
```
|
196
219
|
|
220
|
+
<!--help-rotate !-->
|
221
|
+
|
197
222
|
### fotolab montage
|
198
223
|
|
199
224
|
```console
|
200
225
|
fotolab montage -h
|
201
226
|
```
|
202
227
|
|
228
|
+
<!--help-montage !-->
|
229
|
+
|
203
230
|
```console
|
204
231
|
usage: fotolab montage [-h] IMAGE_FILENAMES [IMAGE_FILENAMES ...]
|
205
232
|
|
@@ -210,12 +237,16 @@ optional arguments:
|
|
210
237
|
-h, --help show this help message and exit
|
211
238
|
```
|
212
239
|
|
240
|
+
<!--help-montage !-->
|
241
|
+
|
213
242
|
### fotolab resize
|
214
243
|
|
215
244
|
```console
|
216
245
|
fotolab resize -h
|
217
246
|
```
|
218
247
|
|
248
|
+
<!--help-resize !-->
|
249
|
+
|
219
250
|
```console
|
220
251
|
usage: fotolab resize [-h] [-wh WIDTH | -ht HEIGHT]
|
221
252
|
IMAGE_FILENAMES [IMAGE_FILENAMES ...]
|
@@ -231,12 +262,16 @@ optional arguments:
|
|
231
262
|
set the height of the image (default: '277')
|
232
263
|
```
|
233
264
|
|
265
|
+
<!--help-resize !-->
|
266
|
+
|
234
267
|
### fotolab sharpen
|
235
268
|
|
236
269
|
```console
|
237
270
|
fotolab sharpen -h
|
238
271
|
```
|
239
272
|
|
273
|
+
<!--help-sharpen !-->
|
274
|
+
|
240
275
|
```console
|
241
276
|
usage: fotolab sharpen [-h] [-r RADIUS] [-p PERCENT] [-t THRESHOLD]
|
242
277
|
IMAGE_FILENAMES [IMAGE_FILENAMES ...]
|
@@ -256,12 +291,16 @@ optional arguments:
|
|
256
291
|
(default: '3')
|
257
292
|
```
|
258
293
|
|
294
|
+
<!--help-sharpen !-->
|
295
|
+
|
259
296
|
### fotolab watermark
|
260
297
|
|
261
298
|
```console
|
262
299
|
fotolab watermark -h
|
263
300
|
```
|
264
301
|
|
302
|
+
<!--help-watermark !-->
|
303
|
+
|
265
304
|
```console
|
266
305
|
usage: fotolab watermark [-h] [-t WATERMARK_TEXT]
|
267
306
|
[-p {top-left,top-right,bottom-left,bottom-right}]
|
@@ -295,12 +334,16 @@ optional arguments:
|
|
295
334
|
'black')
|
296
335
|
```
|
297
336
|
|
337
|
+
<!--help-watermark !-->
|
338
|
+
|
298
339
|
### fotolab env
|
299
340
|
|
300
341
|
```console
|
301
342
|
fotolab env -h
|
302
343
|
```
|
303
344
|
|
345
|
+
<!--help-env !-->
|
346
|
+
|
304
347
|
```console
|
305
348
|
usage: fotolab env [-h]
|
306
349
|
|
@@ -308,6 +351,8 @@ options:
|
|
308
351
|
-h, --help show this help message and exit
|
309
352
|
```
|
310
353
|
|
354
|
+
<!--help-env !-->
|
355
|
+
|
311
356
|
## Copyright and License
|
312
357
|
|
313
358
|
Copyright (C) 2024 Kian-Meng Ang
|
@@ -14,39 +14,38 @@
|
|
14
14
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
15
15
|
|
16
16
|
"""Nox configuration."""
|
17
|
-
from io import StringIO
|
18
17
|
|
19
18
|
import nox
|
20
19
|
|
21
|
-
from fotolab.cli import build_parser
|
22
|
-
|
23
20
|
|
24
21
|
@nox.session()
|
25
22
|
def deps(session: nox.Session) -> None:
|
26
23
|
"""Update pre-commit hooks and deps."""
|
27
|
-
session.install("pre-commit")
|
24
|
+
session.install("pre-commit", "pipenv")
|
28
25
|
session.run("pre-commit", "autoupdate", *session.posargs)
|
29
|
-
session.run("pipenv", "update",
|
26
|
+
session.run("pipenv", "update", env={"PIPENV_VERBOSITY": "-1"})
|
30
27
|
|
31
28
|
|
32
29
|
@nox.session()
|
33
30
|
def lint(session: nox.Session) -> None:
|
34
|
-
"""
|
31
|
+
"""Run pre-commit linter."""
|
35
32
|
session.install("pre-commit")
|
36
33
|
session.run("pre-commit", "run", "--all-files", *session.posargs)
|
37
34
|
|
38
35
|
|
39
36
|
@nox.session(python=["3.8", "3.9", "3.10", "3.11", "3.12"])
|
40
37
|
def test(session: nox.Session) -> None:
|
41
|
-
"""
|
42
|
-
session
|
43
|
-
session.run(
|
38
|
+
"""Run test."""
|
39
|
+
_pipenv_install(session)
|
40
|
+
session.run(
|
41
|
+
"pipenv", "run", "pytest", "--numprocesses", "auto", *session.posargs
|
42
|
+
)
|
44
43
|
|
45
44
|
|
46
45
|
@nox.session(python="3.12")
|
47
46
|
def cov(session: nox.Session) -> None:
|
48
|
-
"""
|
49
|
-
session
|
47
|
+
"""Run test coverage."""
|
48
|
+
_pipenv_install(session)
|
50
49
|
session.run(
|
51
50
|
"pipenv",
|
52
51
|
"run",
|
@@ -59,26 +58,29 @@ def cov(session: nox.Session) -> None:
|
|
59
58
|
)
|
60
59
|
|
61
60
|
|
62
|
-
@nox.session(python="3.12"
|
61
|
+
@nox.session(python="3.12")
|
63
62
|
def doc(session: nox.Session) -> None:
|
64
63
|
"""Build doc with sphinx."""
|
65
|
-
session
|
64
|
+
_pipenv_install(session)
|
66
65
|
session.run("sphinx-build", "docs/source/", "docs/build/html")
|
67
66
|
|
68
67
|
|
69
|
-
@nox.session(python="3.12"
|
70
|
-
def readme(
|
68
|
+
@nox.session(python="3.12")
|
69
|
+
def readme(session: nox.Session) -> None:
|
71
70
|
"""Update console help menu to readme."""
|
71
|
+
_pipenv_install(session)
|
72
72
|
with open("README.md", "r+", encoding="utf8") as f:
|
73
|
+
help_message = session.run("fotolab", "-h", silent=True)
|
74
|
+
help_codeblock = f"\n\n```console\n{help_message}```\n\n"
|
75
|
+
|
73
76
|
content = f.read()
|
74
77
|
marker = content.split("<!--help !-->")[1]
|
75
|
-
|
76
|
-
buffer = StringIO()
|
77
|
-
parser = build_parser()
|
78
|
-
parser.print_help(file=buffer)
|
79
|
-
|
80
|
-
help_message = f"\n\n```console\n{buffer.getvalue()}```\n\n"
|
81
|
-
readme_md = content.replace(marker, help_message)
|
78
|
+
readme_md = content.replace(marker, help_codeblock)
|
82
79
|
|
83
80
|
f.seek(0)
|
84
81
|
f.write(readme_md)
|
82
|
+
|
83
|
+
|
84
|
+
def _pipenv_install(session: nox.Session) -> None:
|
85
|
+
session.install("pipenv")
|
86
|
+
session.run("pipenv", "install", "--dev", env={"PIPENV_VERBOSITY": "-1"})
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|