pyegeria 5.4.0.dev3__py3-none-any.whl → 5.4.0.dev5__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 (61) hide show
  1. commands/cat/debug_log +227 -0
  2. commands/cat/dr_egeria_md.py +12 -3
  3. commands/cat/list_collections.py +7 -6
  4. commands/cat/list_data_designer.py +19 -8
  5. md_processing/__init__.py +4 -1
  6. md_processing/data/commands.json +142 -17
  7. md_processing/dr_egeria_outbox/processed-2025-06-22 21:06-dr_egeria_data_designer_1.md +134 -0
  8. md_processing/dr_egeria_outbox/processed-2025-06-22 21:13-dr_egeria_data_designer_1.md +133 -0
  9. md_processing/dr_egeria_outbox/processed-2025-06-22 21:19-dr_egeria_data_designer_1.md +141 -0
  10. md_processing/md_commands/data_designer_commands.py +408 -101
  11. md_processing/md_commands/glossary_commands.py +0 -30
  12. md_processing/md_commands/solution_architect_commands.py +1 -1
  13. md_processing/md_processing_utils/common_md_proc_utils.py +16 -4
  14. md_processing/md_processing_utils/md_processing_constants.py +3 -1
  15. pyegeria/collection_manager_omvs.py +120 -72
  16. pyegeria/data_designer_omvs.py +143 -42
  17. pyegeria/output_formatter.py +30 -11
  18. pyegeria/solution_architect_omvs.py +273 -5
  19. {pyegeria-5.4.0.dev3.dist-info → pyegeria-5.4.0.dev5.dist-info}/METADATA +1 -1
  20. {pyegeria-5.4.0.dev3.dist-info → pyegeria-5.4.0.dev5.dist-info}/RECORD +23 -57
  21. commands/cat/.DS_Store +0 -0
  22. commands/cat/debug_log.2025-06-05_20-24-18_123924.log.zip +0 -0
  23. commands/cat/debug_log.2025-06-10_08-45-03_929921.log.zip +0 -0
  24. commands/cat/debug_log.2025-06-11_09-57-21_247890.log.zip +0 -0
  25. commands/cat/debug_log.2025-06-12_16-14-31_212042.log.zip +0 -0
  26. commands/cat/debug_log.log +0 -1267
  27. commands/cat/solution_architect_log.log +0 -0
  28. md_processing/dr_egeria_inbox/archive/dr_egeria_intro.md +0 -254
  29. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_more_terms.md +0 -696
  30. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part1.md +0 -254
  31. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part2.md +0 -298
  32. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part3.md +0 -608
  33. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part4.md +0 -94
  34. md_processing/dr_egeria_inbox/archive/freddie_intro.md +0 -284
  35. md_processing/dr_egeria_inbox/archive/freddie_intro_orig.md +0 -275
  36. md_processing/dr_egeria_inbox/archive/test-term.md +0 -110
  37. md_processing/dr_egeria_inbox/cat_test.md +0 -100
  38. md_processing/dr_egeria_inbox/data_designer_search_test.md +0 -11
  39. md_processing/dr_egeria_inbox/data_field.md +0 -54
  40. md_processing/dr_egeria_inbox/data_spec.md +0 -77
  41. md_processing/dr_egeria_inbox/data_spec_test.md +0 -2406
  42. md_processing/dr_egeria_inbox/data_test.md +0 -179
  43. md_processing/dr_egeria_inbox/data_test2.md +0 -376
  44. md_processing/dr_egeria_inbox/dr_egeria_intro_categories.md +0 -168
  45. md_processing/dr_egeria_inbox/dr_egeria_intro_part1.md +0 -280
  46. md_processing/dr_egeria_inbox/dr_egeria_intro_part2.md +0 -313
  47. md_processing/dr_egeria_inbox/dr_egeria_intro_part3.md +0 -1073
  48. md_processing/dr_egeria_inbox/dr_egeria_isc1.md +0 -44
  49. md_processing/dr_egeria_inbox/glossary_search_test.md +0 -40
  50. md_processing/dr_egeria_inbox/glossary_test1.md +0 -324
  51. md_processing/dr_egeria_inbox/rel.md +0 -8
  52. md_processing/dr_egeria_inbox/sb.md +0 -119
  53. md_processing/dr_egeria_inbox/solution-components.md +0 -129
  54. md_processing/dr_egeria_inbox/solution_blueprints.md +0 -118
  55. md_processing/dr_egeria_inbox/synonym_test.md +0 -42
  56. md_processing/dr_egeria_inbox/t1.md +0 -0
  57. md_processing/dr_egeria_inbox/t2.md +0 -268
  58. pyegeria/.DS_Store +0 -0
  59. {pyegeria-5.4.0.dev3.dist-info → pyegeria-5.4.0.dev5.dist-info}/LICENSE +0 -0
  60. {pyegeria-5.4.0.dev3.dist-info → pyegeria-5.4.0.dev5.dist-info}/WHEEL +0 -0
  61. {pyegeria-5.4.0.dev3.dist-info → pyegeria-5.4.0.dev5.dist-info}/entry_points.txt +0 -0
@@ -1,284 +0,0 @@
1
-
2
- # Introduction to Freddie - an Egeria Markdown Processor
3
-
4
-
5
- A constant challenge in managing information is gathering enough metadata about the information to
6
- allow us to manage it. A common approach is to build fancy graphical user interfaces hoping that they
7
- will be attractive enough and easy enough to use that people will do so.
8
-
9
- Unfortunately, however, this ignores the fundamental fact that to use one of these nice GUI
10
- applications, you have to step away from the tools and processes that you were in the midst of performing.
11
- You have to leave your world and enter a new, often less familiar one.
12
-
13
- Freddie, is an experiment in turning this around. Its not that fancy graphical user
14
- interfaces don't have a role - but rather, to look at what we can do to support the
15
- tools and approaches people already use. And maybe even make their day job a little
16
- easier.
17
-
18
- So this is what we are exploring with Freddie. An Egeria Markdown language that allows
19
- users to intermix requests to Egeria with other text through the use of standard Markdown.
20
-
21
- This file is an example. You will see that we intersperse normal narrative text (such as this)
22
- with Commands to Egeria. We introduce a specific vocabulary to make Egeria requests.
23
-
24
- In the example below we will create a new Egeria glossary to hold definitions related to Freddie:
25
- ---
26
-
27
- # Create Glossary
28
-
29
- ## Glossary Name
30
-
31
- test
32
-
33
- ## Language
34
-
35
- English
36
-
37
- ## Description
38
-
39
- Glossary to describe the vocabulary of Freddie - an Egeria Markdown language to support the exchange of metadata in a
40
- Markdown form.
41
- Freddie allows users to input metadata using any text entry system that supports the entry of standard Markdown
42
- characters and through post-processing
43
- commands, validates the Egeria content and allows the requests to be sent to Egeria. This is an update
44
-
45
- ## Usage
46
-
47
- a quick test glossary
48
- ## <Qualified Name>
49
-
50
- ## <GUID>
51
-
52
- ---
53
-
54
- # First Walk-Through
55
- The block of markdown above is a request to create a new Egeria Glossary called `Egeria-Markdown`. Let's briefly walk
56
- through. The command starts when we see `# Create Glossary`. This is a known phrase in Freddie. When we see this
57
- phrase we recognize that this is an egeria markdown request block. The request block ends if we encounter another `#` or
58
- `---`, or run out of text. Within this request block we note some **attributes** that begin with a `## `. The first that
59
- we encounter is `## Glossary Name`. Not all attributes need to be filled in. Later, we'll process this file and demonstrate
60
- how to tell - but first, lets look at the attributes shown:
61
-
62
- * `## Glossary Name` - this is the display name of the glossary. In this case the name is `Egeria-Markdown` As you can
63
- see, the value of the attribute is the plain text that follows it.
64
- * `## Language` - what language will the terms of the glossary be in (yes there are ways to have mixed language but
65
- Freddie strives to be as simple as possible).
66
- * `## Description` - a description of the glossary and its purpose.
67
- * `## Usage` - how the glossary is meant to be used and by whom.
68
- * `## <Qualified Name>` - every element in Egeria must have a unique qualified name that we use to distinguish
69
- it from all other elements. The qualified name is meant to be understandable by humans, although it may follow
70
- formatting conventions. This attributes is in angle brackets because at this point we can't fill it in - we are just
71
- in the midst of creating the glossary. A qualified name will be created for us as part of the glossary creation. We'll
72
- see a little later how we get that.
73
- * `## <GUID>` - same story as qualified name except that this is meant for automation and not people.
74
-
75
- And that's it. That's all we need to do to specify the creation of a new glossary (well - mostly - we'll reveal a few
76
- more details a bit later).
77
-
78
- ## Great! That was easy!
79
-
80
- We now have a nice, clean, new...and empty...glossary - guess we better start filling it. Lets create a couple of terms.
81
-
82
- ---
83
-
84
- # Create Category
85
-
86
- ## Category Name
87
-
88
- cat1
89
-
90
- ## Owning Glossary
91
-
92
- test
93
-
94
- ## Description
95
-
96
- These terms describe features of writing markdown files that can use Egeria-Markdown
97
-
98
-
99
- ## <Qualified Name>
100
-
101
- ## <GUID>
102
-
103
- ---
104
-
105
- # Create Category
106
-
107
- ## Category Name
108
-
109
- cat2
110
-
111
- ## Owning Glossary
112
-
113
- test
114
-
115
- ## Description
116
-
117
- These terms describe concepts related to processing Egeria-Markdown
118
-
119
-
120
- ## <Qualified Name>
121
-
122
- ## <GUID>
123
- ---
124
-
125
- # Create Term
126
-
127
- ## Glossary Name
128
-
129
- test
130
-
131
- ## Term Name
132
-
133
- t1
134
-
135
- ## Categories
136
-
137
- cat1, cat2
138
-
139
- ## Summary
140
-
141
- Commands are how a user of the Freddie markdown language requests an action.
142
-
143
- ## Description
144
-
145
- Commands are how a user can request Egeria to take an action such as Create or Update an Egeria element. Freddie
146
- provides
147
- a limited (but growing) set of commands. Freddie commands align with the pyegeria 'hey-egeria' command line interface.
148
-
149
- ## Abbreviation
150
-
151
- ## Examples
152
-
153
- Create Glossary or
154
- Update Glossary or
155
- Create Term or
156
- Update Term
157
-
158
- ## Usage
159
-
160
- Commands are used in the Freddie Egeria markdown language.
161
-
162
- ## Version
163
-
164
- v1
165
-
166
- ## Status
167
-
168
-
169
- ## Qualified Name
170
-
171
- ---
172
-
173
- # Create Term
174
-
175
- ## Glossary Name
176
-
177
- test
178
-
179
- ## Term Name
180
-
181
- t2
182
-
183
- ## Categories
184
- Writing Markdown
185
-
186
- Processing Markdown
187
-
188
- ## Summary
189
-
190
- Source of the markdown content.
191
-
192
- ## Description
193
-
194
- Source of the markdown content - could be jupter or plain markdown file.
195
-
196
- ## Abbreviation
197
-
198
- ## Examples
199
-
200
- ## Usage
201
-
202
- ## Version
203
-
204
- 0.1
205
-
206
- ## Status
207
-
208
- DRAFT
209
-
210
-
211
- ---
212
-
213
- # Create Term
214
-
215
- ## Glossary Name
216
-
217
- Egeria-Markdown
218
-
219
- ## Term Name
220
-
221
- Directive
222
-
223
- ## Categories
224
-
225
- meow mix
226
-
227
- ## Summary
228
-
229
- A directive defines how the command is to be processed.
230
-
231
- ## Description
232
-
233
- Directives are one of:
234
-
235
- * display - just display what we've found
236
- * validate - check the validity of the requested action
237
- * process - process the requested action
238
-
239
- ## Abbreviation
240
-
241
- ## Examples
242
-
243
- ## Usage
244
-
245
- ## Version
246
-
247
- 0.1
248
-
249
- ## Status
250
-
251
- DRAFT
252
-
253
- ---
254
-
255
- # Some terms specified - Now what?
256
-
257
- Ok - we've now created a glossary and three terms to go into the glossary. Here is what we'll do next.
258
-
259
- >Note: This is changing - so will be somewhat abstrct
260
-
261
- We will run a small program called freddie_md.py to operate on this markdown file. When we run this program we
262
- tell it not just the name of the file to process but also provide a directive on what to do. Currently we have the
263
- choice of:
264
-
265
- 1. Display - just parse the file, breaking it down into request blocks, and display what we find
266
- 2. Validate - parse the file and validate if the commands can be processed - showing information about what we observe.
267
- 3. Process - parse the request blocks and execute the commands - and produce a new output file to simplify further processing.
268
-
269
- # Great --> let's give it a try!
270
-
271
- Ok - its processed the file and generated output to the console that shows us what it has done.
272
- We also now have a new file in the designated outbox (specified by an Environment Variable).
273
- If we review that file, we see that it has similar content to this original file except that
274
- the **Create** statements have been replaced with **Update** statements and
275
- attributes such as **Qualified Naame** and **GUID** now contain the known values.
276
-
277
- This means that if we want to make changes to the definitions that we have
278
- created, all we need to do is to make changes to the updatable attributes in this
279
- new document and resubmit it - pretty simple.
280
-
281
- In the next section we'll see how we can update and extend what we have done by creating
282
- some glossary categories and then assigning categories to the terms.
283
- To do this we will copy the output document that we just created and call the
284
- copy
@@ -1,275 +0,0 @@
1
-
2
- # Introduction to Freddie - an Egeria Markdown Processor
3
-
4
-
5
- A constant challenge in managing information is gathering enough metadata about the information to
6
- allow us to manage it. A common approach is to build fancy graphical user interfaces hoping that they
7
- will be attractive enough and easy enough to use that people will do so.
8
-
9
- Unfortunately, however, this ignores the fundamental fact that to use one of these nice GUI
10
- applications, you have to step away from the tools and processes that you were in the midst of performing.
11
- You have to leave your world and join someone elses.
12
-
13
- Freddie, is an experiment in turning this around. Its not that fancy graphical user
14
- interfaces don't have a role - but rather, to look at what we can do to support the
15
- tools and approaches people already use. And maybe even make their day job a little
16
- easier.
17
-
18
- So this is what we are exploring with Freddie. An Egeria Markdown language that allows
19
- users to intermix requests to Egeria with other text through the use of standard Markdown.
20
-
21
- This file is an example. You will see that we intersperse normal narrative text (such as this)
22
- with Commands to Egeria. We introduce a specific vocabulary to make Egeria requests.
23
-
24
- In the example below we will create a new Egeria glossary to hold definitions related to Freddie:
25
- ---
26
-
27
- # Create Glossary
28
-
29
- ## Glossary Name
30
-
31
- Egeria-Markdown
32
-
33
- ## Language
34
-
35
- English
36
-
37
- ## Description
38
-
39
- Glossary to describe the vocabulary of Freddie - an Egeria Markdown language to support the exchange of metadata in a
40
- Markdown form.
41
- Freddie allows users to input metadata using any text entry system that supports the entry of standard Markdown
42
- characters and through post-processing
43
- commands, validates the Egeria content and allows the requests to be sent to Egeria. This is an update
44
-
45
- ## Usage
46
-
47
- 1. (optional) load an example or template for the type of object from Egeria.
48
- 2. Create a new document (perhaps from the template) and edit it, adding in the content with the Freddie controlled
49
- Markdown language.
50
- 3. Process the document to validate and display it before you submit it, Validation may annotate your document with
51
- recommendations and potential issues.
52
- 4. Submit the document to Egeria using the Freddie_sings command.
53
-
54
- ## <Qualified Name>
55
-
56
- ## <GUID>
57
-
58
- ---
59
-
60
- # First Walk-Through
61
- The block of markdown above is a request to create a new Egeria Glossary called `Egeria-Markdown`. Let's briefly walk
62
- through. The command starts when we see `# Create Glossary`. This is a known phrase in Freddie. When we see this
63
- phrase we recognize that this is an egeria markdown request block. The request block ends if we encounter another `#` or
64
- `---`, or run out of text. Within this request block we note some **attributes** that begin with a `## `. The first that
65
- we encounter is `## Glossary Name`. Not all attributes need to be filled in. Later, we'll process this file and demonstrate
66
- how to tell - but first, lets look at the attributes shown:
67
-
68
- * `## Glossary Name` - this is the display name of the glossary. In this case the name is `Egeria-Markdown` As you can
69
- see, the value of the attribute is the plain text that follows it.
70
- * `## Language` - what language will the terms of the glossary be in (yes there are ways to have mixed language but
71
- Freddie strives to be as simple as possible).
72
- * `## Description` - a description of the glossary and its purpose.
73
- * `## Usage` - how the glossary is meant to be used and by whom.
74
- * `## <Qualified Name>` - every element in Egeria must have a unique qualified name that we use to distinguish
75
- it from all other elements. The qualified name is meant to be understandable by humans, although it may follow
76
- formatting conventions. This attributes is in angle brackets because at this point we can't fill it in - we are just
77
- in the midst of creating the glossary. A qualified name will be created for us as part of the glossary creation. We'll
78
- see a little later how we get that.
79
- * `## <GUID>` - same story as qualified name except that this is meant for automation and not people.
80
-
81
- And that's it. That's all we need to do to specify the creation of a new glossary (well - mostly - we'll reveal a few
82
- more details a bit later).
83
-
84
- ## Great! That was easy!
85
-
86
- We now have a nice, clean, new...and empty...glossary - guess we better start filling it. Lets create a couple of terms.
87
-
88
- ---
89
-
90
- # Create Category
91
-
92
- ## Category Name
93
-
94
- Writing Markdown
95
-
96
- ## Owning Glossary
97
-
98
- Egeria-Markdown
99
-
100
- ## Description
101
-
102
- These terms describe features of writing markdown files that can use Egeria-Markdown
103
-
104
-
105
- ## <Qualified Name>
106
-
107
- ## <GUID>
108
-
109
- ---
110
-
111
- # Create Category
112
-
113
- ## Category Name
114
-
115
- Processing Markdown
116
-
117
- ## Owning Glossary
118
-
119
- Egeria-Markdown
120
-
121
- ## Description
122
-
123
- These terms describe concepts related to processing Egeria-Markdown
124
-
125
-
126
- ## <Qualified Name>
127
-
128
- ## <GUID>
129
- ---
130
-
131
- # Create Term
132
-
133
- ## Glossary Name
134
-
135
- Egeria-Markdown
136
-
137
- ## Term Name
138
-
139
- Command
140
-
141
- ## Categories
142
-
143
- Processing Markdown
144
-
145
- ## Summary
146
-
147
- Commands are how a user of the Freddie markdown language requests an action.
148
-
149
- ## Description
150
-
151
- Commands are how a user can request Egeria to take an action such as Create or Update an Egeria element. Freddie
152
- provides
153
- a limited (but growing) set of commands. Freddie commands align with the pyegeria 'hey-egeria' command line interface.
154
-
155
- ## Abbreviation
156
-
157
- ## Examples
158
-
159
- Create Glossary or
160
- Update Glossary or
161
- Create Term or
162
- Update Term
163
-
164
- ## Usage
165
-
166
- Commands are used in the Freddie Egeria markdown language.
167
-
168
- ## Version
169
-
170
-
171
-
172
- ## Status
173
-
174
-
175
- ## Qualified Name
176
-
177
- ---
178
-
179
- # Create Term
180
-
181
- ## Glossary Name
182
-
183
- Egeria-Markdown
184
-
185
- ## Term Name
186
-
187
- Source
188
-
189
- ## Categories
190
- Writing Markdown
191
-
192
- Processing Markdown
193
-
194
- ## Summary
195
-
196
- Source of the markdown content.
197
-
198
- ## Description
199
-
200
- Source of the markdown content - could be jupter or plain markdown file.
201
-
202
- ## Abbreviation
203
-
204
- ## Examples
205
-
206
- ## Usage
207
-
208
- ## Version
209
-
210
- 0.1
211
-
212
- ## Status
213
-
214
- DRAFT
215
-
216
-
217
- ---
218
-
219
- # Create Term
220
-
221
- ## Glossary Name
222
-
223
- Egeria-Markdown
224
-
225
- ## Term Name
226
-
227
- Directive
228
-
229
- ## Categories
230
-
231
- meow mix, Processing Markdown
232
-
233
- ## Summary
234
-
235
- A directive defines how the command is to be processed.
236
-
237
- ## Description
238
-
239
- Directives are one of:
240
-
241
- * display - just display what we've found
242
- * validate - check the validity of the requested action
243
- * process - process the requested action
244
-
245
- ## Abbreviation
246
-
247
- ## Examples
248
-
249
- ## Usage
250
-
251
- ## Version
252
-
253
- 0.1
254
-
255
- ## Status
256
-
257
- DRAFT
258
-
259
- ---
260
-
261
- # Some terms specified - Now what?
262
-
263
- Ok - we've now created a glossary and three terms to go into the glossary. Here is what we'll do next.
264
-
265
- >Note: This is changing - so will be somewhat abstrct
266
-
267
- We will run a small program called freddie_md.py to operate on this markdown file. When we run this program we
268
- tell it not just the name of the file to process but also provide a directive on what to do. Currently we have the
269
- choice of:
270
-
271
- 1. Display - just parse the file, breaking it down into request blocks, and display what we find
272
- 2. Validate - parse the file and validate if the commands can be processed - showing information about what we observe.
273
- 3. Process - parse the request blocks and execute the commands - and produce a new output file to simplify further processing.
274
-
275
- # Great --> let's give it a try!
@@ -1,110 +0,0 @@
1
-
2
- # Update Term
3
-
4
- ## Term Name
5
-
6
- Command
7
-
8
- ## Summary
9
- Commands are how a user of the Freddie markdown language requests an action.
10
-
11
- ## Status
12
- DRAFT
13
-
14
- ## Description
15
- Commands are how a user can request Egeria to take an action such as Create or Update an Egeria element. Freddie
16
- provides
17
- a limited (but growing) set of commands. Freddie commands align with the pyegeria 'hey-egeria' command line interface.
18
-
19
- ## Examples
20
- Create Glossary or
21
- Update Glossary or
22
- Create Term or
23
- Update Term
24
-
25
- ## Usage
26
- Commands are used in the Freddie Egeria markdown language. updated
27
-
28
- ## Qualified Name
29
- PDR:Term:Command
30
-
31
- ## Guid
32
- 9015183f-7357-43c8-859d-2006ae8b763e
33
-
34
-
35
- ---
36
-
37
-
38
- ---
39
-
40
- # Update Term
41
-
42
- ## Term Name
43
-
44
- Source
45
-
46
- ## Summary
47
- Source of the markdown content.
48
-
49
- ## Status
50
- ACTIVE
51
-
52
- ## Description
53
- Source of the markdown content - could be jupter or plain markdown file.
54
-
55
- ## Qualified Name
56
- PDR:Term:Source
57
-
58
- ## Guid
59
- 55dcb682-2cd3-472f-8835-a14b1fcbd1c9
60
-
61
-
62
- ---
63
-
64
-
65
- ---
66
-
67
- # Update Term
68
-
69
- ## Term Name
70
-
71
- Directive
72
-
73
- ## Summary
74
- A directive defines how the command is to be processed.
75
-
76
- ## Status
77
- DRAFT
78
-
79
- ## Description
80
- Directives are one of:
81
-
82
- * display - just display what we've found
83
- * validate - check the validity of the requested action
84
- * process - process the requested action
85
-
86
- ## Qualified Name
87
- PDR:Term:Directive
88
-
89
- ## Guid
90
- 1ba5fafd-8424-438a-953c-9325fa5a080d
91
-
92
- ---
93
-
94
- # Create Term
95
-
96
- ## Term Name
97
-
98
- Directive
99
-
100
- ## Summary
101
- A directive defines how the command is to be processed.
102
-
103
- ## Status
104
- DRAFT
105
-
106
- ## Description
107
- A second description
108
-
109
- ## Qualified Name
110
- PDR:Term:Directive2