backlogops-cli 0.1__tar.gz → 0.2__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_cli-0.1 → backlogops_cli-0.2}/PKG-INFO +78 -31
- {backlogops_cli-0.1 → backlogops_cli-0.2}/README_pypi.md +75 -29
- {backlogops_cli-0.1 → backlogops_cli-0.2}/backlogops_cli.egg-info/PKG-INFO +78 -31
- {backlogops_cli-0.1 → backlogops_cli-0.2}/backlogops_cli.egg-info/SOURCES.txt +9 -1
- backlogops_cli-0.2/backlogops_cli.egg-info/requires.txt +3 -0
- {backlogops_cli-0.1 → backlogops_cli-0.2}/pyproject.toml +1 -1
- {backlogops_cli-0.1 → backlogops_cli-0.2}/setup.py +3 -2
- backlogops_cli-0.2/src/backlogops_cli/_command_io.py +396 -0
- backlogops_cli-0.2/src/backlogops_cli/_migrate_warn.py +56 -0
- backlogops_cli-0.2/src/backlogops_cli/_wizard_io.py +92 -0
- {backlogops_cli-0.1 → backlogops_cli-0.2}/src/backlogops_cli/adjust_release_content.py +4 -3
- backlogops_cli-0.2/src/backlogops_cli/bloc_version_reporter.py +25 -0
- backlogops_cli-0.2/src/backlogops_cli/config_wizard.py +42 -0
- {backlogops_cli-0.1 → backlogops_cli-0.2}/src/backlogops_cli/convert.py +4 -7
- {backlogops_cli-0.1 → backlogops_cli-0.2}/src/backlogops_cli/demo_backlog.py +5 -6
- {backlogops_cli-0.1 → backlogops_cli-0.2}/src/backlogops_cli/estimate_ready_date.py +18 -28
- {backlogops_cli-0.1 → backlogops_cli-0.2}/src/backlogops_cli/extract_keys.py +13 -10
- {backlogops_cli-0.1 → backlogops_cli-0.2}/src/backlogops_cli/list.py +4 -1
- backlogops_cli-0.2/src/backlogops_cli/migrate_cfg.py +82 -0
- {backlogops_cli-0.1 → backlogops_cli-0.2}/src/backlogops_cli/order_by_deps.py +7 -8
- {backlogops_cli-0.1 → backlogops_cli-0.2}/src/backlogops_cli/order_by_keys.py +7 -8
- backlogops_cli-0.2/src/backlogops_cli/order_by_release.py +71 -0
- backlogops_cli-0.2/src/backlogops_cli/order_releases.py +61 -0
- {backlogops_cli-0.1 → backlogops_cli-0.2}/src/backlogops_cli/plan_release_dates.py +4 -3
- backlogops_cli-0.2/src/backlogops_cli/preset_wizard.py +48 -0
- backlogops_cli-0.2/src/backlogops_cli/version.py +20 -0
- backlogops_cli-0.1/backlogops_cli.egg-info/requires.txt +0 -2
- backlogops_cli-0.1/src/backlogops_cli/_command_io.py +0 -220
- backlogops_cli-0.1/src/backlogops_cli/teams_wizard.py +0 -55
- {backlogops_cli-0.1 → backlogops_cli-0.2}/LICENSE.txt +0 -0
- {backlogops_cli-0.1 → backlogops_cli-0.2}/backlogops_cli.egg-info/dependency_links.txt +0 -0
- {backlogops_cli-0.1 → backlogops_cli-0.2}/backlogops_cli.egg-info/top_level.txt +0 -0
- {backlogops_cli-0.1 → backlogops_cli-0.2}/setup.cfg +0 -0
- {backlogops_cli-0.1 → backlogops_cli-0.2}/src/backlogops_cli/__init__.py +0 -0
- {backlogops_cli-0.1 → backlogops_cli-0.2}/src/backlogops_cli/__main__.py +0 -0
- {backlogops_cli-0.1 → backlogops_cli-0.2}/src/backlogops_cli/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: backlogops-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2
|
|
4
4
|
Summary: Command line interface for backlog operations.
|
|
5
5
|
Author: Tom Björkholm
|
|
6
6
|
Author-email: Tom Björkholm <klausuler_linnet0q@icloud.com>
|
|
@@ -24,7 +24,8 @@ Requires-Python: >=3.12
|
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
License-File: LICENSE.txt
|
|
26
26
|
Requires-Dist: argcomplete>=3.6.3
|
|
27
|
-
Requires-Dist: backlogops>=0.
|
|
27
|
+
Requires-Dist: backlogops>=0.2
|
|
28
|
+
Requires-Dist: versionreporter>=0.3
|
|
28
29
|
Dynamic: author
|
|
29
30
|
Dynamic: license-file
|
|
30
31
|
Dynamic: requires-dist
|
|
@@ -34,16 +35,17 @@ Dynamic: requires-python
|
|
|
34
35
|
|
|
35
36
|
There are 3 related packages for backlog operations:
|
|
36
37
|
|
|
37
|
-
- backlogops
|
|
38
|
+
- **[backlogops](https://pypi.org/project/backlogops/)** a collection of library
|
|
39
|
+
functions to manipulate backlogs
|
|
38
40
|
|
|
39
|
-
- backlogops-cli
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
user to use the library.
|
|
41
|
+
- **[backlogops-cli](https://pypi.org/project/backlogops-cli/)** command line
|
|
42
|
+
interface to use the functions in the library. This is just a thin wrapper
|
|
43
|
+
around the library functions. It serves a dual purpose as both an example of
|
|
44
|
+
how to use the library and as a tool for the user to use the library.
|
|
43
45
|
|
|
44
|
-
- backlogops-gui
|
|
45
|
-
|
|
46
|
-
the library.
|
|
46
|
+
- **[backlogops-gui](https://pypi.org/project/backlogops-gui/)** graphical user
|
|
47
|
+
interface to use the functions in the library. It is based on TkInter. The
|
|
48
|
+
ambition is to keep it as a thin wrapper around the library.
|
|
47
49
|
|
|
48
50
|
## Available functionality
|
|
49
51
|
|
|
@@ -72,6 +74,9 @@ The following functionality is available in all 3 packages:
|
|
|
72
74
|
the key is at a higher level it will bring all items it is a parent of in
|
|
73
75
|
front of it (recursively).
|
|
74
76
|
|
|
77
|
+
- Reorder the backlog in release order, optionally taking dependencies into
|
|
78
|
+
account.
|
|
79
|
+
|
|
75
80
|
- Set planned release dates from the estimated release dates.
|
|
76
81
|
|
|
77
82
|
- Calculate the release dates from the backlog items estimated ready dates, with
|
|
@@ -79,7 +84,23 @@ The following functionality is available in all 3 packages:
|
|
|
79
84
|
|
|
80
85
|
- Validate the backlog and releases for consistency.
|
|
81
86
|
|
|
82
|
-
-
|
|
87
|
+
- Convert a backlog and releases between table file formats.
|
|
88
|
+
|
|
89
|
+
- Order the releases by their planned or estimated date.
|
|
90
|
+
|
|
91
|
+
- Rename columns when reading a file and when writing a file.
|
|
92
|
+
|
|
93
|
+
- Map custom status names in input files to backlog item statuses.
|
|
94
|
+
|
|
95
|
+
- Choose how backlog item levels are written: by number, by name, or both, and
|
|
96
|
+
configure custom level names.
|
|
97
|
+
|
|
98
|
+
- Create stand-alone input or output preset configuration files.
|
|
99
|
+
|
|
100
|
+
- Migrate an older configuration or preset file to the current file format.
|
|
101
|
+
|
|
102
|
+
- A wizard to create a backlog-ops configuration file with the workforce, named
|
|
103
|
+
input and output presets, level names, and status name mapping.
|
|
83
104
|
|
|
84
105
|
## The operating model
|
|
85
106
|
|
|
@@ -97,45 +118,45 @@ availability of the team members.
|
|
|
97
118
|
Each backlog item has the following fields that are used by the algorithms in
|
|
98
119
|
the library:
|
|
99
120
|
|
|
100
|
-
- key
|
|
101
|
-
must not contain whitespace and must not contain any of the characters
|
|
102
|
-
( ) \[ \] \{ \}.
|
|
121
|
+
- `key` The key of the backlog item. Required. Must be unique. Must not be
|
|
122
|
+
empty, must not contain whitespace and must not contain any of the characters
|
|
123
|
+
, . ; : ( ) \[ \] \{ \}.
|
|
103
124
|
|
|
104
|
-
- level
|
|
125
|
+
- `level` The level of the backlog item. Required. Must be an integer.
|
|
105
126
|
|
|
106
|
-
- title
|
|
127
|
+
- `title` The title of the backlog item. Required.
|
|
107
128
|
|
|
108
|
-
- story_points
|
|
129
|
+
- `story_points` The story points of the backlog item. Required.
|
|
109
130
|
|
|
110
|
-
- status
|
|
131
|
+
- `status` The status of the backlog item. Required.
|
|
111
132
|
|
|
112
|
-
- parent_key
|
|
133
|
+
- `parent_key` The key of the parent backlog item. Optional. Must exist as a key
|
|
113
134
|
in the backlog. Parent keys are used to build the hierarchy of the backlog.
|
|
114
135
|
The parent key must be at a higher level than the current item. Parent keys
|
|
115
136
|
introduce implicit dependencies between items: the current item cannot start
|
|
116
137
|
before the parent item starts, and the parent item cannot finish before all
|
|
117
138
|
its children have finished.
|
|
118
139
|
|
|
119
|
-
- release
|
|
120
|
-
rules as the key. Must not be empty string.
|
|
140
|
+
- `release` The release of the backlog item. Optional. Follows the same
|
|
141
|
+
character rules as the key. Must not be empty string.
|
|
121
142
|
|
|
122
|
-
- team
|
|
143
|
+
- `team` The team responsible for the backlog item. Optional. Must not be empty
|
|
123
144
|
string. Must be a valid team name. If None the item can be done by any team.
|
|
124
145
|
If not None. the item can only be done by the specified team.
|
|
125
146
|
|
|
126
|
-
- depends_on_f2s
|
|
147
|
+
- `depends_on_f2s` The list of keys of the backlog items that must have been
|
|
127
148
|
finished before the current item can start. May be empty.
|
|
128
149
|
|
|
129
|
-
- depends_on_f2f
|
|
150
|
+
- `depends_on_f2f` The list of keys of the backlog items that must have been
|
|
130
151
|
finished before the current item can finish. May be empty.
|
|
131
152
|
|
|
132
|
-
- depends_on_s2s
|
|
153
|
+
- `depends_on_s2s` The list of keys of the backlog items that must have been
|
|
133
154
|
started before the current item can start. May be empty.
|
|
134
155
|
|
|
135
|
-
- planned_ready_date
|
|
156
|
+
- `planned_ready_date` The planned ready date of the backlog item. The date that
|
|
136
157
|
is communicated to the customer. Optional.
|
|
137
158
|
|
|
138
|
-
- estimated_ready_date
|
|
159
|
+
- `estimated_ready_date` The estimated ready date of the backlog item. Optional.
|
|
139
160
|
|
|
140
161
|
Additionally each backlog item can have any number of other fields.
|
|
141
162
|
|
|
@@ -184,33 +205,59 @@ backlogops_cli serves 2 purposes:
|
|
|
184
205
|
### Currently available commands
|
|
185
206
|
|
|
186
207
|
````text
|
|
208
|
+
|
|
187
209
|
python3 -m backlogops_cli.adjust_release_content
|
|
188
210
|
Adjust release content to fit the planned release dates
|
|
211
|
+
|
|
212
|
+
python3 -m backlogops_cli.config_wizard
|
|
213
|
+
Create a backlog-ops configuration file via a wizard
|
|
214
|
+
|
|
189
215
|
python3 -m backlogops_cli.convert
|
|
190
216
|
Convert a backlog and releases between table file formats
|
|
217
|
+
|
|
191
218
|
python3 -m backlogops_cli.demo_backlog
|
|
192
219
|
Write a demonstration backlog and releases to a file
|
|
220
|
+
|
|
193
221
|
python3 -m backlogops_cli.estimate_ready_date
|
|
194
222
|
Estimate ready dates for the backlog items
|
|
223
|
+
|
|
195
224
|
python3 -m backlogops_cli.extract_keys
|
|
196
225
|
Extract backlog keys at the given levels to a key list
|
|
226
|
+
|
|
197
227
|
python3 -m backlogops_cli.list
|
|
198
228
|
List all commands available in backlogops_cli
|
|
229
|
+
|
|
230
|
+
python3 -m backlogops_cli.migrate_cfg
|
|
231
|
+
Migrate a configuration file to the current file format
|
|
232
|
+
|
|
199
233
|
python3 -m backlogops_cli.order_by_deps
|
|
200
234
|
Reorder a backlog so that dependencies are fulfilled
|
|
235
|
+
|
|
201
236
|
python3 -m backlogops_cli.order_by_keys
|
|
202
237
|
Reorder a backlog so that key-list items come first
|
|
238
|
+
|
|
239
|
+
python3 -m backlogops_cli.order_by_release
|
|
240
|
+
Order the backlog to follow the release order
|
|
241
|
+
|
|
242
|
+
python3 -m backlogops_cli.order_releases
|
|
243
|
+
Order the releases by their planned or estimated date
|
|
244
|
+
|
|
203
245
|
python3 -m backlogops_cli.plan_release_dates
|
|
204
246
|
Set planned release dates from the estimated release dates
|
|
205
|
-
|
|
206
|
-
|
|
247
|
+
|
|
248
|
+
python3 -m backlogops_cli.preset_wizard
|
|
249
|
+
Create an input or output preset config file via a wizard
|
|
250
|
+
|
|
251
|
+
python3 -m backlogops_cli.version
|
|
252
|
+
Print version information for the backlogops_cli package
|
|
253
|
+
|
|
207
254
|
````
|
|
208
255
|
|
|
209
256
|
## Test summary
|
|
210
257
|
|
|
211
|
-
- Test result:
|
|
258
|
+
- Test result: 1545 passed in 32s
|
|
212
259
|
- No flake8 warnings.
|
|
213
260
|
- No mypy errors found.
|
|
214
261
|
- No python layout warnings.
|
|
215
|
-
- Built version(s): 0.
|
|
262
|
+
- Built version(s): 0.2
|
|
216
263
|
- Build and test using Python 3.14.6
|
|
@@ -2,16 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
There are 3 related packages for backlog operations:
|
|
4
4
|
|
|
5
|
-
- backlogops
|
|
5
|
+
- **[backlogops](https://pypi.org/project/backlogops/)** a collection of library
|
|
6
|
+
functions to manipulate backlogs
|
|
6
7
|
|
|
7
|
-
- backlogops-cli
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
user to use the library.
|
|
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.
|
|
11
12
|
|
|
12
|
-
- backlogops-gui
|
|
13
|
-
|
|
14
|
-
the library.
|
|
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.
|
|
15
16
|
|
|
16
17
|
## Available functionality
|
|
17
18
|
|
|
@@ -40,6 +41,9 @@ The following functionality is available in all 3 packages:
|
|
|
40
41
|
the key is at a higher level it will bring all items it is a parent of in
|
|
41
42
|
front of it (recursively).
|
|
42
43
|
|
|
44
|
+
- Reorder the backlog in release order, optionally taking dependencies into
|
|
45
|
+
account.
|
|
46
|
+
|
|
43
47
|
- Set planned release dates from the estimated release dates.
|
|
44
48
|
|
|
45
49
|
- Calculate the release dates from the backlog items estimated ready dates, with
|
|
@@ -47,7 +51,23 @@ The following functionality is available in all 3 packages:
|
|
|
47
51
|
|
|
48
52
|
- Validate the backlog and releases for consistency.
|
|
49
53
|
|
|
50
|
-
-
|
|
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.
|
|
51
71
|
|
|
52
72
|
## The operating model
|
|
53
73
|
|
|
@@ -65,45 +85,45 @@ availability of the team members.
|
|
|
65
85
|
Each backlog item has the following fields that are used by the algorithms in
|
|
66
86
|
the library:
|
|
67
87
|
|
|
68
|
-
- key
|
|
69
|
-
must not contain whitespace and must not contain any of the characters
|
|
70
|
-
( ) \[ \] \{ \}.
|
|
88
|
+
- `key` The key of the backlog item. Required. Must be unique. Must not be
|
|
89
|
+
empty, must not contain whitespace and must not contain any of the characters
|
|
90
|
+
, . ; : ( ) \[ \] \{ \}.
|
|
71
91
|
|
|
72
|
-
- level
|
|
92
|
+
- `level` The level of the backlog item. Required. Must be an integer.
|
|
73
93
|
|
|
74
|
-
- title
|
|
94
|
+
- `title` The title of the backlog item. Required.
|
|
75
95
|
|
|
76
|
-
- story_points
|
|
96
|
+
- `story_points` The story points of the backlog item. Required.
|
|
77
97
|
|
|
78
|
-
- status
|
|
98
|
+
- `status` The status of the backlog item. Required.
|
|
79
99
|
|
|
80
|
-
- parent_key
|
|
100
|
+
- `parent_key` The key of the parent backlog item. Optional. Must exist as a key
|
|
81
101
|
in the backlog. Parent keys are used to build the hierarchy of the backlog.
|
|
82
102
|
The parent key must be at a higher level than the current item. Parent keys
|
|
83
103
|
introduce implicit dependencies between items: the current item cannot start
|
|
84
104
|
before the parent item starts, and the parent item cannot finish before all
|
|
85
105
|
its children have finished.
|
|
86
106
|
|
|
87
|
-
- release
|
|
88
|
-
rules as the key. Must not be empty string.
|
|
107
|
+
- `release` The release of the backlog item. Optional. Follows the same
|
|
108
|
+
character rules as the key. Must not be empty string.
|
|
89
109
|
|
|
90
|
-
- team
|
|
110
|
+
- `team` The team responsible for the backlog item. Optional. Must not be empty
|
|
91
111
|
string. Must be a valid team name. If None the item can be done by any team.
|
|
92
112
|
If not None. the item can only be done by the specified team.
|
|
93
113
|
|
|
94
|
-
- depends_on_f2s
|
|
114
|
+
- `depends_on_f2s` The list of keys of the backlog items that must have been
|
|
95
115
|
finished before the current item can start. May be empty.
|
|
96
116
|
|
|
97
|
-
- depends_on_f2f
|
|
117
|
+
- `depends_on_f2f` The list of keys of the backlog items that must have been
|
|
98
118
|
finished before the current item can finish. May be empty.
|
|
99
119
|
|
|
100
|
-
- depends_on_s2s
|
|
120
|
+
- `depends_on_s2s` The list of keys of the backlog items that must have been
|
|
101
121
|
started before the current item can start. May be empty.
|
|
102
122
|
|
|
103
|
-
- planned_ready_date
|
|
123
|
+
- `planned_ready_date` The planned ready date of the backlog item. The date that
|
|
104
124
|
is communicated to the customer. Optional.
|
|
105
125
|
|
|
106
|
-
- estimated_ready_date
|
|
126
|
+
- `estimated_ready_date` The estimated ready date of the backlog item. Optional.
|
|
107
127
|
|
|
108
128
|
Additionally each backlog item can have any number of other fields.
|
|
109
129
|
|
|
@@ -152,33 +172,59 @@ backlogops_cli serves 2 purposes:
|
|
|
152
172
|
### Currently available commands
|
|
153
173
|
|
|
154
174
|
````text
|
|
175
|
+
|
|
155
176
|
python3 -m backlogops_cli.adjust_release_content
|
|
156
177
|
Adjust release content to fit the planned release dates
|
|
178
|
+
|
|
179
|
+
python3 -m backlogops_cli.config_wizard
|
|
180
|
+
Create a backlog-ops configuration file via a wizard
|
|
181
|
+
|
|
157
182
|
python3 -m backlogops_cli.convert
|
|
158
183
|
Convert a backlog and releases between table file formats
|
|
184
|
+
|
|
159
185
|
python3 -m backlogops_cli.demo_backlog
|
|
160
186
|
Write a demonstration backlog and releases to a file
|
|
187
|
+
|
|
161
188
|
python3 -m backlogops_cli.estimate_ready_date
|
|
162
189
|
Estimate ready dates for the backlog items
|
|
190
|
+
|
|
163
191
|
python3 -m backlogops_cli.extract_keys
|
|
164
192
|
Extract backlog keys at the given levels to a key list
|
|
193
|
+
|
|
165
194
|
python3 -m backlogops_cli.list
|
|
166
195
|
List all commands available in backlogops_cli
|
|
196
|
+
|
|
197
|
+
python3 -m backlogops_cli.migrate_cfg
|
|
198
|
+
Migrate a configuration file to the current file format
|
|
199
|
+
|
|
167
200
|
python3 -m backlogops_cli.order_by_deps
|
|
168
201
|
Reorder a backlog so that dependencies are fulfilled
|
|
202
|
+
|
|
169
203
|
python3 -m backlogops_cli.order_by_keys
|
|
170
204
|
Reorder a backlog so that key-list items come first
|
|
205
|
+
|
|
206
|
+
python3 -m backlogops_cli.order_by_release
|
|
207
|
+
Order the backlog to follow the release order
|
|
208
|
+
|
|
209
|
+
python3 -m backlogops_cli.order_releases
|
|
210
|
+
Order the releases by their planned or estimated date
|
|
211
|
+
|
|
171
212
|
python3 -m backlogops_cli.plan_release_dates
|
|
172
213
|
Set planned release dates from the estimated release dates
|
|
173
|
-
|
|
174
|
-
|
|
214
|
+
|
|
215
|
+
python3 -m backlogops_cli.preset_wizard
|
|
216
|
+
Create an input or output preset config file via a wizard
|
|
217
|
+
|
|
218
|
+
python3 -m backlogops_cli.version
|
|
219
|
+
Print version information for the backlogops_cli package
|
|
220
|
+
|
|
175
221
|
````
|
|
176
222
|
|
|
177
223
|
## Test summary
|
|
178
224
|
|
|
179
|
-
- Test result:
|
|
225
|
+
- Test result: 1545 passed in 32s
|
|
180
226
|
- No flake8 warnings.
|
|
181
227
|
- No mypy errors found.
|
|
182
228
|
- No python layout warnings.
|
|
183
|
-
- Built version(s): 0.
|
|
229
|
+
- Built version(s): 0.2
|
|
184
230
|
- Build and test using Python 3.14.6
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: backlogops-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2
|
|
4
4
|
Summary: Command line interface for backlog operations.
|
|
5
5
|
Author: Tom Björkholm
|
|
6
6
|
Author-email: Tom Björkholm <klausuler_linnet0q@icloud.com>
|
|
@@ -24,7 +24,8 @@ Requires-Python: >=3.12
|
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
License-File: LICENSE.txt
|
|
26
26
|
Requires-Dist: argcomplete>=3.6.3
|
|
27
|
-
Requires-Dist: backlogops>=0.
|
|
27
|
+
Requires-Dist: backlogops>=0.2
|
|
28
|
+
Requires-Dist: versionreporter>=0.3
|
|
28
29
|
Dynamic: author
|
|
29
30
|
Dynamic: license-file
|
|
30
31
|
Dynamic: requires-dist
|
|
@@ -34,16 +35,17 @@ Dynamic: requires-python
|
|
|
34
35
|
|
|
35
36
|
There are 3 related packages for backlog operations:
|
|
36
37
|
|
|
37
|
-
- backlogops
|
|
38
|
+
- **[backlogops](https://pypi.org/project/backlogops/)** a collection of library
|
|
39
|
+
functions to manipulate backlogs
|
|
38
40
|
|
|
39
|
-
- backlogops-cli
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
user to use the library.
|
|
41
|
+
- **[backlogops-cli](https://pypi.org/project/backlogops-cli/)** command line
|
|
42
|
+
interface to use the functions in the library. This is just a thin wrapper
|
|
43
|
+
around the library functions. It serves a dual purpose as both an example of
|
|
44
|
+
how to use the library and as a tool for the user to use the library.
|
|
43
45
|
|
|
44
|
-
- backlogops-gui
|
|
45
|
-
|
|
46
|
-
the library.
|
|
46
|
+
- **[backlogops-gui](https://pypi.org/project/backlogops-gui/)** graphical user
|
|
47
|
+
interface to use the functions in the library. It is based on TkInter. The
|
|
48
|
+
ambition is to keep it as a thin wrapper around the library.
|
|
47
49
|
|
|
48
50
|
## Available functionality
|
|
49
51
|
|
|
@@ -72,6 +74,9 @@ The following functionality is available in all 3 packages:
|
|
|
72
74
|
the key is at a higher level it will bring all items it is a parent of in
|
|
73
75
|
front of it (recursively).
|
|
74
76
|
|
|
77
|
+
- Reorder the backlog in release order, optionally taking dependencies into
|
|
78
|
+
account.
|
|
79
|
+
|
|
75
80
|
- Set planned release dates from the estimated release dates.
|
|
76
81
|
|
|
77
82
|
- Calculate the release dates from the backlog items estimated ready dates, with
|
|
@@ -79,7 +84,23 @@ The following functionality is available in all 3 packages:
|
|
|
79
84
|
|
|
80
85
|
- Validate the backlog and releases for consistency.
|
|
81
86
|
|
|
82
|
-
-
|
|
87
|
+
- Convert a backlog and releases between table file formats.
|
|
88
|
+
|
|
89
|
+
- Order the releases by their planned or estimated date.
|
|
90
|
+
|
|
91
|
+
- Rename columns when reading a file and when writing a file.
|
|
92
|
+
|
|
93
|
+
- Map custom status names in input files to backlog item statuses.
|
|
94
|
+
|
|
95
|
+
- Choose how backlog item levels are written: by number, by name, or both, and
|
|
96
|
+
configure custom level names.
|
|
97
|
+
|
|
98
|
+
- Create stand-alone input or output preset configuration files.
|
|
99
|
+
|
|
100
|
+
- Migrate an older configuration or preset file to the current file format.
|
|
101
|
+
|
|
102
|
+
- A wizard to create a backlog-ops configuration file with the workforce, named
|
|
103
|
+
input and output presets, level names, and status name mapping.
|
|
83
104
|
|
|
84
105
|
## The operating model
|
|
85
106
|
|
|
@@ -97,45 +118,45 @@ availability of the team members.
|
|
|
97
118
|
Each backlog item has the following fields that are used by the algorithms in
|
|
98
119
|
the library:
|
|
99
120
|
|
|
100
|
-
- key
|
|
101
|
-
must not contain whitespace and must not contain any of the characters
|
|
102
|
-
( ) \[ \] \{ \}.
|
|
121
|
+
- `key` The key of the backlog item. Required. Must be unique. Must not be
|
|
122
|
+
empty, must not contain whitespace and must not contain any of the characters
|
|
123
|
+
, . ; : ( ) \[ \] \{ \}.
|
|
103
124
|
|
|
104
|
-
- level
|
|
125
|
+
- `level` The level of the backlog item. Required. Must be an integer.
|
|
105
126
|
|
|
106
|
-
- title
|
|
127
|
+
- `title` The title of the backlog item. Required.
|
|
107
128
|
|
|
108
|
-
- story_points
|
|
129
|
+
- `story_points` The story points of the backlog item. Required.
|
|
109
130
|
|
|
110
|
-
- status
|
|
131
|
+
- `status` The status of the backlog item. Required.
|
|
111
132
|
|
|
112
|
-
- parent_key
|
|
133
|
+
- `parent_key` The key of the parent backlog item. Optional. Must exist as a key
|
|
113
134
|
in the backlog. Parent keys are used to build the hierarchy of the backlog.
|
|
114
135
|
The parent key must be at a higher level than the current item. Parent keys
|
|
115
136
|
introduce implicit dependencies between items: the current item cannot start
|
|
116
137
|
before the parent item starts, and the parent item cannot finish before all
|
|
117
138
|
its children have finished.
|
|
118
139
|
|
|
119
|
-
- release
|
|
120
|
-
rules as the key. Must not be empty string.
|
|
140
|
+
- `release` The release of the backlog item. Optional. Follows the same
|
|
141
|
+
character rules as the key. Must not be empty string.
|
|
121
142
|
|
|
122
|
-
- team
|
|
143
|
+
- `team` The team responsible for the backlog item. Optional. Must not be empty
|
|
123
144
|
string. Must be a valid team name. If None the item can be done by any team.
|
|
124
145
|
If not None. the item can only be done by the specified team.
|
|
125
146
|
|
|
126
|
-
- depends_on_f2s
|
|
147
|
+
- `depends_on_f2s` The list of keys of the backlog items that must have been
|
|
127
148
|
finished before the current item can start. May be empty.
|
|
128
149
|
|
|
129
|
-
- depends_on_f2f
|
|
150
|
+
- `depends_on_f2f` The list of keys of the backlog items that must have been
|
|
130
151
|
finished before the current item can finish. May be empty.
|
|
131
152
|
|
|
132
|
-
- depends_on_s2s
|
|
153
|
+
- `depends_on_s2s` The list of keys of the backlog items that must have been
|
|
133
154
|
started before the current item can start. May be empty.
|
|
134
155
|
|
|
135
|
-
- planned_ready_date
|
|
156
|
+
- `planned_ready_date` The planned ready date of the backlog item. The date that
|
|
136
157
|
is communicated to the customer. Optional.
|
|
137
158
|
|
|
138
|
-
- estimated_ready_date
|
|
159
|
+
- `estimated_ready_date` The estimated ready date of the backlog item. Optional.
|
|
139
160
|
|
|
140
161
|
Additionally each backlog item can have any number of other fields.
|
|
141
162
|
|
|
@@ -184,33 +205,59 @@ backlogops_cli serves 2 purposes:
|
|
|
184
205
|
### Currently available commands
|
|
185
206
|
|
|
186
207
|
````text
|
|
208
|
+
|
|
187
209
|
python3 -m backlogops_cli.adjust_release_content
|
|
188
210
|
Adjust release content to fit the planned release dates
|
|
211
|
+
|
|
212
|
+
python3 -m backlogops_cli.config_wizard
|
|
213
|
+
Create a backlog-ops configuration file via a wizard
|
|
214
|
+
|
|
189
215
|
python3 -m backlogops_cli.convert
|
|
190
216
|
Convert a backlog and releases between table file formats
|
|
217
|
+
|
|
191
218
|
python3 -m backlogops_cli.demo_backlog
|
|
192
219
|
Write a demonstration backlog and releases to a file
|
|
220
|
+
|
|
193
221
|
python3 -m backlogops_cli.estimate_ready_date
|
|
194
222
|
Estimate ready dates for the backlog items
|
|
223
|
+
|
|
195
224
|
python3 -m backlogops_cli.extract_keys
|
|
196
225
|
Extract backlog keys at the given levels to a key list
|
|
226
|
+
|
|
197
227
|
python3 -m backlogops_cli.list
|
|
198
228
|
List all commands available in backlogops_cli
|
|
229
|
+
|
|
230
|
+
python3 -m backlogops_cli.migrate_cfg
|
|
231
|
+
Migrate a configuration file to the current file format
|
|
232
|
+
|
|
199
233
|
python3 -m backlogops_cli.order_by_deps
|
|
200
234
|
Reorder a backlog so that dependencies are fulfilled
|
|
235
|
+
|
|
201
236
|
python3 -m backlogops_cli.order_by_keys
|
|
202
237
|
Reorder a backlog so that key-list items come first
|
|
238
|
+
|
|
239
|
+
python3 -m backlogops_cli.order_by_release
|
|
240
|
+
Order the backlog to follow the release order
|
|
241
|
+
|
|
242
|
+
python3 -m backlogops_cli.order_releases
|
|
243
|
+
Order the releases by their planned or estimated date
|
|
244
|
+
|
|
203
245
|
python3 -m backlogops_cli.plan_release_dates
|
|
204
246
|
Set planned release dates from the estimated release dates
|
|
205
|
-
|
|
206
|
-
|
|
247
|
+
|
|
248
|
+
python3 -m backlogops_cli.preset_wizard
|
|
249
|
+
Create an input or output preset config file via a wizard
|
|
250
|
+
|
|
251
|
+
python3 -m backlogops_cli.version
|
|
252
|
+
Print version information for the backlogops_cli package
|
|
253
|
+
|
|
207
254
|
````
|
|
208
255
|
|
|
209
256
|
## Test summary
|
|
210
257
|
|
|
211
|
-
- Test result:
|
|
258
|
+
- Test result: 1545 passed in 32s
|
|
212
259
|
- No flake8 warnings.
|
|
213
260
|
- No mypy errors found.
|
|
214
261
|
- No python layout warnings.
|
|
215
|
-
- Built version(s): 0.
|
|
262
|
+
- Built version(s): 0.2
|
|
216
263
|
- Build and test using Python 3.14.6
|
|
@@ -10,14 +10,22 @@ backlogops_cli.egg-info/top_level.txt
|
|
|
10
10
|
src/backlogops_cli/__init__.py
|
|
11
11
|
src/backlogops_cli/__main__.py
|
|
12
12
|
src/backlogops_cli/_command_io.py
|
|
13
|
+
src/backlogops_cli/_migrate_warn.py
|
|
14
|
+
src/backlogops_cli/_wizard_io.py
|
|
13
15
|
src/backlogops_cli/adjust_release_content.py
|
|
16
|
+
src/backlogops_cli/bloc_version_reporter.py
|
|
17
|
+
src/backlogops_cli/config_wizard.py
|
|
14
18
|
src/backlogops_cli/convert.py
|
|
15
19
|
src/backlogops_cli/demo_backlog.py
|
|
16
20
|
src/backlogops_cli/estimate_ready_date.py
|
|
17
21
|
src/backlogops_cli/extract_keys.py
|
|
18
22
|
src/backlogops_cli/list.py
|
|
23
|
+
src/backlogops_cli/migrate_cfg.py
|
|
19
24
|
src/backlogops_cli/order_by_deps.py
|
|
20
25
|
src/backlogops_cli/order_by_keys.py
|
|
26
|
+
src/backlogops_cli/order_by_release.py
|
|
27
|
+
src/backlogops_cli/order_releases.py
|
|
21
28
|
src/backlogops_cli/plan_release_dates.py
|
|
29
|
+
src/backlogops_cli/preset_wizard.py
|
|
22
30
|
src/backlogops_cli/py.typed
|
|
23
|
-
src/backlogops_cli/
|
|
31
|
+
src/backlogops_cli/version.py
|
|
@@ -5,7 +5,7 @@ from setuptools import setup
|
|
|
5
5
|
|
|
6
6
|
setup(
|
|
7
7
|
name='backlogops-cli',
|
|
8
|
-
version='0.
|
|
8
|
+
version='0.2',
|
|
9
9
|
description='Command line interface for backlog operations.',
|
|
10
10
|
author='Tom Björkholm',
|
|
11
11
|
author_email='klausuler_linnet0q@icloud.com',
|
|
@@ -15,6 +15,7 @@ setup(
|
|
|
15
15
|
package_data={'backlogops_cli': ['src/py.typed']},
|
|
16
16
|
install_requires=[
|
|
17
17
|
'argcomplete >= 3.6.3',
|
|
18
|
-
'backlogops >= 0.
|
|
18
|
+
'backlogops >= 0.2',
|
|
19
|
+
'versionreporter >= 0.3'
|
|
19
20
|
]
|
|
20
21
|
)
|