pyegeria 5.3.4.11__py3-none-any.whl → 5.3.4.12__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.
@@ -227,138 +227,302 @@ def construct_mermaid_html(mermaid_str: str) -> str:
227
227
  escaped_header = html.escape(title_label) if title_label else "" # Sanitize the header safely
228
228
  escaped_mermaid_code = html.escape(mermaid_code)
229
229
 
230
- header_html = f"""
231
- <h3 id="{graph_id}-heading" style="margin: 20px 0; font-size: 1.5em; text-align: center;">
232
- {escaped_header}
233
- </h3>
234
- <p id="{graph_id}-subheading" style="margin: 0; padding: 5px; font-size: 1em; text-align: center; color: gray; flex: 0 0 auto;">
235
- GUID: {guid}
236
- </p>
237
- """ if title_label else ""
238
-
239
230
  html_content = f"""
240
- <!DOCTYPE html>
241
- <html>
242
- <div id="{graph_id}-wrapper" style="width: 100%; height: 100%; display: flex; flex-direction: column; align-items: stretch;">
243
-
244
- <!-- Title/Heading -->
245
-
246
- {header_html if header_html else ""}
247
- <!-- Mermaid Diagram -->
248
- <div id="{graph_id}-container" class="diagram-container"
249
- style="width: 100%; flex: 1 1 auto; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden;">
250
- <div id="{graph_id}" class="mermaid"
251
- style="width: 100%; height: 100%; cursor: grab; user-select: none; margin: 0; padding: 0;">
252
- {escaped_mermaid_code}
253
- </div>
254
- </div>
255
- </div>
256
-
257
- <style>
258
- /* Ensure no margins or padding for the body or html in Jupyter */
259
- body, html {{
260
- margin: 0;
261
- padding: 0;
262
- width: 100%;
263
- height: 100%;
264
- }}
265
- /* General reset for Jupyter Notebook's extra spacing */
266
- #notebook, .container, .cell, .output_area {{
267
- margin: 0 !important;
268
- padding: 0 !important;
269
- }}
270
- .diagram-container {{
271
- width: 100%;
272
- height: 100%;
273
- overflow: hidden; /* Prevent scrollbars during zoom/pan */
231
+ <style>
232
+ /* Style for the diagram container */
233
+ .diagram-container {{
234
+ position: relative;
235
+ width: 90%; /* Adjust the diagram container width */
236
+ height: 500px; /* Set a fixed height for the container */
237
+ margin: 0 auto;
238
+ border: 1px solid #ccc; /* Optional border for visualization */
239
+ overflow: hidden; /* Prevent content overflow outside the container */
240
+ }}
241
+
242
+ /* Style for zoom controls */
243
+ .svg-pan-zoom_controls {{
244
+ position: absolute;
245
+ top: 10px;
246
+ right: 10px;
247
+ display: flex;
248
+ flex-direction: column;
249
+ gap: 5px;
250
+ }}
251
+ .svg-pan-zoom_controls button {{
252
+ background-color: #007bff;
253
+ color: white;
254
+ border: none;
255
+ padding: 5px 10px;
256
+ border-radius: 3px;
257
+ cursor: pointer;
258
+ font-size: 14px;
259
+ }}
260
+ .svg-pan-zoom_controls button:hover {{
261
+ background-color: #0056b3;
262
+ }}
263
+ </style>
264
+
265
+ <script src="https://cdn.jsdelivr.net/npm/svg-pan-zoom@3.6.1/dist/svg-pan-zoom.min.js"></script>
266
+ <script>
267
+ document.addEventListener("DOMContentLoaded", () => {{
268
+ // Define graph ID dynamically passed via Python
269
+ const graph_id = "{graph_id}";
270
+
271
+ // Function to load external scripts dynamically
272
+ function loadScript(url, callback) {{
273
+ const script = document.createElement('script');
274
+ script.src = url;
275
+ script.async = true;
276
+ script.onload = callback;
277
+ script.onerror = () => console.error("Error loading script:", url);
278
+ document.head.appendChild(script);
274
279
  }}
275
- h2 {{
276
- margin: 0;
277
- padding: 10px;
278
- font-size: 24px;
279
- text-align: center;
280
- flex: 0 0 auto; /* Fix height explicitly for heading */
281
- }}
282
- .mermaid {{
283
- margin: 0;
284
- padding: 0;
285
- }}
286
- </style>
287
-
288
- <script>
289
- (function() {{
290
- const graphId = "{graph_id}"; // Pass the graph ID
291
-
292
- function loadScript(url, callback) {{
293
- const script = document.createElement('script');
294
- script.src = url;
295
- script.onload = callback;
296
- document.head.appendChild(script);
297
- }}
298
-
299
- // Initialize Mermaid and render the diagram
300
- function initializeMermaid() {{
301
- mermaid.initialize({{startOnLoad: false}});
302
- mermaid.init(undefined, "#" + graphId);
303
-
304
- setTimeout(() => {{
305
- const container = document.getElementById(graphId);
306
- if (!container) {{
307
- console.error("Container not found for graph:", graphId);
308
- return;
309
- }}
310
-
311
- const svg = container.querySelector("svg");
312
- if (!svg) {{
313
- console.error("SVG not rendered by Mermaid.");
314
- return;
315
- }}
316
-
317
- console.log("SVG rendered. Applying pan & zoom.");
318
-
319
- // Adjust to container size
320
- const containerElement = document.getElementById("{graph_id}-container");
321
- svg.setAttribute("width", containerElement.offsetWidth);
322
- svg.setAttribute("height", containerElement.offsetHeight);
323
-
324
- // Add pan/zoom functionality
325
- loadScript("https://cdn.jsdelivr.net/npm/svg-pan-zoom/dist/svg-pan-zoom.min.js", () => {{
326
- const panZoom = svgPanZoom(svg, {{
327
- zoomEnabled: true,
328
- controlIconsEnabled: true,
329
- fit: true,
330
- center: true,
331
- minZoom: 0.5,
332
- maxZoom: 10
333
- }});
334
-
335
- // Reinitialize pan-zoom on window resize
336
- function onResize() {{
337
- panZoom.resize();
338
- panZoom.fit();
339
- panZoom.center();
340
- }}
341
- window.addEventListener('resize', onResize);
342
-
343
- console.log("Pan & zoom initialized successfully.");
344
- }});
345
- }}, 500);
346
- }}
347
280
 
348
- // Load Mermaid.js and initialize
349
- if (typeof mermaid === "undefined") {{
350
- loadScript("https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js", initializeMermaid);
351
- }} else {{
352
- initializeMermaid();
281
+ // Initialize Mermaid
282
+ function initializeMermaid(graph_id) {{
283
+ // Look for the container
284
+ const containerElement = document.getElementById(`${{graph_id}}-container`);
285
+ if (!containerElement) {{
286
+ console.error(`Container with ID "${{graph_id}}-container" not found.`);
287
+ return;
353
288
  }}
354
- }})();
355
- </script>
356
- </html>
357
- """
358
289
 
290
+ // Configure Mermaid
291
+ mermaid.initialize({{ startOnLoad: false, logLevel: "debug" }});
292
+ mermaid.init(undefined, `#${{graph_id}}`);
293
+
294
+ setTimeout(() => {{
295
+ const svg = containerElement.querySelector("svg");
296
+
297
+ // Ensure SVG exists
298
+ if (!svg) {{
299
+ console.error(`SVG not rendered for ID "${{graph_id}}".`);
300
+ return;
301
+ }}
302
+
303
+ // Set initial size for SVG
304
+ svg.setAttribute("width", "100%");
305
+ svg.setAttribute("height", "100%");
306
+
307
+ // Ensure the container fits the diagram properly
308
+ containerElement.style.overflow = "hidden";
309
+
310
+ // Initialize Pan-Zoom
311
+ const panZoom = svgPanZoom(svg, {{
312
+ zoomEnabled: true,
313
+ controlIconsEnabled: false, // Disable default controls
314
+ fit: true,
315
+ center: true,
316
+ minZoom: 0.5,
317
+ maxZoom: 10,
318
+ contain: true // Ensure diagram stays within view
319
+ }});
320
+
321
+ // Add custom controls
322
+ const controlsContainer = document.createElement("div");
323
+ controlsContainer.className = "svg-pan-zoom_controls";
324
+ controlsContainer.innerHTML = `
325
+ <button id="${{graph_id}}-zoom-in">+</button>
326
+ <button id="${{graph_id}}-zoom-out">-</button>
327
+ <button id="${{graph_id}}-reset">Reset</button>
328
+ `;
329
+ containerElement.appendChild(controlsContainer);
330
+
331
+ // Handle controls
332
+ document.getElementById(`${{graph_id}}-zoom-in`).addEventListener("click", () => panZoom.zoomIn());
333
+ document.getElementById(`${{graph_id}}-zoom-out`).addEventListener("click", () => panZoom.zoomOut());
334
+ document.getElementById(`${{graph_id}}-reset`).addEventListener("click", () => {{
335
+ panZoom.resetZoom();
336
+ panZoom.center();
337
+ }});
338
+ }}, 500); // Delay to ensure Mermaid finishes rendering
339
+ }}
340
+
341
+ // Load Mermaid.js externally or initialize
342
+ if (typeof mermaid === "undefined") {{
343
+ loadScript("https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js", () => {{
344
+ console.log("Mermaid.js loaded successfully");
345
+ initializeMermaid(graph_id);
346
+ }});
347
+ }} else {{
348
+ initializeMermaid(graph_id);
349
+ }}
350
+ }});
351
+ </script>
352
+
353
+ <div id="{graph_id}-container" class="diagram-container">
354
+ <!-- Mermaid diagram will be dynamically rendered here -->
355
+ <div id="{graph_id}" class="mermaid">
356
+ {mermaid_code}
357
+ </div>
358
+ </div>
359
+ """
359
360
 
360
361
  return html_content
361
- # mermaid_html = f"""
362
+ # This one almost works - no controls and diagram too small
363
+ # html_content = f"""
364
+ # <!DOCTYPE html>
365
+ # <html>
366
+ # <head>
367
+ # <style>
368
+ # /* Set consistent sizing and prevent shrinking for the container and parents */
369
+ # html, body, #{graph_id}-wrapper {{
370
+ # margin: 0;
371
+ # padding: 0;
372
+ # height: 100%; /* Ensure the entire root hierarchy respects 100% height */
373
+ # width: 100%;
374
+ # }}
375
+ #
376
+ # /* Ensure diagram container maintains full height and prevents overflow */
377
+ # #{graph_id}-container {{
378
+ # position: relative;
379
+ # width: 100%;
380
+ # height: 100%;
381
+ # overflow: hidden; /* Prevent content from breaking layout */
382
+ # display: flex;
383
+ # align-items: center; /* Centers the diagram vertically */
384
+ # justify-content: center; /* Centers the diagram horizontally */
385
+ # }}
386
+ #
387
+ # /* Ensure SVG always stretches to match container */
388
+ # #{graph_id} svg {{
389
+ # width: 100%;
390
+ # height: 100%;
391
+ # display: block; /* Avoid unwanted inline space issues */
392
+ # }}
393
+ #
394
+ # /* Optional custom pan/zoom controls (if dynamically added) */
395
+ # .svg-pan-zoom_controls {{
396
+ # position: absolute;
397
+ # bottom: 10px; /* Adjust based on desired placement */
398
+ # right: 10px;
399
+ # z-index: 10;
400
+ # display: flex;
401
+ # gap: 5px;
402
+ # }}
403
+ #
404
+ # .svg-pan-zoom_controls button {{
405
+ # border: 1px solid #ccc;
406
+ # background-color: #fff;
407
+ # color: #000;
408
+ # padding: 5px 10px;
409
+ # cursor: pointer;
410
+ # font-size: 16px;
411
+ # }}
412
+ #
413
+ # .svg-pan-zoom_controls button:hover {{
414
+ # background-color: #f0f0f0;
415
+ # }}
416
+ # </style>
417
+ # </head>
418
+ # <body>
419
+ # <div id="{graph_id}-wrapper">
420
+ # <!-- Title/Heading (optional; include as needed) -->
421
+ # {escaped_header if escaped_header else ""}
422
+ #
423
+ # <!-- Mermaid Diagram Container -->
424
+ # <div id="{graph_id}-container">
425
+ # <div id="{graph_id}" class="mermaid">
426
+ # {escaped_mermaid_code}
427
+ # </div>
428
+ # </div>
429
+ # </div>
430
+ #
431
+ # <script src="https://cdn.jsdelivr.net/npm/svg-pan-zoom@3.6.1/dist/svg-pan-zoom.min.js"></script>
432
+ # <script>
433
+ # document.addEventListener("DOMContentLoaded", () => {{
434
+ # // Define the graph ID dynamically passed via Python
435
+ # const graph_id = "{graph_id}";
436
+ #
437
+ # // Function to load external scripts dynamically
438
+ # function loadScript(url, callback) {{
439
+ # const script = document.createElement('script');
440
+ # script.src = url;
441
+ # script.async = true;
442
+ # script.onload = callback;
443
+ # script.onerror = () => console.error("Error loading script:", url);
444
+ # document.head.appendChild(script);
445
+ # }}
446
+ #
447
+ # // Function to initialize Mermaid
448
+ # function initializeMermaid(graph_id) {{
449
+ # // Look for the container ID generated dynamically by the template
450
+ # const containerElement = document.getElementById(`${{graph_id}}-container`);
451
+ # if (!containerElement) {{
452
+ # console.error(`Container element with id "${{graph_id}}-container" not found.`);
453
+ # return;
454
+ # }}
455
+ #
456
+ # // Initialize Mermaid.js with default configuration
457
+ # mermaid.initialize({{ startOnLoad: false, logLevel: "debug" }});
458
+ # mermaid.init(undefined, `#${{graph_id}}`); // Initialize element with id matching `graph_id`
459
+ #
460
+ # // Add a timeout to ensure the SVG is rendered
461
+ # setTimeout(() => {{
462
+ # const svg = containerElement.querySelector("svg");
463
+ #
464
+ # // Handle errors if SVG rendering fails
465
+ # if (!svg) {{
466
+ # console.error(`SVG not rendered for ID "${{graph_id}}". Check Mermaid syntax or rendering issues.`);
467
+ # console.log("Container content:", containerElement.innerHTML); // Log the container's content
468
+ # return;
469
+ # }}
470
+ #
471
+ # // Set SVG attributes for full container fit
472
+ # svg.setAttribute("width", "100%");
473
+ # svg.setAttribute("height", "100%");
474
+ #
475
+ # // Initialize SVG Pan-Zoom functionality
476
+ # const panZoom = svgPanZoom(svg, {{
477
+ # zoomEnabled: true,
478
+ # controlIconsEnabled: true, // Display default controls if enabled
479
+ # fit: true, // Fit diagram within the container
480
+ # center: true, // Center the diagram
481
+ # minZoom: 0.5, // Prevent too much zooming out
482
+ # maxZoom: 10, // Prevent extreme zooming in
483
+ # contain: true // Keep the diagram fully within bounds
484
+ # }});
485
+ #
486
+ # // Optional: Add custom pan/zoom controls dynamically
487
+ # const controlsContainer = document.createElement("div");
488
+ # controlsContainer.classList.add("svg-pan-zoom_controls");
489
+ # controlsContainer.innerHTML = `
490
+ # <button id="${{graph_id}}-zoom-in">+</button>
491
+ # <button id="${{graph_id}}-zoom-out">-</button>
492
+ # <button id="${{graph_id}}-reset">Reset</button>
493
+ # `;
494
+ # containerElement.appendChild(controlsContainer);
495
+ #
496
+ # // Add event listeners for the custom controls
497
+ # document.getElementById(`${{graph_id}}-zoom-in`).addEventListener("click", () => panZoom.zoomIn());
498
+ # document.getElementById(`${{graph_id}}-zoom-out`).addEventListener("click", () => panZoom.zoomOut());
499
+ # document.getElementById(`${{graph_id}}-reset`).addEventListener("click", () => {{
500
+ # panZoom.resetZoom();
501
+ # panZoom.center();
502
+ # }});
503
+ # }}, 500); // Short delay to ensure SVG rendering is complete
504
+ # }}
505
+ #
506
+ # // Load Mermaid.js if not already loaded
507
+ # if (typeof mermaid === "undefined") {{
508
+ # loadScript("https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js", () => {{
509
+ # console.log("Mermaid.js loaded successfully");
510
+ # initializeMermaid(graph_id); // Call initialization after Mermaid.js is loaded
511
+ # }});
512
+ # }} else {{
513
+ # initializeMermaid(graph_id); // If Mermaid.js is already loaded, proceed immediately
514
+ # }}
515
+ # }});
516
+ # </script>
517
+ #
518
+ #
519
+ # </body>
520
+ # </html>
521
+ # """
522
+
523
+
524
+
525
+ # mermaid_html = f"""
362
526
  # <h2 style="text-align: center; color: #007acc; margin-bottom: 16px;">
363
527
  # {escaped_header}
364
528
  # </h2>
pyegeria/test_m.html CHANGED
@@ -1,98 +1,204 @@
1
1
 
2
- <!DOCTYPE html>
3
- <html>
4
- <div id="mermaid-graph-c4f8d707-7c85-4125-b5fd-c3257a2ef2ef-wrapper" style="width: 100%; height: 100%; display: flex; flex-direction: column; align-items: stretch;">
5
-
6
- <!-- Title/Heading -->
7
-
8
-
9
- <h3 id="mermaid-graph-c4f8d707-7c85-4125-b5fd-c3257a2ef2ef-heading" style="margin: 20px 0; font-size: 1.5em; text-align: center;">
10
- Component for Solution Blueprint - Clinical Trial Management Solution Blueprint
11
- </h3>
12
- <p id="mermaid-graph-c4f8d707-7c85-4125-b5fd-c3257a2ef2ef-subheading" style="margin: 0; padding: 5px; font-size: 1em; text-align: center; color: gray; flex: 0 0 auto;">
13
- GUID: c4f8d707-7c85-4125-b5fd-c3257a2ef2ef
14
- </p>
15
-
16
- <!-- Mermaid Diagram -->
17
- <div id="mermaid-graph-c4f8d707-7c85-4125-b5fd-c3257a2ef2ef-container" class="diagram-container"
18
- style="width: 100%; flex: 1 1 auto; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden;">
19
- <div id="mermaid-graph-c4f8d707-7c85-4125-b5fd-c3257a2ef2ef" class="mermaid"
20
- style="width: 100%; height: 100%; cursor: grab; user-select: none; margin: 0; padding: 0;">
21
- flowchart TD
22
- %%{init: {&quot;flowchart&quot;: {&quot;htmlLabels&quot;: false}} }%%
2
+ <style>
3
+ /* Style for the diagram container */
4
+ .diagram-container {
5
+ position: relative;
6
+ width: 90%; /* Adjust the diagram container width */
7
+ height: 500px; /* Set a fixed height for the container */
8
+ margin: 0 auto;
9
+ border: 1px solid #ccc; /* Optional border for visualization */
10
+ overflow: hidden; /* Prevent content overflow outside the container */
11
+ }
12
+
13
+ /* Style for zoom controls */
14
+ .svg-pan-zoom_controls {
15
+ position: absolute;
16
+ top: 10px;
17
+ right: 10px;
18
+ display: flex;
19
+ flex-direction: column;
20
+ gap: 5px;
21
+ }
22
+ .svg-pan-zoom_controls button {
23
+ background-color: #007bff;
24
+ color: white;
25
+ border: none;
26
+ padding: 5px 10px;
27
+ border-radius: 3px;
28
+ cursor: pointer;
29
+ font-size: 14px;
30
+ }
31
+ .svg-pan-zoom_controls button:hover {
32
+ background-color: #0056b3;
33
+ }
34
+ </style>
35
+
36
+ <script src="https://cdn.jsdelivr.net/npm/svg-pan-zoom@3.6.1/dist/svg-pan-zoom.min.js"></script>
37
+ <script>
38
+ document.addEventListener("DOMContentLoaded", () => {
39
+ // Define graph ID dynamically passed via Python
40
+ const graph_id = "mermaid-graph-c4f8d707-7c85-4125-b5fd-c3257a2ef2ef";
41
+
42
+ // Function to load external scripts dynamically
43
+ function loadScript(url, callback) {
44
+ const script = document.createElement('script');
45
+ script.src = url;
46
+ script.async = true;
47
+ script.onload = callback;
48
+ script.onerror = () => console.error("Error loading script:", url);
49
+ document.head.appendChild(script);
50
+ }
51
+
52
+ // Initialize Mermaid
53
+ function initializeMermaid(graph_id) {
54
+ // Look for the container
55
+ const containerElement = document.getElementById(`${graph_id}-container`);
56
+ if (!containerElement) {
57
+ console.error(`Container with ID "${graph_id}-container" not found.`);
58
+ return;
59
+ }
60
+
61
+ // Configure Mermaid
62
+ mermaid.initialize({ startOnLoad: false, logLevel: "debug" });
63
+ mermaid.init(undefined, `#${graph_id}`);
64
+
65
+ setTimeout(() => {
66
+ const svg = containerElement.querySelector("svg");
67
+
68
+ // Ensure SVG exists
69
+ if (!svg) {
70
+ console.error(`SVG not rendered for ID "${graph_id}".`);
71
+ return;
72
+ }
73
+
74
+ // Set initial size for SVG
75
+ svg.setAttribute("width", "100%");
76
+ svg.setAttribute("height", "100%");
77
+
78
+ // Ensure the container fits the diagram properly
79
+ containerElement.style.overflow = "hidden";
80
+
81
+ // Initialize Pan-Zoom
82
+ const panZoom = svgPanZoom(svg, {
83
+ zoomEnabled: true,
84
+ controlIconsEnabled: false, // Disable default controls
85
+ fit: true,
86
+ center: true,
87
+ minZoom: 0.5,
88
+ maxZoom: 10,
89
+ contain: true // Ensure diagram stays within view
90
+ });
91
+
92
+ // Add custom controls
93
+ const controlsContainer = document.createElement("div");
94
+ controlsContainer.className = "svg-pan-zoom_controls";
95
+ controlsContainer.innerHTML = `
96
+ <button id="${graph_id}-zoom-in">+</button>
97
+ <button id="${graph_id}-zoom-out">-</button>
98
+ <button id="${graph_id}-reset">Reset</button>
99
+ `;
100
+ containerElement.appendChild(controlsContainer);
101
+
102
+ // Handle controls
103
+ document.getElementById(`${graph_id}-zoom-in`).addEventListener("click", () => panZoom.zoomIn());
104
+ document.getElementById(`${graph_id}-zoom-out`).addEventListener("click", () => panZoom.zoomOut());
105
+ document.getElementById(`${graph_id}-reset`).addEventListener("click", () => {
106
+ panZoom.resetZoom();
107
+ panZoom.center();
108
+ });
109
+ }, 500); // Delay to ensure Mermaid finishes rendering
110
+ }
111
+
112
+ // Load Mermaid.js externally or initialize
113
+ if (typeof mermaid === "undefined") {
114
+ loadScript("https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js", () => {
115
+ console.log("Mermaid.js loaded successfully");
116
+ initializeMermaid(graph_id);
117
+ });
118
+ } else {
119
+ initializeMermaid(graph_id);
120
+ }
121
+ });
122
+ </script>
123
+
124
+ <div id="mermaid-graph-c4f8d707-7c85-4125-b5fd-c3257a2ef2ef-container" class="diagram-container">
125
+ <!-- Mermaid diagram will be dynamically rendered here -->
126
+ <div id="mermaid-graph-c4f8d707-7c85-4125-b5fd-c3257a2ef2ef" class="mermaid">
127
+ flowchart TD
128
+ %%{init: {"flowchart": {"htmlLabels": false}} }%%
23
129
 
24
130
  subgraph c4f8d707-7c85-4125-b5fd-c3257a2ef2ef [Components and Actors]
25
- fc2de77f-7320-48ea-8750-d434c6e870db@{ shape: text, label: &quot;*Description*
26
- **A description of how a clinical trial is managed in Coco Pharmaceuticals.**&quot;}
27
- 37b8560d-84d4-434b-9b0d-105420fcc924@{ shape: subproc, label: &quot;*Solution Component*
28
- **Certify Hospital**&quot;}
29
- f37f3735-28a1-4e03-9ff5-3fe2f137f661@{ shape: trap-t, label: &quot;*Solution Actor Role*
30
- **Clinical Trial Manager**&quot;}
31
- f37f3735-28a1-4e03-9ff5-3fe2f137f661--&gt;|&quot;Certifier&quot;|37b8560d-84d4-434b-9b0d-105420fcc924
32
- 72a86eec-9734-4bc0-babb-4fec0aa7c9ff@{ shape: docs, label: &quot;*Solution Component*
33
- **Assemble Treatment Assessment Report**&quot;}
34
- 48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5@{ shape: rect, label: &quot;*Solution Component*
35
- **Treatment Efficacy Evidence**&quot;}
36
- 48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5--&gt;|&quot;Solution Linking Wire&quot;|72a86eec-9734-4bc0-babb-4fec0aa7c9ff
37
- f37f3735-28a1-4e03-9ff5-3fe2f137f661--&gt;|&quot;Author&quot;|72a86eec-9734-4bc0-babb-4fec0aa7c9ff
38
- b5c8da4c-f925-4cf1-8294-e43cd2c1a584@{ shape: rect, label: &quot;*Solution Component*
39
- **Analyse Patient Data**&quot;}
40
- b5c8da4c-f925-4cf1-8294-e43cd2c1a584--&gt;|&quot;Solution Linking Wire&quot;|48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5
41
- 7f5dca65-50b4-4103-9ac7-3a406a09047a@{ shape: subproc, label: &quot;*Solution Component*
42
- **Weekly Measurements Onboarding Pipeline**&quot;}
43
- 07705e15-efff-4f80-8992-f04ac85e0ef1@{ shape: rect, label: &quot;*Solution Component*
44
- **Landing Folder Cataloguer**&quot;}
45
- 07705e15-efff-4f80-8992-f04ac85e0ef1--&gt;|&quot;Solution Linking Wire&quot;|7f5dca65-50b4-4103-9ac7-3a406a09047a
46
- f37f3735-28a1-4e03-9ff5-3fe2f137f661--&gt;|&quot;Steward&quot;|7f5dca65-50b4-4103-9ac7-3a406a09047a
47
- b0290339-c96c-4b05-904f-12fc98e54e14@{ shape: trap-t, label: &quot;*Solution Actor Role*
48
- **Certified Data Engineer**&quot;}
49
- b0290339-c96c-4b05-904f-12fc98e54e14--&gt;|&quot;Steward&quot;|7f5dca65-50b4-4103-9ac7-3a406a09047a
50
- d48f579f-76d3-4c49-b1b4-575f5645a9d0@{ shape: lin-cyl, label: &quot;*Solution Component*
51
- **Treatment Validation Sandbox**&quot;}
52
- 26c07ca4-3b8e-484b-812b-36c1ace4b275@{ shape: rect, label: &quot;*Solution Component*
53
- **Populate Sandbox**&quot;}
54
- 26c07ca4-3b8e-484b-812b-36c1ace4b275--&gt;|&quot;Solution Linking Wire&quot;|d48f579f-76d3-4c49-b1b4-575f5645a9d0
55
- ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec@{ shape: processes, label: &quot;*Solution Component*
56
- **Hospital Processes**&quot;}
57
- a8bd84ca-0aae-4534-b0e8-87e8659467a6@{ shape: trap-t, label: &quot;*Solution Actor Role*
58
- **Clinical Trial Participating Hospital Coordinator**&quot;}
59
- a8bd84ca-0aae-4534-b0e8-87e8659467a6--&gt;|&quot;Coordinator on behalf of hospital&quot;|ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec
60
- 30adaab5-8870-47a8-8ae9-facbf84cb05a@{ shape: trap-t, label: &quot;*Solution Actor Role*
61
- **Clinical Trial Participating Hospital**&quot;}
62
- 30adaab5-8870-47a8-8ae9-facbf84cb05a--&gt;|&quot;Owner&quot;|ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec
63
- d48f579f-76d3-4c49-b1b4-575f5645a9d0--&gt;|&quot;Solution Linking Wire&quot;|b5c8da4c-f925-4cf1-8294-e43cd2c1a584
64
- ece17806-836c-4756-b3a2-2d12dde215f6@{ shape: trap-t, label: &quot;*Solution Actor Role*
65
- **New Treatment Data Scientist**&quot;}
66
- ece17806-836c-4756-b3a2-2d12dde215f6--&gt;|&quot;Data Analyser&quot;|b5c8da4c-f925-4cf1-8294-e43cd2c1a584
67
- 0c757e35-8a42-4d5f-b01b-c72a6cea65cc@{ shape: trap-t, label: &quot;*Solution Actor Role*
68
- **New Treatment Researcher.**&quot;}
69
- 0c757e35-8a42-4d5f-b01b-c72a6cea65cc--&gt;|&quot;Results Interpreter&quot;|b5c8da4c-f925-4cf1-8294-e43cd2c1a584
70
- e9c2f911-ffcb-40c6-aeee-8c4d43811576@{ shape: subproc, label: &quot;*Solution Component*
71
- **Onboard Hospital**&quot;}
72
- b0290339-c96c-4b05-904f-12fc98e54e14--&gt;|&quot;Initiator&quot;|e9c2f911-ffcb-40c6-aeee-8c4d43811576
73
- 849b0b42-f465-452b-813c-477d6398e082@{ shape: subproc, label: &quot;*Solution Component*
74
- **Set up clinical trial**&quot;}
75
- f37f3735-28a1-4e03-9ff5-3fe2f137f661--&gt;|&quot;Initiator&quot;|849b0b42-f465-452b-813c-477d6398e082
76
- a5d4d638-6836-47e5-99d0-fdcde637e13f@{ shape: lin-cyl, label: &quot;*Solution Component*
77
- **Weekly Measurements Data Lake Folder**&quot;}
78
- 7f5dca65-50b4-4103-9ac7-3a406a09047a--&gt;|&quot;Solution Linking Wire&quot;|a5d4d638-6836-47e5-99d0-fdcde637e13f
79
- 0bf2547c-937c-41b6-814f-6284849271a1@{ shape: odd, label: &quot;*Solution Component*
80
- **Treatment Assessment Report Validation and Delivery**&quot;}
81
- 72a86eec-9734-4bc0-babb-4fec0aa7c9ff--&gt;|&quot;Solution Linking Wire&quot;|0bf2547c-937c-41b6-814f-6284849271a1
82
- f6bc847b-868d-43cc-b767-41f5fe3e47d1@{ shape: trap-t, label: &quot;*Solution Actor Role*
83
- **Clinical Trial Sponsor**&quot;}
84
- f6bc847b-868d-43cc-b767-41f5fe3e47d1--&gt;|&quot;Reviewer&quot;|0bf2547c-937c-41b6-814f-6284849271a1
85
- a5d4d638-6836-47e5-99d0-fdcde637e13f--&gt;|&quot;Solution Linking Wire&quot;|26c07ca4-3b8e-484b-812b-36c1ace4b275
86
- fb32bef2-e79f-4893-b500-2e547f24d482@{ shape: subproc, label: &quot;*Solution Component*
87
- **Set up Data Lake Folder**&quot;}
88
- b0290339-c96c-4b05-904f-12fc98e54e14--&gt;|&quot;Initiator&quot;|fb32bef2-e79f-4893-b500-2e547f24d482
89
- 1c150d6e-30cf-481c-9afb-3b06c9c9e78f@{ shape: lin-cyl, label: &quot;*Solution Component*
90
- **Hospital Landing Area Folder**&quot;}
91
- ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec--&gt;|&quot;Solution Linking Wire&quot;|1c150d6e-30cf-481c-9afb-3b06c9c9e78f
92
- 1c150d6e-30cf-481c-9afb-3b06c9c9e78f--&gt;|&quot;Solution Linking Wire&quot;|07705e15-efff-4f80-8992-f04ac85e0ef1
93
- 11c7c850-c67c-41cc-9423-d74db47cbf3a@{ shape: subproc, label: &quot;*Solution Component*
94
- **Nominate Hospital**&quot;}
95
- f37f3735-28a1-4e03-9ff5-3fe2f137f661--&gt;|&quot;Initiator&quot;|11c7c850-c67c-41cc-9423-d74db47cbf3a
131
+ fc2de77f-7320-48ea-8750-d434c6e870db@{ shape: text, label: "*Description*
132
+ **A description of how a clinical trial is managed in Coco Pharmaceuticals.**"}
133
+ 37b8560d-84d4-434b-9b0d-105420fcc924@{ shape: subproc, label: "*Solution Component*
134
+ **Certify Hospital**"}
135
+ f37f3735-28a1-4e03-9ff5-3fe2f137f661@{ shape: trap-t, label: "*Solution Actor Role*
136
+ **Clinical Trial Manager**"}
137
+ f37f3735-28a1-4e03-9ff5-3fe2f137f661-->|"Certifier"|37b8560d-84d4-434b-9b0d-105420fcc924
138
+ 72a86eec-9734-4bc0-babb-4fec0aa7c9ff@{ shape: docs, label: "*Solution Component*
139
+ **Assemble Treatment Assessment Report**"}
140
+ 48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5@{ shape: rect, label: "*Solution Component*
141
+ **Treatment Efficacy Evidence**"}
142
+ 48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5-->|"Solution Linking Wire"|72a86eec-9734-4bc0-babb-4fec0aa7c9ff
143
+ f37f3735-28a1-4e03-9ff5-3fe2f137f661-->|"Author"|72a86eec-9734-4bc0-babb-4fec0aa7c9ff
144
+ b5c8da4c-f925-4cf1-8294-e43cd2c1a584@{ shape: rect, label: "*Solution Component*
145
+ **Analyse Patient Data**"}
146
+ b5c8da4c-f925-4cf1-8294-e43cd2c1a584-->|"Solution Linking Wire"|48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5
147
+ 7f5dca65-50b4-4103-9ac7-3a406a09047a@{ shape: subproc, label: "*Solution Component*
148
+ **Weekly Measurements Onboarding Pipeline**"}
149
+ 07705e15-efff-4f80-8992-f04ac85e0ef1@{ shape: rect, label: "*Solution Component*
150
+ **Landing Folder Cataloguer**"}
151
+ 07705e15-efff-4f80-8992-f04ac85e0ef1-->|"Solution Linking Wire"|7f5dca65-50b4-4103-9ac7-3a406a09047a
152
+ f37f3735-28a1-4e03-9ff5-3fe2f137f661-->|"Steward"|7f5dca65-50b4-4103-9ac7-3a406a09047a
153
+ b0290339-c96c-4b05-904f-12fc98e54e14@{ shape: trap-t, label: "*Solution Actor Role*
154
+ **Certified Data Engineer**"}
155
+ b0290339-c96c-4b05-904f-12fc98e54e14-->|"Steward"|7f5dca65-50b4-4103-9ac7-3a406a09047a
156
+ d48f579f-76d3-4c49-b1b4-575f5645a9d0@{ shape: lin-cyl, label: "*Solution Component*
157
+ **Treatment Validation Sandbox**"}
158
+ 26c07ca4-3b8e-484b-812b-36c1ace4b275@{ shape: rect, label: "*Solution Component*
159
+ **Populate Sandbox**"}
160
+ 26c07ca4-3b8e-484b-812b-36c1ace4b275-->|"Solution Linking Wire"|d48f579f-76d3-4c49-b1b4-575f5645a9d0
161
+ ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec@{ shape: processes, label: "*Solution Component*
162
+ **Hospital Processes**"}
163
+ a8bd84ca-0aae-4534-b0e8-87e8659467a6@{ shape: trap-t, label: "*Solution Actor Role*
164
+ **Clinical Trial Participating Hospital Coordinator**"}
165
+ a8bd84ca-0aae-4534-b0e8-87e8659467a6-->|"Coordinator on behalf of hospital"|ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec
166
+ 30adaab5-8870-47a8-8ae9-facbf84cb05a@{ shape: trap-t, label: "*Solution Actor Role*
167
+ **Clinical Trial Participating Hospital**"}
168
+ 30adaab5-8870-47a8-8ae9-facbf84cb05a-->|"Owner"|ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec
169
+ d48f579f-76d3-4c49-b1b4-575f5645a9d0-->|"Solution Linking Wire"|b5c8da4c-f925-4cf1-8294-e43cd2c1a584
170
+ ece17806-836c-4756-b3a2-2d12dde215f6@{ shape: trap-t, label: "*Solution Actor Role*
171
+ **New Treatment Data Scientist**"}
172
+ ece17806-836c-4756-b3a2-2d12dde215f6-->|"Data Analyser"|b5c8da4c-f925-4cf1-8294-e43cd2c1a584
173
+ 0c757e35-8a42-4d5f-b01b-c72a6cea65cc@{ shape: trap-t, label: "*Solution Actor Role*
174
+ **New Treatment Researcher.**"}
175
+ 0c757e35-8a42-4d5f-b01b-c72a6cea65cc-->|"Results Interpreter"|b5c8da4c-f925-4cf1-8294-e43cd2c1a584
176
+ e9c2f911-ffcb-40c6-aeee-8c4d43811576@{ shape: subproc, label: "*Solution Component*
177
+ **Onboard Hospital**"}
178
+ b0290339-c96c-4b05-904f-12fc98e54e14-->|"Initiator"|e9c2f911-ffcb-40c6-aeee-8c4d43811576
179
+ 849b0b42-f465-452b-813c-477d6398e082@{ shape: subproc, label: "*Solution Component*
180
+ **Set up clinical trial**"}
181
+ f37f3735-28a1-4e03-9ff5-3fe2f137f661-->|"Initiator"|849b0b42-f465-452b-813c-477d6398e082
182
+ a5d4d638-6836-47e5-99d0-fdcde637e13f@{ shape: lin-cyl, label: "*Solution Component*
183
+ **Weekly Measurements Data Lake Folder**"}
184
+ 7f5dca65-50b4-4103-9ac7-3a406a09047a-->|"Solution Linking Wire"|a5d4d638-6836-47e5-99d0-fdcde637e13f
185
+ 0bf2547c-937c-41b6-814f-6284849271a1@{ shape: odd, label: "*Solution Component*
186
+ **Treatment Assessment Report Validation and Delivery**"}
187
+ 72a86eec-9734-4bc0-babb-4fec0aa7c9ff-->|"Solution Linking Wire"|0bf2547c-937c-41b6-814f-6284849271a1
188
+ f6bc847b-868d-43cc-b767-41f5fe3e47d1@{ shape: trap-t, label: "*Solution Actor Role*
189
+ **Clinical Trial Sponsor**"}
190
+ f6bc847b-868d-43cc-b767-41f5fe3e47d1-->|"Reviewer"|0bf2547c-937c-41b6-814f-6284849271a1
191
+ a5d4d638-6836-47e5-99d0-fdcde637e13f-->|"Solution Linking Wire"|26c07ca4-3b8e-484b-812b-36c1ace4b275
192
+ fb32bef2-e79f-4893-b500-2e547f24d482@{ shape: subproc, label: "*Solution Component*
193
+ **Set up Data Lake Folder**"}
194
+ b0290339-c96c-4b05-904f-12fc98e54e14-->|"Initiator"|fb32bef2-e79f-4893-b500-2e547f24d482
195
+ 1c150d6e-30cf-481c-9afb-3b06c9c9e78f@{ shape: lin-cyl, label: "*Solution Component*
196
+ **Hospital Landing Area Folder**"}
197
+ ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec-->|"Solution Linking Wire"|1c150d6e-30cf-481c-9afb-3b06c9c9e78f
198
+ 1c150d6e-30cf-481c-9afb-3b06c9c9e78f-->|"Solution Linking Wire"|07705e15-efff-4f80-8992-f04ac85e0ef1
199
+ 11c7c850-c67c-41cc-9423-d74db47cbf3a@{ shape: subproc, label: "*Solution Component*
200
+ **Nominate Hospital**"}
201
+ f37f3735-28a1-4e03-9ff5-3fe2f137f661-->|"Initiator"|11c7c850-c67c-41cc-9423-d74db47cbf3a
96
202
  end
97
203
  style 48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
98
204
  style ece17806-836c-4756-b3a2-2d12dde215f6 color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
@@ -118,109 +224,6 @@ style b5c8da4c-f925-4cf1-8294-e43cd2c1a584 color:#FFFFFF, fill:#838cc7, stroke:#
118
224
  style f6bc847b-868d-43cc-b767-41f5fe3e47d1 color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
119
225
  style d48f579f-76d3-4c49-b1b4-575f5645a9d0 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
120
226
  style f37f3735-28a1-4e03-9ff5-3fe2f137f661 color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
121
- style fb32bef2-e79f-4893-b500-2e547f24d482 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
122
- </div>
123
- </div>
227
+ style fb32bef2-e79f-4893-b500-2e547f24d482 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
124
228
  </div>
125
-
126
- <style>
127
- /* Ensure no margins or padding for the body or html in Jupyter */
128
- body, html {
129
- margin: 0;
130
- padding: 0;
131
- width: 100%;
132
- height: 100%;
133
- }
134
- /* General reset for Jupyter Notebook's extra spacing */
135
- #notebook, .container, .cell, .output_area {
136
- margin: 0 !important;
137
- padding: 0 !important;
138
- }
139
- .diagram-container {
140
- width: 100%;
141
- height: 100%;
142
- overflow: hidden; /* Prevent scrollbars during zoom/pan */
143
- }
144
- h2 {
145
- margin: 0;
146
- padding: 10px;
147
- font-size: 24px;
148
- text-align: center;
149
- flex: 0 0 auto; /* Fix height explicitly for heading */
150
- }
151
- .mermaid {
152
- margin: 0;
153
- padding: 0;
154
- }
155
- </style>
156
-
157
- <script>
158
- (function() {
159
- const graphId = "mermaid-graph-c4f8d707-7c85-4125-b5fd-c3257a2ef2ef"; // Pass the graph ID
160
-
161
- function loadScript(url, callback) {
162
- const script = document.createElement('script');
163
- script.src = url;
164
- script.onload = callback;
165
- document.head.appendChild(script);
166
- }
167
-
168
- // Initialize Mermaid and render the diagram
169
- function initializeMermaid() {
170
- mermaid.initialize({startOnLoad: false});
171
- mermaid.init(undefined, "#" + graphId);
172
-
173
- setTimeout(() => {
174
- const container = document.getElementById(graphId);
175
- if (!container) {
176
- console.error("Container not found for graph:", graphId);
177
- return;
178
- }
179
-
180
- const svg = container.querySelector("svg");
181
- if (!svg) {
182
- console.error("SVG not rendered by Mermaid.");
183
- return;
184
- }
185
-
186
- console.log("SVG rendered. Applying pan & zoom.");
187
-
188
- // Adjust to container size
189
- const containerElement = document.getElementById("mermaid-graph-c4f8d707-7c85-4125-b5fd-c3257a2ef2ef-container");
190
- svg.setAttribute("width", containerElement.offsetWidth);
191
- svg.setAttribute("height", containerElement.offsetHeight);
192
-
193
- // Add pan/zoom functionality
194
- loadScript("https://cdn.jsdelivr.net/npm/svg-pan-zoom/dist/svg-pan-zoom.min.js", () => {
195
- const panZoom = svgPanZoom(svg, {
196
- zoomEnabled: true,
197
- controlIconsEnabled: true,
198
- fit: true,
199
- center: true,
200
- minZoom: 0.5,
201
- maxZoom: 10
202
- });
203
-
204
- // Reinitialize pan-zoom on window resize
205
- function onResize() {
206
- panZoom.resize();
207
- panZoom.fit();
208
- panZoom.center();
209
- }
210
- window.addEventListener('resize', onResize);
211
-
212
- console.log("Pan & zoom initialized successfully.");
213
- });
214
- }, 500);
215
- }
216
-
217
- // Load Mermaid.js and initialize
218
- if (typeof mermaid === "undefined") {
219
- loadScript("https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js", initializeMermaid);
220
- } else {
221
- initializeMermaid();
222
- }
223
- })();
224
- </script>
225
- </html>
226
-
229
+ </div>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyegeria
3
- Version: 5.3.4.11
3
+ Version: 5.3.4.12
4
4
  Summary: A python client for Egeria
5
5
  License: Apache 2.0
6
6
  Keywords: egeria,metadata,governance
@@ -245,7 +245,7 @@ pyegeria/full_omag_server_config.py,sha256=CQqLCy_3DZFvJZEOcGf50HWdFaWpiAIs6z-kK
245
245
  pyegeria/glossary_browser_omvs.py,sha256=ci57LXFjIAXWw6XXFu8pIbeR_3y4hl_x4F2-HHdy7VM,93585
246
246
  pyegeria/glossary_manager_omvs.py,sha256=GJQo5E3bxv8JL84wTGqJKMrMo7QqNAPtyJJgvGpI_lU,132558
247
247
  pyegeria/m_test.py,sha256=BDKRLsHsAWnwCbzHkkvfsc8ZIJ0k-jmwPPNuTSgW6Qo,7659
248
- pyegeria/mermaid_utilities.py,sha256=-Yz4VpRvx8aZg9szEAIE64ptH5yusY3Um83LmFXkLlU,27728
248
+ pyegeria/mermaid_utilities.py,sha256=zuGag6ffjkO22kiJtarhy_x18Yx5x_t4DSgbsC0SxKU,34433
249
249
  pyegeria/metadata_explorer_omvs.py,sha256=xHnZTQKbd6XwOhYia-RiIisrvZcqHi0SL1l6OCf04Gk,86911
250
250
  pyegeria/my_profile_omvs.py,sha256=d0oJYCJG7pS9BINPuGciVa00ac0jwPHNANXDCLginEc,34720
251
251
  pyegeria/platform_services.py,sha256=xlF5p5HPKDGTFFDsuxm2RLhr8vjZPv4T7e2qCkDgKXE,41654
@@ -255,14 +255,14 @@ pyegeria/runtime_manager_omvs.py,sha256=Z5wY9ignNjil8O6yjihZftxkGoh9A4PQDcXhoIsO
255
255
  pyegeria/server_operations.py,sha256=vmiUDU_Xa0U8pa0Fdb-QKkoeSqs7WfMwIpG_XU3xgeI,16784
256
256
  pyegeria/solution_architect_omvs.py,sha256=x6CfPTyn1l2DFYVEFP0t_rT9uVjoFr596hBBeuVaMRg,22093
257
257
  pyegeria/template_manager_omvs.py,sha256=PfJ9dOfmBvf59DgRdZ9Dl1Kl_UYqjF-JncXVnbCqLZU,42408
258
- pyegeria/test_m.html,sha256=Rw_bb4Z7k0AitEo4ffgwfOEkh4N3wxV1ZUX1ra9YNXM,12948
258
+ pyegeria/test_m.html,sha256=YAGz3VoCvEydXuRJMwoajOWkuB7sJO6WTZKNkCfXzgw,12239
259
259
  pyegeria/test_m1.html,sha256=XS_1IAtfG4ZlZk45QTkrFWWpjQMVlO21ScDMX2Frl3g,14086
260
260
  pyegeria/test_mer.ipynb,sha256=G7hpHn07IXnt_VKvnTDvljwwHB7RfC0etOMyZKt1icQ,30809
261
261
  pyegeria/utils.py,sha256=GCt1C0bp0Xng1ahzbZhzV9qQwH7Dj93IaCt2dvWb-sg,5417
262
262
  pyegeria/valid_metadata_omvs.py,sha256=kL3bEkoBtNCaQKjziFwRAqQyleu-i2ua_REIogfulFw,65031
263
263
  pyegeria/x_action_author_omvs.py,sha256=6b725SPsC52AI7ols7Qq8MsBlZuAXr_BgJ_-ychVRCw,6386
264
- pyegeria-5.3.4.11.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
265
- pyegeria-5.3.4.11.dist-info/METADATA,sha256=gN6C6LfhTaSLTDuAsqAqdaA-qDLhgmj1JsD2ZWusSQI,2736
266
- pyegeria-5.3.4.11.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
267
- pyegeria-5.3.4.11.dist-info/entry_points.txt,sha256=LS9g5JPSBL0whnyAcGhLZCAyUp6PkPU6fjHP9Aso1V4,6176
268
- pyegeria-5.3.4.11.dist-info/RECORD,,
264
+ pyegeria-5.3.4.12.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
265
+ pyegeria-5.3.4.12.dist-info/METADATA,sha256=PDGeRm1VV0p86nMWqtX-0MXYdRZ4UKI7eYYgPY_ZWN0,2736
266
+ pyegeria-5.3.4.12.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
267
+ pyegeria-5.3.4.12.dist-info/entry_points.txt,sha256=LS9g5JPSBL0whnyAcGhLZCAyUp6PkPU6fjHP9Aso1V4,6176
268
+ pyegeria-5.3.4.12.dist-info/RECORD,,