pyegeria 5.4.0.3__py3-none-any.whl → 5.4.0.5__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.
@@ -0,0 +1,218 @@
1
+
2
+ """
3
+ SPDX-License-Identifier: Apache-2.0
4
+ Copyright Contributors to the ODPi Egeria project.
5
+
6
+ This module manages configuration information for pyegeria and pyegeria clients.
7
+
8
+ The load_app_config() function loads configuration information:
9
+ 1) Default configuration variables are specified in the Dict structure below.
10
+ 2) We construct a path to an external configuration JSON file from the Environment Variables
11
+ - PYEGERIA_ROOT_PATH
12
+ - PYEGERIA_CONFIG_FILE
13
+ 3) If a valid configuration file is found, the configuration will be loaded on top of the default configuration.
14
+ 4) We then update the in-memory configuration from Environment Variables, if set.
15
+
16
+ The result is that Environment Variable values take priority over configuration file values which override the defaults.
17
+
18
+ The get_app_config() function is used by other modules to get configuration information from the configuration structure
19
+ and makes it available as a dict.
20
+
21
+ """
22
+ import inspect
23
+ import os
24
+ import json
25
+
26
+ from loguru import logger
27
+ from pyegeria._exceptions_new import PyegeriaInvalidParameterException
28
+
29
+
30
+ # from dotenv import load_dotenv # pip install python-dotenv if you use .env files
31
+
32
+ # --- Configuration Loading Logic ---
33
+
34
+ # Private variable to hold the loaded configuration
35
+ _app_config = None
36
+
37
+ def load_app_config():
38
+ """
39
+ Loads application configuration from files and environment variables.
40
+ This function should ideally be called only once at application startup.
41
+ """
42
+ global _app_config # Declare intent to modify the global _app_config
43
+
44
+ if _app_config is not None:
45
+ # Configuration already loaded, return existing instance
46
+ return _app_config
47
+
48
+
49
+ # Define default configuration values
50
+ config = {
51
+ "Environment": {
52
+ "Console Width": 200,
53
+ "Dr.Egeria Inbox": "md_processing/dr-egeria-inbox",
54
+ "Dr.Egeria Outbox": "md_processing/dr-egeria-outbox",
55
+ "Egeria Engine Host URL": "",
56
+ "Egeria Engine Host": "qs-engine-host",
57
+ "Egeria Glossary Path": "glossary",
58
+ "Egeria Integration Daemon URL": "https://localhost:9443",
59
+ "Egeria Integration Daemon": "qs-integration-daemon",
60
+ "Egeria Jupyter": True,
61
+ "Egeria Kafka Endpoint": "localhost:9192",
62
+ "Egeria Mermaid Folder": "mermaid_graphs",
63
+ "Egeria Metadata Store": "qs-metadata-store",
64
+ "Egeria Platform URL": "https://localhost:9443",
65
+ "Egeria View Server URL": "https://localhost:9443",
66
+ "Egeria View Server": "qs-view-server",
67
+ "Pyegeria Root": "/Users/dwolfson/localGit/egeria-v5-3/egeria-python",
68
+ },
69
+
70
+ "Debug": {
71
+ "debug_mode": False,
72
+ "enable_logger_catch": False,
73
+ "timeout_seconds": 30,
74
+ },
75
+ "feature_x_enabled": False,
76
+ "Logging": {
77
+ "console_filter_levels": [
78
+ "ERROR"
79
+ ],
80
+ "console_logging_enabled": [
81
+ "_client_new",
82
+ "_exceptions_new",
83
+ "collections_manager_omvs"
84
+ "tests",
85
+ ],
86
+ "console_logging_level": "INFO",
87
+ "enable_logging": False,
88
+ "file_logging_level": "INFO",
89
+ "log_directory": "logs",
90
+ "logging_console_format":
91
+ " <cyan>{name}</cyan>:<cyan>{line}</cyan> - <level>{message}</level> -{extra}",
92
+ " <green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level}</level> |"
93
+ "logging_file_format":
94
+ " {time:YYYY-MM-DD HH:mm:ss} | {level} | {function}:{line} - {message }-{extra}"
95
+ },
96
+ "User Profile": {
97
+ "Egeria Home Collection": "MyHome",
98
+ "Egeria Home Glossary Name": "Egeria-Markdown",
99
+ "Egeria Local Qualifier": "PDR"
100
+ }
101
+ }
102
+
103
+ root_path = os.getenv("PYEGERIA_ROOT_PATH", config["Environment"].get("Pyegeria Root",""))
104
+ config_file = os.getenv("PYEGERIA_CONFIG_FILE", "config.json")
105
+ config_file_path = os.path.join(root_path,config_file)
106
+ if os.path.exists(config_file_path):
107
+ try:
108
+ with open(config_file_path, 'r') as f:
109
+ file_config = json.load(f)
110
+ config.update(file_config) # Merge/override defaults
111
+ # logger.debug("Configuration file loaded from {}".format(config_file_path))
112
+ except json.JSONDecodeError:
113
+ print(f"Warning: Could not parse {config_file_path}. Using defaults/env vars.")
114
+ except Exception as e:
115
+ print(f"Warning: Error reading {config_file_path}: {e}. Using defaults/env vars.")
116
+ else:
117
+ logger.warning(f"Warning: Could not find {config_file_path}. Using defaults/env vars.")
118
+
119
+ debug = config["Debug"]
120
+ debug['debug_mode'] = os.getenv("PYEGERIA_DEBUG_MODE", debug.get("debug_mode", False))
121
+ debug["enable_logger_catch"] = os.getenv("PYEGERIA_ENABLE_LOGGER_CATCH", debug.get("enable_logger_catch", False))
122
+ debug["timeout_seconds"] = int(os.getenv("PYEGERIA_TIMEOUT_SECONDS", debug.get("timeout_seconds", 30)))
123
+
124
+ env = config["Environment"]
125
+ env["Console Width"] = int(os.getenv("PYEGERIA_CONSOLE_WIDTH", env.get("EGERIA_WIDTH", 200)))
126
+ env["Dr.Egeria Inbox"] = os.getenv("DR_EGERIA_INBOX_PATH", env.get("Dr_EGERIA_INBOX",
127
+ "md_processing/dr-egeria-inbox"))
128
+ env["Dr.Egeria Outbox"] = os.getenv("DR_EGERIA_OUTBOX_PATH", env.get("DR_EGERIA_OUTBOX",
129
+ "md_processing/dr-egeria-outbox"))
130
+ env["Egeria Engine Host"] = os.getenv("EGERIA_ENGINE_HOST", env.get("Egeria Engine Host", "qs-engine-host"))
131
+ env["Egeria Engine Host URL"] = os.getenv("EGERIA_ENGINE_HOST_URL",env.get("Egeria Engine Host URL", "https://localhost:9443"))
132
+
133
+ env["Egeria Glossary Path"] = os.getenv("EGERIA_GLOSSARY_PATH", env.get("Egeria Glossary Path", "glossary"))
134
+ env["Egeria Integration Daemon"] = os.getenv("EGERIA_INTEGRATION_DAEMON", env.get("Egeria Integration Daemon", "qs-integration-daemon"))
135
+ env["Egeria Integration Daemon URL"] = os.getenv("EGERIA_INTEGRATION_DAEMON_URL",env.get("Egeria Integration Daemon URL", "https://localhost:9443"))
136
+ env["Egeria Jupyter"] = os.getenv("EGERIA_JUPYTER", env.get("Egeria Jupyter", True))
137
+ env["Egeria Kafka"] = os.getenv("EGERIA_KAFKA", env.get("Egeria Kafka", "https://localhost:9192"))
138
+ env["Egeria Mermaid Folder"] = os.getenv("EGERIA_MERMAID_FOLDER", env.get("Egeria Mermaid Folder","mermaid_graphs"))
139
+ env["Egeria Metadata Store"] = os.getenv("EGERIA_METADATA_STORE", env.get("Egeria Metadata Store","qs-metadata-store"))
140
+ env["Egeria Platform URL"] = os.getenv("EGERIA_PLATFORM_URL", env.get("Egeria Platform URL","https://localhost:9443"))
141
+ env["Egeria View Server"] = os.getenv("EGERIA_VIEW_SERVER", env.get("Egeria View Server","qs-view-server"))
142
+ env["Egeria VIew Server URL"] = os.getenv("EGERIA_VIEW_SERVER_URL", env.get("Egeria View Server URL","https://localhost:9443"))
143
+ env["Pyegeria Root"] = root_path
144
+
145
+ log = config["Logging"]
146
+ log["console_filter_levels"] = os.getenv("PYEGERIA_CONSOLE_FILTER_LEVELS",
147
+ log.get("console_filter_levels", ["ERROR"]))
148
+ log["console_logging_enabled"] = os.getenv("PYEGERIA_CONSOLE_LOGGING_ENABLED",
149
+ log.get("console_logging_enabled", ["tests"]))
150
+ log["console_logging_level"] = os.getenv("PYEGERIA_CONSOLE_LOG_LVL", log.get("console_logging_level", None))
151
+ log["enable_logging"] = os.getenv("PYEGERIA_ENABLE_LOGGING", log.get("enable_logging", False))
152
+ log["file_logging_level"] = os.getenv("PYEGERIA_FILE_LOG_LVL", log.get("file_logging_level","INFO"))
153
+ log["log_directory"] = os.getenv("PYEGERIA_LOG_DIRECTORY", log.get("log_directory",'logs'))
154
+ log["logging_console_format"] = os.getenv("PYEGERIA_LOGGING_CONSOLE_FORMAT", log.get("logging_console_format",
155
+ " <green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level}</level> | "
156
+ "<cyan>{name}</cyan>:<cyan>{line}</cyan> - "
157
+ "<level>{message}</level> -{extra}" ))
158
+ log["logging_file_format"] = os.getenv("PYEGERIA_LOGGING_FILE_FORMAT",log.get("logging_file_format",
159
+ " {time:YYYY-MM-DD HH:mm:ss} | {level} | {function}:{line} "
160
+ "- {message }-{extra}" ))
161
+
162
+ user = config["User Profile"]
163
+ user["Egeria Home Collection"] = os.getenv("EGERIA_HOME_COLLECTION", user.get("Egeria Home Collection", "myHome"))
164
+ user["Egeria Home Glossary Name"] = os.getenv("EGERIA_HOME_GLOSSARY_NAME", user.get("Egeria Home Glossary Name", "Egeria-Markdown"))
165
+ user["Egeria Local Qualifier"] = os.getenv("EGERIA_LOCAL_QUALIFIER", user.get("Egeria Local Qualifier", "myLocal"))
166
+ user["user_name"] = os.getenv("EGERIA_USER_NAME", "peterprofile")
167
+ user["user_pwd"] = os.getenv("EGERIA_USER_PASSWORD", "secret")
168
+
169
+ if not user.get("user_pwd"):
170
+ context: dict = {}
171
+ context['caller method'] = inspect.currentframe().f_back.f_code.co_name
172
+ additional_info: dict = {"reason": "Egeria user password is not found in the environment"}
173
+ raise PyegeriaInvalidParameterException(None, context, additional_info)
174
+
175
+
176
+
177
+
178
+ # Handle type conversion for env vars (they are always strings)
179
+ # if "TIMEOUT_SECONDS" in os.environ:
180
+ # try:
181
+ # config["timeout_seconds"] = int(os.getenv("TIMEOUT_SECONDS"))
182
+ # except ValueError:
183
+ # print("Warning: TIMEOUT_SECONDS environment variable is not an integer. Using default.")
184
+ #
185
+ # if "DEBUG_MODE" in os.environ:
186
+ # # Convert string "True", "False", "1", "0" to boolean
187
+ # debug_str = os.getenv("DEBUG_MODE").lower()
188
+ # config["debug_mode"] = debug_str in ('True', '1', 't', 'y', 'yes', 'on')
189
+ #
190
+ # if "FEATURE_X_ENABLED" in os.environ:
191
+ # feature_x_str = os.getenv("FEATURE_X_ENABLED").lower()
192
+ # config["feature_x_enabled"] = feature_x_str in ('True', '1', 't', 'y', 'yes', 'on')
193
+
194
+ # 4. Handle sensitive API key (only from environment variable)
195
+ # config["api_key"] = os.getenv("MY_SERVICE_API_KEY")
196
+ # if config["api_key"] is None:
197
+ # print("Error: MY_SERVICE_API_KEY environment variable is critical and not set.")
198
+ # # In a production application, you might raise a critical exception here:
199
+ # # raise ValueError("MY_SERVICE_API_KEY is not set!")
200
+
201
+ _app_config = config # Store the final loaded configuration
202
+ return _app_config
203
+
204
+ def get_app_config():
205
+ """
206
+ Provides access to the loaded application configuration.
207
+ Ensures config is loaded if not already (useful for testing or simple scripts).
208
+ For structured apps, load_app_config() should be called explicitly once at startup.
209
+ """
210
+ if _app_config is None:
211
+ # If get_app_config is called before load_app_config, load it now.
212
+ # This can be convenient but explicit loading is generally better.
213
+ return load_app_config()
214
+ return _app_config
215
+
216
+ # You can also define constants based on the config for common access,
217
+ # but be aware these won't update if the config changes after initial load.
218
+ # E.g., API_ENDPOINT = get_app_config().get("api_endpoint")
@@ -137,12 +137,20 @@ from pyegeria.load_config import get_app_config
137
137
  app_settings = get_app_config()
138
138
 
139
139
  def console_log_filter(record):
140
- return (record["module"] in app_settings["Logging"]["console_logging_enabled"]
140
+ if len(record["module"]) > 0:
141
+ module_ok = True
142
+ else:
143
+ module_ok = record["module"] in app_settings.logging.console_logging_enabled
144
+
145
+
146
+ return (module_ok
141
147
  and
142
- record["level"].name in app_settings["Logging"]["console_filter_levels"]
148
+ record["level"].name in app_settings.Logging.console_filter_levels
143
149
  )
144
150
 
145
-
151
+ def init_logging(log_init:bool= False):
152
+ if not log_init:
153
+ logger.disable("pyegeria")
146
154
 
147
155
  def config_logging():
148
156
  """
@@ -160,16 +168,14 @@ def config_logging():
160
168
 
161
169
 
162
170
  # Get the directory for log files from the environment variable
163
- log_app_settings = app_settings["Logging"]
164
- log_directory = log_app_settings.get("log_directory","/Users/dwolfson/localGit/egeria-v-3/egeria-python/logs")
165
- console_logging_level = log_app_settings.get("console_logging_level","SUCCESS")
166
- logging_console_format = log_app_settings.get("console_format","{time:YYYY-MM-DD HH:mm:ss} | {level} | {module}:{line}"
167
- " - {message} - {extra}")
168
- file_logging_level = log_app_settings.get("file_logging_level", "INFO")
169
- logging_file_format = log_app_settings.get("file_format", "{time:YYYY-MM-DD HH:mm:ss} | {level} | {module}:{line}"
170
- " - {message} - {extra}")
171
- console_logging_enabled = log_app_settings.get("console_logging_enabled", "tests")
172
- enable_logging = log_app_settings.get("enable_logging", True)
171
+ log_app_settings = app_settings.Logging
172
+ log_directory = log_app_settings.log_directory
173
+ console_logging_level = log_app_settings.console_logging_level
174
+ logging_console_format = log_app_settings.logging_console_format
175
+ file_logging_level = log_app_settings.file_logging_level
176
+ logging_file_format = log_app_settings.logging_file_format
177
+ console_logging_enabled = log_app_settings.console_logging_enabled
178
+ enable_logging = log_app_settings.enable_logging
173
179
 
174
180
  # Ensure the directory exists
175
181
  os.makedirs(log_directory, exist_ok=True)
@@ -196,8 +202,8 @@ def config_logging():
196
202
  )
197
203
 
198
204
  if enable_logging:
199
- logger.enable("")
200
- logger.info("Application started with Loguru configured.")
205
+ logger.enable("pyegeria")
206
+ logger.warning("Application started with Loguru configured.")
201
207
 
202
208
 
203
209
 
@@ -4,12 +4,19 @@ from typing import Any, Callable, Dict, List, Optional, Tuple, Union
4
4
  from pyegeria.utils import (camel_to_title_case)
5
5
  from markdown_it import MarkdownIt
6
6
  from rich.console import Console
7
+ from loguru import logger
7
8
 
8
9
  from pyegeria.mermaid_utilities import construct_mermaid_web
10
+ from pyegeria._output_formats import select_output_format_set, MD_SEPARATOR
11
+
12
+ """
13
+ Note on select_output_format_set function:
14
+
15
+ This function and related data structures have been moved back to _output_formats.py.
16
+ Please import select_output_format_set from pyegeria._output_formats instead of from this module.
17
+ """
9
18
 
10
19
  console = Console(width= 250)
11
- # Constants
12
- MD_SEPARATOR = "\n---\n\n"
13
20
 
14
21
 
15
22
  def _extract_referenceable_properties(element: dict[str, Any]) -> dict[str, Any]:
@@ -28,6 +35,8 @@ def _extract_referenceable_properties(element: dict[str, Any]) -> dict[str, Any]
28
35
  # Get attributes from properties
29
36
  properties = element['properties']
30
37
  display_name = properties.get("name", "") or ""
38
+ if display_name == "":
39
+ display_name = properties.get("displayName","")
31
40
  description = properties.get("description", "") or ""
32
41
  qualified_name = properties.get("qualifiedName", "") or ""
33
42
  category = properties.get("category", "") or ""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyegeria
3
- Version: 5.4.0.3
3
+ Version: 5.4.0.5
4
4
  Summary: A python client for Egeria
5
5
  License: Apache 2.0
6
6
  Keywords: egeria,metadata,governance
@@ -22,6 +22,7 @@ Requires-Dist: mermaid-py
22
22
  Requires-Dist: poetry-core (>=2.1.3,<3.0.0)
23
23
  Requires-Dist: psycopg2-binary (>=2.9.9,<3.0.0)
24
24
  Requires-Dist: pydantic (>=2.11.7,<3.0.0)
25
+ Requires-Dist: pydantic-settings (>=2.10.1,<3.0.0)
25
26
  Requires-Dist: pytest (>=8.3.5,<9.0.0)
26
27
  Requires-Dist: requests
27
28
  Requires-Dist: rich
@@ -14,13 +14,14 @@ commands/cat/glossary_actions.py,sha256=D-jeQ3YnsC7fYbMtUwlXLokvZygLNM1ITxfa-jxy
14
14
  commands/cat/list_assets.py,sha256=CdJ2coKvvQv2VwJO0Sp9Eg9Fu_uvpC21tgjrdtT9Yz4,6315
15
15
  commands/cat/list_categories.py,sha256=DTKE3yrt3N2EIjCGscxrz-pSREqmch7aFqsVFm-3u7o,7841
16
16
  commands/cat/list_cert_types.py,sha256=HmrTks0SSYgSMsYz3LqfX5kwDQ6D9KMcynoR_xlWtnE,7137
17
- commands/cat/list_collections.py,sha256=O2jPyAWHv0Uy0TvtE7eYfK3AasH0CZaCTBSNtIgvjc0,9027
17
+ commands/cat/list_collections.py,sha256=LB9ahljZgcRrcGORgO-WWV-JtcdjT1-Y45k9Mk_w35M,9002
18
18
  commands/cat/list_data_designer.py,sha256=Bpix52CVdV1xZFo-07N8W30vdoDcHYT91jKVRTxQgQ0,6720
19
19
  commands/cat/list_data_structures_full.py,sha256=E9PY_AU1lzGSqUwy711Bjd5uMfV41kpmNPzhdf0nZjs,8642
20
20
  commands/cat/list_deployed_catalogs.py,sha256=VdN6R9kRVWX-fGIgubOigvMVPzhF-hKQepHHlS-w-D8,8258
21
21
  commands/cat/list_deployed_database_schemas.py,sha256=1Qicke1R2_7Xi3Qf5sp8KJ3_reAIt0z1iaz2sG8Z0Qs,9458
22
22
  commands/cat/list_deployed_databases.py,sha256=ryrBW1CxJRfOeLP978qQwxb5oImqhIsHghtcpWeBIrw,7587
23
23
  commands/cat/list_deployed_servers.py,sha256=_xR7EaaCsxIjTphxmoCZlARoja_vQqZ881pFiEuhw-8,5719
24
+ commands/cat/list_format_set.py,sha256=n0IO1sSa9YoybKF94yaFOvANKgbt5ZMo0aX53uc2zGI,16972
24
25
  commands/cat/list_glossaries.py,sha256=pKJdiRMrSBpmPv0yOWoR_CdGZP06MuxfPGwCXc-kSQw,7666
25
26
  commands/cat/list_projects.py,sha256=NzWTuepTGUEyxK-eWvuUxtBgCtNWubVwmz2eqm2UN1c,7997
26
27
  commands/cat/list_tech_type_elements.py,sha256=-9omj5en9dSP1xMSljYVHyfXsuhuE1bO2IFj_bZPhAs,6873
@@ -29,13 +30,14 @@ commands/cat/list_terms.py,sha256=ndl99V6NbJtlV3xqIGWhif1R8tW6emEVYYos0dkydwE,12
29
30
  commands/cat/list_todos.py,sha256=NitCw0uyVVjmN1hxb1W-I4FbOsa8wQxW2ICyOElHyc8,6556
30
31
  commands/cat/list_user_ids.py,sha256=X5Q-YNEp38saPYDuy9VwdQC5Qpa4HyC3WvAdbyp_P6M,5108
31
32
  commands/cli/__init__.py,sha256=E6vPW3P3iuVPyrwtDIWvU9P0JXOGqP8KupeIZdxc6wc,298
32
- commands/cli/egeria.py,sha256=CKqJiwu44Ya6IgFPgjVpoP2kUZmohrIqXs4SiM1ckHo,52096
33
- commands/cli/egeria_cat.py,sha256=HqmtUpSX1pXiItVQC0zGEXzHdw_y_-rzy4W8dWJof8M,18143
33
+ commands/cli/debug_log,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
+ commands/cli/egeria.py,sha256=W_hz0eIo984T1gY1NzkekI-J-sozTHaEOD8-0xhBr1c,52245
35
+ commands/cli/egeria_cat.py,sha256=PnFSDaCl5ntXL1qIuA-e-p2GqsvkN5ykua07u4Xsu7Y,18341
34
36
  commands/cli/egeria_login_tui.py,sha256=bh9MvJcZPpixXkEtWh_4NK4YcRdeHSVDUBTIhQncSyY,9498
35
37
  commands/cli/egeria_my.py,sha256=pWFgznhBs34a6ldRExAFGmZ7K-wBYqjTUfvdUtPq_uc,6349
36
38
  commands/cli/egeria_ops.py,sha256=0cjvlNj1hbilQ17aIx2OrQgQzhVzGiCPlz4f7XdP1t8,12519
37
39
  commands/cli/egeria_tech.py,sha256=etLJOEzO7UQyfY8aRcmXqoYvh_fdi5CGtT9X6KEW8p0,20995
38
- commands/cli/ops_config.py,sha256=aYpZgC5WgbeVX81DNKS34sOqMx2pc6yqDuSO2CYRiOo,1513
40
+ commands/cli/ops_config.py,sha256=kEySXDU8eqfGWtjt8e9089rJkGPkPQQTeTHhW3Yeczs,1363
39
41
  commands/cli/txt_custom_v2.tcss,sha256=ixkzpFyTZ5i3byFO9EmEAeJgzbEa7nZb_3iTgxNtVPk,232
40
42
  commands/my/README.md,sha256=ZheFhj_VoPMhcWjW3pGchHB0vH_A9PklSmrSkzKdrcQ,844
41
43
  commands/my/__init__.py,sha256=0O3kDAlDfx7ohSg_5tZt55B4B3UItgE0noROQLCIUxs,449
@@ -97,6 +99,8 @@ commands/tech/x_list_related_elements.py,sha256=ynaw792VnbMZ9IXBi5mmG7xBfC0kn0es
97
99
  md_processing/__init__.py,sha256=Z1nnPovPro70uO_KQNNmMZZsVry37CjnAWHQMIAbCa4,6857
98
100
  md_processing/data/commands-working.json,sha256=uCo_azcuuYqGm7QffJeCGj7PyZuZRGdu7kKf4XWmMoA,1162560
99
101
  md_processing/data/commands.json,sha256=qywJWX4vfZIq2LzcucY0kI5R-59HiMk6B6DQNo9TynQ,1162918
102
+ md_processing/dr-egeria-outbox/DataStruct-2025-07-29-20-49-16.py,sha256=tB4usD68FAAUNI_sO0VcZ3-vuW4K6fgJaBWfQIrMAac,319
103
+ md_processing/dr-egeria-outbox/Mandy-DataStruct-2025-07-29-15-54-45.md,sha256=y04ByuucQBMmp4EtfuHplERxGrCij2qju5MYo8iGvNA,556
100
104
  md_processing/dr_egeria_inbox/glossary_creation_experiment.ipynb,sha256=dbzNu90fCKNohOWVSRBOB1GLyd95x8Qw51I5AkaPtso,11552
101
105
  md_processing/family_docs/Data Designer/Create_Data_Class.md,sha256=eC6JxHiK_uPnUgqCbu4AN8hPWpddlvch_7j1tb8k_B8,3561
102
106
  md_processing/family_docs/Data Designer/Create_Data_Dictionary.md,sha256=VVWXQFWJgprYtRTvnDUu--S2mSTNDWu3kSED8U2WnR4,782
@@ -181,22 +185,22 @@ md_processing/md_processing_utils/generated_help_terms.md,sha256=9-Qt2_reHLXMb6H
181
185
  md_processing/md_processing_utils/md_processing_constants.py,sha256=gCU36oyeS7_GErLOP9YyZtOQid81d-dcp0-y-CpEooE,14157
182
186
  md_processing/md_processing_utils/message_constants.py,sha256=UBf18obM83umM6zplR7ychre4xLRbBnTzidHDZ2gNvM,548
183
187
  pyegeria/README.md,sha256=PwX5OC7-YSZUCIsoyHh1O-WBM2hE84sm3Bd4O353NOk,1464
184
- pyegeria/__init__.py,sha256=V7Q1RiVJk7ahrEk6FGL6fl-jd2tlMroMpzWD1geDozc,31171
188
+ pyegeria/__init__.py,sha256=jKqMWRZZoQ7SMpbXQajAfmPTkUc8MX7Du5ALYylBonM,31185
185
189
  pyegeria/_client.py,sha256=hJHn5pD8sbelP_M9dK-M5Z2CYqpRXzXfg1UCgAdQ6dQ,33416
186
190
  pyegeria/_client_new.py,sha256=T7nX4WpPM33G_O1lZoZYu1Bpa2-bb5ys0H1oC-sA5OM,27537
187
191
  pyegeria/_deprecated_gov_engine.py,sha256=dWNcwVsE5__dF2u4QiIyQrssozzzOjBbLld8MdpmVCQ,17264
188
192
  pyegeria/_exceptions.py,sha256=1SrnV194V4_YJNnNAU0myTHQ3dhLn4GF2B2gZcj1u90,18153
189
- pyegeria/_exceptions_new.py,sha256=7r3aHVEn-liKEb5rpZGnvUQno7soPBKOpf7Q4zhdUsw,16770
193
+ pyegeria/_exceptions_new.py,sha256=rxfT3KcBUCeXoz_JJotTzylT0o9SZ_yu4EMuWMScCF8,18182
190
194
  pyegeria/_globals.py,sha256=qSU5hM4uuJZPp-YapEEKxfcdgH9hauc6R7gRkELLroY,1132
191
- pyegeria/_output_formats.py,sha256=dyDKpxilhoPDIemLxtaCldkQPtWuJfJXRRshU3pI0Dk,7782
195
+ pyegeria/_output_formats.py,sha256=LgXSCpTNf-Qd8zZVTS1wUl_F1Emk-gxUFYqePVJJpAc,11954
192
196
  pyegeria/_validators.py,sha256=pNxND0dN2qvyuGE52N74l1Ezfrh2p9Hao2ziR_t1ENI,7425
193
197
  pyegeria/asset_catalog_omvs.py,sha256=P6FceMP0FgakGSOt3ePxpEbsF7nnypzo1aQahjdL_94,29021
194
198
  pyegeria/automated_curation_omvs.py,sha256=tzwCyXL0Hx8UjryBBWcPoEuBRajXZpLuwPQ1vuOg2yc,130349
195
199
  pyegeria/classification_manager_omvs.py,sha256=EBWjdx_C999bRu2-INL8RZxZ-wz92mzVqVBQ6mkyGM0,187228
196
- pyegeria/collection_manager_omvs.py,sha256=tA02n4gVJee79XzbNsGrUV2IAz5Eor93Ah3PErhQuTQ,285426
200
+ pyegeria/collection_manager_omvs.py,sha256=z-Hv88iMJciSV5vaPyMP9u288CxXNAnlbc52WeFlcK4,285617
197
201
  pyegeria/core_omag_server_config.py,sha256=pNQpocICkZx8sRsTw5DPUe-TFyxlIo1U88qqgci_f7I,97764
198
202
  pyegeria/create_tech_guid_lists.py,sha256=hf5q8Xrdsz-bqeIW3yTORZ1XB6_BrKzLDWWwC_bNG2g,4811
199
- pyegeria/data_designer_omvs.py,sha256=Vx0zi1LCJxw6rJ-8NxTis72mukU3eIUFF9OjCNPmv2E,205304
203
+ pyegeria/data_designer_omvs.py,sha256=YTV_yy_nNKQSpVdiFuivsHftcS1PTDOGtA_OxdYC_qQ,207556
200
204
  pyegeria/dr.egeria spec.md,sha256=QC_z3EqJ0WW18NYQFW_AtqO4SMWH5MJNVmM--54VzX4,959
201
205
  pyegeria/egeria_cat_client.py,sha256=d8dQNPLzL4efi99OJfH1T-Rt1N0k9Rf9LX8LpuhiFls,2179
202
206
  pyegeria/egeria_client.py,sha256=egGv41eb94P_lWIQ54I_90WT_IukJ_J6ZLOYCHpx2js,4676
@@ -208,15 +212,16 @@ pyegeria/full_omag_server_config.py,sha256=CQqLCy_3DZFvJZEOcGf50HWdFaWpiAIs6z-kK
208
212
  pyegeria/glossary_browser_omvs.py,sha256=Jb2Tt2qNjnoWQNBDMdZiuQffH6nC4lKekZNEJCiW5BE,166966
209
213
  pyegeria/glossary_manager_omvs.py,sha256=vXHlBuJxUIAkSI7OKbYcspmcfxxX-L7oe5J0AiEefVI,87991
210
214
  pyegeria/governance_officer_omvs.py,sha256=14UnC-fS5LUsWzx-RuzUX_ZNVxldqvVSvZFvJDv980I,91580
211
- pyegeria/load_config.py,sha256=qwLa0LYH8TTKqjQK4EAvh1mEoy4ZAaF7PiCA45JCQ-I,11625
212
- pyegeria/logging_configuration.py,sha256=W-J2x5dQb6WETMpOtGq5GCghNENX5W1ClpeZTebGJCI,7933
215
+ pyegeria/load_config.py,sha256=WWQIPL-9gd_d8Qo4B5gEBFyeJbssYGtxwO6Y6mhYUog,22677
216
+ pyegeria/load_config_orig.py,sha256=lOM37vdIBcYfLQFTLP5bDuNc7vTFGBNYPfqHtWGNvA4,11624
217
+ pyegeria/logging_configuration.py,sha256=R1pMPHb7Gm8bxRkrvgFFCpIc7cI05FyZS7aWQTErTHM,7715
213
218
  pyegeria/md_processing_helpers.py,sha256=xlQuK5eP_PJqUdy4BScQ97NyBD95jMS3EUg0wK5CsZo,2137
214
219
  pyegeria/md_processing_utils.py,sha256=KRESCqAYjCgHRAdhHH49lLDDhaq740CUlqTG0bN-6Oo,99119
215
220
  pyegeria/md_processing_utils_orig.py,sha256=SToZtXQiysi2_vmIY4-T2NIELRirzQ1zjkho_2jFsNE,52603
216
221
  pyegeria/mermaid_utilities.py,sha256=Zcn8JRrqtf62oHoxuvP9tQ5G-BFxOGMNfr7-peuykgY,54290
217
222
  pyegeria/metadata_explorer_omvs.py,sha256=xHnZTQKbd6XwOhYia-RiIisrvZcqHi0SL1l6OCf04Gk,86911
218
223
  pyegeria/my_profile_omvs.py,sha256=d0oJYCJG7pS9BINPuGciVa00ac0jwPHNANXDCLginEc,34720
219
- pyegeria/output_formatter.py,sha256=ARCc8TqHEXO2XkO1ytGJSL5PFgOeS6qNeTOvphUaOHw,25559
224
+ pyegeria/output_formatter.py,sha256=sYsya_RSax6ExstJ3qjAGrgIhWM5Tdsyt-Vni5T5p64,25942
220
225
  pyegeria/platform_services.py,sha256=YEpZsGGsbSdesN8ceyFhV0OMzKG6znTZrREMTRimLps,41701
221
226
  pyegeria/project_manager_omvs.py,sha256=612rYbu2eLR8Sgv9nBzjkFJ2PuxIBd_b-zwcnpVbXhc,70665
222
227
  pyegeria/registered_info.py,sha256=y0-LgDIQXpph0lEWxIOG3_HsqX_Z2iAIb3xu4Aa4B70,6344
@@ -227,8 +232,8 @@ pyegeria/template_manager_omvs.py,sha256=chBljs1vy5wr9DRAtbvIt4Cob_7HxGfxLkCNlDT
227
232
  pyegeria/utils.py,sha256=CAh8LItgmGf5UHIYeYAOE4roHg1wuBk3zQ1lxK7lcZA,6805
228
233
  pyegeria/valid_metadata_omvs.py,sha256=Xq9DqBQvBFFJzaFIRKcVZ2k4gJvSh9yeXs_j-O3vn1w,65050
229
234
  pyegeria/x_action_author_omvs.py,sha256=RcqSzahUKCtvb_3u_wyintAlc9WFkC_2v0E12TZs8lQ,6433
230
- pyegeria-5.4.0.3.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
231
- pyegeria-5.4.0.3.dist-info/METADATA,sha256=OHCqXrpFIGQv0VrE6vGeAeW2eKurkbMyLHpc1NFHxWA,2922
232
- pyegeria-5.4.0.3.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
233
- pyegeria-5.4.0.3.dist-info/entry_points.txt,sha256=mrQADxAkv37zeCb6z2XEX0AXjJaXirTJWfDn0BWYwPg,6303
234
- pyegeria-5.4.0.3.dist-info/RECORD,,
235
+ pyegeria-5.4.0.5.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
236
+ pyegeria-5.4.0.5.dist-info/METADATA,sha256=gF4fCm2BbX17AX0SIDwdbFQ-KrTMfYEZwwn_XTqO38M,2973
237
+ pyegeria-5.4.0.5.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
238
+ pyegeria-5.4.0.5.dist-info/entry_points.txt,sha256=HAS-LHaaBfkaZ19XU9g5mXwn2uj2HK99isdijI-VIDk,6353
239
+ pyegeria-5.4.0.5.dist-info/RECORD,,
@@ -54,6 +54,7 @@ list_elements_for_classification=commands.tech.list_elements_for_classification:
54
54
  list_elements_x=commands.tech.list_all_om_type_elements_x:main
55
55
  list_engine_activity=commands.ops.monitor_engine_activity:main_paging
56
56
  list_engine_activity_compressed=commands.ops.monitor_engine_activity_c:main_paging
57
+ list_format_set=commands.cat.list_format_set:main
57
58
  list_glossaries=commands.cat.list_glossaries:main
58
59
  list_gov_action_processes=commands.tech.list_gov_action_processes:main
59
60
  list_gov_eng_status=commands.ops.monitor_gov_eng_status:main_paging