pyegeria 5.4.0.dev10__py3-none-any.whl → 5.4.0.dev12__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 (30) hide show
  1. commands/cat/debug_log +6290 -6042
  2. commands/cat/debug_log.2025-07-01_15-22-20_102237.zip +0 -0
  3. commands/cat/debug_log.2025-07-04_15-43-28_460900.zip +0 -0
  4. commands/cat/debug_log.2025-07-06_20-48-04_338314.zip +0 -0
  5. commands/cat/debug_log.2025-07-09_10-17-09_526262.zip +0 -0
  6. commands/cat/dr_egeria_md.py +24 -14
  7. commands/cat/list_collections.py +11 -4
  8. md_processing/__init__.py +3 -1
  9. md_processing/data/commands.json +7842 -2231
  10. md_processing/md_commands/data_designer_commands.py +67 -80
  11. md_processing/md_commands/glossary_commands.py +3 -1
  12. md_processing/md_commands/product_manager_commands.py +1746 -0
  13. md_processing/md_commands/solution_architect_commands.py +390 -236
  14. md_processing/md_processing_utils/common_md_proc_utils.py +8 -6
  15. md_processing/md_processing_utils/md_processing_constants.py +25 -4
  16. pyegeria/__init__.py +1 -0
  17. pyegeria/_client.py +0 -1
  18. pyegeria/collection_manager_omvs.py +504 -546
  19. pyegeria/data_designer_omvs.py +16 -8
  20. pyegeria/egeria_tech_client.py +9 -25
  21. pyegeria/governance_officer_omvs.py +1446 -1343
  22. pyegeria/output_formatter.py +96 -8
  23. pyegeria/solution_architect_omvs.py +2278 -1728
  24. {pyegeria-5.4.0.dev10.dist-info → pyegeria-5.4.0.dev12.dist-info}/METADATA +1 -1
  25. {pyegeria-5.4.0.dev10.dist-info → pyegeria-5.4.0.dev12.dist-info}/RECORD +28 -25
  26. commands/cat/debug_log.2025-06-24_15-51-28_769553.zip +0 -0
  27. commands/cat/debug_log.2025-06-26_11-18-40_644650.zip +0 -0
  28. {pyegeria-5.4.0.dev10.dist-info → pyegeria-5.4.0.dev12.dist-info}/LICENSE +0 -0
  29. {pyegeria-5.4.0.dev10.dist-info → pyegeria-5.4.0.dev12.dist-info}/WHEEL +0 -0
  30. {pyegeria-5.4.0.dev10.dist-info → pyegeria-5.4.0.dev12.dist-info}/entry_points.txt +0 -0
@@ -21,7 +21,7 @@ from pyegeria._globals import DEBUG_LEVEL
21
21
 
22
22
  log_format = "P {time} | {level} | {function} | {line} | {message} | {extra}"
23
23
  logger.remove()
24
- logger.add(sys.stderr, level="SUCCESS", format=log_format, colorize=True)
24
+ logger.add(sys.stderr, level="INFO", format=log_format, colorize=True)
25
25
  logger.add("debug_log.log", rotation="1 day", retention="1 week", compression="zip", level="TRACE", format=log_format,
26
26
  colorize=True)
27
27
  # Constants
@@ -62,7 +62,7 @@ def parse_upsert_command(egeria_client: EgeriaTech, object_type: str, object_act
62
62
  display_name = ""
63
63
  labels = {}
64
64
 
65
- command_spec = get_command_spec(object_type)
65
+ command_spec = get_command_spec(f"Create {object_type}")
66
66
  attributes = command_spec.get('Attributes', [])
67
67
  command_display_name = command_spec.get('display_name', None)
68
68
  command_qn_prefix = command_spec.get('qn_prefix', None)
@@ -264,8 +264,10 @@ def parse_view_command(egeria_client: EgeriaTech, object_type: str, object_actio
264
264
  parsed_output['exists'] = False
265
265
 
266
266
  labels = {}
267
-
268
- command_spec = get_command_spec(f"{object_action} {object_type}")
267
+ if object_action == "Unlink":
268
+ command_spec = get_command_spec(f"Link {object_type}")
269
+ else:
270
+ command_spec = get_command_spec(f"{object_action} {object_type}")
269
271
  attributes = command_spec.get('Attributes', [])
270
272
  command_display_name = command_spec.get('display_name', None)
271
273
 
@@ -344,12 +346,12 @@ def parse_view_command(egeria_client: EgeriaTech, object_type: str, object_actio
344
346
 
345
347
  elif style == 'Reference Name':
346
348
  parsed_attributes[key] = proc_ids(egeria_client, key, labels, txt, object_action, if_missing)
347
- if ((if_missing == ERROR) and parsed_attributes[key].get("value", None)):
349
+ if ((if_missing == ERROR) and parsed_attributes[key].get("value", None) is None):
348
350
  msg = f"Required parameter `{parsed_attributes[key]['value']}` is missing"
349
351
  logger.error(msg)
350
352
  parsed_output['valid'] = False
351
353
  parsed_output['reason'] += msg
352
- elif parsed_attributes[key]['value'] and parsed_attributes['exists'] is False:
354
+ elif parsed_attributes[key]['value'] and parsed_attributes[key]['exists'] is False:
353
355
  msg = f"Reference Name `{parsed_attributes[key]['value']}` is specified but does not exist"
354
356
  logger.error(msg)
355
357
  parsed_output['valid'] = False
@@ -51,18 +51,37 @@ command_list = ["Provenance", "Create Glossary", "Update Glossary", "Create Term
51
51
  "List Term Details", "List Glossary Terms", "List Term History", "List Term Revision History",
52
52
  "List Term Update History", "List Glossary Structure", "List Glossaries", "List Categories",
53
53
  "List Glossary Categories", "Create Personal Project", "Update Personal Project", "Create Category",
54
- "Update Category", "Create Solution Blueprint", "Update Solution Blueprint", "View Solution Blueprint", "View Solution Blueprints", "View Blueprints",
54
+ "Update Category", "Create Solution Blueprint", "Update Solution Blueprint", "View Solution Blueprint",
55
+ "View Solution Blueprints", "View Blueprints",
55
56
  "View Information Supply Chain", "View Information Supply Chains", "View Supply Chains", "View Supply Chain",
56
57
  "View Solution Components", "View Solution Component", "View Solution Roles", "View Solution Role",
57
58
  "Create Information Supply Chain", "Update Information Supply Chain",
58
- "Create Information Supply Chain Segment", "Update Information Supply Chain Segment", "Link Segments", "Detach Segments",
59
- "Create Solution Component", "Update Solution Component", "Create Term-Term Relationship",
59
+ "Link Information Supply Chain Peers", "Link Supply Chains", "Link Information Supply Chains",
60
+ "Unlink Information Supply Chain Peers", "Unlink Information Supply Chains", "Unlink Supply Chains",
61
+ "Create Solution Component", "Update Solution Component", "Link Solution Components", "Wire Solution Components",
62
+ "Detach Solution Components", "Unlink Solution Components", "Create Term-Term Relationship",
60
63
  "Update Term-Term Relationship", "Create Data Spec", "Create Data Specification", "Update Data Spec",
61
64
  "Update Data Specification", "Create Data Field", "Update Data Field", "Create Data Structure",
62
65
  "Update Data Structure", "Create Data Dictionary", "Update Data Dictionary", "Create Data Dict",
63
66
  "Update Data Dict", " View Data Dictionary", "View Data Dictionaries", "View Data Specifications",
64
67
  "View Data Specs", "View Data Structures", "View Data Structure", "View Data Fields", "View Data Field",
65
- "View Dataa Classes", "View Data Class", "Create Data Class", "Update Data Class",]
68
+ "View Dataa Classes", "View Data Class", "Create Data Class", "Update Data Class",
69
+ "Create Digital Product", "Create Data Product", "Update Digital Product", "Update Data Product",
70
+ "Create Agreement", "Create Digital Agreement", "Create Data Agreement",
71
+ "Update Agreement", "Update Data Agreement", "Update Data Agreement",
72
+ "Link Digital Products", "Link Data Products", "Detach Digital Products", "Detach Data Products",
73
+ "Create Data Sharing Agreement", "Update Data Sharing Agreement",
74
+ "Create Digital Subscription", "Create Product Subscription", "Update Digital Subscription", "Update Product Subscription",
75
+ "Attach Agreement Items", "Detach Agreement Items",
76
+ "Attach Contract", "Detach Contract",
77
+ "Attach Subscriber", "Detach Subscriber",
78
+ "Link Collection to Resource", "Attach Collection to Resource",
79
+ "Unlink Collection From Resource", "Detach Collection From Resource",
80
+ "Add Member to Collection", "Add Member", "Member->Collection",
81
+ "Remove Member from Collection","Remove Member from Collection",
82
+ "View Digital Products", "View Data Products", "List Data Products", "List Digtal Products",
83
+ "View Agreements", "View Data Sharing Agreements", "List Agreements", "List Data Sharing Agreements",
84
+ "View Subscriptions", "List Subscriptions",]
66
85
 
67
86
 
68
87
  pre_command = "\n---\n==> Processing object_action:"
@@ -88,6 +107,7 @@ def load_commands(filename: str) -> None:
88
107
 
89
108
  def get_command_spec(command: str) -> dict | None:
90
109
  global COMMAND_DEFINITIONS
110
+
91
111
  com = COMMAND_DEFINITIONS.get('Command Specifications', {}).get(command, None)
92
112
  if com:
93
113
  return com
@@ -99,6 +119,7 @@ def get_command_spec(command: str) -> dict | None:
99
119
 
100
120
  def find_alternate_names(command: str) -> str | None:
101
121
  global COMMAND_DEFINITIONS
122
+
102
123
  comm_spec = COMMAND_DEFINITIONS.get('Command Specifications', {})
103
124
  for key, value in comm_spec.items():
104
125
  if isinstance(value, dict):
pyegeria/__init__.py CHANGED
@@ -43,6 +43,7 @@ from .feedback_manager_omvs import FeedbackManager
43
43
  from .full_omag_server_config import FullServerConfig
44
44
  from .glossary_browser_omvs import GlossaryBrowser
45
45
  from .glossary_manager_omvs import GlossaryManager
46
+ from .governance_officer_omvs import GovernanceOfficer
46
47
  from .mermaid_utilities import (construct_mermaid_web, construct_mermaid_jup, generate_process_graph, load_mermaid,
47
48
  parse_mermaid_code, render_mermaid, save_mermaid_graph, save_mermaid_html, )
48
49
  from .metadata_explorer_omvs import MetadataExplorer
pyegeria/_client.py CHANGED
@@ -32,7 +32,6 @@ from pyegeria._validators import (
32
32
  validate_url,
33
33
  validate_user_id,
34
34
  )
35
- from pyegeria.output_formatter import make_preamble, make_md_attribute
36
35
 
37
36
  ...
38
37