pyegeria 5.4.0.22__py3-none-any.whl → 5.4.0.23__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.
Files changed (120) hide show
  1. commands/cat/.DS_Store +0 -0
  2. commands/cat/.env +8 -0
  3. commands/cat/debug_log.log +0 -0
  4. commands/cat/list_collections.py +15 -6
  5. commands/cat/list_format_set.py +90 -85
  6. commands/cat/logs/pyegeria.log +136 -0
  7. commands/cli/debug_log.log +0 -0
  8. commands/ops/logs/pyegeria.log +0 -0
  9. md_processing/.DS_Store +0 -0
  10. md_processing/dr-egeria-outbox/Collections-2025-08-12-13-30-37.md +163 -0
  11. md_processing/dr-egeria-outbox/Collections-2025-08-12-13-35-58.md +474 -0
  12. md_processing/dr_egeria_inbox/Derive-Dr-Gov-Defs.md +8 -0
  13. md_processing/dr_egeria_inbox/Dr.Egeria Templates.md +873 -0
  14. md_processing/dr_egeria_inbox/arch_test.md +57 -0
  15. md_processing/dr_egeria_inbox/archive/dr_egeria_intro.md +254 -0
  16. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_more_terms.md +696 -0
  17. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part1.md +254 -0
  18. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part2.md +298 -0
  19. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part3.md +608 -0
  20. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part4.md +94 -0
  21. md_processing/dr_egeria_inbox/archive/freddie_intro.md +284 -0
  22. md_processing/dr_egeria_inbox/archive/freddie_intro_orig.md +275 -0
  23. md_processing/dr_egeria_inbox/archive/test-term.md +110 -0
  24. md_processing/dr_egeria_inbox/cat_test.md +100 -0
  25. md_processing/dr_egeria_inbox/collections.md +39 -0
  26. md_processing/dr_egeria_inbox/data_designer_debug.log +6 -0
  27. md_processing/dr_egeria_inbox/data_designer_out.md +60 -0
  28. md_processing/dr_egeria_inbox/data_designer_search_test.md +11 -0
  29. md_processing/dr_egeria_inbox/data_field.md +54 -0
  30. md_processing/dr_egeria_inbox/data_spec.md +77 -0
  31. md_processing/dr_egeria_inbox/data_spec_test.md +2406 -0
  32. md_processing/dr_egeria_inbox/data_test.md +179 -0
  33. md_processing/dr_egeria_inbox/data_test2.md +429 -0
  34. md_processing/dr_egeria_inbox/data_test3.md +462 -0
  35. md_processing/dr_egeria_inbox/dr_egeria_data_designer_1.md +124 -0
  36. md_processing/dr_egeria_inbox/dr_egeria_intro_categories.md +168 -0
  37. md_processing/dr_egeria_inbox/dr_egeria_intro_part1.md +280 -0
  38. md_processing/dr_egeria_inbox/dr_egeria_intro_part2.md +313 -0
  39. md_processing/dr_egeria_inbox/dr_egeria_intro_part3.md +1073 -0
  40. md_processing/dr_egeria_inbox/dr_egeria_isc1.md +44 -0
  41. md_processing/dr_egeria_inbox/generated_help_report.md +9 -0
  42. md_processing/dr_egeria_inbox/glossary_list.md +5 -0
  43. md_processing/dr_egeria_inbox/glossary_search_test.md +40 -0
  44. md_processing/dr_egeria_inbox/glossary_test1.md +324 -0
  45. md_processing/dr_egeria_inbox/gov_def.md +424 -0
  46. md_processing/dr_egeria_inbox/gov_def2.md +447 -0
  47. md_processing/dr_egeria_inbox/product.md +50 -0
  48. md_processing/dr_egeria_inbox/rel.md +8 -0
  49. md_processing/dr_egeria_inbox/sb.md +119 -0
  50. md_processing/dr_egeria_inbox/solution-components.md +136 -0
  51. md_processing/dr_egeria_inbox/solution_blueprints.md +118 -0
  52. md_processing/dr_egeria_inbox/synonym_test.md +42 -0
  53. md_processing/dr_egeria_inbox/t2.md +268 -0
  54. md_processing/dr_egeria_outbox/.obsidian/app.json +1 -0
  55. md_processing/dr_egeria_outbox/.obsidian/appearance.json +1 -0
  56. md_processing/dr_egeria_outbox/.obsidian/community-plugins.json +6 -0
  57. md_processing/dr_egeria_outbox/.obsidian/core-plugins.json +31 -0
  58. md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/data.json +10 -0
  59. md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/main.js +4459 -0
  60. md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/manifest.json +10 -0
  61. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/data.json +3 -0
  62. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/main.js +153 -0
  63. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/manifest.json +11 -0
  64. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/styles.css +1 -0
  65. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/main.js +500 -0
  66. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/manifest.json +12 -0
  67. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/styles.css +1 -0
  68. md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/main.js +37 -0
  69. md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/manifest.json +11 -0
  70. md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/styles.css +220 -0
  71. md_processing/dr_egeria_outbox/.obsidian/types.json +28 -0
  72. md_processing/dr_egeria_outbox/.obsidian/workspace.json +220 -0
  73. md_processing/dr_egeria_outbox/Untitled.canvas +1 -0
  74. md_processing/dr_egeria_outbox/friday/processed-2025-07-18 15:00-product.md +62 -0
  75. md_processing/dr_egeria_outbox/friday/processed-2025-07-18 15:13-product.md +62 -0
  76. md_processing/dr_egeria_outbox/friday/processed-2025-07-20 13:23-product.md +47 -0
  77. md_processing/dr_egeria_outbox/friday/processed-2025-08-01 11:55-data_test3.md +503 -0
  78. md_processing/dr_egeria_outbox/monday/processed-2025-07-14 12:38-data_designer_out.md +663 -0
  79. md_processing/dr_egeria_outbox/monday/processed-2025-07-21 10:52-generated_help_report.md +2744 -0
  80. md_processing/dr_egeria_outbox/monday/processed-2025-07-21 18:38-collections.md +62 -0
  81. md_processing/dr_egeria_outbox/monday/processed-2025-08-01 11:34-gov_def.md +444 -0
  82. md_processing/dr_egeria_outbox/processed-2025-08-03 16:05-glossary_list.md +37 -0
  83. md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 14:55-product.md +77 -0
  84. md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 15:05-product.md +75 -0
  85. md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 15:11-product.md +74 -0
  86. md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 20:40-collections.md +49 -0
  87. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 15:00-Derive-Dr-Gov-Defs.md +719 -0
  88. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:13-Derive-Dr-Gov-Defs.md +41 -0
  89. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:14-Derive-Dr-Gov-Defs.md +33 -0
  90. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:50-Derive-Dr-Gov-Defs.md +192 -0
  91. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:08-gov_def2.md +486 -0
  92. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:10-gov_def2.md +486 -0
  93. md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:53-gov_def2.md +486 -0
  94. md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:54-gov_def2.md +486 -0
  95. md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:03-gov_def2.md +486 -0
  96. md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:06-gov_def2.md +486 -0
  97. md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:10-gov_def2.md +486 -0
  98. md_processing/dr_egeria_outbox/tuesday/processed-2025-07-16 19:15-gov_def2.md +527 -0
  99. md_processing/dr_egeria_outbox/tuesday/processed-2025-07-17 12:08-gov_def2.md +527 -0
  100. md_processing/dr_egeria_outbox/tuesday/processed-2025-07-17 14:27-gov_def2.md +485 -0
  101. md_processing/md_processing_utils/debug_log.log +0 -0
  102. md_processing/md_processing_utils/solution_architect_log.log +0 -0
  103. pyegeria/.DS_Store +0 -0
  104. pyegeria/__init__.py +2 -2
  105. pyegeria/_client_new.py +45 -49
  106. pyegeria/_output_format_models.py +22 -17
  107. pyegeria/_output_formats.py +105 -32
  108. pyegeria/collection_manager.py +154 -50
  109. pyegeria/collection_manager_omvs.py +47 -18
  110. pyegeria/egeria_cat_client.py +1 -1
  111. pyegeria/egeria_client.py +6 -0
  112. pyegeria/egeria_tech_client.py +6 -1
  113. pyegeria/governance_officer.py +2515 -0
  114. pyegeria/models.py +22 -6
  115. pyegeria/output_formatter.py +298 -79
  116. {pyegeria-5.4.0.22.dist-info → pyegeria-5.4.0.23.dist-info}/METADATA +1 -1
  117. {pyegeria-5.4.0.22.dist-info → pyegeria-5.4.0.23.dist-info}/RECORD +120 -18
  118. {pyegeria-5.4.0.22.dist-info → pyegeria-5.4.0.23.dist-info}/LICENSE +0 -0
  119. {pyegeria-5.4.0.22.dist-info → pyegeria-5.4.0.23.dist-info}/WHEEL +0 -0
  120. {pyegeria-5.4.0.22.dist-info → pyegeria-5.4.0.23.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,485 @@
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
+ # Don't Create Governance Strategy
405
+ ## Name
406
+ Strategy
407
+ ## Summary
408
+ Based on Talmud
409
+ ## Description
410
+ Somewhat chaotic
411
+ ## Domain Identifier
412
+ 1
413
+ ## Version Identifier
414
+
415
+ ## Scope
416
+ InterGalactic
417
+
418
+ ## Importance
419
+ Somewhat
420
+
421
+ ## Implications
422
+ Power; Money
423
+ ## Outcomes
424
+ Happiness
425
+ ## Results
426
+ Unknown
427
+ ## Status
428
+ PROPOSED
429
+
430
+ ____
431
+
432
+ # Don't Detach Governance Drivers
433
+ ## Definition 1
434
+ A Regulation
435
+ ## Definition 2
436
+ Strategy
437
+ ## Label
438
+ Don't get caught
439
+
440
+ ___
441
+
442
+ # `Governance Definitions` with filter: `*`
443
+
444
+ # Governance Definitions Table
445
+
446
+ Governance Definitions found from the search string: `All`
447
+
448
+ | Governance Definition | Type Name | Scope | Qualified Name | Summary | Importance |
449
+ |-------------|-------------|-------------|-------------|-------------|-------------|
450
+ | New Sustainability Governance Domain | GovernanceApproach | Across Coco Pharmaceuticals | GovernanceApproach::New Sustainability Governance Domain | | High |
451
+ | Valid weekly measurements data for the {{clinicalTrialId}} Clinical Trial | CertificationType | Within Project | CertificationType:: Valid weekly measurements data for the {{clinicalTrialId}} Clinical Trial | | |
452
+ | 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 | | |
453
+ | A Gov procedure | GovernanceProcedure | InterGalactic | GovProcedure::A Gov procedure | | Somewhat |
454
+ | Operate Coco Pharmaceuticals in an increasingly sustainable way | GovernanceStrategy | Across Coco Pharmaceuticals | GovernanceStrategy::Operate Coco Pharmaceuticals in an increasingly sustainable way | | High |
455
+ | 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 | | |
456
+ | Avoid using harmful materials | GovernancePrinciple | Across Coco Pharmaceuticals | GovernancePrinciple::Avoid using harmful materials | | High |
457
+ | Eliminate CFC/HFC Cooling Units | GovernanceResponsibility | Within Facility | GovernanceResponsibility::Eliminate CFC/HFC Cooling Units | | High |
458
+ | 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 | | |
459
+ | Approved clinical trial | CertificationType | Across Coco Pharmaceuticals | CertificationType:: Approved clinical trial | | |
460
+ | Measure harmful emissions | GovernanceApproach | Across Coco Pharmaceuticals | GovernanceApproach::Measure harmful emissions | | High |
461
+ | Corporate Sustainability Reporting Directive (CSRD) | Regulation | Across Coco Pharmaceuticals | Regulation::Corporate Sustainability Reporting Directive (CSRD) | | High |
462
+ | Participating Hospital for the {{clinicalTrialId}} approved Clinical Trial | CertificationType | Within Project | CertificationType:: Participating Hospital for the {{clinicalTrialId}} approved Clinical Trial | | |
463
+ | Approach | GovernanceApproach | InterGalactic | GovApproach::Approach | | Somewhat |
464
+ | Strategy | GovernanceStrategy | InterGalactic | GovStrategy::Strategy | | Somewhat |
465
+ | Deliver Sustainability Reporting Capability | GovernanceResponsibility | Within Facility | GovernanceResponsibility::Deliver Sustainability Reporting Capability | | High |
466
+ | Sustainability Champion | GovernanceResponsibility | Within Business Capability | GovernanceResponsibility::Sustainability Champion | | High |
467
+ | A Regulation | Regulation | InterGalactic | Regulation::A Regulation | | Somewhat |
468
+ | Sustainability leadership | GovernanceResponsibility | Across Coco Pharmaceuticals | GovernanceResponsibility::Sustainability leadership | | High |
469
+ | The price of ignoring sustainability | Threat | Across Coco Pharmaceuticals | Threat::The price of ignoring sustainability | | High |
470
+ | 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 | | |
471
+
472
+ # Provenance
473
+
474
+ * Results from processing file gov_def2.md on 2025-07-17 14:27
475
+
476
+
477
+ # DataSharingAgreements Table
478
+
479
+ DataSharingAgreements found from the search string: `All`
480
+
481
+ | Name | Qualified Name | Category | Description | Classifications | Members |
482
+ |-------------|-------------|-------------|-------------|-------------|-------------|
483
+ | Leak to fox | [DataSharing::Leak to fox](#38662406-303e-4f43-8faf-11ee69238f54) | | Leak sensitive personal data only to the conservative media. | Anchors, DataSharingAgreement | |
484
+
485
+ [[Agreements]]
File without changes
pyegeria/.DS_Store ADDED
Binary file
pyegeria/__init__.py CHANGED
@@ -40,7 +40,7 @@ from ._validators import (is_json, validate_guid, validate_name, validate_public
40
40
  from .asset_catalog_omvs import AssetCatalog
41
41
  from .automated_curation_omvs import AutomatedCuration
42
42
  from .classification_manager_omvs import ClassificationManager
43
- from .collection_manager_omvs import CollectionManager
43
+ from .collection_manager import CollectionManager
44
44
  from .core_omag_server_config import CoreServerConfig
45
45
  from .create_tech_guid_lists import build_global_guid_lists
46
46
  from .egeria_cat_client import EgeriaCat
@@ -52,7 +52,7 @@ from .feedback_manager_omvs import FeedbackManager
52
52
  from .full_omag_server_config import FullServerConfig
53
53
  from .glossary_browser_omvs import GlossaryBrowser
54
54
  from .glossary_manager_omvs import GlossaryManager
55
- from .governance_officer_omvs import GovernanceOfficer
55
+ from .governance_officer import GovernanceOfficer
56
56
  from .mermaid_utilities import (construct_mermaid_web, construct_mermaid_jup, generate_process_graph, load_mermaid,
57
57
  parse_mermaid_code, render_mermaid, save_mermaid_graph, save_mermaid_html, )
58
58
  from .metadata_explorer_omvs import MetadataExplorer
pyegeria/_client_new.py CHANGED
@@ -736,20 +736,20 @@ class Client2:
736
736
  return elements
737
737
 
738
738
  def validate_new_element_request(self, body: dict | NewElementRequestBody,
739
- prop: str) -> NewElementRequestBody | None:
739
+ prop: list[str]) -> NewElementRequestBody | None:
740
740
  if isinstance(body, NewElementRequestBody):
741
- if body.properties.class_ == prop:
742
- validated_body = body
743
- else:
744
- raise PyegeriaInvalidParameterException(additional_info=
745
- {"reason": "unexpected property class name"})
741
+ # if body.properties.class_ in prop:
742
+ validated_body = body
743
+ # else:
744
+ # raise PyegeriaInvalidParameterException(additional_info=
745
+ # {"reason": "unexpected property class name"})
746
746
 
747
747
  elif isinstance(body, dict):
748
- if body.get("properties", {}).get("class", "") == prop:
749
- validated_body = self._new_element_request_adapter.validate_python(body)
750
- else:
751
- raise PyegeriaInvalidParameterException(additional_info=
752
- {"reason": "unexpected property class name"})
748
+ # if body.get("properties", {}).get("class", "") == prop:
749
+ validated_body = self._new_element_request_adapter.validate_python(body)
750
+ # else:
751
+ # raise PyegeriaInvalidParameterException(additional_info=
752
+ # {"reason": "unexpected property class name"})
753
753
  else:
754
754
  return None
755
755
  return validated_body
@@ -780,12 +780,12 @@ class Client2:
780
780
  validated_body = body
781
781
  elif isinstance(body, dict):
782
782
  validated_body = self._delete_request_adapter.validate_python(body)
783
- else:
783
+ else: # handle case where body not provided
784
784
  body= {
785
785
  "class": "DeleteRequestBody",
786
786
  "cascadeDelete": cascade_delete
787
787
  }
788
- validated_body= DeleteRequestBody.validate_python(body)
788
+ validated_body= DeleteRequestBody.model_validate(body)
789
789
  return validated_body
790
790
 
791
791
  def validate_update_element_request(self, body: dict | UpdateElementRequestBody,
@@ -798,17 +798,17 @@ class Client2:
798
798
  {"reason": "unexpected property class name"})
799
799
 
800
800
  elif isinstance(body, dict):
801
- if body.get("properties", {}).get("class", "") in prop:
802
- validated_body = self._update_element_request_adapter.validate_python(body)
803
- else:
804
- raise PyegeriaInvalidParameterException(additional_info=
805
- {"reason": "unexpected property class name"})
801
+ # if body.get("properties", {}).get("class", "") in prop:
802
+ validated_body = self._update_element_request_adapter.validate_python(body)
803
+ # else:
804
+ # raise PyegeriaInvalidParameterException(additional_info=
805
+ # {"reason": "unexpected property class name"})
806
806
  else:
807
807
  validated_body = None
808
808
  return validated_body
809
809
 
810
810
  def validate_update_status_request(self, status: str = None, body: dict | UpdateStatusRequestBody = None,
811
- prop: str = None) -> UpdateStatusRequestBody | None:
811
+ prop: list[str] = None) -> UpdateStatusRequestBody | None:
812
812
  if isinstance(body, UpdateStatusRequestBody):
813
813
  validated_body = body
814
814
 
@@ -827,26 +827,27 @@ class Client2:
827
827
  return validated_body
828
828
 
829
829
  def validate_update_relationship_request(self, body: dict | UpdateRelationshipRequestBody,
830
- prop: str) -> UpdateRelationshipRequestBody | None:
830
+ prop: [str]) -> UpdateRelationshipRequestBody | None:
831
831
  if isinstance(body, UpdateRelationshipRequestBody):
832
- if body.properties.class_ == prop:
833
- validated_body = body
834
- else:
835
- raise PyegeriaInvalidParameterException(additional_info=
836
- {"reason": "unexpected property class name"})
832
+ # if body.properties.class_ == prop:
833
+ validated_body = body
834
+ # else:
835
+ # raise PyegeriaInvalidParameterException(additional_info=
836
+ # {"reason": "unexpected property class name"})
837
837
 
838
838
  elif isinstance(body, dict):
839
- if body.get("properties", {}).get("class", "") == prop:
840
- validated_body = self._update_relationship_request_adapter.validate_python(body)
841
- else:
842
- raise PyegeriaInvalidParameterException(additional_info=
843
- {"reason": "unexpected property class name"})
839
+ # if body.get("properties", {}).get("class", "") == prop:
840
+ validated_body = self._update_relationship_request_adapter.validate_python(body)
841
+ # else:
842
+ # raise PyegeriaInvalidParameterException(additional_info=
843
+ # {"reason": "unexpected property class name"})
844
844
  else:
845
845
  validated_body = None
846
846
  return validated_body
847
847
 
848
848
  async def _async_find_request(self, url: str, _type: str, _gen_output: Callable[..., Any],
849
849
  search_string: str = '*', classification_names: list[str] = None,
850
+ metadata_element_types: list[str] = None,
850
851
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = False,
851
852
  start_from: int = 0, page_size: int = 0, output_format: str = 'JSON',
852
853
  output_format_set: str | dict = None,
@@ -867,13 +868,14 @@ class Client2:
867
868
  "start_from": start_from,
868
869
  "page_size": page_size,
869
870
  "include_only_classified_elements": classification_names,
871
+ "metadata_element_subtype_names": metadata_element_types,
870
872
  }
871
873
  validated_body = SearchStringRequestBody.model_validate(body)
872
874
 
873
- classification_names = validated_body.include_only_classified_elements
874
- classification_name = classification_names[0] if classification_names else _type
875
+ # classification_names = validated_body.include_only_classified_elements
876
+ # element_type_name = classification_names[0] if classification_names else _type
875
877
 
876
- json_body = validated_body.model_dump_json(indent=2)
878
+ json_body = validated_body.model_dump_json(indent=2, exclude_none=True)
877
879
 
878
880
  response = await self._async_make_request("POST", url, json_body)
879
881
  elements = response.json().get("elements", NO_ELEMENTS_FOUND)
@@ -883,7 +885,7 @@ class Client2:
883
885
 
884
886
  if output_format != 'JSON': # return a simplified markdown representation
885
887
  # logger.info(f"Found elements, output format: {output_format} and output_format_set: {output_format_set}")
886
- return _gen_output(elements, search_string, classification_name,
888
+ return _gen_output(elements, search_string, _type,
887
889
  output_format, output_format_set)
888
890
  return elements
889
891
 
@@ -908,8 +910,8 @@ class Client2:
908
910
  }
909
911
  validated_body = FilterRequestBody.model_validate(body)
910
912
 
911
- classification_names = validated_body.include_only_classified_elements
912
- classification_name = classification_names[0] if classification_names else _type
913
+ # classification_names = validated_body.include_only_classified_elements
914
+ # element_type_name = classification_names[0] if classification_names else _type
913
915
 
914
916
  json_body = validated_body.model_dump_json(indent=2)
915
917
 
@@ -921,7 +923,7 @@ class Client2:
921
923
 
922
924
  if output_format != 'JSON': # return a simplified markdown representation
923
925
  logger.info(f"Found elements, output format: {output_format} and output_format_set: {output_format_set}")
924
- return _gen_output(elements, filter_string, classification_name,
926
+ return _gen_output(elements, filter_string, _type,
925
927
  output_format, output_format_set)
926
928
  return elements
927
929
 
@@ -972,7 +974,10 @@ class Client2:
972
974
  json_body = validated_body.model_dump_json(indent=2)
973
975
 
974
976
  response = await self._async_make_request("POST", url, json_body)
975
- elements = response.json().get("elements", NO_ELEMENTS_FOUND)
977
+ elements = response.json().get("elements", None)
978
+ if elements is None:
979
+ elements = response.json().get("element", NO_ELEMENTS_FOUND)
980
+
976
981
  if type(elements) is str:
977
982
  logger.info(NO_ELEMENTS_FOUND)
978
983
  return NO_ELEMENTS_FOUND
@@ -983,7 +988,7 @@ class Client2:
983
988
  output_format, output_format_set)
984
989
  return elements
985
990
 
986
- async def _async_create_element_body_request(self, url: str, prop: str,
991
+ async def _async_create_element_body_request(self, url: str, prop: list[str],
987
992
  body: dict | NewElementRequestBody = None) -> str:
988
993
  validated_body = self.validate_new_element_request(body, prop)
989
994
  json_body = validated_body.model_dump_json(indent=2, exclude_none=True)
@@ -1008,7 +1013,7 @@ class Client2:
1008
1013
  response = await self._async_make_request("POST", url, json_body)
1009
1014
  logger.info(response.json())
1010
1015
 
1011
- async def _async_new_relationship_request(self, url: str, prop: str,
1016
+ async def _async_new_relationship_request(self, url: str, prop: list[str],
1012
1017
  body: dict | NewRelationshipRequestBody = None) -> None:
1013
1018
  validated_body = self.validate_new_relationship_request(body, prop)
1014
1019
  if validated_body:
@@ -1029,15 +1034,6 @@ class Client2:
1029
1034
  await self._async_make_request("POST", url)
1030
1035
 
1031
1036
 
1032
- async def _async_new_relationship_request(self, url: str, prop: str,
1033
- body: dict | NewRelationshipRequestBody = None) -> None:
1034
- validated_body = self.validate_new_relationship_request(body, prop)
1035
- if validated_body:
1036
- json_body = validated_body.model_dump_json(indent=2, exclude_none=True)
1037
- logger.info(json_body)
1038
- await self._async_make_request("POST", url, json_body)
1039
- else:
1040
- await self._async_make_request("POST", url)
1041
1037
 
1042
1038
 
1043
1039