backlogops 0.2__tar.gz → 0.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. {backlogops-0.2/backlogops.egg-info → backlogops-0.4}/PKG-INFO +77 -19
  2. backlogops-0.2/PKG-INFO → backlogops-0.4/README_pypi.md +65 -42
  3. backlogops-0.2/README_pypi.md → backlogops-0.4/backlogops.egg-info/PKG-INFO +100 -10
  4. {backlogops-0.2 → backlogops-0.4}/backlogops.egg-info/SOURCES.txt +22 -0
  5. backlogops-0.4/backlogops.egg-info/requires.txt +6 -0
  6. {backlogops-0.2 → backlogops-0.4}/pyproject.toml +7 -7
  7. {backlogops-0.2 → backlogops-0.4}/setup.py +7 -5
  8. backlogops-0.4/src/backlogops/__init__.py +159 -0
  9. {backlogops-0.2 → backlogops-0.4}/src/backlogops/backlog.py +6 -4
  10. {backlogops-0.2 → backlogops-0.4}/src/backlogops/backlog_helpers.py +68 -6
  11. {backlogops-0.2 → backlogops-0.4}/src/backlogops/backlog_ops_config.py +40 -6
  12. backlogops-0.4/src/backlogops/backlog_ops_wizard.py +498 -0
  13. backlogops-0.4/src/backlogops/config_file_io.py +139 -0
  14. {backlogops-0.2 → backlogops-0.4}/src/backlogops/estimate_ready_date.py +5 -3
  15. backlogops-0.4/src/backlogops/io_preset_wizard.py +195 -0
  16. backlogops-0.4/src/backlogops/jira_connect.py +105 -0
  17. backlogops-0.4/src/backlogops/jira_io_config.py +787 -0
  18. backlogops-0.4/src/backlogops/jira_order_releases.py +202 -0
  19. backlogops-0.4/src/backlogops/jira_rank_backlog.py +251 -0
  20. backlogops-0.4/src/backlogops/jira_rank_by_keys.py +165 -0
  21. backlogops-0.4/src/backlogops/jira_rank_move_keys.py +273 -0
  22. backlogops-0.4/src/backlogops/jira_read.py +417 -0
  23. backlogops-0.4/src/backlogops/jira_rename_releases.py +214 -0
  24. backlogops-0.4/src/backlogops/jira_search.py +88 -0
  25. backlogops-0.4/src/backlogops/jira_token.py +177 -0
  26. backlogops-0.4/src/backlogops/jira_update_backlog.py +629 -0
  27. backlogops-0.4/src/backlogops/jira_update_releases.py +229 -0
  28. backlogops-0.4/src/backlogops/jira_wizard.py +482 -0
  29. backlogops-0.4/src/backlogops/jira_write.py +928 -0
  30. backlogops-0.4/src/backlogops/jira_write_fields.py +167 -0
  31. backlogops-0.4/src/backlogops/jira_write_format.py +101 -0
  32. backlogops-0.4/src/backlogops/jira_write_releases.py +327 -0
  33. {backlogops-0.2 → backlogops-0.4}/src/backlogops/key_list_io.py +4 -10
  34. {backlogops-0.2 → backlogops-0.4}/src/backlogops/levels.py +15 -12
  35. backlogops-0.4/src/backlogops/name_list_io.py +68 -0
  36. {backlogops-0.2 → backlogops-0.4}/src/backlogops/order_by_dependencies.py +24 -0
  37. {backlogops-0.2 → backlogops-0.4}/src/backlogops/releases.py +13 -15
  38. backlogops-0.4/src/backlogops/rename_list_io.py +135 -0
  39. {backlogops-0.2 → backlogops-0.4}/src/backlogops/table_create.py +33 -7
  40. {backlogops-0.2 → backlogops-0.4}/src/backlogops/team.py +4 -3
  41. backlogops-0.4/src/backlogops/wizard_forms.py +506 -0
  42. backlogops-0.4/src/backlogops/wizard_helpers.py +877 -0
  43. backlogops-0.4/src/backlogops/wizard_navigator.py +416 -0
  44. backlogops-0.2/backlogops.egg-info/requires.txt +0 -4
  45. backlogops-0.2/src/backlogops/__init__.py +0 -101
  46. backlogops-0.2/src/backlogops/backlog_ops_wizard.py +0 -295
  47. backlogops-0.2/src/backlogops/io_preset_wizard.py +0 -148
  48. backlogops-0.2/src/backlogops/wizard_helpers.py +0 -760
  49. {backlogops-0.2 → backlogops-0.4}/LICENSE.txt +0 -0
  50. {backlogops-0.2 → backlogops-0.4}/backlogops.egg-info/dependency_links.txt +0 -0
  51. {backlogops-0.2 → backlogops-0.4}/backlogops.egg-info/top_level.txt +0 -0
  52. {backlogops-0.2 → backlogops-0.4}/setup.cfg +0 -0
  53. {backlogops-0.2 → backlogops-0.4}/src/backlogops/apply_format_rules.py +0 -0
  54. {backlogops-0.2 → backlogops-0.4}/src/backlogops/available_teams.py +0 -0
  55. {backlogops-0.2 → backlogops-0.4}/src/backlogops/available_teams_config.py +0 -0
  56. {backlogops-0.2 → backlogops-0.4}/src/backlogops/backlog_in_release_order.py +0 -0
  57. {backlogops-0.2 → backlogops-0.4}/src/backlogops/backlog_releases.py +0 -0
  58. {backlogops-0.2 → backlogops-0.4}/src/backlogops/backlog_releases_io.py +0 -0
  59. {backlogops-0.2 → backlogops-0.4}/src/backlogops/blo_version_reporter.py +0 -0
  60. {backlogops-0.2 → backlogops-0.4}/src/backlogops/date_ranges.py +0 -0
  61. {backlogops-0.2 → backlogops-0.4}/src/backlogops/demo_backlog.py +0 -0
  62. {backlogops-0.2 → backlogops-0.4}/src/backlogops/format_rules.py +0 -0
  63. {backlogops-0.2 → backlogops-0.4}/src/backlogops/io_config.py +0 -0
  64. {backlogops-0.2 → backlogops-0.4}/src/backlogops/move_keys_first.py +0 -0
  65. {backlogops-0.2 → backlogops-0.4}/src/backlogops/no_text_io.py +0 -0
  66. {backlogops-0.2 → backlogops-0.4}/src/backlogops/person.py +0 -0
  67. {backlogops-0.2 → backlogops-0.4}/src/backlogops/py.typed +0 -0
  68. {backlogops-0.2 → backlogops-0.4}/src/backlogops/release_backlog_updates.py +0 -0
  69. {backlogops-0.2 → backlogops-0.4}/src/backlogops/release_change_io.py +0 -0
  70. {backlogops-0.2 → backlogops-0.4}/src/backlogops/table_rows.py +0 -0
  71. {backlogops-0.2 → backlogops-0.4}/src/backlogops/work_hours.py +0 -0
@@ -1,30 +1,33 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: backlogops
3
- Version: 0.2
3
+ Version: 0.4
4
4
  Summary: Library with 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/
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
14
14
  Classifier: Programming Language :: Python :: 3.13
15
15
  Classifier: Programming Language :: Python :: 3.14
16
16
  Classifier: Operating System :: OS Independent
17
- Classifier: Development Status :: 3 - Alpha
17
+ Classifier: Development Status :: 4 - Beta
18
18
  Classifier: Intended Audience :: Developers
19
19
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
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: config-as-json>=1.3
25
- Requires-Dist: tableio>=1.0
26
- Requires-Dist: tableio-cfg-json>=0.6
27
- Requires-Dist: versionreporter>=0.3
25
+ Requires-Dist: config-as-json>=1.4
26
+ Requires-Dist: cryptography>=49.0.0
27
+ Requires-Dist: jira[cli,opt]>=3.10.5
28
+ Requires-Dist: tableio>=1.1
29
+ Requires-Dist: tableio-cfg-json>=0.9
30
+ Requires-Dist: versionreporter>=0.4
28
31
  Dynamic: author
29
32
  Dynamic: license-file
30
33
  Dynamic: requires-dist
@@ -46,6 +49,18 @@ There are 3 related packages for backlog operations:
46
49
  interface to use the functions in the library. It is based on TkInter. The
47
50
  ambition is to keep it as a thin wrapper around the library.
48
51
 
52
+ ## Project status
53
+
54
+ backlogops is in beta. The algorithms intended for its initial scope are in
55
+ place, so the main work from here is on the user experience rather than on new
56
+ core functionality. The three packages share a version number and are released
57
+ together.
58
+
59
+ The library is not meant to ever be "finished": using it for real planning keeps
60
+ surfacing new ideas. Some of those will be added to backlogops itself, and
61
+ others will fit better in separate packages built on top of backlogops. Early
62
+ adopters are very welcome, and their feedback shapes what comes next.
63
+
49
64
  ## Available functionality
50
65
 
51
66
  The following functionality is available in all 3 packages:
@@ -101,6 +116,23 @@ The following functionality is available in all 3 packages:
101
116
  - A wizard to create a backlog-ops configuration file with the workforce, named
102
117
  input and output presets, level names, and status name mapping.
103
118
 
119
+ - Read a backlog and releases from Jira into a backlog and release table.
120
+
121
+ - Write a backlog to Jira, creating a new Jira issue for each backlog item.
122
+
123
+ - Update a backlog that is already in Jira, changing only the chosen columns.
124
+
125
+ - Add the releases to Jira as Jira versions.
126
+
127
+ - Update the releases in Jira, setting their dates to the planned release dates.
128
+
129
+ - Order the releases in Jira by date, by a name list, or by the input order.
130
+
131
+ - Rename releases in Jira, changing the Jira version names.
132
+
133
+ - Move backlog items to a chosen anchor in the Jira rank order, following a key
134
+ list.
135
+
104
136
  ## The operating model
105
137
 
106
138
  The operating model that most of the functionality is designed for is that the
@@ -136,8 +168,9 @@ the library:
136
168
  before the parent item starts, and the parent item cannot finish before all
137
169
  its children have finished.
138
170
 
139
- - `release` The release of the backlog item. Optional. Follows the same
140
- character rules as the key. Must not be empty string.
171
+ - `release` The release of the backlog item. Optional. Must not be empty string,
172
+ must not start or end with whitespace, and must not contain tabs, newlines or
173
+ control characters.
141
174
 
142
175
  - `team` The team responsible for the backlog item. Optional. Must not be empty
143
176
  string. Must be a valid team name. If None the item can be done by any team.
@@ -177,21 +210,27 @@ To install backlogops on Microsoft Windows, run the following command:
177
210
  pip install --upgrade backlogops
178
211
  ````
179
212
 
213
+ ## Using backlogops documentation
214
+
215
+ For a better understanding of how to use the library, CLI or GUI, see the user
216
+ documentation:
217
+ [Using backlogops](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc//using_backlogops/README.md)
218
+
180
219
  ## API documentation
181
220
 
182
221
  For more detailed code documentation, see the API documentation:
183
222
 
184
- - [Library public API](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_api.md)
223
+ - [Library public API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_api.md)
185
224
 
186
- - [Library protected API](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_api.md)
225
+ - [Library protected API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_api.md)
187
226
 
188
- - [Library public CLI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_cli.md)
227
+ - [Public CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_cli.md)
189
228
 
190
- - [Library protected CLI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_cli.md)
229
+ - [Protected CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_cli.md)
191
230
 
192
- - [Library public GUI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_gui.md)
231
+ - [Public GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_gui.md)
193
232
 
194
- - [Library protected GUI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_gui.md)
233
+ - [Protected GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_gui.md)
195
234
 
196
235
  ## Library main entry points
197
236
 
@@ -254,13 +293,32 @@ from backlogops import (
254
293
  - `check_backlog_consistency`: validate the backlog and releases for
255
294
  consistency.
256
295
 
296
+ ### Jira
297
+
298
+ - `read_backlog_from_jira`: read a backlog and its releases from Jira.
299
+
300
+ - `add_backlog_to_jira`, `update_backlog_in_jira`: create Jira issues
301
+ for the backlog items, or update selected fields of existing issues.
302
+
303
+ - `add_releases_to_jira`, `update_releases_in_jira`: create Jira
304
+ versions for the releases, or update their dates.
305
+
306
+ - `order_releases_in_jira`, `rename_releases_in_jira`: order and rename
307
+ the Jira versions.
308
+
309
+ - `jira_rank_backlog`, `jira_rank_move_keys`: rank backlog items in the
310
+ Jira rank order.
311
+
312
+ - `JiraIOConfig`, `JiraPreset`: the Jira connection and preset
313
+ configuration.
314
+
257
315
  For the full set of public names see the API documentation linked above.
258
316
 
259
317
  ## Test summary
260
318
 
261
- - Test result: 1545 passed in 32s
319
+ - Test result: 2638 passed, 7 deselected in 51s
262
320
  - No flake8 warnings.
263
321
  - No mypy errors found.
264
322
  - No python layout warnings.
265
- - Built version(s): 0.2
323
+ - Built version(s): 0.4
266
324
  - Build and test using Python 3.14.6
@@ -1,35 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: backlogops
3
- Version: 0.2
4
- Summary: Library with backlog operations.
5
- Author: Tom Björkholm
6
- Author-email: Tom Björkholm <klausuler_linnet0q@icloud.com>
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/
11
- Keywords: backlog,release planning,agile,scrum,scheduling,roadmap,project management,product owner,product management
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.12
14
- Classifier: Programming Language :: Python :: 3.13
15
- Classifier: Programming Language :: Python :: 3.14
16
- Classifier: Operating System :: OS Independent
17
- Classifier: Development Status :: 3 - Alpha
18
- Classifier: Intended Audience :: Developers
19
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
- Classifier: Topic :: Office/Business :: Scheduling
21
- Requires-Python: >=3.12
22
- Description-Content-Type: text/markdown
23
- License-File: LICENSE.txt
24
- Requires-Dist: config-as-json>=1.3
25
- Requires-Dist: tableio>=1.0
26
- Requires-Dist: tableio-cfg-json>=0.6
27
- Requires-Dist: versionreporter>=0.3
28
- Dynamic: author
29
- Dynamic: license-file
30
- Dynamic: requires-dist
31
- Dynamic: requires-python
32
-
33
1
  # backlogops
34
2
 
35
3
  There are 3 related packages for backlog operations:
@@ -46,6 +14,18 @@ There are 3 related packages for backlog operations:
46
14
  interface to use the functions in the library. It is based on TkInter. The
47
15
  ambition is to keep it as a thin wrapper around the library.
48
16
 
17
+ ## Project status
18
+
19
+ backlogops is in beta. The algorithms intended for its initial scope are in
20
+ place, so the main work from here is on the user experience rather than on new
21
+ core functionality. The three packages share a version number and are released
22
+ together.
23
+
24
+ The library is not meant to ever be "finished": using it for real planning keeps
25
+ surfacing new ideas. Some of those will be added to backlogops itself, and
26
+ others will fit better in separate packages built on top of backlogops. Early
27
+ adopters are very welcome, and their feedback shapes what comes next.
28
+
49
29
  ## Available functionality
50
30
 
51
31
  The following functionality is available in all 3 packages:
@@ -101,6 +81,23 @@ The following functionality is available in all 3 packages:
101
81
  - A wizard to create a backlog-ops configuration file with the workforce, named
102
82
  input and output presets, level names, and status name mapping.
103
83
 
84
+ - Read a backlog and releases from Jira into a backlog and release table.
85
+
86
+ - Write a backlog to Jira, creating a new Jira issue for each backlog item.
87
+
88
+ - Update a backlog that is already in Jira, changing only the chosen columns.
89
+
90
+ - Add the releases to Jira as Jira versions.
91
+
92
+ - Update the releases in Jira, setting their dates to the planned release dates.
93
+
94
+ - Order the releases in Jira by date, by a name list, or by the input order.
95
+
96
+ - Rename releases in Jira, changing the Jira version names.
97
+
98
+ - Move backlog items to a chosen anchor in the Jira rank order, following a key
99
+ list.
100
+
104
101
  ## The operating model
105
102
 
106
103
  The operating model that most of the functionality is designed for is that the
@@ -136,8 +133,9 @@ the library:
136
133
  before the parent item starts, and the parent item cannot finish before all
137
134
  its children have finished.
138
135
 
139
- - `release` The release of the backlog item. Optional. Follows the same
140
- character rules as the key. Must not be empty string.
136
+ - `release` The release of the backlog item. Optional. Must not be empty string,
137
+ must not start or end with whitespace, and must not contain tabs, newlines or
138
+ control characters.
141
139
 
142
140
  - `team` The team responsible for the backlog item. Optional. Must not be empty
143
141
  string. Must be a valid team name. If None the item can be done by any team.
@@ -177,21 +175,27 @@ To install backlogops on Microsoft Windows, run the following command:
177
175
  pip install --upgrade backlogops
178
176
  ````
179
177
 
178
+ ## Using backlogops documentation
179
+
180
+ For a better understanding of how to use the library, CLI or GUI, see the user
181
+ documentation:
182
+ [Using backlogops](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc//using_backlogops/README.md)
183
+
180
184
  ## API documentation
181
185
 
182
186
  For more detailed code documentation, see the API documentation:
183
187
 
184
- - [Library public API](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_api.md)
188
+ - [Library public API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_api.md)
185
189
 
186
- - [Library protected API](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_api.md)
190
+ - [Library protected API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_api.md)
187
191
 
188
- - [Library public CLI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_cli.md)
192
+ - [Public CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_cli.md)
189
193
 
190
- - [Library protected CLI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_cli.md)
194
+ - [Protected CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_cli.md)
191
195
 
192
- - [Library public GUI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_gui.md)
196
+ - [Public GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_gui.md)
193
197
 
194
- - [Library protected GUI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_gui.md)
198
+ - [Protected GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_gui.md)
195
199
 
196
200
  ## Library main entry points
197
201
 
@@ -254,13 +258,32 @@ from backlogops import (
254
258
  - `check_backlog_consistency`: validate the backlog and releases for
255
259
  consistency.
256
260
 
261
+ ### Jira
262
+
263
+ - `read_backlog_from_jira`: read a backlog and its releases from Jira.
264
+
265
+ - `add_backlog_to_jira`, `update_backlog_in_jira`: create Jira issues
266
+ for the backlog items, or update selected fields of existing issues.
267
+
268
+ - `add_releases_to_jira`, `update_releases_in_jira`: create Jira
269
+ versions for the releases, or update their dates.
270
+
271
+ - `order_releases_in_jira`, `rename_releases_in_jira`: order and rename
272
+ the Jira versions.
273
+
274
+ - `jira_rank_backlog`, `jira_rank_move_keys`: rank backlog items in the
275
+ Jira rank order.
276
+
277
+ - `JiraIOConfig`, `JiraPreset`: the Jira connection and preset
278
+ configuration.
279
+
257
280
  For the full set of public names see the API documentation linked above.
258
281
 
259
282
  ## Test summary
260
283
 
261
- - Test result: 1545 passed in 32s
284
+ - Test result: 2638 passed, 7 deselected in 51s
262
285
  - No flake8 warnings.
263
286
  - No mypy errors found.
264
287
  - No python layout warnings.
265
- - Built version(s): 0.2
288
+ - Built version(s): 0.4
266
289
  - Build and test using Python 3.14.6
@@ -1,3 +1,38 @@
1
+ Metadata-Version: 2.4
2
+ Name: backlogops
3
+ Version: 0.4
4
+ Summary: Library with backlog operations.
5
+ Author: Tom Björkholm
6
+ Author-email: Tom Björkholm <klausuler_linnet0q@icloud.com>
7
+ License-Expression: MIT
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/
11
+ Keywords: backlog,release planning,agile,scrum,scheduling,roadmap,project management,product owner,product management
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Development Status :: 4 - Beta
18
+ Classifier: Intended Audience :: Developers
19
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
+ Classifier: Topic :: Office/Business :: Scheduling
21
+ Classifier: Typing :: Typed
22
+ Requires-Python: >=3.12
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE.txt
25
+ Requires-Dist: config-as-json>=1.4
26
+ Requires-Dist: cryptography>=49.0.0
27
+ Requires-Dist: jira[cli,opt]>=3.10.5
28
+ Requires-Dist: tableio>=1.1
29
+ Requires-Dist: tableio-cfg-json>=0.9
30
+ Requires-Dist: versionreporter>=0.4
31
+ Dynamic: author
32
+ Dynamic: license-file
33
+ Dynamic: requires-dist
34
+ Dynamic: requires-python
35
+
1
36
  # backlogops
2
37
 
3
38
  There are 3 related packages for backlog operations:
@@ -14,6 +49,18 @@ There are 3 related packages for backlog operations:
14
49
  interface to use the functions in the library. It is based on TkInter. The
15
50
  ambition is to keep it as a thin wrapper around the library.
16
51
 
52
+ ## Project status
53
+
54
+ backlogops is in beta. The algorithms intended for its initial scope are in
55
+ place, so the main work from here is on the user experience rather than on new
56
+ core functionality. The three packages share a version number and are released
57
+ together.
58
+
59
+ The library is not meant to ever be "finished": using it for real planning keeps
60
+ surfacing new ideas. Some of those will be added to backlogops itself, and
61
+ others will fit better in separate packages built on top of backlogops. Early
62
+ adopters are very welcome, and their feedback shapes what comes next.
63
+
17
64
  ## Available functionality
18
65
 
19
66
  The following functionality is available in all 3 packages:
@@ -69,6 +116,23 @@ The following functionality is available in all 3 packages:
69
116
  - A wizard to create a backlog-ops configuration file with the workforce, named
70
117
  input and output presets, level names, and status name mapping.
71
118
 
119
+ - Read a backlog and releases from Jira into a backlog and release table.
120
+
121
+ - Write a backlog to Jira, creating a new Jira issue for each backlog item.
122
+
123
+ - Update a backlog that is already in Jira, changing only the chosen columns.
124
+
125
+ - Add the releases to Jira as Jira versions.
126
+
127
+ - Update the releases in Jira, setting their dates to the planned release dates.
128
+
129
+ - Order the releases in Jira by date, by a name list, or by the input order.
130
+
131
+ - Rename releases in Jira, changing the Jira version names.
132
+
133
+ - Move backlog items to a chosen anchor in the Jira rank order, following a key
134
+ list.
135
+
72
136
  ## The operating model
73
137
 
74
138
  The operating model that most of the functionality is designed for is that the
@@ -104,8 +168,9 @@ the library:
104
168
  before the parent item starts, and the parent item cannot finish before all
105
169
  its children have finished.
106
170
 
107
- - `release` The release of the backlog item. Optional. Follows the same
108
- character rules as the key. Must not be empty string.
171
+ - `release` The release of the backlog item. Optional. Must not be empty string,
172
+ must not start or end with whitespace, and must not contain tabs, newlines or
173
+ control characters.
109
174
 
110
175
  - `team` The team responsible for the backlog item. Optional. Must not be empty
111
176
  string. Must be a valid team name. If None the item can be done by any team.
@@ -145,21 +210,27 @@ To install backlogops on Microsoft Windows, run the following command:
145
210
  pip install --upgrade backlogops
146
211
  ````
147
212
 
213
+ ## Using backlogops documentation
214
+
215
+ For a better understanding of how to use the library, CLI or GUI, see the user
216
+ documentation:
217
+ [Using backlogops](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc//using_backlogops/README.md)
218
+
148
219
  ## API documentation
149
220
 
150
221
  For more detailed code documentation, see the API documentation:
151
222
 
152
- - [Library public API](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_api.md)
223
+ - [Library public API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_api.md)
153
224
 
154
- - [Library protected API](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_api.md)
225
+ - [Library protected API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_api.md)
155
226
 
156
- - [Library public CLI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_cli.md)
227
+ - [Public CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_cli.md)
157
228
 
158
- - [Library protected CLI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_cli.md)
229
+ - [Protected CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_cli.md)
159
230
 
160
- - [Library public GUI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_gui.md)
231
+ - [Public GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_gui.md)
161
232
 
162
- - [Library protected GUI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_gui.md)
233
+ - [Protected GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_gui.md)
163
234
 
164
235
  ## Library main entry points
165
236
 
@@ -222,13 +293,32 @@ from backlogops import (
222
293
  - `check_backlog_consistency`: validate the backlog and releases for
223
294
  consistency.
224
295
 
296
+ ### Jira
297
+
298
+ - `read_backlog_from_jira`: read a backlog and its releases from Jira.
299
+
300
+ - `add_backlog_to_jira`, `update_backlog_in_jira`: create Jira issues
301
+ for the backlog items, or update selected fields of existing issues.
302
+
303
+ - `add_releases_to_jira`, `update_releases_in_jira`: create Jira
304
+ versions for the releases, or update their dates.
305
+
306
+ - `order_releases_in_jira`, `rename_releases_in_jira`: order and rename
307
+ the Jira versions.
308
+
309
+ - `jira_rank_backlog`, `jira_rank_move_keys`: rank backlog items in the
310
+ Jira rank order.
311
+
312
+ - `JiraIOConfig`, `JiraPreset`: the Jira connection and preset
313
+ configuration.
314
+
225
315
  For the full set of public names see the API documentation linked above.
226
316
 
227
317
  ## Test summary
228
318
 
229
- - Test result: 1545 passed in 32s
319
+ - Test result: 2638 passed, 7 deselected in 51s
230
320
  - No flake8 warnings.
231
321
  - No mypy errors found.
232
322
  - No python layout warnings.
233
- - Built version(s): 0.2
323
+ - Built version(s): 0.4
234
324
  - Build and test using Python 3.14.6
@@ -19,15 +19,34 @@ src/backlogops/backlog_ops_wizard.py
19
19
  src/backlogops/backlog_releases.py
20
20
  src/backlogops/backlog_releases_io.py
21
21
  src/backlogops/blo_version_reporter.py
22
+ src/backlogops/config_file_io.py
22
23
  src/backlogops/date_ranges.py
23
24
  src/backlogops/demo_backlog.py
24
25
  src/backlogops/estimate_ready_date.py
25
26
  src/backlogops/format_rules.py
26
27
  src/backlogops/io_config.py
27
28
  src/backlogops/io_preset_wizard.py
29
+ src/backlogops/jira_connect.py
30
+ src/backlogops/jira_io_config.py
31
+ src/backlogops/jira_order_releases.py
32
+ src/backlogops/jira_rank_backlog.py
33
+ src/backlogops/jira_rank_by_keys.py
34
+ src/backlogops/jira_rank_move_keys.py
35
+ src/backlogops/jira_read.py
36
+ src/backlogops/jira_rename_releases.py
37
+ src/backlogops/jira_search.py
38
+ src/backlogops/jira_token.py
39
+ src/backlogops/jira_update_backlog.py
40
+ src/backlogops/jira_update_releases.py
41
+ src/backlogops/jira_wizard.py
42
+ src/backlogops/jira_write.py
43
+ src/backlogops/jira_write_fields.py
44
+ src/backlogops/jira_write_format.py
45
+ src/backlogops/jira_write_releases.py
28
46
  src/backlogops/key_list_io.py
29
47
  src/backlogops/levels.py
30
48
  src/backlogops/move_keys_first.py
49
+ src/backlogops/name_list_io.py
31
50
  src/backlogops/no_text_io.py
32
51
  src/backlogops/order_by_dependencies.py
33
52
  src/backlogops/person.py
@@ -35,8 +54,11 @@ src/backlogops/py.typed
35
54
  src/backlogops/release_backlog_updates.py
36
55
  src/backlogops/release_change_io.py
37
56
  src/backlogops/releases.py
57
+ src/backlogops/rename_list_io.py
38
58
  src/backlogops/table_create.py
39
59
  src/backlogops/table_rows.py
40
60
  src/backlogops/team.py
61
+ src/backlogops/wizard_forms.py
41
62
  src/backlogops/wizard_helpers.py
63
+ src/backlogops/wizard_navigator.py
42
64
  src/backlogops/work_hours.py
@@ -0,0 +1,6 @@
1
+ config-as-json>=1.4
2
+ cryptography>=49.0.0
3
+ jira[cli,opt]>=3.10.5
4
+ tableio>=1.1
5
+ tableio-cfg-json>=0.9
6
+ versionreporter>=0.4
@@ -4,7 +4,6 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "backlogops"
7
- version = "0.2"
8
7
  authors = [
9
8
  { name="Tom Björkholm", email="klausuler_linnet0q@icloud.com" },
10
9
  ]
@@ -22,14 +21,15 @@ classifiers = [
22
21
  "Programming Language :: Python :: 3.13",
23
22
  "Programming Language :: Python :: 3.14",
24
23
  "Operating System :: OS Independent",
25
- "Development Status :: 3 - Alpha",
24
+ "Development Status :: 4 - Beta",
26
25
  "Intended Audience :: Developers",
27
26
  "Topic :: Software Development :: Libraries :: Python Modules",
28
- "Topic :: Office/Business :: Scheduling"
27
+ "Topic :: Office/Business :: Scheduling",
28
+ "Typing :: Typed"
29
29
  ]
30
- dynamic = ["dependencies"]
30
+ dynamic = ["dependencies", "version"]
31
31
 
32
32
  [project.urls]
33
- "Homepage" = "https://bitbucket.org/tom-bjorkholm/backlog-ops"
34
- "Source code" = "https://bitbucket.org/tom-bjorkholm/backlog-ops"
35
- "Documentation" = "https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/"
33
+ "Homepage" = "https://github.com/tom-bjorkholm/backlog-ops"
34
+ "Source code" = "https://github.com/tom-bjorkholm/backlog-ops"
35
+ "Documentation" = "https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/"
@@ -5,7 +5,7 @@ from setuptools import setup
5
5
 
6
6
  setup(
7
7
  name='backlogops',
8
- version='0.2',
8
+ version='0.4',
9
9
  description='Library with backlog operations.',
10
10
  author='Tom Björkholm',
11
11
  author_email='klausuler_linnet0q@icloud.com',
@@ -14,9 +14,11 @@ setup(
14
14
  package_dir={'backlogops': 'src/backlogops'},
15
15
  package_data={'backlogops': ['src/py.typed']},
16
16
  install_requires=[
17
- 'config-as-json >= 1.3',
18
- 'tableio >= 1.0',
19
- 'tableio-cfg-json >= 0.6',
20
- 'versionreporter >= 0.3'
17
+ 'config-as-json >= 1.4',
18
+ 'cryptography >= 49.0.0',
19
+ 'jira[cli,opt] >= 3.10.5',
20
+ 'tableio >= 1.1',
21
+ 'tableio-cfg-json >= 0.9',
22
+ 'versionreporter >= 0.4'
21
23
  ]
22
24
  )