pyegeria 5.4.0.4__py3-none-any.whl → 5.4.0.6__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
 
@@ -35,6 +35,8 @@ def _extract_referenceable_properties(element: dict[str, Any]) -> dict[str, Any]
35
35
  # Get attributes from properties
36
36
  properties = element['properties']
37
37
  display_name = properties.get("name", "") or ""
38
+ if display_name == "":
39
+ display_name = properties.get("displayName","")
38
40
  description = properties.get("description", "") or ""
39
41
  qualified_name = properties.get("qualifiedName", "") or ""
40
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.4
3
+ Version: 5.4.0.6
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,14 +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=5rnxFidIJArJkSXOsPuUROi781g9k7hj6rIS78LCFJY,16922
24
+ commands/cat/list_format_set.py,sha256=qaV48HuG_XfaPAM6YA2yn-tldfUJHk8dMvIBapk4q-0,16966
25
25
  commands/cat/list_glossaries.py,sha256=pKJdiRMrSBpmPv0yOWoR_CdGZP06MuxfPGwCXc-kSQw,7666
26
26
  commands/cat/list_projects.py,sha256=NzWTuepTGUEyxK-eWvuUxtBgCtNWubVwmz2eqm2UN1c,7997
27
27
  commands/cat/list_tech_type_elements.py,sha256=-9omj5en9dSP1xMSljYVHyfXsuhuE1bO2IFj_bZPhAs,6873
@@ -31,13 +31,13 @@ commands/cat/list_todos.py,sha256=NitCw0uyVVjmN1hxb1W-I4FbOsa8wQxW2ICyOElHyc8,65
31
31
  commands/cat/list_user_ids.py,sha256=X5Q-YNEp38saPYDuy9VwdQC5Qpa4HyC3WvAdbyp_P6M,5108
32
32
  commands/cli/__init__.py,sha256=E6vPW3P3iuVPyrwtDIWvU9P0JXOGqP8KupeIZdxc6wc,298
33
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
+ commands/cli/egeria.py,sha256=NmcpYRflzDElJ7vYxz7zByZ4s6UsRIVcm9v7JOB6Qlk,52192
35
+ commands/cli/egeria_cat.py,sha256=dzi6WIe-OydX5pRVImtH5TqhqsGynGyJSiaivlrOLus,18299
36
36
  commands/cli/egeria_login_tui.py,sha256=bh9MvJcZPpixXkEtWh_4NK4YcRdeHSVDUBTIhQncSyY,9498
37
37
  commands/cli/egeria_my.py,sha256=pWFgznhBs34a6ldRExAFGmZ7K-wBYqjTUfvdUtPq_uc,6349
38
38
  commands/cli/egeria_ops.py,sha256=0cjvlNj1hbilQ17aIx2OrQgQzhVzGiCPlz4f7XdP1t8,12519
39
39
  commands/cli/egeria_tech.py,sha256=etLJOEzO7UQyfY8aRcmXqoYvh_fdi5CGtT9X6KEW8p0,20995
40
- commands/cli/ops_config.py,sha256=kEySXDU8eqfGWtjt8e9089rJkGPkPQQTeTHhW3Yeczs,1363
40
+ commands/cli/ops_config.py,sha256=0_aKDNl-AxfeT4aukOXiS1TH72b3ZRszGg_ekTnbgMU,1363
41
41
  commands/cli/txt_custom_v2.tcss,sha256=ixkzpFyTZ5i3byFO9EmEAeJgzbEa7nZb_3iTgxNtVPk,232
42
42
  commands/my/README.md,sha256=ZheFhj_VoPMhcWjW3pGchHB0vH_A9PklSmrSkzKdrcQ,844
43
43
  commands/my/__init__.py,sha256=0O3kDAlDfx7ohSg_5tZt55B4B3UItgE0noROQLCIUxs,449
@@ -185,22 +185,22 @@ md_processing/md_processing_utils/generated_help_terms.md,sha256=9-Qt2_reHLXMb6H
185
185
  md_processing/md_processing_utils/md_processing_constants.py,sha256=gCU36oyeS7_GErLOP9YyZtOQid81d-dcp0-y-CpEooE,14157
186
186
  md_processing/md_processing_utils/message_constants.py,sha256=UBf18obM83umM6zplR7ychre4xLRbBnTzidHDZ2gNvM,548
187
187
  pyegeria/README.md,sha256=PwX5OC7-YSZUCIsoyHh1O-WBM2hE84sm3Bd4O353NOk,1464
188
- pyegeria/__init__.py,sha256=V7Q1RiVJk7ahrEk6FGL6fl-jd2tlMroMpzWD1geDozc,31171
188
+ pyegeria/__init__.py,sha256=jKqMWRZZoQ7SMpbXQajAfmPTkUc8MX7Du5ALYylBonM,31185
189
189
  pyegeria/_client.py,sha256=hJHn5pD8sbelP_M9dK-M5Z2CYqpRXzXfg1UCgAdQ6dQ,33416
190
190
  pyegeria/_client_new.py,sha256=T7nX4WpPM33G_O1lZoZYu1Bpa2-bb5ys0H1oC-sA5OM,27537
191
191
  pyegeria/_deprecated_gov_engine.py,sha256=dWNcwVsE5__dF2u4QiIyQrssozzzOjBbLld8MdpmVCQ,17264
192
192
  pyegeria/_exceptions.py,sha256=1SrnV194V4_YJNnNAU0myTHQ3dhLn4GF2B2gZcj1u90,18153
193
- pyegeria/_exceptions_new.py,sha256=7r3aHVEn-liKEb5rpZGnvUQno7soPBKOpf7Q4zhdUsw,16770
193
+ pyegeria/_exceptions_new.py,sha256=rxfT3KcBUCeXoz_JJotTzylT0o9SZ_yu4EMuWMScCF8,18182
194
194
  pyegeria/_globals.py,sha256=qSU5hM4uuJZPp-YapEEKxfcdgH9hauc6R7gRkELLroY,1132
195
- pyegeria/_output_formats.py,sha256=heykHYxpp8zsV8Nu8IpUXmOMtjTuZCrpr5PA5dQhx0M,10835
195
+ pyegeria/_output_formats.py,sha256=LgXSCpTNf-Qd8zZVTS1wUl_F1Emk-gxUFYqePVJJpAc,11954
196
196
  pyegeria/_validators.py,sha256=pNxND0dN2qvyuGE52N74l1Ezfrh2p9Hao2ziR_t1ENI,7425
197
197
  pyegeria/asset_catalog_omvs.py,sha256=P6FceMP0FgakGSOt3ePxpEbsF7nnypzo1aQahjdL_94,29021
198
198
  pyegeria/automated_curation_omvs.py,sha256=tzwCyXL0Hx8UjryBBWcPoEuBRajXZpLuwPQ1vuOg2yc,130349
199
199
  pyegeria/classification_manager_omvs.py,sha256=EBWjdx_C999bRu2-INL8RZxZ-wz92mzVqVBQ6mkyGM0,187228
200
- pyegeria/collection_manager_omvs.py,sha256=qpeWdHHGgmZOi3tLRQLL1w3tXa0sG-AzTr_TFsJ-rBo,285442
200
+ pyegeria/collection_manager_omvs.py,sha256=z-Hv88iMJciSV5vaPyMP9u288CxXNAnlbc52WeFlcK4,285617
201
201
  pyegeria/core_omag_server_config.py,sha256=pNQpocICkZx8sRsTw5DPUe-TFyxlIo1U88qqgci_f7I,97764
202
202
  pyegeria/create_tech_guid_lists.py,sha256=hf5q8Xrdsz-bqeIW3yTORZ1XB6_BrKzLDWWwC_bNG2g,4811
203
- pyegeria/data_designer_omvs.py,sha256=nYjy4Xzs0bkDLZONqSbwHKck5a-tzDLdINxCktWQId0,205899
203
+ pyegeria/data_designer_omvs.py,sha256=YTV_yy_nNKQSpVdiFuivsHftcS1PTDOGtA_OxdYC_qQ,207556
204
204
  pyegeria/dr.egeria spec.md,sha256=QC_z3EqJ0WW18NYQFW_AtqO4SMWH5MJNVmM--54VzX4,959
205
205
  pyegeria/egeria_cat_client.py,sha256=d8dQNPLzL4efi99OJfH1T-Rt1N0k9Rf9LX8LpuhiFls,2179
206
206
  pyegeria/egeria_client.py,sha256=egGv41eb94P_lWIQ54I_90WT_IukJ_J6ZLOYCHpx2js,4676
@@ -212,15 +212,16 @@ pyegeria/full_omag_server_config.py,sha256=CQqLCy_3DZFvJZEOcGf50HWdFaWpiAIs6z-kK
212
212
  pyegeria/glossary_browser_omvs.py,sha256=Jb2Tt2qNjnoWQNBDMdZiuQffH6nC4lKekZNEJCiW5BE,166966
213
213
  pyegeria/glossary_manager_omvs.py,sha256=vXHlBuJxUIAkSI7OKbYcspmcfxxX-L7oe5J0AiEefVI,87991
214
214
  pyegeria/governance_officer_omvs.py,sha256=14UnC-fS5LUsWzx-RuzUX_ZNVxldqvVSvZFvJDv980I,91580
215
- pyegeria/load_config.py,sha256=rFI4aywGhQ0d-4_brbVfugbTB0UrshSV3NrU-GJv25o,11623
216
- pyegeria/logging_configuration.py,sha256=W-J2x5dQb6WETMpOtGq5GCghNENX5W1ClpeZTebGJCI,7933
215
+ pyegeria/load_config.py,sha256=ynT0zDMuuAII3dI7PHrcnecKbv7sSn9enI_oBq1Ixek,22672
216
+ pyegeria/load_config_orig.py,sha256=lOM37vdIBcYfLQFTLP5bDuNc7vTFGBNYPfqHtWGNvA4,11624
217
+ pyegeria/logging_configuration.py,sha256=R1pMPHb7Gm8bxRkrvgFFCpIc7cI05FyZS7aWQTErTHM,7715
217
218
  pyegeria/md_processing_helpers.py,sha256=xlQuK5eP_PJqUdy4BScQ97NyBD95jMS3EUg0wK5CsZo,2137
218
219
  pyegeria/md_processing_utils.py,sha256=KRESCqAYjCgHRAdhHH49lLDDhaq740CUlqTG0bN-6Oo,99119
219
220
  pyegeria/md_processing_utils_orig.py,sha256=SToZtXQiysi2_vmIY4-T2NIELRirzQ1zjkho_2jFsNE,52603
220
221
  pyegeria/mermaid_utilities.py,sha256=Zcn8JRrqtf62oHoxuvP9tQ5G-BFxOGMNfr7-peuykgY,54290
221
222
  pyegeria/metadata_explorer_omvs.py,sha256=xHnZTQKbd6XwOhYia-RiIisrvZcqHi0SL1l6OCf04Gk,86911
222
223
  pyegeria/my_profile_omvs.py,sha256=d0oJYCJG7pS9BINPuGciVa00ac0jwPHNANXDCLginEc,34720
223
- pyegeria/output_formatter.py,sha256=Mro8Abb5r97HcJgIMgFeZ86SRS6gbWjFg_4ITjSMCgM,25859
224
+ pyegeria/output_formatter.py,sha256=sYsya_RSax6ExstJ3qjAGrgIhWM5Tdsyt-Vni5T5p64,25942
224
225
  pyegeria/platform_services.py,sha256=YEpZsGGsbSdesN8ceyFhV0OMzKG6znTZrREMTRimLps,41701
225
226
  pyegeria/project_manager_omvs.py,sha256=612rYbu2eLR8Sgv9nBzjkFJ2PuxIBd_b-zwcnpVbXhc,70665
226
227
  pyegeria/registered_info.py,sha256=y0-LgDIQXpph0lEWxIOG3_HsqX_Z2iAIb3xu4Aa4B70,6344
@@ -231,8 +232,8 @@ pyegeria/template_manager_omvs.py,sha256=chBljs1vy5wr9DRAtbvIt4Cob_7HxGfxLkCNlDT
231
232
  pyegeria/utils.py,sha256=CAh8LItgmGf5UHIYeYAOE4roHg1wuBk3zQ1lxK7lcZA,6805
232
233
  pyegeria/valid_metadata_omvs.py,sha256=Xq9DqBQvBFFJzaFIRKcVZ2k4gJvSh9yeXs_j-O3vn1w,65050
233
234
  pyegeria/x_action_author_omvs.py,sha256=RcqSzahUKCtvb_3u_wyintAlc9WFkC_2v0E12TZs8lQ,6433
234
- pyegeria-5.4.0.4.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
235
- pyegeria-5.4.0.4.dist-info/METADATA,sha256=5slNkjURWss0RYyeI7BSIGTQfuPNKrjZC41Po_gh7KA,2922
236
- pyegeria-5.4.0.4.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
237
- pyegeria-5.4.0.4.dist-info/entry_points.txt,sha256=HAS-LHaaBfkaZ19XU9g5mXwn2uj2HK99isdijI-VIDk,6353
238
- pyegeria-5.4.0.4.dist-info/RECORD,,
235
+ pyegeria-5.4.0.6.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
236
+ pyegeria-5.4.0.6.dist-info/METADATA,sha256=9MJzdJ9VBMlUvdUEiEGUvJnYd2aVxdT2oNzgPAr03So,2973
237
+ pyegeria-5.4.0.6.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
238
+ pyegeria-5.4.0.6.dist-info/entry_points.txt,sha256=HAS-LHaaBfkaZ19XU9g5mXwn2uj2HK99isdijI-VIDk,6353
239
+ pyegeria-5.4.0.6.dist-info/RECORD,,