pyegeria 5.4.0.33__py3-none-any.whl → 5.4.0.35__py3-none-any.whl
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.
- commands/.DS_Store +0 -0
- commands/cat/.DS_Store +0 -0
- commands/cat/.env +8 -0
- commands/cat/debug_log.2025-08-26_20-04-40_905576.log.zip +0 -0
- commands/cat/debug_log.2025-08-27_20-09-41_795022.log.zip +0 -0
- commands/cat/debug_log.log +898 -0
- commands/cat/list_format_set.py +4 -1
- commands/cat/logs/pyegeria.log +90 -0
- commands/cli/debug_log.log +0 -0
- commands/doc/.DS_Store +0 -0
- commands/ops/logs/pyegeria.log +0 -0
- md_processing/.DS_Store +0 -0
- md_processing/.idea/.gitignore +8 -0
- md_processing/.idea/inspectionProfiles/Project_Default.xml +59 -0
- md_processing/.idea/md_processing.iml +15 -0
- md_processing/.idea/modules.xml +8 -0
- md_processing/.idea/sonarlint/issuestore/index.pb +0 -0
- md_processing/.idea/sonarlint/securityhotspotstore/index.pb +0 -0
- md_processing/.idea/vcs.xml +6 -0
- md_processing/.idea/workspace.xml +107 -0
- md_processing/__init__.py +3 -2
- md_processing/data/commands.json +11496 -10345
- md_processing/dr_egeria.py +14 -6
- md_processing/dr_egeria_inbox/Derive-Dr-Gov-Defs.md +8 -0
- md_processing/dr_egeria_inbox/Dr.Egeria Templates.md +873 -0
- md_processing/dr_egeria_inbox/arch_test.md +57 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro.md +254 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_more_terms.md +696 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part1.md +254 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part2.md +298 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part3.md +608 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part4.md +94 -0
- md_processing/dr_egeria_inbox/archive/freddie_intro.md +284 -0
- md_processing/dr_egeria_inbox/archive/freddie_intro_orig.md +275 -0
- md_processing/dr_egeria_inbox/archive/test-term.md +110 -0
- md_processing/dr_egeria_inbox/cat_test.md +100 -0
- md_processing/dr_egeria_inbox/collections.md +39 -0
- md_processing/dr_egeria_inbox/data_designer_debug.log +6 -0
- md_processing/dr_egeria_inbox/data_designer_out.md +60 -0
- md_processing/dr_egeria_inbox/data_designer_search_test.md +11 -0
- md_processing/dr_egeria_inbox/data_field.md +54 -0
- md_processing/dr_egeria_inbox/data_spec.md +77 -0
- md_processing/dr_egeria_inbox/data_spec_test.md +2406 -0
- md_processing/dr_egeria_inbox/data_test.md +179 -0
- md_processing/dr_egeria_inbox/data_test2.md +429 -0
- md_processing/dr_egeria_inbox/data_test3.md +462 -0
- md_processing/dr_egeria_inbox/dr_egeria_data_designer_1.md +124 -0
- md_processing/dr_egeria_inbox/dr_egeria_intro_categories.md +168 -0
- md_processing/dr_egeria_inbox/dr_egeria_intro_part1.md +280 -0
- md_processing/dr_egeria_inbox/dr_egeria_intro_part2.md +318 -0
- md_processing/dr_egeria_inbox/dr_egeria_intro_part3.md +1073 -0
- md_processing/dr_egeria_inbox/dr_egeria_isc1.md +44 -0
- md_processing/dr_egeria_inbox/generated_help_report.md +9 -0
- md_processing/dr_egeria_inbox/glossary_list.md +5 -0
- md_processing/dr_egeria_inbox/glossary_search_test.md +40 -0
- md_processing/dr_egeria_inbox/glossary_test1.md +363 -0
- md_processing/dr_egeria_inbox/gov_def.md +482 -0
- md_processing/dr_egeria_inbox/gov_def2.md +447 -0
- md_processing/dr_egeria_inbox/img.png +0 -0
- md_processing/dr_egeria_inbox/output_tests.md +103 -0
- md_processing/dr_egeria_inbox/product.md +211 -0
- md_processing/dr_egeria_inbox/rel.md +8 -0
- md_processing/dr_egeria_inbox/sb.md +119 -0
- md_processing/dr_egeria_inbox/solution-components.md +136 -0
- md_processing/dr_egeria_inbox/solution_blueprints.md +118 -0
- md_processing/dr_egeria_inbox/synonym_test.md +42 -0
- md_processing/dr_egeria_inbox/t2.md +268 -0
- md_processing/dr_egeria_outbox/.DS_Store +0 -0
- md_processing/dr_egeria_outbox/.obsidian/app.json +1 -0
- md_processing/dr_egeria_outbox/.obsidian/appearance.json +1 -0
- md_processing/dr_egeria_outbox/.obsidian/community-plugins.json +7 -0
- md_processing/dr_egeria_outbox/.obsidian/core-plugins.json +33 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/buttons/main.js +5164 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/buttons/manifest.json +10 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/buttons/styles.css +624 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/data.json +10 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/main.js +4459 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/manifest.json +10 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/data.json +3 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/main.js +153 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/manifest.json +11 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/styles.css +1 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/main.js +500 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/manifest.json +12 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/styles.css +1 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/data.json +38 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/main.js +37 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/manifest.json +11 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/styles.css +220 -0
- md_processing/dr_egeria_outbox/.obsidian/types.json +28 -0
- md_processing/dr_egeria_outbox/.obsidian/workspace.json +270 -0
- md_processing/dr_egeria_outbox/Button Test.md +11 -0
- md_processing/dr_egeria_outbox/Scripts/.DS_Store +0 -0
- md_processing/dr_egeria_outbox/Scripts/sendRest.js +24 -0
- md_processing/dr_egeria_outbox/Templates/sendToApi.md.md +17 -0
- md_processing/dr_egeria_outbox/Untitled.canvas +1 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 15:00-Derive-Dr-Gov-Defs.md +719 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:13-Derive-Dr-Gov-Defs.md +41 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:14-Derive-Dr-Gov-Defs.md +33 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:50-Derive-Dr-Gov-Defs.md +192 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:08-gov_def2.md +486 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:10-gov_def2.md +486 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:53-gov_def2.md +486 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:54-gov_def2.md +486 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:03-gov_def2.md +486 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:06-gov_def2.md +486 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:10-gov_def2.md +486 -0
- md_processing/md_commands/glossary_commands.py +2 -2
- md_processing/md_commands/old_project_commands.py +164 -0
- md_processing/md_commands/product_manager_commands.py +5 -5
- md_processing/md_commands/project_commands.py +368 -134
- md_processing/md_processing_utils/common_md_proc_utils.py +1 -0
- md_processing/md_processing_utils/common_md_utils.py +13 -1
- md_processing/md_processing_utils/debug_log +3 -574
- md_processing/md_processing_utils/debug_log.log +0 -0
- md_processing/md_processing_utils/determine_width.py +103 -0
- md_processing/md_processing_utils/generate_dr_help.py +44 -18
- md_processing/md_processing_utils/logs/pyegeria.log +56 -0
- md_processing/md_processing_utils/md_processing_constants.py +37 -4
- pyegeria/.DS_Store +0 -0
- pyegeria/_client_new.py +2 -2
- pyegeria/_output_formats.py +38 -10
- pyegeria/glossary_manager.py +0 -2
- pyegeria/output_formatter.py +9 -8
- pyegeria/project_manager.py +541 -420
- {pyegeria-5.4.0.33.dist-info → pyegeria-5.4.0.35.dist-info}/METADATA +2 -1
- {pyegeria-5.4.0.33.dist-info → pyegeria-5.4.0.35.dist-info}/RECORD +130 -25
- md_processing/dr-egeria-outbox/Collections-2025-08-12-13-30-37.md +0 -163
- md_processing/dr-egeria-outbox/Collections-2025-08-12-13-35-58.md +0 -474
- md_processing/md_processing_utils/dr-egeria-help-2025-07-17T17:22:09.md +0 -2065
- {pyegeria-5.4.0.33.dist-info → pyegeria-5.4.0.35.dist-info}/LICENSE +0 -0
- {pyegeria-5.4.0.33.dist-info → pyegeria-5.4.0.35.dist-info}/WHEEL +0 -0
- {pyegeria-5.4.0.33.dist-info → pyegeria-5.4.0.35.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,486 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
# Don't Update Regulation
|
4
|
+
## Name
|
5
|
+
A Regulation
|
6
|
+
## Summary
|
7
|
+
Based on Talmud
|
8
|
+
## Description
|
9
|
+
Somewhat chaotic
|
10
|
+
## Domain Identifier
|
11
|
+
1
|
12
|
+
## Version Identifier
|
13
|
+
|
14
|
+
## Scope
|
15
|
+
InterGalactic
|
16
|
+
|
17
|
+
## Importance
|
18
|
+
Somewhat
|
19
|
+
|
20
|
+
## Implications
|
21
|
+
Power; Money
|
22
|
+
## Outcomes
|
23
|
+
Happiness
|
24
|
+
## Results
|
25
|
+
Unknown
|
26
|
+
## Status
|
27
|
+
PROPOSED
|
28
|
+
|
29
|
+
____
|
30
|
+
|
31
|
+
# Don't Create Governance Control
|
32
|
+
## Name
|
33
|
+
A Control
|
34
|
+
## Summary
|
35
|
+
Based on Talmud
|
36
|
+
## Description
|
37
|
+
Somewhat chaotic
|
38
|
+
## Domain Identifier
|
39
|
+
1
|
40
|
+
## Version Identifier
|
41
|
+
|
42
|
+
## Scope
|
43
|
+
InterGalactic
|
44
|
+
|
45
|
+
## Importance
|
46
|
+
Somewhat
|
47
|
+
|
48
|
+
## Implications
|
49
|
+
Power; Money
|
50
|
+
## Outcomes
|
51
|
+
Happiness
|
52
|
+
## Results
|
53
|
+
Unknown
|
54
|
+
## Status
|
55
|
+
PROPOSED
|
56
|
+
|
57
|
+
____
|
58
|
+
|
59
|
+
# Don't Create Governance Rule
|
60
|
+
## Name
|
61
|
+
a gov rule
|
62
|
+
## Summary
|
63
|
+
Based on Talmud
|
64
|
+
## Description
|
65
|
+
Somewhat chaotic
|
66
|
+
## Domain Identifier
|
67
|
+
1
|
68
|
+
## Version Identifier
|
69
|
+
|
70
|
+
## Scope
|
71
|
+
InterGalactic
|
72
|
+
|
73
|
+
## Importance
|
74
|
+
Somewhat
|
75
|
+
|
76
|
+
## Implications
|
77
|
+
Power; Money
|
78
|
+
## Outcomes
|
79
|
+
Happiness
|
80
|
+
## Results
|
81
|
+
Unknown
|
82
|
+
## Status
|
83
|
+
PROPOSED
|
84
|
+
|
85
|
+
____
|
86
|
+
|
87
|
+
# Don't Create Service Level Objectives
|
88
|
+
## Name
|
89
|
+
An Obligation
|
90
|
+
## Summary
|
91
|
+
Based on Talmud
|
92
|
+
## Description
|
93
|
+
Somewhat chaotic
|
94
|
+
## Domain Identifier
|
95
|
+
1
|
96
|
+
## Version Identifier
|
97
|
+
|
98
|
+
## Scope
|
99
|
+
InterGalactic
|
100
|
+
|
101
|
+
## Importance
|
102
|
+
Somewhat
|
103
|
+
|
104
|
+
## Implications
|
105
|
+
Power; Money
|
106
|
+
## Outcomes
|
107
|
+
Happiness
|
108
|
+
## Results
|
109
|
+
Unknown
|
110
|
+
## Status
|
111
|
+
PROPOSED
|
112
|
+
|
113
|
+
____
|
114
|
+
|
115
|
+
# Don't Create Governance Process
|
116
|
+
## Name
|
117
|
+
A Gov Process
|
118
|
+
## Summary
|
119
|
+
Based on Talmud
|
120
|
+
## Description
|
121
|
+
Somewhat chaotic
|
122
|
+
## Domain Identifier
|
123
|
+
1
|
124
|
+
## Version Identifier
|
125
|
+
|
126
|
+
## Scope
|
127
|
+
InterGalactic
|
128
|
+
|
129
|
+
## Importance
|
130
|
+
Somewhat
|
131
|
+
|
132
|
+
## Implications
|
133
|
+
Power; Money
|
134
|
+
## Outcomes
|
135
|
+
Happiness
|
136
|
+
## Results
|
137
|
+
Unknown
|
138
|
+
## Status
|
139
|
+
PROPOSED
|
140
|
+
|
141
|
+
____
|
142
|
+
|
143
|
+
# Don't Create Governance Responsibility
|
144
|
+
## Name
|
145
|
+
A Responsibility
|
146
|
+
## Summary
|
147
|
+
Based on Talmud
|
148
|
+
## Description
|
149
|
+
Somewhat chaotic
|
150
|
+
## Domain Identifier
|
151
|
+
1
|
152
|
+
## Version Identifier
|
153
|
+
|
154
|
+
## Scope
|
155
|
+
InterGalactic
|
156
|
+
|
157
|
+
## Importance
|
158
|
+
Somewhat
|
159
|
+
|
160
|
+
## Implications
|
161
|
+
Power; Money
|
162
|
+
## Outcomes
|
163
|
+
Happiness
|
164
|
+
## Results
|
165
|
+
Unknown
|
166
|
+
## Status
|
167
|
+
PROPOSED
|
168
|
+
|
169
|
+
____
|
170
|
+
|
171
|
+
# Don't Update Governance Procedure
|
172
|
+
## Name
|
173
|
+
A Gov procedure
|
174
|
+
## Summary
|
175
|
+
Based on Talmud
|
176
|
+
## Description
|
177
|
+
Somewhat chaotic
|
178
|
+
## Domain Identifier
|
179
|
+
1
|
180
|
+
## Version Identifier
|
181
|
+
|
182
|
+
## Scope
|
183
|
+
InterGalactic
|
184
|
+
|
185
|
+
## Importance
|
186
|
+
Somewhat
|
187
|
+
|
188
|
+
## Implications
|
189
|
+
Power; Money
|
190
|
+
## Outcomes
|
191
|
+
Happiness
|
192
|
+
## Results
|
193
|
+
Unknown
|
194
|
+
## Status
|
195
|
+
PROPOSED
|
196
|
+
|
197
|
+
## Supports Policies
|
198
|
+
Approach
|
199
|
+
|
200
|
+
## Merge Update
|
201
|
+
True
|
202
|
+
____
|
203
|
+
|
204
|
+
# Don't Create Security Access Control
|
205
|
+
## Name
|
206
|
+
sec access
|
207
|
+
## Summary
|
208
|
+
Based on Talmud
|
209
|
+
## Description
|
210
|
+
Somewhat chaotic
|
211
|
+
## Domain Identifier
|
212
|
+
1
|
213
|
+
## Version Identifier
|
214
|
+
|
215
|
+
## Scope
|
216
|
+
InterGalactic
|
217
|
+
|
218
|
+
## Importance
|
219
|
+
Somewhat
|
220
|
+
|
221
|
+
## Implications
|
222
|
+
Power; Money
|
223
|
+
## Outcomes
|
224
|
+
Happiness
|
225
|
+
## Results
|
226
|
+
Unknown
|
227
|
+
## Status
|
228
|
+
PROPOSED
|
229
|
+
|
230
|
+
____
|
231
|
+
|
232
|
+
# Don't Create Security Group
|
233
|
+
## Name
|
234
|
+
a Sec Group
|
235
|
+
## Summary
|
236
|
+
Based on Talmud
|
237
|
+
## Description
|
238
|
+
Somewhat chaotic
|
239
|
+
## Domain Identifier
|
240
|
+
1
|
241
|
+
## Version Identifier
|
242
|
+
|
243
|
+
## Scope
|
244
|
+
InterGalactic
|
245
|
+
|
246
|
+
## Importance
|
247
|
+
Somewhat
|
248
|
+
|
249
|
+
## Implications
|
250
|
+
Power; Money
|
251
|
+
## Outcomes
|
252
|
+
Happiness
|
253
|
+
## Results
|
254
|
+
Unknown
|
255
|
+
## Status
|
256
|
+
PROPOSED
|
257
|
+
|
258
|
+
|
259
|
+
____
|
260
|
+
|
261
|
+
# Don't Naming Standard Rule
|
262
|
+
## Name
|
263
|
+
a Namng Standard
|
264
|
+
## Summary
|
265
|
+
Based on Talmud
|
266
|
+
## Description
|
267
|
+
Somewhat chaotic
|
268
|
+
## Domain Identifier
|
269
|
+
1
|
270
|
+
## Version Identifier
|
271
|
+
|
272
|
+
## Scope
|
273
|
+
InterGalactic
|
274
|
+
|
275
|
+
## Importance
|
276
|
+
Somewhat
|
277
|
+
|
278
|
+
## Implications
|
279
|
+
Power; Money
|
280
|
+
## Outcomes
|
281
|
+
Happiness
|
282
|
+
## Results
|
283
|
+
Unknown
|
284
|
+
## Status
|
285
|
+
PROPOSED
|
286
|
+
|
287
|
+
____
|
288
|
+
|
289
|
+
# Don't Create Certification Type
|
290
|
+
## Name
|
291
|
+
a Cert
|
292
|
+
## Summary
|
293
|
+
Based on Talmud
|
294
|
+
## Description
|
295
|
+
Somewhat chaotic
|
296
|
+
## Domain Identifier
|
297
|
+
1
|
298
|
+
## Version Identifier
|
299
|
+
|
300
|
+
## Scope
|
301
|
+
InterGalactic
|
302
|
+
|
303
|
+
## Importance
|
304
|
+
Somewhat
|
305
|
+
|
306
|
+
## Implications
|
307
|
+
Power; Money
|
308
|
+
## Outcomes
|
309
|
+
Happiness
|
310
|
+
## Results
|
311
|
+
Unknown
|
312
|
+
## Status
|
313
|
+
PROPOSED
|
314
|
+
|
315
|
+
____
|
316
|
+
|
317
|
+
# Don't Create License Type
|
318
|
+
## Name
|
319
|
+
a License
|
320
|
+
## Summary
|
321
|
+
Based on Talmud
|
322
|
+
## Description
|
323
|
+
Somewhat chaotic
|
324
|
+
## Domain Identifier
|
325
|
+
1
|
326
|
+
## Version Identifier
|
327
|
+
|
328
|
+
## Scope
|
329
|
+
InterGalactic
|
330
|
+
|
331
|
+
## Importance
|
332
|
+
Somewhat
|
333
|
+
|
334
|
+
## Implications
|
335
|
+
Power; Money
|
336
|
+
## Outcomes
|
337
|
+
Happiness
|
338
|
+
## Results
|
339
|
+
Unknown
|
340
|
+
## Status
|
341
|
+
PROPOSED
|
342
|
+
|
343
|
+
___
|
344
|
+
|
345
|
+
# Don't Create Governance Principle
|
346
|
+
## Name
|
347
|
+
Talmudic
|
348
|
+
## Summary
|
349
|
+
Based on Talmud
|
350
|
+
## Description
|
351
|
+
Somewhat chaotic
|
352
|
+
## Domain Identifier
|
353
|
+
1
|
354
|
+
## Version Identifier
|
355
|
+
|
356
|
+
## Scope
|
357
|
+
InterGalactic
|
358
|
+
|
359
|
+
## Importance
|
360
|
+
Somewhat
|
361
|
+
|
362
|
+
## Implications
|
363
|
+
Power; Money
|
364
|
+
## Outcomes
|
365
|
+
Happiness
|
366
|
+
## Results
|
367
|
+
Unknown
|
368
|
+
## Status
|
369
|
+
PROPOSED
|
370
|
+
|
371
|
+
____
|
372
|
+
|
373
|
+
# Don't Update Governance Approach
|
374
|
+
## Name
|
375
|
+
Approach
|
376
|
+
## Summary
|
377
|
+
Based on Talmud
|
378
|
+
## Description
|
379
|
+
Somewhat chaotic
|
380
|
+
## Domain Identifier
|
381
|
+
1
|
382
|
+
## Version Identifier
|
383
|
+
|
384
|
+
## Scope
|
385
|
+
InterGalactic
|
386
|
+
|
387
|
+
## Importance
|
388
|
+
Somewhat
|
389
|
+
|
390
|
+
## Implications
|
391
|
+
Power; Money
|
392
|
+
## Outcomes
|
393
|
+
Happiness
|
394
|
+
## Results
|
395
|
+
Unknown
|
396
|
+
## Status
|
397
|
+
PROPOSED
|
398
|
+
## Drivers
|
399
|
+
A Regulation
|
400
|
+
## Merge Update
|
401
|
+
True
|
402
|
+
____
|
403
|
+
|
404
|
+
|
405
|
+
# Update Governance Definition
|
406
|
+
|
407
|
+
## Governance Definition Name
|
408
|
+
|
409
|
+
Strategy
|
410
|
+
|
411
|
+
## Type Name
|
412
|
+
GovernanceStrategy
|
413
|
+
|
414
|
+
## Extended Properties
|
415
|
+
{'summary': 'Based on Talmud', 'description': 'Somewhat chaotic'}
|
416
|
+
|
417
|
+
## Document Identifier
|
418
|
+
GovStrategy::Strategy
|
419
|
+
|
420
|
+
## Title
|
421
|
+
Strategy
|
422
|
+
|
423
|
+
## Scope
|
424
|
+
InterGalactic
|
425
|
+
|
426
|
+
## Domain Identifier
|
427
|
+
1
|
428
|
+
|
429
|
+
## Importance
|
430
|
+
Somewhat
|
431
|
+
|
432
|
+
## Outcomes
|
433
|
+
Happiness
|
434
|
+
|
435
|
+
## Results
|
436
|
+
Unknown
|
437
|
+
|
438
|
+
## GUID
|
439
|
+
388ea693-5239-46c0-a339-5bb96bd6a514
|
440
|
+
|
441
|
+
|
442
|
+
|
443
|
+
|
444
|
+
# Don't Detach Governance Drivers
|
445
|
+
## Definition 1
|
446
|
+
A Regulation
|
447
|
+
## Definition 2
|
448
|
+
Strategy
|
449
|
+
## Label
|
450
|
+
Don't get caught
|
451
|
+
|
452
|
+
___
|
453
|
+
|
454
|
+
# `Governance Definitions` with filter: `*`
|
455
|
+
|
456
|
+
# Governance Definitions Table
|
457
|
+
|
458
|
+
Governance Definitions found from the search string: `All`
|
459
|
+
|
460
|
+
| Governance Definition | Type Name | Scope | Qualified Name | Summary | Importance |
|
461
|
+
|-------------|-------------|-------------|-------------|-------------|-------------|
|
462
|
+
| New Sustainability Governance Domain | GovernanceApproach | Across Coco Pharmaceuticals | GovernanceApproach::New Sustainability Governance Domain | | High |
|
463
|
+
| Valid weekly measurements data for the {{clinicalTrialId}} Clinical Trial | CertificationType | Within Project | CertificationType:: Valid weekly measurements data for the {{clinicalTrialId}} Clinical Trial | | |
|
464
|
+
| Standard Clinical Trial License | LicenseType | This license is part of the agreement made between participant of a clinical trial and Coco Pharmaceuticals. It describes the types of processing and governance that are permitted/required concerning the use of the data collected during a clinical trial. | License::Standard Clinical Trial License | | |
|
465
|
+
| A Gov procedure | GovernanceProcedure | InterGalactic | GovProcedure::A Gov procedure | | Somewhat |
|
466
|
+
| Operate Coco Pharmaceuticals in an increasingly sustainable way | GovernanceStrategy | Across Coco Pharmaceuticals | GovernanceStrategy::Operate Coco Pharmaceuticals in an increasingly sustainable way | | High |
|
467
|
+
| Cross Clinical Trial Analysis | DataProcessingPurpose | This purpose allows processing of the data beyond the scope of the specific clinical trial. However, it can only be used for processing that advances the clinical trial process, or the development of new treatments. | DataProcessingPurpose:: Cross Clinical Trial Analysis | | |
|
468
|
+
| Avoid using harmful materials | GovernancePrinciple | Across Coco Pharmaceuticals | GovernancePrinciple::Avoid using harmful materials | | High |
|
469
|
+
| Eliminate CFC/HFC Cooling Units | GovernanceResponsibility | Within Facility | GovernanceResponsibility::Eliminate CFC/HFC Cooling Units | | High |
|
470
|
+
| General Purpose | DataProcessingPurpose | This purpose allows any purpose since the data either has no license, or an open license that permits all types of processing. | DataProcessingPurpose:: General Purpose | | |
|
471
|
+
| Approved clinical trial | CertificationType | Across Coco Pharmaceuticals | CertificationType:: Approved clinical trial | | |
|
472
|
+
| Measure harmful emissions | GovernanceApproach | Across Coco Pharmaceuticals | GovernanceApproach::Measure harmful emissions | | High |
|
473
|
+
| Corporate Sustainability Reporting Directive (CSRD) | Regulation | Across Coco Pharmaceuticals | Regulation::Corporate Sustainability Reporting Directive (CSRD) | | High |
|
474
|
+
| Participating Hospital for the {{clinicalTrialId}} approved Clinical Trial | CertificationType | Within Project | CertificationType:: Participating Hospital for the {{clinicalTrialId}} approved Clinical Trial | | |
|
475
|
+
| Approach | GovernanceApproach | InterGalactic | GovApproach::Approach | | Somewhat |
|
476
|
+
| Strategy | GovernanceStrategy | InterGalactic | GovStrategy::Strategy | | Somewhat |
|
477
|
+
| Deliver Sustainability Reporting Capability | GovernanceResponsibility | Within Facility | GovernanceResponsibility::Deliver Sustainability Reporting Capability | | High |
|
478
|
+
| Sustainability Champion | GovernanceResponsibility | Within Business Capability | GovernanceResponsibility::Sustainability Champion | | High |
|
479
|
+
| A Regulation | Regulation | InterGalactic | Regulation::A Regulation | | Somewhat |
|
480
|
+
| Sustainability leadership | GovernanceResponsibility | Across Coco Pharmaceuticals | GovernanceResponsibility::Sustainability leadership | | High |
|
481
|
+
| The price of ignoring sustainability | Threat | Across Coco Pharmaceuticals | Threat::The price of ignoring sustainability | | High |
|
482
|
+
| Clinical Trial Validation | DataProcessingPurpose | This purpose limits the processing of the data to the clinical trial in which it was collected. | DataProcessingPurpose:: Clinical Trial Validation | | |
|
483
|
+
|
484
|
+
# Provenance
|
485
|
+
|
486
|
+
* Results from processing file gov_def2.md on 2025-07-18 09:10
|
@@ -15,7 +15,7 @@ from md_processing.md_processing_utils.common_md_proc_utils import (parse_upsert
|
|
15
15
|
sync_collection_memberships)
|
16
16
|
from md_processing.md_processing_utils.common_md_utils import update_element_dictionary, set_update_body, \
|
17
17
|
set_element_status_request_body, set_prop_body, set_delete_request_body, set_rel_request_body, set_peer_gov_def_request_body, \
|
18
|
-
set_rel_request_body, set_create_body,
|
18
|
+
set_rel_request_body, set_create_body, set_object_classifications, set_product_body
|
19
19
|
|
20
20
|
from md_processing.md_processing_utils.extraction_utils import (extract_command_plus, update_a_command)
|
21
21
|
from md_processing.md_processing_utils.md_processing_constants import (load_commands, ERROR)
|
@@ -199,7 +199,7 @@ def process_glossary_upsert_command(egeria_client: EgeriaTech, txt: str, directi
|
|
199
199
|
body = set_create_body(object_type,attributes)
|
200
200
|
|
201
201
|
# if this is a root or folder (maybe more in the future), then make sure that the classification is set.
|
202
|
-
body["initialClassifications"] =
|
202
|
+
body["initialClassifications"] = set_object_classifications(object_type, attributes, ["Taxonomy", "CanonicalVocabulary"])
|
203
203
|
if object_type == "Taxonomy":
|
204
204
|
body["initialClassifications"]['Taxonomy']['organizingPrinciple'] = attributes.get('Organizing Principle', {}).get('value', None)
|
205
205
|
elif object_type == "CanonicalVocabulary":
|
@@ -0,0 +1,164 @@
|
|
1
|
+
"""
|
2
|
+
This file contains project-related object_action functions for processing Egeria Markdown
|
3
|
+
"""
|
4
|
+
|
5
|
+
from rich.markdown import Markdown
|
6
|
+
|
7
|
+
from md_processing.md_processing_utils.common_md_utils import (debug_level, print_msg, is_valid_iso_date)
|
8
|
+
from md_processing.md_processing_utils.extraction_utils import (extract_command, process_simple_attribute)
|
9
|
+
from md_processing.md_processing_utils.md_processing_constants import ALWAYS, ERROR, INFO, pre_command
|
10
|
+
from pyegeria._globals import NO_PROJECTS_FOUND
|
11
|
+
from pyegeria.project_manager import ProjectManager
|
12
|
+
|
13
|
+
def process_per_proj_upsert_command(egeria_client: ProjectManager, txt: str, directive: str = "display") -> str | None:
|
14
|
+
"""
|
15
|
+
Processes a personal project create or update object_action by extracting key attributes such as
|
16
|
+
glossary name, language, description, and usage from the given cell.
|
17
|
+
|
18
|
+
:param txt: A string representing the input cell to be processed for
|
19
|
+
extracting glossary-related attributes.
|
20
|
+
:param directive: an optional string indicating the directive to be used - display, validate or execute
|
21
|
+
:return: A string summarizing the outcome of the processing.
|
22
|
+
"""
|
23
|
+
from md_processing.md_processing_utils.common_md_utils import set_debug_level
|
24
|
+
|
25
|
+
command = extract_command(txt)
|
26
|
+
print(Markdown(f"# {command}\n"))
|
27
|
+
|
28
|
+
object = command.split()
|
29
|
+
object_type = f"{object[1]} {object[2]}"
|
30
|
+
object_action = object[0]
|
31
|
+
set_debug_level(directive)
|
32
|
+
|
33
|
+
project_name = process_simple_attribute(txt, ['Project Name'])
|
34
|
+
description = process_simple_attribute(txt, ['Description'])
|
35
|
+
project_identifier = process_simple_attribute(txt, ['Project Identifier'])
|
36
|
+
project_status = process_simple_attribute(txt, ['Status'])
|
37
|
+
project_phase = process_simple_attribute(txt, ['Project Phase'])
|
38
|
+
project_health = process_simple_attribute(txt, ['Project Health'])
|
39
|
+
start_date = process_simple_attribute(txt, ['Start Date'])
|
40
|
+
planned_end_date = process_simple_attribute(txt, ['Planned End Date'])
|
41
|
+
print(Markdown(f"{pre_command} `\'{command}\'` for project: `{project_name}` with directive: `{directive}` "))
|
42
|
+
|
43
|
+
project_display = (f"\n* Command: {command}\n\t* Project: {project_name}\n\t"
|
44
|
+
f"* Status: {project_status}\n\t* Description: {description}\n\t"
|
45
|
+
f"* Phase: {project_phase}\n\t* Health: {project_health}\n\t"
|
46
|
+
f"* Start Date: {start_date}\n\t* Planned End Date: {planned_end_date}\n")
|
47
|
+
|
48
|
+
def validate_project(obj_action: str) -> tuple[bool, bool, str, str]:
|
49
|
+
valid = True
|
50
|
+
msg = ""
|
51
|
+
known_guid = None
|
52
|
+
known_q_name = None
|
53
|
+
|
54
|
+
project_details = egeria_client.get_projects_by_name(project_name)
|
55
|
+
if project_details == NO_PROJECTS_FOUND:
|
56
|
+
project_exists = False
|
57
|
+
else:
|
58
|
+
project_exists = True
|
59
|
+
|
60
|
+
if project_name is None:
|
61
|
+
msg = f"* {ERROR}Project name is missing\n"
|
62
|
+
valid = False
|
63
|
+
if project_status is None:
|
64
|
+
msg += f"* {INFO}No Project status found\n"
|
65
|
+
|
66
|
+
if description is None:
|
67
|
+
msg += f"* {INFO}No Description found\n"
|
68
|
+
|
69
|
+
if project_identifier is None:
|
70
|
+
msg += f"* {INFO}No Project Identifier found\n"
|
71
|
+
|
72
|
+
if project_phase is None:
|
73
|
+
msg += f"* {INFO}No Project Phase found\n"
|
74
|
+
|
75
|
+
if project_health is None:
|
76
|
+
msg += f"* {INFO}No Project Health found\n"
|
77
|
+
|
78
|
+
if start_date is None:
|
79
|
+
msg += f"* {INFO}No Start Date found\n"
|
80
|
+
elif not is_valid_iso_date(start_date):
|
81
|
+
msg += f"* {ERROR}Start Date is not a valid ISO date of form YYYY-MM-DD\n"
|
82
|
+
valid = False
|
83
|
+
|
84
|
+
if planned_end_date is None:
|
85
|
+
msg += f"* {INFO} No Planned End Date found\n"
|
86
|
+
elif not is_valid_iso_date(planned_end_date):
|
87
|
+
msg += f"* {ERROR}Planned End Date is not a valid ISO date of form YYYY-MM-DD\n"
|
88
|
+
valid = False
|
89
|
+
|
90
|
+
if obj_action == "Update":
|
91
|
+
q_name = process_simple_attribute(txt, 'Qualified Name')
|
92
|
+
|
93
|
+
if not project_exists:
|
94
|
+
msg += f"* {ERROR}Project {project_name} does not exist\n"
|
95
|
+
valid = False
|
96
|
+
if len(project_details) > 1 and project_exists:
|
97
|
+
msg += f"* {ERROR}More than one project with name {project_name} found\n"
|
98
|
+
valid = False
|
99
|
+
if len(project_details) == 1:
|
100
|
+
known_guid = project_details[0]['elementHeader'].get('guid', None)
|
101
|
+
known_q_name = project_details[0]['glossaryProperties'].get('qualifiedName', None)
|
102
|
+
if q_name is None:
|
103
|
+
msg += f"* {INFO}Qualified Name is missing => can use known qualified name of {known_q_name}\n"
|
104
|
+
valid = True
|
105
|
+
elif q_name != known_q_name:
|
106
|
+
msg += (f"* {ERROR}Project {project_name} qualifiedName mismatch between {q_name} and {known_q_name}\n")
|
107
|
+
valid = False
|
108
|
+
if valid:
|
109
|
+
msg += project_display
|
110
|
+
msg += f"* -->Project {project_name} exists and can be updated\n"
|
111
|
+
else:
|
112
|
+
msg += f"* --> validation failed\n"
|
113
|
+
msg += '---'
|
114
|
+
print(Markdown(msg))
|
115
|
+
return valid, project_exists, known_guid, known_q_name
|
116
|
+
|
117
|
+
elif obj_action == "Create":
|
118
|
+
if project_exists:
|
119
|
+
msg += f"\n{ERROR}Project {project_name} already exists"
|
120
|
+
else:
|
121
|
+
msg += f"\n-->It is valid to create Project \'{project_name}\' with:\n"
|
122
|
+
print(Markdown(msg))
|
123
|
+
return valid, project_exists, known_guid, known_q_name
|
124
|
+
|
125
|
+
if directive == "display":
|
126
|
+
print(Markdown(project_display))
|
127
|
+
return None
|
128
|
+
elif directive == "validate":
|
129
|
+
valid, project_exists, known_guid, known_q_name = validate_project(object_action)
|
130
|
+
return valid
|
131
|
+
elif directive == "process":
|
132
|
+
valid, project_exists, known_guid, known_q_name = validate_project(object_action)
|
133
|
+
if valid:
|
134
|
+
if object_action == "Create":
|
135
|
+
if project_exists:
|
136
|
+
print(f"\n{ERROR}Project {project_name} already exists\n")
|
137
|
+
return None
|
138
|
+
else:
|
139
|
+
project_guid = egeria_client.create_personal_project(project_name, description, project_identifier,
|
140
|
+
project_status, project_phase, project_health,
|
141
|
+
start_date, planned_end_date)
|
142
|
+
if project_guid:
|
143
|
+
print_msg(ALWAYS, f"Created Project {project_name} with GUID {project_guid}", debug_level)
|
144
|
+
return egeria_client.get_project_by_guid(project_guid, output_format='MD')
|
145
|
+
else:
|
146
|
+
print_msg(ERROR, f"Failed to create Project {project_name}", debug_level)
|
147
|
+
return None
|
148
|
+
elif object_action == "Update":
|
149
|
+
if not project_exists:
|
150
|
+
print(f"\n{ERROR}Project {project_name} does not exist\n")
|
151
|
+
return None
|
152
|
+
else:
|
153
|
+
project_guid = egeria_client.update_personal_project(known_guid, project_name, description,
|
154
|
+
project_identifier, project_status,
|
155
|
+
project_phase, project_health, start_date,
|
156
|
+
planned_end_date)
|
157
|
+
if project_guid:
|
158
|
+
print_msg(ALWAYS, f"Updated Project {project_name} with GUID {project_guid}", debug_level)
|
159
|
+
return egeria_client.get_project_by_guid(project_guid, output_format='MD')
|
160
|
+
else:
|
161
|
+
print_msg(ERROR, f"Failed to update Project {project_name}", debug_level)
|
162
|
+
return None
|
163
|
+
else:
|
164
|
+
return None
|
@@ -14,7 +14,7 @@ from rich.markdown import Markdown
|
|
14
14
|
from md_processing.md_processing_utils.common_md_proc_utils import (parse_upsert_command, parse_view_command)
|
15
15
|
from md_processing.md_processing_utils.common_md_utils import update_element_dictionary, set_update_body, \
|
16
16
|
set_element_status_request_body, set_prop_body, set_delete_request_body, set_rel_request_body, set_peer_gov_def_request_body, \
|
17
|
-
set_rel_request_body, set_create_body,
|
17
|
+
set_rel_request_body, set_create_body, set_object_classifications, set_product_body
|
18
18
|
|
19
19
|
from md_processing.md_processing_utils.extraction_utils import (extract_command_plus, update_a_command)
|
20
20
|
from md_processing.md_processing_utils.md_processing_constants import (load_commands, ERROR)
|
@@ -236,7 +236,7 @@ def process_collection_upsert_command(egeria_client: EgeriaTech, txt: str, direc
|
|
236
236
|
body = set_create_body(object_type,attributes)
|
237
237
|
|
238
238
|
# if this is a root or folder (maybe more in the future), then make sure that the classification is set.
|
239
|
-
body["initialClassifications"] =
|
239
|
+
body["initialClassifications"] = set_object_classifications(object_type, attributes, ["Folder", "Root Collection"])
|
240
240
|
body["properties"] = set_prop_body(obj, qualified_name,attributes)
|
241
241
|
parent_guid = body.get('parentGuid', None)
|
242
242
|
if parent_guid:
|
@@ -352,7 +352,7 @@ def process_digital_product_upsert_command(egeria_client: EgeriaTech, txt: str,
|
|
352
352
|
|
353
353
|
else:
|
354
354
|
body = set_create_body(object_type, attributes)
|
355
|
-
body["initialClassifications"] =
|
355
|
+
body["initialClassifications"] = set_object_classifications(object_type, attributes, [])
|
356
356
|
|
357
357
|
body["properties"] = prop_body
|
358
358
|
|
@@ -468,8 +468,8 @@ def process_agreement_upsert_command(egeria_client: EgeriaTech, txt: str, direct
|
|
468
468
|
body = set_create_body(object_type, attributes)
|
469
469
|
|
470
470
|
# if this is a root or folder (maybe more in the future), then make sure that the classification is set.
|
471
|
-
body["initialClassifications"] =
|
472
|
-
|
471
|
+
body["initialClassifications"] = set_object_classifications(object_type, attributes,
|
472
|
+
["Data Sharing Agreement"])
|
473
473
|
body["properties"] = set_prop_body(obj, qualified_name, attributes)
|
474
474
|
|
475
475
|
guid = egeria_client.create_agreement(body=body)
|