fotolab 0.31.4__tar.gz → 0.31.5__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 (55) hide show
  1. fotolab-0.31.5/.pre-commit-config.yaml +47 -0
  2. {fotolab-0.31.4 → fotolab-0.31.5}/CHANGELOG.md +6 -0
  3. {fotolab-0.31.4 → fotolab-0.31.5}/PKG-INFO +1 -1
  4. {fotolab-0.31.4 → fotolab-0.31.5}/noxfile.py +1 -0
  5. {fotolab-0.31.4 → fotolab-0.31.5}/pyproject.toml +1 -1
  6. {fotolab-0.31.4 → fotolab-0.31.5}/uv.lock +43 -43
  7. fotolab-0.31.4/.pre-commit-config.yaml +0 -120
  8. {fotolab-0.31.4 → fotolab-0.31.5}/.coveragerc +0 -0
  9. {fotolab-0.31.4 → fotolab-0.31.5}/.gitignore +0 -0
  10. {fotolab-0.31.4 → fotolab-0.31.5}/.python-version +0 -0
  11. {fotolab-0.31.4 → fotolab-0.31.5}/CONTRIBUTING.md +0 -0
  12. {fotolab-0.31.4 → fotolab-0.31.5}/LICENSE.md +0 -0
  13. {fotolab-0.31.4 → fotolab-0.31.5}/README.md +0 -0
  14. {fotolab-0.31.4 → fotolab-0.31.5}/docs/Makefile +0 -0
  15. {fotolab-0.31.4 → fotolab-0.31.5}/docs/make.bat +0 -0
  16. {fotolab-0.31.4 → fotolab-0.31.5}/docs/source/CHANGELOG.md +0 -0
  17. {fotolab-0.31.4 → fotolab-0.31.5}/docs/source/CONTRIBUTING.md +0 -0
  18. {fotolab-0.31.4 → fotolab-0.31.5}/docs/source/LICENSE.md +0 -0
  19. {fotolab-0.31.4 → fotolab-0.31.5}/docs/source/README.md +0 -0
  20. {fotolab-0.31.4 → fotolab-0.31.5}/docs/source/_static/logo.jpg +0 -0
  21. {fotolab-0.31.4 → fotolab-0.31.5}/docs/source/conf.py +0 -0
  22. {fotolab-0.31.4 → fotolab-0.31.5}/docs/source/index.rst +0 -0
  23. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/__init__.py +0 -0
  24. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/__main__.py +0 -0
  25. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/cli.py +0 -0
  26. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/subcommands/__init__.py +0 -0
  27. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/subcommands/animate.py +0 -0
  28. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/subcommands/auto.py +0 -0
  29. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/subcommands/border.py +0 -0
  30. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/subcommands/contrast.py +0 -0
  31. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/subcommands/env.py +0 -0
  32. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/subcommands/halftone.py +0 -0
  33. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/subcommands/info.py +0 -0
  34. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/subcommands/montage.py +0 -0
  35. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/subcommands/resize.py +0 -0
  36. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/subcommands/rotate.py +0 -0
  37. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/subcommands/sharpen.py +0 -0
  38. {fotolab-0.31.4 → fotolab-0.31.5}/fotolab/subcommands/watermark.py +0 -0
  39. {fotolab-0.31.4 → fotolab-0.31.5}/generate +0 -0
  40. {fotolab-0.31.4 → fotolab-0.31.5}/tests/__init__.py +0 -0
  41. {fotolab-0.31.4 → fotolab-0.31.5}/tests/conftest.py +0 -0
  42. {fotolab-0.31.4 → fotolab-0.31.5}/tests/test_animate_subcommand.py +0 -0
  43. {fotolab-0.31.4 → fotolab-0.31.5}/tests/test_auto_subcommand.py +0 -0
  44. {fotolab-0.31.4 → fotolab-0.31.5}/tests/test_border_subcommand.py +0 -0
  45. {fotolab-0.31.4 → fotolab-0.31.5}/tests/test_contrast_subcommand.py +0 -0
  46. {fotolab-0.31.4 → fotolab-0.31.5}/tests/test_env_subcommand.py +0 -0
  47. {fotolab-0.31.4 → fotolab-0.31.5}/tests/test_halftone_subcommand.py +0 -0
  48. {fotolab-0.31.4 → fotolab-0.31.5}/tests/test_help_flag.py +0 -0
  49. {fotolab-0.31.4 → fotolab-0.31.5}/tests/test_info_subcommand.py +0 -0
  50. {fotolab-0.31.4 → fotolab-0.31.5}/tests/test_montage_subcommand.py +0 -0
  51. {fotolab-0.31.4 → fotolab-0.31.5}/tests/test_quiet_flag.py +0 -0
  52. {fotolab-0.31.4 → fotolab-0.31.5}/tests/test_resize_subcommand.py +0 -0
  53. {fotolab-0.31.4 → fotolab-0.31.5}/tests/test_rotate_subcommand.py +0 -0
  54. {fotolab-0.31.4 → fotolab-0.31.5}/tests/test_sharpen_subcommand.py +0 -0
  55. {fotolab-0.31.4 → fotolab-0.31.5}/tests/test_watermark_subcommand.py +0 -0
@@ -0,0 +1,47 @@
1
+ # See https://pre-commit.com for more information
2
+ # See https://pre-commit.com/hooks.html for more hooks
3
+ repos:
4
+ - repo: https://github.com/pre-commit/pre-commit-hooks
5
+ rev: v5.0.0
6
+ hooks:
7
+ - id: check-case-conflict
8
+ - id: check-merge-conflict
9
+ - id: check-toml
10
+ - id: check-yaml
11
+ - id: debug-statements
12
+ - id: detect-private-key
13
+ - id: end-of-file-fixer
14
+ - id: mixed-line-ending
15
+ - id: trailing-whitespace
16
+
17
+ - repo: https://github.com/abravalheri/validate-pyproject
18
+ rev: v0.24.1
19
+ hooks:
20
+ - id: validate-pyproject
21
+ name: validate-pyproject
22
+
23
+ - repo: https://github.com/codespell-project/codespell
24
+ rev: v2.4.1
25
+ hooks:
26
+ - id: codespell
27
+ args:
28
+ - --ignore-words-list=astroid
29
+
30
+ - repo: https://github.com/pre-commit/mirrors-prettier
31
+ rev: v4.0.0-alpha.8
32
+ hooks:
33
+ - id: prettier
34
+ exclude: (Pipfile.lock)
35
+
36
+ - repo: https://github.com/astral-sh/ruff-pre-commit
37
+ rev: v0.12.0
38
+ hooks:
39
+ - id: ruff-check
40
+ args: [--fix]
41
+ - id: ruff-format
42
+
43
+ - repo: https://github.com/pre-commit/mirrors-mypy
44
+ rev: v1.16.1
45
+ hooks:
46
+ - id: mypy
47
+ exclude: docs/
@@ -7,6 +7,12 @@ and this project adheres to [0-based versioning](https://0ver.org/).
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## v0.31.5 (2025-06-22)
11
+
12
+ - Add missing example for `nox` release job
13
+ - Bump deps and `pre-commit` hooks
14
+ - Remove unused linting `pre-commit` hooks
15
+
10
16
  ## v0.31.4 (2025-06-15)
11
17
 
12
18
  - Fix `deps` job in `nox` session due to migration to `uv`
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fotolab
3
- Version: 0.31.4
3
+ Version: 0.31.5
4
4
  Summary: A console program that manipulate images.
5
5
  Keywords: photography,photo
6
6
  Author-email: Kian-Meng Ang <kianmeng@cpan.org>
@@ -120,6 +120,7 @@ def release(session: nox.Session) -> None:
120
120
  nox -s release -- major
121
121
  nox -s release -- minor
122
122
  nox -s release -- micro (default)
123
+ nos -s release -- -h
123
124
  """
124
125
  _uv_install(session)
125
126
 
@@ -20,7 +20,7 @@ classifiers = [
20
20
  "Programming Language :: Python :: 3.13",
21
21
  "Programming Language :: Python",
22
22
  ]
23
- version = "0.31.4"
23
+ version = "0.31.5"
24
24
  dynamic = ["description"]
25
25
  keywords = ["photography", "photo"]
26
26
  dependencies = [
@@ -70,11 +70,11 @@ wheels = [
70
70
 
71
71
  [[package]]
72
72
  name = "certifi"
73
- version = "2025.4.26"
73
+ version = "2025.6.15"
74
74
  source = { registry = "https://pypi.org/simple" }
75
- sdist = { url = "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", size = 160705, upload-time = "2025-04-26T02:12:29.51Z" }
75
+ sdist = { url = "https://files.pythonhosted.org/packages/73/f7/f14b46d4bcd21092d7d3ccef689615220d8a08fb25e564b65d20738e672e/certifi-2025.6.15.tar.gz", hash = "sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b", size = 158753, upload-time = "2025-06-15T02:45:51.329Z" }
76
76
  wheels = [
77
- { url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618, upload-time = "2025-04-26T02:12:27.662Z" },
77
+ { url = "https://files.pythonhosted.org/packages/84/ae/320161bd181fc06471eed047ecce67b693fd7515b16d495d8932db763426/certifi-2025.6.15-py3-none-any.whl", hash = "sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057", size = 157650, upload-time = "2025-06-15T02:45:49.977Z" },
78
78
  ]
79
79
 
80
80
  [[package]]
@@ -323,16 +323,16 @@ wheels = [
323
323
 
324
324
  [[package]]
325
325
  name = "flake8"
326
- version = "7.2.0"
326
+ version = "7.3.0"
327
327
  source = { registry = "https://pypi.org/simple" }
328
328
  dependencies = [
329
329
  { name = "mccabe" },
330
330
  { name = "pycodestyle" },
331
331
  { name = "pyflakes" },
332
332
  ]
333
- sdist = { url = "https://files.pythonhosted.org/packages/e7/c4/5842fc9fc94584c455543540af62fd9900faade32511fab650e9891ec225/flake8-7.2.0.tar.gz", hash = "sha256:fa558ae3f6f7dbf2b4f22663e5343b6b6023620461f8d4ff2019ef4b5ee70426", size = 48177, upload-time = "2025-03-29T20:08:39.329Z" }
333
+ sdist = { url = "https://files.pythonhosted.org/packages/9b/af/fbfe3c4b5a657d79e5c47a2827a362f9e1b763336a52f926126aa6dc7123/flake8-7.3.0.tar.gz", hash = "sha256:fe044858146b9fc69b551a4b490d69cf960fcb78ad1edcb84e7fbb1b4a8e3872", size = 48326, upload-time = "2025-06-20T19:31:35.838Z" }
334
334
  wheels = [
335
- { url = "https://files.pythonhosted.org/packages/83/5c/0627be4c9976d56b1217cb5187b7504e7fd7d3503f8bfd312a04077bd4f7/flake8-7.2.0-py2.py3-none-any.whl", hash = "sha256:93b92ba5bdb60754a6da14fa3b93a9361fd00a59632ada61fd7b130436c40343", size = 57786, upload-time = "2025-03-29T20:08:37.902Z" },
335
+ { url = "https://files.pythonhosted.org/packages/9f/56/13ab06b4f93ca7cac71078fbe37fcea175d3216f31f85c3168a6bbd0bb9a/flake8-7.3.0-py2.py3-none-any.whl", hash = "sha256:b9696257b9ce8beb888cdbe31cf885c90d31928fe202be0889a7cdafad32f01e", size = 57922, upload-time = "2025-06-20T19:31:34.425Z" },
336
336
  ]
337
337
 
338
338
  [[package]]
@@ -422,7 +422,7 @@ wheels = [
422
422
 
423
423
  [[package]]
424
424
  name = "fotolab"
425
- version = "0.31.4"
425
+ version = "0.31.5"
426
426
  source = { editable = "." }
427
427
  dependencies = [
428
428
  { name = "pillow" },
@@ -865,11 +865,11 @@ wheels = [
865
865
 
866
866
  [[package]]
867
867
  name = "pycodestyle"
868
- version = "2.13.0"
868
+ version = "2.14.0"
869
869
  source = { registry = "https://pypi.org/simple" }
870
- sdist = { url = "https://files.pythonhosted.org/packages/04/6e/1f4a62078e4d95d82367f24e685aef3a672abfd27d1a868068fed4ed2254/pycodestyle-2.13.0.tar.gz", hash = "sha256:c8415bf09abe81d9c7f872502a6eee881fbe85d8763dd5b9924bb0a01d67efae", size = 39312, upload-time = "2025-03-29T17:33:30.669Z" }
870
+ sdist = { url = "https://files.pythonhosted.org/packages/11/e0/abfd2a0d2efe47670df87f3e3a0e2edda42f055053c85361f19c0e2c1ca8/pycodestyle-2.14.0.tar.gz", hash = "sha256:c4b5b517d278089ff9d0abdec919cd97262a3367449ea1c8b49b91529167b783", size = 39472, upload-time = "2025-06-20T18:49:48.75Z" }
871
871
  wheels = [
872
- { url = "https://files.pythonhosted.org/packages/07/be/b00116df1bfb3e0bb5b45e29d604799f7b91dd861637e4d448b4e09e6a3e/pycodestyle-2.13.0-py2.py3-none-any.whl", hash = "sha256:35863c5974a271c7a726ed228a14a4f6daf49df369d8c50cd9a6f58a5e143ba9", size = 31424, upload-time = "2025-03-29T17:33:29.405Z" },
872
+ { url = "https://files.pythonhosted.org/packages/d7/27/a58ddaf8c588a3ef080db9d0b7e0b97215cee3a45df74f3a94dbbf5c893a/pycodestyle-2.14.0-py2.py3-none-any.whl", hash = "sha256:dd6bf7cb4ee77f8e016f9c8e74a35ddd9f67e1d5fd4184d86c3b98e07099f42d", size = 31594, upload-time = "2025-06-20T18:49:47.491Z" },
873
873
  ]
874
874
 
875
875
  [[package]]
@@ -886,25 +886,25 @@ wheels = [
886
886
 
887
887
  [[package]]
888
888
  name = "pyflakes"
889
- version = "3.3.2"
889
+ version = "3.4.0"
890
890
  source = { registry = "https://pypi.org/simple" }
891
- sdist = { url = "https://files.pythonhosted.org/packages/af/cc/1df338bd7ed1fa7c317081dcf29bf2f01266603b301e6858856d346a12b3/pyflakes-3.3.2.tar.gz", hash = "sha256:6dfd61d87b97fba5dcfaaf781171ac16be16453be6d816147989e7f6e6a9576b", size = 64175, upload-time = "2025-03-31T13:21:20.34Z" }
891
+ sdist = { url = "https://files.pythonhosted.org/packages/45/dc/fd034dc20b4b264b3d015808458391acbf9df40b1e54750ef175d39180b1/pyflakes-3.4.0.tar.gz", hash = "sha256:b24f96fafb7d2ab0ec5075b7350b3d2d2218eab42003821c06344973d3ea2f58", size = 64669, upload-time = "2025-06-20T18:45:27.834Z" }
892
892
  wheels = [
893
- { url = "https://files.pythonhosted.org/packages/15/40/b293a4fa769f3b02ab9e387c707c4cbdc34f073f945de0386107d4e669e6/pyflakes-3.3.2-py2.py3-none-any.whl", hash = "sha256:5039c8339cbb1944045f4ee5466908906180f13cc99cc9949348d10f82a5c32a", size = 63164, upload-time = "2025-03-31T13:21:18.503Z" },
893
+ { url = "https://files.pythonhosted.org/packages/c2/2f/81d580a0fb83baeb066698975cb14a618bdbed7720678566f1b046a95fe8/pyflakes-3.4.0-py2.py3-none-any.whl", hash = "sha256:f742a7dbd0d9cb9ea41e9a24a918996e8170c799fa528688d40dd582c8265f4f", size = 63551, upload-time = "2025-06-20T18:45:26.937Z" },
894
894
  ]
895
895
 
896
896
  [[package]]
897
897
  name = "pygments"
898
- version = "2.19.1"
898
+ version = "2.19.2"
899
899
  source = { registry = "https://pypi.org/simple" }
900
- sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" }
900
+ sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" }
901
901
  wheels = [
902
- { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" },
902
+ { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" },
903
903
  ]
904
904
 
905
905
  [[package]]
906
906
  name = "pytest"
907
- version = "8.4.0"
907
+ version = "8.4.1"
908
908
  source = { registry = "https://pypi.org/simple" }
909
909
  dependencies = [
910
910
  { name = "colorama", marker = "sys_platform == 'win32'" },
@@ -915,9 +915,9 @@ dependencies = [
915
915
  { name = "pygments" },
916
916
  { name = "tomli", marker = "python_full_version < '3.11'" },
917
917
  ]
918
- sdist = { url = "https://files.pythonhosted.org/packages/fb/aa/405082ce2749be5398045152251ac69c0f3578c7077efc53431303af97ce/pytest-8.4.0.tar.gz", hash = "sha256:14d920b48472ea0dbf68e45b96cd1ffda4705f33307dcc86c676c1b5104838a6", size = 1515232, upload-time = "2025-06-02T17:36:30.03Z" }
918
+ sdist = { url = "https://files.pythonhosted.org/packages/08/ba/45911d754e8eba3d5a841a5ce61a65a685ff1798421ac054f85aa8747dfb/pytest-8.4.1.tar.gz", hash = "sha256:7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c", size = 1517714, upload-time = "2025-06-18T05:48:06.109Z" }
919
919
  wheels = [
920
- { url = "https://files.pythonhosted.org/packages/2f/de/afa024cbe022b1b318a3d224125aa24939e99b4ff6f22e0ba639a2eaee47/pytest-8.4.0-py3-none-any.whl", hash = "sha256:f40f825768ad76c0977cbacdf1fd37c6f7a468e460ea6a0636078f8972d4517e", size = 363797, upload-time = "2025-06-02T17:36:27.859Z" },
920
+ { url = "https://files.pythonhosted.org/packages/29/16/c8a903f4c4dffe7a12843191437d7cd8e32751d5de349d45d3fe69544e87/pytest-8.4.1-py3-none-any.whl", hash = "sha256:539c70ba6fcead8e78eebbf1115e8b589e7565830d7d006a8723f19ac8a0afb7", size = 365474, upload-time = "2025-06-18T05:48:03.955Z" },
921
921
  ]
922
922
 
923
923
  [[package]]
@@ -1039,27 +1039,27 @@ wheels = [
1039
1039
 
1040
1040
  [[package]]
1041
1041
  name = "ruff"
1042
- version = "0.11.13"
1043
- source = { registry = "https://pypi.org/simple" }
1044
- sdist = { url = "https://files.pythonhosted.org/packages/ed/da/9c6f995903b4d9474b39da91d2d626659af3ff1eeb43e9ae7c119349dba6/ruff-0.11.13.tar.gz", hash = "sha256:26fa247dc68d1d4e72c179e08889a25ac0c7ba4d78aecfc835d49cbfd60bf514", size = 4282054, upload-time = "2025-06-05T21:00:15.721Z" }
1045
- wheels = [
1046
- { url = "https://files.pythonhosted.org/packages/7d/ce/a11d381192966e0b4290842cc8d4fac7dc9214ddf627c11c1afff87da29b/ruff-0.11.13-py3-none-linux_armv6l.whl", hash = "sha256:4bdfbf1240533f40042ec00c9e09a3aade6f8c10b6414cf11b519488d2635d46", size = 10292516, upload-time = "2025-06-05T20:59:32.944Z" },
1047
- { url = "https://files.pythonhosted.org/packages/78/db/87c3b59b0d4e753e40b6a3b4a2642dfd1dcaefbff121ddc64d6c8b47ba00/ruff-0.11.13-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:aef9c9ed1b5ca28bb15c7eac83b8670cf3b20b478195bd49c8d756ba0a36cf48", size = 11106083, upload-time = "2025-06-05T20:59:37.03Z" },
1048
- { url = "https://files.pythonhosted.org/packages/77/79/d8cec175856ff810a19825d09ce700265f905c643c69f45d2b737e4a470a/ruff-0.11.13-py3-none-macosx_11_0_arm64.whl", hash = "sha256:53b15a9dfdce029c842e9a5aebc3855e9ab7771395979ff85b7c1dedb53ddc2b", size = 10436024, upload-time = "2025-06-05T20:59:39.741Z" },
1049
- { url = "https://files.pythonhosted.org/packages/8b/5b/f6d94f2980fa1ee854b41568368a2e1252681b9238ab2895e133d303538f/ruff-0.11.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ab153241400789138d13f362c43f7edecc0edfffce2afa6a68434000ecd8f69a", size = 10646324, upload-time = "2025-06-05T20:59:42.185Z" },
1050
- { url = "https://files.pythonhosted.org/packages/6c/9c/b4c2acf24ea4426016d511dfdc787f4ce1ceb835f3c5fbdbcb32b1c63bda/ruff-0.11.13-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6c51f93029d54a910d3d24f7dd0bb909e31b6cd989a5e4ac513f4eb41629f0dc", size = 10174416, upload-time = "2025-06-05T20:59:44.319Z" },
1051
- { url = "https://files.pythonhosted.org/packages/f3/10/e2e62f77c65ede8cd032c2ca39c41f48feabedb6e282bfd6073d81bb671d/ruff-0.11.13-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1808b3ed53e1a777c2ef733aca9051dc9bf7c99b26ece15cb59a0320fbdbd629", size = 11724197, upload-time = "2025-06-05T20:59:46.935Z" },
1052
- { url = "https://files.pythonhosted.org/packages/bb/f0/466fe8469b85c561e081d798c45f8a1d21e0b4a5ef795a1d7f1a9a9ec182/ruff-0.11.13-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:d28ce58b5ecf0f43c1b71edffabe6ed7f245d5336b17805803312ec9bc665933", size = 12511615, upload-time = "2025-06-05T20:59:49.534Z" },
1053
- { url = "https://files.pythonhosted.org/packages/17/0e/cefe778b46dbd0cbcb03a839946c8f80a06f7968eb298aa4d1a4293f3448/ruff-0.11.13-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55e4bc3a77842da33c16d55b32c6cac1ec5fb0fbec9c8c513bdce76c4f922165", size = 12117080, upload-time = "2025-06-05T20:59:51.654Z" },
1054
- { url = "https://files.pythonhosted.org/packages/5d/2c/caaeda564cbe103bed145ea557cb86795b18651b0f6b3ff6a10e84e5a33f/ruff-0.11.13-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:633bf2c6f35678c56ec73189ba6fa19ff1c5e4807a78bf60ef487b9dd272cc71", size = 11326315, upload-time = "2025-06-05T20:59:54.469Z" },
1055
- { url = "https://files.pythonhosted.org/packages/75/f0/782e7d681d660eda8c536962920c41309e6dd4ebcea9a2714ed5127d44bd/ruff-0.11.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ffbc82d70424b275b089166310448051afdc6e914fdab90e08df66c43bb5ca9", size = 11555640, upload-time = "2025-06-05T20:59:56.986Z" },
1056
- { url = "https://files.pythonhosted.org/packages/5d/d4/3d580c616316c7f07fb3c99dbecfe01fbaea7b6fd9a82b801e72e5de742a/ruff-0.11.13-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:4a9ddd3ec62a9a89578c85842b836e4ac832d4a2e0bfaad3b02243f930ceafcc", size = 10507364, upload-time = "2025-06-05T20:59:59.154Z" },
1057
- { url = "https://files.pythonhosted.org/packages/5a/dc/195e6f17d7b3ea6b12dc4f3e9de575db7983db187c378d44606e5d503319/ruff-0.11.13-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:d237a496e0778d719efb05058c64d28b757c77824e04ffe8796c7436e26712b7", size = 10141462, upload-time = "2025-06-05T21:00:01.481Z" },
1058
- { url = "https://files.pythonhosted.org/packages/f4/8e/39a094af6967faa57ecdeacb91bedfb232474ff8c3d20f16a5514e6b3534/ruff-0.11.13-py3-none-musllinux_1_2_i686.whl", hash = "sha256:26816a218ca6ef02142343fd24c70f7cd8c5aa6c203bca284407adf675984432", size = 11121028, upload-time = "2025-06-05T21:00:04.06Z" },
1059
- { url = "https://files.pythonhosted.org/packages/5a/c0/b0b508193b0e8a1654ec683ebab18d309861f8bd64e3a2f9648b80d392cb/ruff-0.11.13-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:51c3f95abd9331dc5b87c47ac7f376db5616041173826dfd556cfe3d4977f492", size = 11602992, upload-time = "2025-06-05T21:00:06.249Z" },
1060
- { url = "https://files.pythonhosted.org/packages/7c/91/263e33ab93ab09ca06ce4f8f8547a858cc198072f873ebc9be7466790bae/ruff-0.11.13-py3-none-win32.whl", hash = "sha256:96c27935418e4e8e77a26bb05962817f28b8ef3843a6c6cc49d8783b5507f250", size = 10474944, upload-time = "2025-06-05T21:00:08.459Z" },
1061
- { url = "https://files.pythonhosted.org/packages/46/f4/7c27734ac2073aae8efb0119cae6931b6fb48017adf048fdf85c19337afc/ruff-0.11.13-py3-none-win_amd64.whl", hash = "sha256:29c3189895a8a6a657b7af4e97d330c8a3afd2c9c8f46c81e2fc5a31866517e3", size = 11548669, upload-time = "2025-06-05T21:00:11.147Z" },
1062
- { url = "https://files.pythonhosted.org/packages/ec/bf/b273dd11673fed8a6bd46032c0ea2a04b2ac9bfa9c628756a5856ba113b0/ruff-0.11.13-py3-none-win_arm64.whl", hash = "sha256:b4385285e9179d608ff1d2fb9922062663c658605819a6876d8beef0c30b7f3b", size = 10683928, upload-time = "2025-06-05T21:00:13.758Z" },
1042
+ version = "0.12.0"
1043
+ source = { registry = "https://pypi.org/simple" }
1044
+ sdist = { url = "https://files.pythonhosted.org/packages/24/90/5255432602c0b196a0da6720f6f76b93eb50baef46d3c9b0025e2f9acbf3/ruff-0.12.0.tar.gz", hash = "sha256:4d047db3662418d4a848a3fdbfaf17488b34b62f527ed6f10cb8afd78135bc5c", size = 4376101, upload-time = "2025-06-17T15:19:26.217Z" }
1045
+ wheels = [
1046
+ { url = "https://files.pythonhosted.org/packages/e6/fd/b46bb20e14b11ff49dbc74c61de352e0dc07fb650189513631f6fb5fc69f/ruff-0.12.0-py3-none-linux_armv6l.whl", hash = "sha256:5652a9ecdb308a1754d96a68827755f28d5dfb416b06f60fd9e13f26191a8848", size = 10311554, upload-time = "2025-06-17T15:18:45.792Z" },
1047
+ { url = "https://files.pythonhosted.org/packages/e7/d3/021dde5a988fa3e25d2468d1dadeea0ae89dc4bc67d0140c6e68818a12a1/ruff-0.12.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:05ed0c914fabc602fc1f3b42c53aa219e5736cb030cdd85640c32dbc73da74a6", size = 11118435, upload-time = "2025-06-17T15:18:49.064Z" },
1048
+ { url = "https://files.pythonhosted.org/packages/07/a2/01a5acf495265c667686ec418f19fd5c32bcc326d4c79ac28824aecd6a32/ruff-0.12.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:07a7aa9b69ac3fcfda3c507916d5d1bca10821fe3797d46bad10f2c6de1edda0", size = 10466010, upload-time = "2025-06-17T15:18:51.341Z" },
1049
+ { url = "https://files.pythonhosted.org/packages/4c/57/7caf31dd947d72e7aa06c60ecb19c135cad871a0a8a251723088132ce801/ruff-0.12.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7731c3eec50af71597243bace7ec6104616ca56dda2b99c89935fe926bdcd48", size = 10661366, upload-time = "2025-06-17T15:18:53.29Z" },
1050
+ { url = "https://files.pythonhosted.org/packages/e9/ba/aa393b972a782b4bc9ea121e0e358a18981980856190d7d2b6187f63e03a/ruff-0.12.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:952d0630eae628250ab1c70a7fffb641b03e6b4a2d3f3ec6c1d19b4ab6c6c807", size = 10173492, upload-time = "2025-06-17T15:18:55.262Z" },
1051
+ { url = "https://files.pythonhosted.org/packages/d7/50/9349ee777614bc3062fc6b038503a59b2034d09dd259daf8192f56c06720/ruff-0.12.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c021f04ea06966b02614d442e94071781c424ab8e02ec7af2f037b4c1e01cc82", size = 11761739, upload-time = "2025-06-17T15:18:58.906Z" },
1052
+ { url = "https://files.pythonhosted.org/packages/04/8f/ad459de67c70ec112e2ba7206841c8f4eb340a03ee6a5cabc159fe558b8e/ruff-0.12.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:7d235618283718ee2fe14db07f954f9b2423700919dc688eacf3f8797a11315c", size = 12537098, upload-time = "2025-06-17T15:19:01.316Z" },
1053
+ { url = "https://files.pythonhosted.org/packages/ed/50/15ad9c80ebd3c4819f5bd8883e57329f538704ed57bac680d95cb6627527/ruff-0.12.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0c0758038f81beec8cc52ca22de9685b8ae7f7cc18c013ec2050012862cc9165", size = 12154122, upload-time = "2025-06-17T15:19:03.727Z" },
1054
+ { url = "https://files.pythonhosted.org/packages/76/e6/79b91e41bc8cc3e78ee95c87093c6cacfa275c786e53c9b11b9358026b3d/ruff-0.12.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:139b3d28027987b78fc8d6cfb61165447bdf3740e650b7c480744873688808c2", size = 11363374, upload-time = "2025-06-17T15:19:05.875Z" },
1055
+ { url = "https://files.pythonhosted.org/packages/db/c3/82b292ff8a561850934549aa9dc39e2c4e783ab3c21debe55a495ddf7827/ruff-0.12.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68853e8517b17bba004152aebd9dd77d5213e503a5f2789395b25f26acac0da4", size = 11587647, upload-time = "2025-06-17T15:19:08.246Z" },
1056
+ { url = "https://files.pythonhosted.org/packages/2b/42/d5760d742669f285909de1bbf50289baccb647b53e99b8a3b4f7ce1b2001/ruff-0.12.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3a9512af224b9ac4757f7010843771da6b2b0935a9e5e76bb407caa901a1a514", size = 10527284, upload-time = "2025-06-17T15:19:10.37Z" },
1057
+ { url = "https://files.pythonhosted.org/packages/19/f6/fcee9935f25a8a8bba4adbae62495c39ef281256693962c2159e8b284c5f/ruff-0.12.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:b08df3d96db798e5beb488d4df03011874aff919a97dcc2dd8539bb2be5d6a88", size = 10158609, upload-time = "2025-06-17T15:19:12.286Z" },
1058
+ { url = "https://files.pythonhosted.org/packages/37/fb/057febf0eea07b9384787bfe197e8b3384aa05faa0d6bd844b94ceb29945/ruff-0.12.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:6a315992297a7435a66259073681bb0d8647a826b7a6de45c6934b2ca3a9ed51", size = 11141462, upload-time = "2025-06-17T15:19:15.195Z" },
1059
+ { url = "https://files.pythonhosted.org/packages/10/7c/1be8571011585914b9d23c95b15d07eec2d2303e94a03df58294bc9274d4/ruff-0.12.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:1e55e44e770e061f55a7dbc6e9aed47feea07731d809a3710feda2262d2d4d8a", size = 11641616, upload-time = "2025-06-17T15:19:17.6Z" },
1060
+ { url = "https://files.pythonhosted.org/packages/6a/ef/b960ab4818f90ff59e571d03c3f992828d4683561095e80f9ef31f3d58b7/ruff-0.12.0-py3-none-win32.whl", hash = "sha256:7162a4c816f8d1555eb195c46ae0bd819834d2a3f18f98cc63819a7b46f474fb", size = 10525289, upload-time = "2025-06-17T15:19:19.688Z" },
1061
+ { url = "https://files.pythonhosted.org/packages/34/93/8b16034d493ef958a500f17cda3496c63a537ce9d5a6479feec9558f1695/ruff-0.12.0-py3-none-win_amd64.whl", hash = "sha256:d00b7a157b8fb6d3827b49d3324da34a1e3f93492c1f97b08e222ad7e9b291e0", size = 11598311, upload-time = "2025-06-17T15:19:21.785Z" },
1062
+ { url = "https://files.pythonhosted.org/packages/d0/33/4d3e79e4a84533d6cd526bfb42c020a23256ae5e4265d858bd1287831f7d/ruff-0.12.0-py3-none-win_arm64.whl", hash = "sha256:8cd24580405ad8c1cc64d61725bca091d6b6da7eb3d36f72cc605467069d7e8b", size = 10724946, upload-time = "2025-06-17T15:19:23.952Z" },
1063
1063
  ]
1064
1064
 
1065
1065
  [[package]]
@@ -1346,11 +1346,11 @@ wheels = [
1346
1346
 
1347
1347
  [[package]]
1348
1348
  name = "urllib3"
1349
- version = "2.4.0"
1349
+ version = "2.5.0"
1350
1350
  source = { registry = "https://pypi.org/simple" }
1351
- sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload-time = "2025-04-10T15:23:39.232Z" }
1351
+ sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" }
1352
1352
  wheels = [
1353
- { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload-time = "2025-04-10T15:23:37.377Z" },
1353
+ { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" },
1354
1354
  ]
1355
1355
 
1356
1356
  [[package]]
@@ -1,120 +0,0 @@
1
- # See https://pre-commit.com for more information
2
- # See https://pre-commit.com/hooks.html for more hooks
3
- repos:
4
- - repo: https://github.com/pre-commit/pre-commit-hooks
5
- rev: v5.0.0
6
- hooks:
7
- - id: check-case-conflict
8
- - id: check-merge-conflict
9
- - id: check-toml
10
- - id: check-yaml
11
- - id: debug-statements
12
- - id: detect-private-key
13
- - id: end-of-file-fixer
14
- - id: mixed-line-ending
15
- - id: trailing-whitespace
16
-
17
- - repo: https://github.com/abravalheri/validate-pyproject
18
- rev: v0.24.1
19
- hooks:
20
- - id: validate-pyproject
21
- name: validate-pyproject
22
-
23
- - repo: https://github.com/codespell-project/codespell
24
- rev: v2.4.1
25
- hooks:
26
- - id: codespell
27
- args:
28
- - --ignore-words-list=astroid
29
-
30
- - repo: https://github.com/pre-commit/mirrors-prettier
31
- rev: v4.0.0-alpha.8
32
- hooks:
33
- - id: prettier
34
- exclude: (Pipfile.lock)
35
-
36
- - repo: https://github.com/astral-sh/ruff-pre-commit
37
- rev: v0.11.13
38
- hooks:
39
- - id: ruff-check
40
- args: [--fix]
41
- - id: ruff-format
42
-
43
- # - repo: https://github.com/pycqa/isort
44
- # rev: 6.0.1
45
- # hooks:
46
- # - id: isort
47
- # additional_dependencies:
48
- # - isort[pyproject]
49
- # args:
50
- # - --profile=black
51
- # - --line-length=79
52
- # - --py=312
53
-
54
- # - repo: https://github.com/psf/black
55
- # rev: 25.1.0
56
- # hooks:
57
- # - id: black
58
- # language_version: python3.13
59
- # args:
60
- # - --line-length=79
61
- # - --target-version=py38
62
- # - --target-version=py39
63
- # - --target-version=py310
64
- # - --target-version=py311
65
- # - --target-version=py312
66
-
67
- # - repo: https://github.com/asottile/blacken-docs
68
- # rev: 1.19.1
69
- # hooks:
70
- # - id: blacken-docs
71
- # additional_dependencies:
72
- # - black==22.8.0
73
-
74
- # - repo: https://github.com/PyCQA/autoflake
75
- # rev: v2.3.1
76
- # hooks:
77
- # - id: autoflake
78
- # args:
79
- # - --in-place
80
- # - --remove-unused-variables
81
- # - --remove-all-unused-imports
82
- # language: python
83
- # files: \.py$
84
- # language_version: python3.13
85
-
86
- # - repo: https://github.com/PyCQA/flake8
87
- # rev: 7.2.0
88
- # hooks:
89
- # - id: flake8
90
- # language_version: python3.13
91
- # additional_dependencies:
92
- # - flake8-docstrings
93
- # - flake8-pytest-style
94
- # args:
95
- # - --docstring-convention=google
96
- # - --show-source
97
- # - --max-line-length=79
98
- # - --exclude=docs/source/conf.py
99
- # - --per-file-ignores=fotolab/*:D208 tests/*:D100,D103,D104,E501
100
-
101
- # - repo: local
102
- # hooks:
103
- # - id: pylint
104
- # name: pylint
105
- # entry: pylint
106
- # language: system
107
- # types:
108
- # - python
109
- # exclude: docs/
110
- # args:
111
- # - fotolab
112
- # - tests
113
- # - --unsafe-load-any-extension=y
114
- # - --disable=R0801,W0212
115
-
116
- - repo: https://github.com/pre-commit/mirrors-mypy
117
- rev: v1.16.0
118
- hooks:
119
- - id: mypy
120
- exclude: docs/
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