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.
- {backlogops-0.2/backlogops.egg-info → backlogops-0.4}/PKG-INFO +77 -19
- backlogops-0.2/PKG-INFO → backlogops-0.4/README_pypi.md +65 -42
- backlogops-0.2/README_pypi.md → backlogops-0.4/backlogops.egg-info/PKG-INFO +100 -10
- {backlogops-0.2 → backlogops-0.4}/backlogops.egg-info/SOURCES.txt +22 -0
- backlogops-0.4/backlogops.egg-info/requires.txt +6 -0
- {backlogops-0.2 → backlogops-0.4}/pyproject.toml +7 -7
- {backlogops-0.2 → backlogops-0.4}/setup.py +7 -5
- backlogops-0.4/src/backlogops/__init__.py +159 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/backlog.py +6 -4
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/backlog_helpers.py +68 -6
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/backlog_ops_config.py +40 -6
- backlogops-0.4/src/backlogops/backlog_ops_wizard.py +498 -0
- backlogops-0.4/src/backlogops/config_file_io.py +139 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/estimate_ready_date.py +5 -3
- backlogops-0.4/src/backlogops/io_preset_wizard.py +195 -0
- backlogops-0.4/src/backlogops/jira_connect.py +105 -0
- backlogops-0.4/src/backlogops/jira_io_config.py +787 -0
- backlogops-0.4/src/backlogops/jira_order_releases.py +202 -0
- backlogops-0.4/src/backlogops/jira_rank_backlog.py +251 -0
- backlogops-0.4/src/backlogops/jira_rank_by_keys.py +165 -0
- backlogops-0.4/src/backlogops/jira_rank_move_keys.py +273 -0
- backlogops-0.4/src/backlogops/jira_read.py +417 -0
- backlogops-0.4/src/backlogops/jira_rename_releases.py +214 -0
- backlogops-0.4/src/backlogops/jira_search.py +88 -0
- backlogops-0.4/src/backlogops/jira_token.py +177 -0
- backlogops-0.4/src/backlogops/jira_update_backlog.py +629 -0
- backlogops-0.4/src/backlogops/jira_update_releases.py +229 -0
- backlogops-0.4/src/backlogops/jira_wizard.py +482 -0
- backlogops-0.4/src/backlogops/jira_write.py +928 -0
- backlogops-0.4/src/backlogops/jira_write_fields.py +167 -0
- backlogops-0.4/src/backlogops/jira_write_format.py +101 -0
- backlogops-0.4/src/backlogops/jira_write_releases.py +327 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/key_list_io.py +4 -10
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/levels.py +15 -12
- backlogops-0.4/src/backlogops/name_list_io.py +68 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/order_by_dependencies.py +24 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/releases.py +13 -15
- backlogops-0.4/src/backlogops/rename_list_io.py +135 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/table_create.py +33 -7
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/team.py +4 -3
- backlogops-0.4/src/backlogops/wizard_forms.py +506 -0
- backlogops-0.4/src/backlogops/wizard_helpers.py +877 -0
- backlogops-0.4/src/backlogops/wizard_navigator.py +416 -0
- backlogops-0.2/backlogops.egg-info/requires.txt +0 -4
- backlogops-0.2/src/backlogops/__init__.py +0 -101
- backlogops-0.2/src/backlogops/backlog_ops_wizard.py +0 -295
- backlogops-0.2/src/backlogops/io_preset_wizard.py +0 -148
- backlogops-0.2/src/backlogops/wizard_helpers.py +0 -760
- {backlogops-0.2 → backlogops-0.4}/LICENSE.txt +0 -0
- {backlogops-0.2 → backlogops-0.4}/backlogops.egg-info/dependency_links.txt +0 -0
- {backlogops-0.2 → backlogops-0.4}/backlogops.egg-info/top_level.txt +0 -0
- {backlogops-0.2 → backlogops-0.4}/setup.cfg +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/apply_format_rules.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/available_teams.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/available_teams_config.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/backlog_in_release_order.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/backlog_releases.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/backlog_releases_io.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/blo_version_reporter.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/date_ranges.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/demo_backlog.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/format_rules.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/io_config.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/move_keys_first.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/no_text_io.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/person.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/py.typed +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/release_backlog_updates.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/release_change_io.py +0 -0
- {backlogops-0.2 → backlogops-0.4}/src/backlogops/table_rows.py +0 -0
- {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.
|
|
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://
|
|
9
|
-
Project-URL: Source code, https://
|
|
10
|
-
Project-URL: Documentation, https://
|
|
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 ::
|
|
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.
|
|
25
|
-
Requires-Dist:
|
|
26
|
-
Requires-Dist:
|
|
27
|
-
Requires-Dist:
|
|
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.
|
|
140
|
-
|
|
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://
|
|
223
|
+
- [Library public API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_api.md)
|
|
185
224
|
|
|
186
|
-
- [Library protected API](https://
|
|
225
|
+
- [Library protected API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_api.md)
|
|
187
226
|
|
|
188
|
-
- [
|
|
227
|
+
- [Public CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_cli.md)
|
|
189
228
|
|
|
190
|
-
- [
|
|
229
|
+
- [Protected CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_cli.md)
|
|
191
230
|
|
|
192
|
-
- [
|
|
231
|
+
- [Public GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_gui.md)
|
|
193
232
|
|
|
194
|
-
- [
|
|
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:
|
|
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.
|
|
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.
|
|
140
|
-
|
|
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://
|
|
188
|
+
- [Library public API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_api.md)
|
|
185
189
|
|
|
186
|
-
- [Library protected API](https://
|
|
190
|
+
- [Library protected API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_api.md)
|
|
187
191
|
|
|
188
|
-
- [
|
|
192
|
+
- [Public CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_cli.md)
|
|
189
193
|
|
|
190
|
-
- [
|
|
194
|
+
- [Protected CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_cli.md)
|
|
191
195
|
|
|
192
|
-
- [
|
|
196
|
+
- [Public GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_gui.md)
|
|
193
197
|
|
|
194
|
-
- [
|
|
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:
|
|
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.
|
|
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.
|
|
108
|
-
|
|
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://
|
|
223
|
+
- [Library public API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_api.md)
|
|
153
224
|
|
|
154
|
-
- [Library protected API](https://
|
|
225
|
+
- [Library protected API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_api.md)
|
|
155
226
|
|
|
156
|
-
- [
|
|
227
|
+
- [Public CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_cli.md)
|
|
157
228
|
|
|
158
|
-
- [
|
|
229
|
+
- [Protected CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_cli.md)
|
|
159
230
|
|
|
160
|
-
- [
|
|
231
|
+
- [Public GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_gui.md)
|
|
161
232
|
|
|
162
|
-
- [
|
|
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:
|
|
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.
|
|
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
|
|
@@ -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 ::
|
|
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://
|
|
34
|
-
"Source code" = "https://
|
|
35
|
-
"Documentation" = "https://
|
|
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.
|
|
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.
|
|
18
|
-
'
|
|
19
|
-
'
|
|
20
|
-
'
|
|
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
|
)
|