backlogops-gui 0.1__tar.gz → 0.3__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 (50) hide show
  1. {backlogops_gui-0.1 → backlogops_gui-0.3}/PKG-INFO +129 -43
  2. backlogops_gui-0.3/README_pypi.md +313 -0
  3. {backlogops_gui-0.1 → backlogops_gui-0.3}/backlogops_gui.egg-info/PKG-INFO +129 -43
  4. backlogops_gui-0.3/backlogops_gui.egg-info/SOURCES.txt +43 -0
  5. backlogops_gui-0.3/backlogops_gui.egg-info/requires.txt +3 -0
  6. {backlogops_gui-0.1 → backlogops_gui-0.3}/pyproject.toml +6 -5
  7. {backlogops_gui-0.1 → backlogops_gui-0.3}/setup.py +4 -3
  8. backlogops_gui-0.3/src/backlogops_gui/_migrate_warn.py +53 -0
  9. backlogops_gui-0.3/src/backlogops_gui/application.py +591 -0
  10. backlogops_gui-0.1/src/backlogops_gui/backlog_window.py → backlogops_gui-0.3/src/backlogops_gui/backlog_actions.py +121 -182
  11. backlogops_gui-0.1/src/backlogops_gui/io_dialogs.py → backlogops_gui-0.3/src/backlogops_gui/backlog_dialogs.py +154 -283
  12. {backlogops_gui-0.1 → backlogops_gui-0.3}/src/backlogops_gui/backlog_io.py +24 -7
  13. backlogops_gui-0.3/src/backlogops_gui/backlog_window.py +425 -0
  14. backlogops_gui-0.3/src/backlogops_gui/blog_version_reporter.py +25 -0
  15. backlogops_gui-0.3/src/backlogops_gui/choice_dialogs.py +139 -0
  16. backlogops_gui-0.3/src/backlogops_gui/close_binding.py +47 -0
  17. backlogops_gui-0.3/src/backlogops_gui/file_choosers.py +67 -0
  18. backlogops_gui-0.3/src/backlogops_gui/format_dialogs.py +145 -0
  19. backlogops_gui-0.3/src/backlogops_gui/gui_style.py +70 -0
  20. backlogops_gui-0.3/src/backlogops_gui/gui_wizard.py +102 -0
  21. backlogops_gui-0.3/src/backlogops_gui/jira_actions.py +38 -0
  22. backlogops_gui-0.3/src/backlogops_gui/jira_base.py +132 -0
  23. backlogops_gui-0.3/src/backlogops_gui/jira_dialogs.py +785 -0
  24. backlogops_gui-0.3/src/backlogops_gui/jira_order.py +69 -0
  25. backlogops_gui-0.3/src/backlogops_gui/jira_rank.py +63 -0
  26. backlogops_gui-0.3/src/backlogops_gui/jira_read.py +79 -0
  27. backlogops_gui-0.3/src/backlogops_gui/jira_rename.py +60 -0
  28. backlogops_gui-0.3/src/backlogops_gui/jira_update.py +120 -0
  29. backlogops_gui-0.3/src/backlogops_gui/jira_write.py +107 -0
  30. backlogops_gui-0.3/src/backlogops_gui/modal_dialog.py +56 -0
  31. backlogops_gui-0.3/src/backlogops_gui/python_version.py +32 -0
  32. backlogops_gui-0.3/src/backlogops_gui/report_windows.py +61 -0
  33. {backlogops_gui-0.1 → backlogops_gui-0.3}/src/backlogops_gui/table_view.py +33 -9
  34. backlogops_gui-0.3/src/backlogops_gui/wizard_table.py +229 -0
  35. backlogops_gui-0.3/src/backlogops_gui/wizard_window.py +287 -0
  36. backlogops_gui-0.1/README_pypi.md +0 -229
  37. backlogops_gui-0.1/backlogops_gui.egg-info/SOURCES.txt +0 -21
  38. backlogops_gui-0.1/backlogops_gui.egg-info/requires.txt +0 -2
  39. backlogops_gui-0.1/src/backlogops_gui/application.py +0 -313
  40. backlogops_gui-0.1/src/backlogops_gui/gui_wizard.py +0 -237
  41. {backlogops_gui-0.1 → backlogops_gui-0.3}/LICENSE.txt +0 -0
  42. {backlogops_gui-0.1 → backlogops_gui-0.3}/backlogops_gui.egg-info/dependency_links.txt +0 -0
  43. {backlogops_gui-0.1 → backlogops_gui-0.3}/backlogops_gui.egg-info/entry_points.txt +0 -0
  44. {backlogops_gui-0.1 → backlogops_gui-0.3}/backlogops_gui.egg-info/top_level.txt +0 -0
  45. {backlogops_gui-0.1 → backlogops_gui-0.3}/setup.cfg +0 -0
  46. {backlogops_gui-0.1 → backlogops_gui-0.3}/src/backlogops_gui/__init__.py +0 -0
  47. {backlogops_gui-0.1 → backlogops_gui-0.3}/src/backlogops_gui/__main__.py +0 -0
  48. {backlogops_gui-0.1 → backlogops_gui-0.3}/src/backlogops_gui/log_buffer.py +0 -0
  49. {backlogops_gui-0.1 → backlogops_gui-0.3}/src/backlogops_gui/py.typed +0 -0
  50. {backlogops_gui-0.1 → backlogops_gui-0.3}/src/backlogops_gui/tcltk_version.py +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: backlogops-gui
3
- Version: 0.1
3
+ Version: 0.3
4
4
  Summary: Graphical user interface for backlog operations.
5
5
  Author: Tom Björkholm
6
6
  Author-email: Tom Björkholm <klausuler_linnet0q@icloud.com>
7
7
  License-Expression: MIT
8
- Project-URL: Homepage, https://bitbucket.org/tom-bjorkholm/backlog-ops
9
- Project-URL: Source code, https://bitbucket.org/tom-bjorkholm/backlog-ops
10
- Project-URL: Documentation, https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/
8
+ Project-URL: Homepage, https://github.com/tom-bjorkholm/backlog-ops
9
+ Project-URL: Source code, https://github.com/tom-bjorkholm/backlog-ops
10
+ Project-URL: Documentation, https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/using_backlogops/README.md
11
11
  Keywords: backlog,release planning,agile,scrum,scheduling,roadmap,project management,product owner,product management
12
12
  Classifier: Programming Language :: Python :: 3
13
13
  Classifier: Programming Language :: Python :: 3.12
@@ -18,11 +18,13 @@ Classifier: Development Status :: 3 - Alpha
18
18
  Classifier: Intended Audience :: End Users/Desktop
19
19
  Classifier: Intended Audience :: Information Technology
20
20
  Classifier: Topic :: Office/Business :: Scheduling
21
+ Classifier: Typing :: Typed
21
22
  Requires-Python: >=3.12
22
23
  Description-Content-Type: text/markdown
23
24
  License-File: LICENSE.txt
24
- Requires-Dist: backlogops>=0.1
25
- Requires-Dist: argcomplete>=3.6.3
25
+ Requires-Dist: backlogops>=0.3
26
+ Requires-Dist: argcomplete>=3.7.0
27
+ Requires-Dist: versionreporter>=0.4
26
28
  Dynamic: author
27
29
  Dynamic: license-file
28
30
  Dynamic: requires-dist
@@ -32,16 +34,17 @@ Dynamic: requires-python
32
34
 
33
35
  There are 3 related packages for backlog operations:
34
36
 
35
- - backlogops: a collection of library functions to manipulate backlogs
37
+ - **[backlogops](https://pypi.org/project/backlogops/)** a collection of library
38
+ functions to manipulate backlogs
36
39
 
37
- - backlogops-cli: command line interface to use the functions in the library.
38
- This is just a thin wrapper around the library functions. It serves a dual
39
- purpose as both an example of how to use the library and as a tool for the
40
- user to use the library.
40
+ - **[backlogops-cli](https://pypi.org/project/backlogops-cli/)** command line
41
+ interface to use the functions in the library. This is just a thin wrapper
42
+ around the library functions. It serves a dual purpose as both an example of
43
+ how to use the library and as a tool for the user to use the library.
41
44
 
42
- - backlogops-gui: graphical user interface to use the functions in the library.
43
- It is based on TkInter. The ambition is to keep it as a thin wrapper around
44
- the library.
45
+ - **[backlogops-gui](https://pypi.org/project/backlogops-gui/)** graphical user
46
+ interface to use the functions in the library. It is based on TkInter. The
47
+ ambition is to keep it as a thin wrapper around the library.
45
48
 
46
49
  ## Available functionality
47
50
 
@@ -70,6 +73,9 @@ The following functionality is available in all 3 packages:
70
73
  the key is at a higher level it will bring all items it is a parent of in
71
74
  front of it (recursively).
72
75
 
76
+ - Reorder the backlog in release order, optionally taking dependencies into
77
+ account.
78
+
73
79
  - Set planned release dates from the estimated release dates.
74
80
 
75
81
  - Calculate the release dates from the backlog items estimated ready dates, with
@@ -77,7 +83,40 @@ The following functionality is available in all 3 packages:
77
83
 
78
84
  - Validate the backlog and releases for consistency.
79
85
 
80
- - A wizard to create an available teams configuration.
86
+ - Convert a backlog and releases between table file formats.
87
+
88
+ - Order the releases by their planned or estimated date.
89
+
90
+ - Rename columns when reading a file and when writing a file.
91
+
92
+ - Map custom status names in input files to backlog item statuses.
93
+
94
+ - Choose how backlog item levels are written: by number, by name, or both, and
95
+ configure custom level names.
96
+
97
+ - Create stand-alone input or output preset configuration files.
98
+
99
+ - Migrate an older configuration or preset file to the current file format.
100
+
101
+ - A wizard to create a backlog-ops configuration file with the workforce, named
102
+ input and output presets, level names, and status name mapping.
103
+
104
+ - Read a backlog and releases from Jira into a backlog and release table.
105
+
106
+ - Write a backlog to Jira, creating a new Jira issue for each backlog item.
107
+
108
+ - Update a backlog that is already in Jira, changing only the chosen columns.
109
+
110
+ - Add the releases to Jira as Jira versions.
111
+
112
+ - Update the releases in Jira, setting their dates to the planned release dates.
113
+
114
+ - Order the releases in Jira by date, by a name list, or by the input order.
115
+
116
+ - Rename releases in Jira, changing the Jira version names.
117
+
118
+ - Move backlog items to a chosen anchor in the Jira rank order, following a key
119
+ list.
81
120
 
82
121
  ## The operating model
83
122
 
@@ -95,45 +134,46 @@ availability of the team members.
95
134
  Each backlog item has the following fields that are used by the algorithms in
96
135
  the library:
97
136
 
98
- - key: The key of the backlog item. Required. Must be unique. Must not be empty,
99
- must not contain whitespace and must not contain any of the characters , . ; :
100
- ( ) \[ \] \{ \}.
137
+ - `key` The key of the backlog item. Required. Must be unique. Must not be
138
+ empty, must not contain whitespace and must not contain any of the characters
139
+ , . ; : ( ) \[ \] \{ \}.
101
140
 
102
- - level: The level of the backlog item. Required. Must be an integer.
141
+ - `level` The level of the backlog item. Required. Must be an integer.
103
142
 
104
- - title: The title of the backlog item. Required.
143
+ - `title` The title of the backlog item. Required.
105
144
 
106
- - story_points: The story points of the backlog item. Required.
145
+ - `story_points` The story points of the backlog item. Required.
107
146
 
108
- - status: The status of the backlog item. Required.
147
+ - `status` The status of the backlog item. Required.
109
148
 
110
- - parent_key: The key of the parent backlog item. Optional. Must exist as a key
149
+ - `parent_key` The key of the parent backlog item. Optional. Must exist as a key
111
150
  in the backlog. Parent keys are used to build the hierarchy of the backlog.
112
151
  The parent key must be at a higher level than the current item. Parent keys
113
152
  introduce implicit dependencies between items: the current item cannot start
114
153
  before the parent item starts, and the parent item cannot finish before all
115
154
  its children have finished.
116
155
 
117
- - release: The release of the backlog item. Optional. Follows the same character
118
- rules as the key. Must not be empty string.
156
+ - `release` The release of the backlog item. Optional. Must not be empty string,
157
+ must not start or end with whitespace, and must not contain tabs, newlines or
158
+ control characters.
119
159
 
120
- - team: The team responsible for the backlog item. Optional. Must not be empty
160
+ - `team` The team responsible for the backlog item. Optional. Must not be empty
121
161
  string. Must be a valid team name. If None the item can be done by any team.
122
162
  If not None. the item can only be done by the specified team.
123
163
 
124
- - depends_on_f2s: The list of keys of the backlog items that must have been
164
+ - `depends_on_f2s` The list of keys of the backlog items that must have been
125
165
  finished before the current item can start. May be empty.
126
166
 
127
- - depends_on_f2f: The list of keys of the backlog items that must have been
167
+ - `depends_on_f2f` The list of keys of the backlog items that must have been
128
168
  finished before the current item can finish. May be empty.
129
169
 
130
- - depends_on_s2s: The list of keys of the backlog items that must have been
170
+ - `depends_on_s2s` The list of keys of the backlog items that must have been
131
171
  started before the current item can start. May be empty.
132
172
 
133
- - planned_ready_date: The planned ready date of the backlog item. The date that
173
+ - `planned_ready_date` The planned ready date of the backlog item. The date that
134
174
  is communicated to the customer. Optional.
135
175
 
136
- - estimated_ready_date: The estimated ready date of the backlog item. Optional.
176
+ - `estimated_ready_date` The estimated ready date of the backlog item. Optional.
137
177
 
138
178
  Additionally each backlog item can have any number of other fields.
139
179
 
@@ -155,21 +195,27 @@ To install backlogops-gui on Microsoft Windows, run the following command:
155
195
  pip install --upgrade backlogops-gui
156
196
  ````
157
197
 
198
+ ## Using backlogops documentation
199
+
200
+ For a better understanding of how to use the library, CLI or GUI, see the user
201
+ documentation:
202
+ [Using backlogops](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc//using_backlogops/README.md)
203
+
158
204
  ## API documentation
159
205
 
160
206
  For more detailed code documentation, see the API documentation:
161
207
 
162
- - [Library public API](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_api.md)
208
+ - [Library public API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_api.md)
163
209
 
164
- - [Library protected API](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_api.md)
210
+ - [Library protected API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_api.md)
165
211
 
166
- - [Library public CLI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_cli.md)
212
+ - [Public CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_cli.md)
167
213
 
168
- - [Library protected CLI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_cli.md)
214
+ - [Protected CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_cli.md)
169
215
 
170
- - [Library public GUI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_gui.md)
216
+ - [Public GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_gui.md)
171
217
 
172
- - [Library protected GUI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_gui.md)
218
+ - [Protected GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_gui.md)
173
219
 
174
220
  ## Graphical user interface for backlog manipulation
175
221
 
@@ -208,22 +254,42 @@ is in the menus.
208
254
 
209
255
  - File
210
256
 
211
- - Read backlog...: Read in a file with a backlog and list of releases.
212
- A new backlog window will be opened with the read in backlog.
257
+ - Read backlog from file...: Read in a file with a backlog and list
258
+ of releases. A new backlog window will be opened with the read in
259
+ backlog.
260
+
261
+ - Read backlog from Jira...: Read a backlog and list of releases from
262
+ Jira. A new backlog window will be opened with the read in backlog.
213
263
 
214
264
  - New demo backlog: Create a demo backlog with some backlog items and
215
265
  releases. A new backlog window will be opened with the demo backlog.
216
266
 
267
+ - Exit: Close the application.
268
+
217
269
  - Configuration
218
270
 
219
- - Run teams wizard...: this lets you configure the teams that work on
271
+ - Load configuration file...: Load a configuration file, replacing the
272
+ configuration currently active in the application.
273
+
274
+ - Run configuration wizard...: this lets you configure the teams that work on
220
275
  the backlog and also other aspects like the dates the company is
221
276
  closed for vacation, and preset configuration for the inputs or
222
277
  outputs you want to use.
223
278
 
279
+ - Create IO preset file...: Create a stand-alone input or output preset
280
+ configuration file via a wizard.
281
+
282
+ - Migrate IO preset file...: Migrate an older input or output preset
283
+ file to the current file format.
284
+
224
285
  - Write configuration...: This lets you write the configuration you
225
286
  have in application to a file.
226
287
 
288
+ - Help
289
+
290
+ - Report version information: Show version information for the
291
+ application and its dependencies.
292
+
227
293
  ## Backlog window
228
294
 
229
295
  The backlog window shows 2 read-only tables: one with the backlog and
@@ -235,25 +301,45 @@ one with the list of releases. You will want to use the menus.
235
301
 
236
302
  - Order by dependencies...
237
303
 
304
+ - Order by release order...
305
+
238
306
  - Estimate ready date...
239
307
 
240
308
  - Set planned date from estimated
241
309
 
242
- - Adjust release content
310
+ - Adjust release content...
243
311
 
244
312
  - Adjust planned release dates...
245
313
 
314
+ - Order releases by date...
315
+
246
316
  - Extract keys...
247
317
 
248
318
  - Save to file...
249
319
 
250
320
  - Close
251
321
 
322
+ - Jira
323
+
324
+ - Add backlog to Jira...
325
+
326
+ - Update backlog in Jira...
327
+
328
+ - Add releases to Jira...
329
+
330
+ - Update releases in Jira...
331
+
332
+ - Order releases in Jira...
333
+
334
+ - Rename releases in Jira...
335
+
336
+ - Rank items in Jira...
337
+
252
338
  ## Test summary
253
339
 
254
- - Test result: 1066 passed in 16s
340
+ - Test result: 2284 passed, 7 deselected in 44s
255
341
  - No flake8 warnings.
256
342
  - No mypy errors found.
257
343
  - No python layout warnings.
258
- - Built version(s): 0.1
344
+ - Built version(s): 0.3
259
345
  - Build and test using Python 3.14.6
@@ -0,0 +1,313 @@
1
+ # backlogops-gui
2
+
3
+ There are 3 related packages for backlog operations:
4
+
5
+ - **[backlogops](https://pypi.org/project/backlogops/)** a collection of library
6
+ functions to manipulate backlogs
7
+
8
+ - **[backlogops-cli](https://pypi.org/project/backlogops-cli/)** command line
9
+ interface to use the functions in the library. This is just a thin wrapper
10
+ around the library functions. It serves a dual purpose as both an example of
11
+ how to use the library and as a tool for the user to use the library.
12
+
13
+ - **[backlogops-gui](https://pypi.org/project/backlogops-gui/)** graphical user
14
+ interface to use the functions in the library. It is based on TkInter. The
15
+ ambition is to keep it as a thin wrapper around the library.
16
+
17
+ ## Available functionality
18
+
19
+ The following functionality is available in all 3 packages:
20
+
21
+ - Reading backlog and releases from file types that TableIO supports reading
22
+ from (Currently CSV, Excel, and ODS).
23
+
24
+ - Writing backlog and releases to file types that TableIO supports writing to
25
+ (Currently CSV, Excel, ODS and 9 other file formats).
26
+
27
+ - File format is detected from the file extension, but may be overridden.
28
+
29
+ - Adjust release content to fit the planned release dates.
30
+
31
+ - Create a demonstration backlog and releases (for exploring the features).
32
+
33
+ - Estimate ready date for the backlog items based on available teams, team
34
+ velocity, vacation dates, periods with half time work, etc.
35
+
36
+ - Extract backlog keys at given backlog item levels.
37
+
38
+ - Reorder the backlog so that the dependencies are satisfied.
39
+
40
+ - Reorder the backlog so that items identified by keys in a list come first. If
41
+ the key is at a higher level it will bring all items it is a parent of in
42
+ front of it (recursively).
43
+
44
+ - Reorder the backlog in release order, optionally taking dependencies into
45
+ account.
46
+
47
+ - Set planned release dates from the estimated release dates.
48
+
49
+ - Calculate the release dates from the backlog items estimated ready dates, with
50
+ a configurable buffer time.
51
+
52
+ - Validate the backlog and releases for consistency.
53
+
54
+ - Convert a backlog and releases between table file formats.
55
+
56
+ - Order the releases by their planned or estimated date.
57
+
58
+ - Rename columns when reading a file and when writing a file.
59
+
60
+ - Map custom status names in input files to backlog item statuses.
61
+
62
+ - Choose how backlog item levels are written: by number, by name, or both, and
63
+ configure custom level names.
64
+
65
+ - Create stand-alone input or output preset configuration files.
66
+
67
+ - Migrate an older configuration or preset file to the current file format.
68
+
69
+ - A wizard to create a backlog-ops configuration file with the workforce, named
70
+ input and output presets, level names, and status name mapping.
71
+
72
+ - Read a backlog and releases from Jira into a backlog and release table.
73
+
74
+ - Write a backlog to Jira, creating a new Jira issue for each backlog item.
75
+
76
+ - Update a backlog that is already in Jira, changing only the chosen columns.
77
+
78
+ - Add the releases to Jira as Jira versions.
79
+
80
+ - Update the releases in Jira, setting their dates to the planned release dates.
81
+
82
+ - Order the releases in Jira by date, by a name list, or by the input order.
83
+
84
+ - Rename releases in Jira, changing the Jira version names.
85
+
86
+ - Move backlog items to a chosen anchor in the Jira rank order, following a key
87
+ list.
88
+
89
+ ## The operating model
90
+
91
+ The operating model that most of the functionality is designed for is that the
92
+ teams work off a single backlog in the order of the backlog. The backlog items
93
+ are ordered by priority and dependencies to allow the teams to work in the
94
+ backlog order. Each backlog item and each release may have a planned ready date,
95
+ that records what has been communicated to the customer. Each backlog item and
96
+ each release may have an estimated ready date, that is calculated from the
97
+ current backlog state, the team velocity, and what we know about the
98
+ availability of the team members.
99
+
100
+ ## The backlog item fields
101
+
102
+ Each backlog item has the following fields that are used by the algorithms in
103
+ the library:
104
+
105
+ - `key` The key of the backlog item. Required. Must be unique. Must not be
106
+ empty, must not contain whitespace and must not contain any of the characters
107
+ , . ; : ( ) \[ \] \{ \}.
108
+
109
+ - `level` The level of the backlog item. Required. Must be an integer.
110
+
111
+ - `title` The title of the backlog item. Required.
112
+
113
+ - `story_points` The story points of the backlog item. Required.
114
+
115
+ - `status` The status of the backlog item. Required.
116
+
117
+ - `parent_key` The key of the parent backlog item. Optional. Must exist as a key
118
+ in the backlog. Parent keys are used to build the hierarchy of the backlog.
119
+ The parent key must be at a higher level than the current item. Parent keys
120
+ introduce implicit dependencies between items: the current item cannot start
121
+ before the parent item starts, and the parent item cannot finish before all
122
+ its children have finished.
123
+
124
+ - `release` The release of the backlog item. Optional. Must not be empty string,
125
+ must not start or end with whitespace, and must not contain tabs, newlines or
126
+ control characters.
127
+
128
+ - `team` The team responsible for the backlog item. Optional. Must not be empty
129
+ string. Must be a valid team name. If None the item can be done by any team.
130
+ If not None. the item can only be done by the specified team.
131
+
132
+ - `depends_on_f2s` The list of keys of the backlog items that must have been
133
+ finished before the current item can start. May be empty.
134
+
135
+ - `depends_on_f2f` The list of keys of the backlog items that must have been
136
+ finished before the current item can finish. May be empty.
137
+
138
+ - `depends_on_s2s` The list of keys of the backlog items that must have been
139
+ started before the current item can start. May be empty.
140
+
141
+ - `planned_ready_date` The planned ready date of the backlog item. The date that
142
+ is communicated to the customer. Optional.
143
+
144
+ - `estimated_ready_date` The estimated ready date of the backlog item. Optional.
145
+
146
+ Additionally each backlog item can have any number of other fields.
147
+
148
+ ## Installing backlogops-gui
149
+
150
+ ### On macOS and Linux
151
+
152
+ To install backlogops-gui on macOS and Linux, run the following command:
153
+
154
+ ````sh
155
+ pip3 install --upgrade backlogops-gui
156
+ ````
157
+
158
+ ### On Microsoft Windows
159
+
160
+ To install backlogops-gui on Microsoft Windows, run the following command:
161
+
162
+ ````sh
163
+ pip install --upgrade backlogops-gui
164
+ ````
165
+
166
+ ## Using backlogops documentation
167
+
168
+ For a better understanding of how to use the library, CLI or GUI, see the user
169
+ documentation:
170
+ [Using backlogops](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc//using_backlogops/README.md)
171
+
172
+ ## API documentation
173
+
174
+ For more detailed code documentation, see the API documentation:
175
+
176
+ - [Library public API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_api.md)
177
+
178
+ - [Library protected API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_api.md)
179
+
180
+ - [Public CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_cli.md)
181
+
182
+ - [Protected CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_cli.md)
183
+
184
+ - [Public GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_gui.md)
185
+
186
+ - [Protected GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_gui.md)
187
+
188
+ ## Graphical user interface for backlog manipulation
189
+
190
+ Most of the functionality in the backlogops backlog operations library
191
+ is made available for GUI users in this GUI application.
192
+
193
+ ### Tkinter
194
+
195
+ The Graphical user interface is based on
196
+ [Tkinter](https://docs.python.org/3/library/tkinter.html). Tkinter
197
+ is based on [Tcl/Tk](https://en.wikipedia.org/wiki/Tk_(software)).
198
+
199
+ For full functionality you need Tk version 9.0.2 or newer.
200
+
201
+ ## First startup
202
+
203
+ Start the application on Linux or mac with command
204
+ ````sh
205
+ python3 -m backlogops_gui
206
+ python3 -m backlogops_gui -c config_file.cfg
207
+ ````
208
+ or on Microsoft Windows with command
209
+ ````sh
210
+ python -m backlogops_gui
211
+ python -m backlogops_gui -c config_file.cfg
212
+ ````
213
+
214
+ At first startup you do not have any configuration file yet,
215
+ so when you start the application it will start the configuration
216
+ wizard.
217
+
218
+ ## Main window
219
+
220
+ The main window has some informative text, but the functionality
221
+ is in the menus.
222
+
223
+ - File
224
+
225
+ - Read backlog from file...: Read in a file with a backlog and list
226
+ of releases. A new backlog window will be opened with the read in
227
+ backlog.
228
+
229
+ - Read backlog from Jira...: Read a backlog and list of releases from
230
+ Jira. A new backlog window will be opened with the read in backlog.
231
+
232
+ - New demo backlog: Create a demo backlog with some backlog items and
233
+ releases. A new backlog window will be opened with the demo backlog.
234
+
235
+ - Exit: Close the application.
236
+
237
+ - Configuration
238
+
239
+ - Load configuration file...: Load a configuration file, replacing the
240
+ configuration currently active in the application.
241
+
242
+ - Run configuration wizard...: this lets you configure the teams that work on
243
+ the backlog and also other aspects like the dates the company is
244
+ closed for vacation, and preset configuration for the inputs or
245
+ outputs you want to use.
246
+
247
+ - Create IO preset file...: Create a stand-alone input or output preset
248
+ configuration file via a wizard.
249
+
250
+ - Migrate IO preset file...: Migrate an older input or output preset
251
+ file to the current file format.
252
+
253
+ - Write configuration...: This lets you write the configuration you
254
+ have in application to a file.
255
+
256
+ - Help
257
+
258
+ - Report version information: Show version information for the
259
+ application and its dependencies.
260
+
261
+ ## Backlog window
262
+
263
+ The backlog window shows 2 read-only tables: one with the backlog and
264
+ one with the list of releases. You will want to use the menus.
265
+
266
+ - Backlog
267
+
268
+ - Order by keys...
269
+
270
+ - Order by dependencies...
271
+
272
+ - Order by release order...
273
+
274
+ - Estimate ready date...
275
+
276
+ - Set planned date from estimated
277
+
278
+ - Adjust release content...
279
+
280
+ - Adjust planned release dates...
281
+
282
+ - Order releases by date...
283
+
284
+ - Extract keys...
285
+
286
+ - Save to file...
287
+
288
+ - Close
289
+
290
+ - Jira
291
+
292
+ - Add backlog to Jira...
293
+
294
+ - Update backlog in Jira...
295
+
296
+ - Add releases to Jira...
297
+
298
+ - Update releases in Jira...
299
+
300
+ - Order releases in Jira...
301
+
302
+ - Rename releases in Jira...
303
+
304
+ - Rank items in Jira...
305
+
306
+ ## Test summary
307
+
308
+ - Test result: 2284 passed, 7 deselected in 44s
309
+ - No flake8 warnings.
310
+ - No mypy errors found.
311
+ - No python layout warnings.
312
+ - Built version(s): 0.3
313
+ - Build and test using Python 3.14.6