schenesort 2.2.0__tar.gz → 2.4.0__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 (43) hide show
  1. {schenesort-2.2.0 → schenesort-2.4.0}/PKG-INFO +116 -13
  2. {schenesort-2.2.0 → schenesort-2.4.0}/README.md +115 -12
  3. schenesort-2.4.0/docs/browse-destruction.png +0 -0
  4. schenesort-2.4.0/docs/browse-greek.png +0 -0
  5. schenesort-2.4.0/docs/collage.png +0 -0
  6. schenesort-2.4.0/docs/gallery.png +0 -0
  7. schenesort-2.4.0/docs/landscape.png +0 -0
  8. {schenesort-2.2.0 → schenesort-2.4.0}/pyproject.toml +2 -2
  9. {schenesort-2.2.0 → schenesort-2.4.0}/src/schenesort/cli.py +253 -0
  10. schenesort-2.4.0/src/schenesort/thumbnails.py +127 -0
  11. schenesort-2.4.0/src/schenesort/tui/__init__.py +15 -0
  12. schenesort-2.4.0/src/schenesort/tui/grid_app.py +302 -0
  13. schenesort-2.4.0/src/schenesort/tui/widgets/filter_panel.py +249 -0
  14. schenesort-2.4.0/src/schenesort/tui/widgets/thumbnail_grid.py +291 -0
  15. {schenesort-2.2.0 → schenesort-2.4.0}/uv.lock +1 -1
  16. schenesort-2.2.0/docs/browse-greek.png +0 -0
  17. schenesort-2.2.0/src/schenesort/tui/__init__.py +0 -5
  18. {schenesort-2.2.0 → schenesort-2.4.0}/.envrc +0 -0
  19. {schenesort-2.2.0 → schenesort-2.4.0}/.github/workflows/ci.yml +0 -0
  20. {schenesort-2.2.0 → schenesort-2.4.0}/.github/workflows/publish.yml +0 -0
  21. {schenesort-2.2.0 → schenesort-2.4.0}/.gitignore +0 -0
  22. {schenesort-2.2.0 → schenesort-2.4.0}/.pre-commit-config.yaml +0 -0
  23. {schenesort-2.2.0 → schenesort-2.4.0}/.python-version +0 -0
  24. {schenesort-2.2.0 → schenesort-2.4.0}/CLAUDE.md +0 -0
  25. {schenesort-2.2.0 → schenesort-2.4.0}/LICENSE +0 -0
  26. {schenesort-2.2.0 → schenesort-2.4.0}/docs/browse-autumn.png +0 -0
  27. {schenesort-2.2.0 → schenesort-2.4.0}/docs/browse-stallman.png +0 -0
  28. {schenesort-2.2.0 → schenesort-2.4.0}/justfile +0 -0
  29. {schenesort-2.2.0 → schenesort-2.4.0}/ollama-setup.md +0 -0
  30. {schenesort-2.2.0 → schenesort-2.4.0}/schenesort.yazi/README.md +0 -0
  31. {schenesort-2.2.0 → schenesort-2.4.0}/schenesort.yazi/main.lua +0 -0
  32. {schenesort-2.2.0 → schenesort-2.4.0}/schenesort.yazi/schenesort.config +0 -0
  33. {schenesort-2.2.0 → schenesort-2.4.0}/src/schenesort/__init__.py +0 -0
  34. {schenesort-2.2.0 → schenesort-2.4.0}/src/schenesort/config.py +0 -0
  35. {schenesort-2.2.0 → schenesort-2.4.0}/src/schenesort/db.py +0 -0
  36. {schenesort-2.2.0 → schenesort-2.4.0}/src/schenesort/tui/app.py +0 -0
  37. {schenesort-2.2.0 → schenesort-2.4.0}/src/schenesort/tui/widgets/__init__.py +0 -0
  38. {schenesort-2.2.0 → schenesort-2.4.0}/src/schenesort/tui/widgets/image_preview.py +0 -0
  39. {schenesort-2.2.0 → schenesort-2.4.0}/src/schenesort/tui/widgets/metadata_panel.py +0 -0
  40. {schenesort-2.2.0 → schenesort-2.4.0}/src/schenesort/xmp.py +0 -0
  41. {schenesort-2.2.0 → schenesort-2.4.0}/tests/__init__.py +0 -0
  42. {schenesort-2.2.0 → schenesort-2.4.0}/tests/test_cli.py +0 -0
  43. {schenesort-2.2.0 → schenesort-2.4.0}/tests/test_sanitise.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: schenesort
3
- Version: 2.2.0
3
+ Version: 2.4.0
4
4
  Summary: Wallpaper collection management CLI tool
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.13
@@ -12,12 +12,14 @@ Requires-Dist: textual>=0.95.0
12
12
  Requires-Dist: typer>=0.21.1
13
13
  Description-Content-Type: text/markdown
14
14
 
15
- # Schenesort v2.2.0
15
+ # Schenesort v2.4.0
16
16
 
17
- A CLI tool for managing wallpaper collections with model generated metadata, terminal UI browsing, and SQLite-based
18
- querying.
17
+ ![Collage example](docs/collage.png)
18
+
19
+ A cli tool for managing wallpaper collections with model generated metadata, sweet tui, and sql metadata querying.
20
+
21
+ schenesort takes a directory of random wallpapers, with random filenames, and uses olama with a decent vision model to:
19
22
 
20
- schenesort takes a directory of random wallpapers, with random filenames, and uses olama with a decent vision model to
21
23
  - look at each wallpaper
22
24
  - rename the wallpaper to something sensible
23
25
  - drop a XMP sidecar with metadata about the file
@@ -26,7 +28,7 @@ Once you have a collection of wallpapers re-named with metadata sidecars, run th
26
28
  that can be queried to retrieve suggestions based on tags, colours, names and the like. Then use `get` to get a
27
29
  wallpaper path `feh $(schenesort get -1 -p)` or `hyprctl hyprpaper wallpaper "eDP-1,$(schenesort get -1 -p)"`
28
30
 
29
- schenesort also provides a bunch of utility commands to satisfy a gooner collection.
31
+ ![Browse example - Autumn](docs/browse-destruction.png)
30
32
 
31
33
  ## Installation
32
34
 
@@ -44,16 +46,25 @@ uv sync
44
46
 
45
47
  ## Quick Start
46
48
 
49
+ To generate metadata you need a olama server serving llava nearby, it takes a minute to set one up see [ollama
50
+ setup](./ollama-setup.md).
51
+
47
52
  ```bash
48
53
  # Generate metadata for images
49
54
  schenesort metadata generate ~/wallpapers -r
50
55
 
51
- # Browse with TUI
52
- schenesort browse ~/wallpapers
53
-
54
56
  # Index the collection
55
57
  schenesort index ~/wallpapers
56
58
 
59
+ # Generate thumbnails for gallery
60
+ schenesort thumbnail ~/wallpapers -r
61
+
62
+ # Browse with gallery (thumbnail grid with filters)
63
+ schenesort gallery
64
+
65
+ # Browse single images with TUI
66
+ schenesort browse ~/wallpapers
67
+
57
68
  # Query wallpapers
58
69
  schenesort get --mood peaceful --screen 4K
59
70
  schenesort get -1 -p | xargs feh # random wallpaper
@@ -64,6 +75,8 @@ schenesort get -1 -p | xargs feh # random wallpaper
64
75
  | Command | Description |
65
76
  |------------------------------|-----------------------------------------------------|
66
77
  | `browse` | Terminal UI browser with image preview and metadata |
78
+ | `gallery` | Thumbnail grid browser with filters |
79
+ | `thumbnail` | Generate thumbnail cache for gallery |
67
80
  | `index` | Build SQLite index for fast querying |
68
81
  | `get` | Query wallpapers by metadata attributes |
69
82
  | `stats` | Show collection statistics from index |
@@ -74,6 +87,7 @@ schenesort get -1 -p | xargs feh # random wallpaper
74
87
  | `info` | Show collection file statistics |
75
88
  | `describe` | AI-rename images based on content (Ollama) |
76
89
  | `models` | List available Ollama models |
90
+ | `collage` | Create a collage grid from matching wallpapers |
77
91
  | `metadata show` | Display XMP sidecar metadata |
78
92
  | `metadata set` | Manually set metadata fields |
79
93
  | `metadata generate` | Generate metadata with AI (Ollama) |
@@ -91,13 +105,12 @@ schenesort browse # uses paths.wallpaper from config
91
105
  schenesort get --mood peaceful -b # browse query results
92
106
  ```
93
107
 
94
- ![Browse example - Greek](docs/browse-greek.png)
95
-
96
108
  ![Browse example - Autumn](docs/browse-autumn.png)
97
109
 
98
110
  ![Browse example - Stallman](docs/browse-stallman.png)
99
111
 
100
112
  **Keyboard shortcuts:**
113
+
101
114
  | Key | Action |
102
115
  |--------------|----------------|
103
116
  | `j` / `Down` | Next image |
@@ -109,6 +122,63 @@ schenesort get --mood peaceful -b # browse query results
109
122
 
110
123
  The TUI uses textual-image for rendering, which auto-detects terminal graphics support (Sixel, iTerm2, Kitty).
111
124
 
125
+ ## Gallery Browser
126
+
127
+ Browse your indexed collection with a thumbnail grid and filter panel:
128
+
129
+ ```bash
130
+ # Open gallery browser
131
+ schenesort gallery
132
+
133
+ # Pre-filter results
134
+ schenesort gallery --mood peaceful
135
+ schenesort gallery --tag nature --style photography
136
+ ```
137
+
138
+ The gallery requires an indexed collection (`schenesort index`) and cached thumbnails for fast loading.
139
+
140
+ ### Generate Thumbnails
141
+
142
+ ```bash
143
+ # Generate thumbnails for a directory
144
+ schenesort thumbnail ~/wallpapers
145
+
146
+ # Recursive with progress bar
147
+ schenesort thumbnail ~/wallpapers -r
148
+
149
+ # Force regenerate all thumbnails
150
+ schenesort thumbnail ~/wallpapers --force
151
+
152
+ # Clear thumbnail cache
153
+ schenesort thumbnail ~/wallpapers --clear
154
+ ```
155
+
156
+ Thumbnails are cached at `~/.cache/schenesort/thumbnails/` (320x200 JPEG).
157
+
158
+ **Gallery keyboard shortcuts:**
159
+
160
+ | Key | Action |
161
+ |------------------|-----------------------|
162
+ | `j` / `Down` | Move down |
163
+ | `k` / `Up` | Move up |
164
+ | `h` / `Left` | Move left |
165
+ | `l` / `Right` | Move right |
166
+ | `g` / `Home` | First image |
167
+ | `G` / `End` | Last image |
168
+ | `Enter` | Open detail view |
169
+ | `Tab` | Switch panel |
170
+ | `Escape` | Clear filters |
171
+ | `r` | Refresh |
172
+ | `q` / `Ctrl+C` | Quit |
173
+
174
+ **Detail view shortcuts:**
175
+
176
+ | Key | Action |
177
+ |------------------|-----------------------|
178
+ | `j` / `Down` | Next image |
179
+ | `k` / `Up` | Previous image |
180
+ | `Escape` / `q` | Back to grid |
181
+
112
182
  ## Collection Indexing and Querying
113
183
 
114
184
  Build a SQLite index for fast querying across your entire collection:
@@ -147,6 +217,38 @@ schenesort stats
147
217
 
148
218
  The database is stored at `$XDG_DATA_HOME/schenesort/index.db` (default: `~/.local/share/schenesort/index.db`).
149
219
 
220
+ ## Collage Generation
221
+
222
+ Create a collage grid (up to 4x4) from wallpapers matching query criteria:
223
+
224
+ ```bash
225
+ # Create a 2x2 collage (default)
226
+ schenesort collage output.png --mood peaceful
227
+
228
+ # Create a 4x4 collage of landscape images
229
+ schenesort collage wall.png --subject landscape --cols 4 --rows 4
230
+
231
+ # Custom tile size (default: 480x270)
232
+ schenesort collage collage.png --tile-width 640 --tile-height 360
233
+
234
+ # Combine filters
235
+ schenesort collage night_cities.png --time night --subject urban --cols 3 --rows 2
236
+ ```
237
+
238
+ `schenesort collage landscape.png --cols 4 --rows 4 --tile-width 640 --tile-height 360 --tag landscape`
239
+
240
+ ![Collage example](docs/landscape.png)
241
+
242
+ | Option | Description | Default |
243
+ |-----------------|--------------------------------------|---------|
244
+ | `--cols` | Number of columns (1-4) | 2 |
245
+ | `--rows` | Number of rows (1-4) | 2 |
246
+ | `--tile-width` | Width of each tile in pixels | 480 |
247
+ | `--tile-height` | Height of each tile in pixels | 270 |
248
+ | `--random` | Select images randomly | True |
249
+
250
+ All `get` query filters are supported: `--tag`, `--mood`, `--color`, `--style`, `--subject`, `--time`, `--screen`, `--min-width`, `--min-height`, `--search`.
251
+
150
252
  ## Metadata Management
151
253
 
152
254
  Store metadata in XMP sidecar files (`.xmp`) alongside images without modifying the original files.
@@ -168,7 +270,7 @@ Store metadata in XMP sidecar files (`.xmp`) alongside images without modifying
168
270
  | `source` | Source URL or info |
169
271
  | `ai_model` | Model used for metadata generation |
170
272
 
171
- ### Generate Metadata with AI
273
+ ### Generate Metadata using ollama
172
274
 
173
275
  ```bash
174
276
  # Preview what would be generated
@@ -245,6 +347,7 @@ schenesort cleanup ~/wallpapers -r
245
347
  ## Configuration
246
348
 
247
349
  Schenesort follows XDG Base Directory spec:
350
+
248
351
  - Config: `$XDG_CONFIG_HOME/schenesort/config.toml` (default: `~/.config/schenesort/config.toml`)
249
352
  - Data: `$XDG_DATA_HOME/schenesort/index.db` (default: `~/.local/share/schenesort/index.db`)
250
353
 
@@ -322,7 +425,7 @@ See [schenesort.yazi/README.md](schenesort.yazi/README.md) for details.
322
425
 
323
426
  ## XMP Sidecar Format
324
427
 
325
- ```
428
+ ```text
326
429
  ~/wallpapers/
327
430
  ├── mountain_sunset.jpg
328
431
  ├── mountain_sunset.jpg.xmp ← metadata stored here
@@ -1,9 +1,11 @@
1
- # Schenesort v2.2.0
1
+ # Schenesort v2.4.0
2
2
 
3
- A CLI tool for managing wallpaper collections with model generated metadata, terminal UI browsing, and SQLite-based
4
- querying.
3
+ ![Collage example](docs/collage.png)
4
+
5
+ A cli tool for managing wallpaper collections with model generated metadata, sweet tui, and sql metadata querying.
6
+
7
+ schenesort takes a directory of random wallpapers, with random filenames, and uses olama with a decent vision model to:
5
8
 
6
- schenesort takes a directory of random wallpapers, with random filenames, and uses olama with a decent vision model to
7
9
  - look at each wallpaper
8
10
  - rename the wallpaper to something sensible
9
11
  - drop a XMP sidecar with metadata about the file
@@ -12,7 +14,7 @@ Once you have a collection of wallpapers re-named with metadata sidecars, run th
12
14
  that can be queried to retrieve suggestions based on tags, colours, names and the like. Then use `get` to get a
13
15
  wallpaper path `feh $(schenesort get -1 -p)` or `hyprctl hyprpaper wallpaper "eDP-1,$(schenesort get -1 -p)"`
14
16
 
15
- schenesort also provides a bunch of utility commands to satisfy a gooner collection.
17
+ ![Browse example - Autumn](docs/browse-destruction.png)
16
18
 
17
19
  ## Installation
18
20
 
@@ -30,16 +32,25 @@ uv sync
30
32
 
31
33
  ## Quick Start
32
34
 
35
+ To generate metadata you need a olama server serving llava nearby, it takes a minute to set one up see [ollama
36
+ setup](./ollama-setup.md).
37
+
33
38
  ```bash
34
39
  # Generate metadata for images
35
40
  schenesort metadata generate ~/wallpapers -r
36
41
 
37
- # Browse with TUI
38
- schenesort browse ~/wallpapers
39
-
40
42
  # Index the collection
41
43
  schenesort index ~/wallpapers
42
44
 
45
+ # Generate thumbnails for gallery
46
+ schenesort thumbnail ~/wallpapers -r
47
+
48
+ # Browse with gallery (thumbnail grid with filters)
49
+ schenesort gallery
50
+
51
+ # Browse single images with TUI
52
+ schenesort browse ~/wallpapers
53
+
43
54
  # Query wallpapers
44
55
  schenesort get --mood peaceful --screen 4K
45
56
  schenesort get -1 -p | xargs feh # random wallpaper
@@ -50,6 +61,8 @@ schenesort get -1 -p | xargs feh # random wallpaper
50
61
  | Command | Description |
51
62
  |------------------------------|-----------------------------------------------------|
52
63
  | `browse` | Terminal UI browser with image preview and metadata |
64
+ | `gallery` | Thumbnail grid browser with filters |
65
+ | `thumbnail` | Generate thumbnail cache for gallery |
53
66
  | `index` | Build SQLite index for fast querying |
54
67
  | `get` | Query wallpapers by metadata attributes |
55
68
  | `stats` | Show collection statistics from index |
@@ -60,6 +73,7 @@ schenesort get -1 -p | xargs feh # random wallpaper
60
73
  | `info` | Show collection file statistics |
61
74
  | `describe` | AI-rename images based on content (Ollama) |
62
75
  | `models` | List available Ollama models |
76
+ | `collage` | Create a collage grid from matching wallpapers |
63
77
  | `metadata show` | Display XMP sidecar metadata |
64
78
  | `metadata set` | Manually set metadata fields |
65
79
  | `metadata generate` | Generate metadata with AI (Ollama) |
@@ -77,13 +91,12 @@ schenesort browse # uses paths.wallpaper from config
77
91
  schenesort get --mood peaceful -b # browse query results
78
92
  ```
79
93
 
80
- ![Browse example - Greek](docs/browse-greek.png)
81
-
82
94
  ![Browse example - Autumn](docs/browse-autumn.png)
83
95
 
84
96
  ![Browse example - Stallman](docs/browse-stallman.png)
85
97
 
86
98
  **Keyboard shortcuts:**
99
+
87
100
  | Key | Action |
88
101
  |--------------|----------------|
89
102
  | `j` / `Down` | Next image |
@@ -95,6 +108,63 @@ schenesort get --mood peaceful -b # browse query results
95
108
 
96
109
  The TUI uses textual-image for rendering, which auto-detects terminal graphics support (Sixel, iTerm2, Kitty).
97
110
 
111
+ ## Gallery Browser
112
+
113
+ Browse your indexed collection with a thumbnail grid and filter panel:
114
+
115
+ ```bash
116
+ # Open gallery browser
117
+ schenesort gallery
118
+
119
+ # Pre-filter results
120
+ schenesort gallery --mood peaceful
121
+ schenesort gallery --tag nature --style photography
122
+ ```
123
+
124
+ The gallery requires an indexed collection (`schenesort index`) and cached thumbnails for fast loading.
125
+
126
+ ### Generate Thumbnails
127
+
128
+ ```bash
129
+ # Generate thumbnails for a directory
130
+ schenesort thumbnail ~/wallpapers
131
+
132
+ # Recursive with progress bar
133
+ schenesort thumbnail ~/wallpapers -r
134
+
135
+ # Force regenerate all thumbnails
136
+ schenesort thumbnail ~/wallpapers --force
137
+
138
+ # Clear thumbnail cache
139
+ schenesort thumbnail ~/wallpapers --clear
140
+ ```
141
+
142
+ Thumbnails are cached at `~/.cache/schenesort/thumbnails/` (320x200 JPEG).
143
+
144
+ **Gallery keyboard shortcuts:**
145
+
146
+ | Key | Action |
147
+ |------------------|-----------------------|
148
+ | `j` / `Down` | Move down |
149
+ | `k` / `Up` | Move up |
150
+ | `h` / `Left` | Move left |
151
+ | `l` / `Right` | Move right |
152
+ | `g` / `Home` | First image |
153
+ | `G` / `End` | Last image |
154
+ | `Enter` | Open detail view |
155
+ | `Tab` | Switch panel |
156
+ | `Escape` | Clear filters |
157
+ | `r` | Refresh |
158
+ | `q` / `Ctrl+C` | Quit |
159
+
160
+ **Detail view shortcuts:**
161
+
162
+ | Key | Action |
163
+ |------------------|-----------------------|
164
+ | `j` / `Down` | Next image |
165
+ | `k` / `Up` | Previous image |
166
+ | `Escape` / `q` | Back to grid |
167
+
98
168
  ## Collection Indexing and Querying
99
169
 
100
170
  Build a SQLite index for fast querying across your entire collection:
@@ -133,6 +203,38 @@ schenesort stats
133
203
 
134
204
  The database is stored at `$XDG_DATA_HOME/schenesort/index.db` (default: `~/.local/share/schenesort/index.db`).
135
205
 
206
+ ## Collage Generation
207
+
208
+ Create a collage grid (up to 4x4) from wallpapers matching query criteria:
209
+
210
+ ```bash
211
+ # Create a 2x2 collage (default)
212
+ schenesort collage output.png --mood peaceful
213
+
214
+ # Create a 4x4 collage of landscape images
215
+ schenesort collage wall.png --subject landscape --cols 4 --rows 4
216
+
217
+ # Custom tile size (default: 480x270)
218
+ schenesort collage collage.png --tile-width 640 --tile-height 360
219
+
220
+ # Combine filters
221
+ schenesort collage night_cities.png --time night --subject urban --cols 3 --rows 2
222
+ ```
223
+
224
+ `schenesort collage landscape.png --cols 4 --rows 4 --tile-width 640 --tile-height 360 --tag landscape`
225
+
226
+ ![Collage example](docs/landscape.png)
227
+
228
+ | Option | Description | Default |
229
+ |-----------------|--------------------------------------|---------|
230
+ | `--cols` | Number of columns (1-4) | 2 |
231
+ | `--rows` | Number of rows (1-4) | 2 |
232
+ | `--tile-width` | Width of each tile in pixels | 480 |
233
+ | `--tile-height` | Height of each tile in pixels | 270 |
234
+ | `--random` | Select images randomly | True |
235
+
236
+ All `get` query filters are supported: `--tag`, `--mood`, `--color`, `--style`, `--subject`, `--time`, `--screen`, `--min-width`, `--min-height`, `--search`.
237
+
136
238
  ## Metadata Management
137
239
 
138
240
  Store metadata in XMP sidecar files (`.xmp`) alongside images without modifying the original files.
@@ -154,7 +256,7 @@ Store metadata in XMP sidecar files (`.xmp`) alongside images without modifying
154
256
  | `source` | Source URL or info |
155
257
  | `ai_model` | Model used for metadata generation |
156
258
 
157
- ### Generate Metadata with AI
259
+ ### Generate Metadata using ollama
158
260
 
159
261
  ```bash
160
262
  # Preview what would be generated
@@ -231,6 +333,7 @@ schenesort cleanup ~/wallpapers -r
231
333
  ## Configuration
232
334
 
233
335
  Schenesort follows XDG Base Directory spec:
336
+
234
337
  - Config: `$XDG_CONFIG_HOME/schenesort/config.toml` (default: `~/.config/schenesort/config.toml`)
235
338
  - Data: `$XDG_DATA_HOME/schenesort/index.db` (default: `~/.local/share/schenesort/index.db`)
236
339
 
@@ -308,7 +411,7 @@ See [schenesort.yazi/README.md](schenesort.yazi/README.md) for details.
308
411
 
309
412
  ## XMP Sidecar Format
310
413
 
311
- ```
414
+ ```text
312
415
  ~/wallpapers/
313
416
  ├── mountain_sunset.jpg
314
417
  ├── mountain_sunset.jpg.xmp ← metadata stored here
Binary file
Binary file
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "schenesort"
3
- version = "2.2.0"
3
+ version = "2.4.0"
4
4
  description = "Wallpaper collection management CLI tool"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"
@@ -56,7 +56,7 @@ testpaths = ["tests"]
56
56
  pythonpath = ["src"]
57
57
 
58
58
  [tool.bumpversion]
59
- current_version = "2.2.0"
59
+ current_version = "2.4.0"
60
60
  commit = true
61
61
  tag = true
62
62
  tag_name = "v{new_version}"