pyegeria 5.4.0.dev2__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 (28) 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 +22 -10
  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.dev2.dist-info → pyegeria-5.4.0.dev5.dist-info}/METADATA +1 -1
  20. {pyegeria-5.4.0.dev2.dist-info → pyegeria-5.4.0.dev5.dist-info}/RECORD +24 -24
  21. {pyegeria-5.4.0.dev2.dist-info → pyegeria-5.4.0.dev5.dist-info}/entry_points.txt +4 -3
  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/{list_data_structures.py → list_data_structures_full.py} +0 -0
  27. {pyegeria-5.4.0.dev2.dist-info → pyegeria-5.4.0.dev5.dist-info}/LICENSE +0 -0
  28. {pyegeria-5.4.0.dev2.dist-info → pyegeria-5.4.0.dev5.dist-info}/WHEEL +0 -0
@@ -0,0 +1,134 @@
1
+ # Dr.Egeria - designing data - part 1
2
+ ## Introduction
3
+
4
+ As data professionals, we often need to design data to be collected, processed, and shared with others.
5
+ The Egeria Data Designer module has been designed to support this. Using the features of data designer we can
6
+ define and refine:
7
+
8
+ * Data Structures - a composition of data fields (and data structures) that we work with as a unit. For instance, in
9
+ a clinical trial, each measurement record we receive will conform to a data structure.
10
+ * Data Fields - the building blocks of data structures - for example, in a clinical trial data structure we might find data fields for health measurements, a time and date when the measurements were made and a patient identifier.
11
+ * Data Classes - data classes contain a set of rules that describe the allowable values of a kind of data. For instance, when we we receive new data, perhaps we expect a clinical trial measurement record, then we will often want to validate that it conforms to our expectations; that the value of each field, conforms to the data class specification.
12
+ Similarly, if we receive some data and aren't sure what it is, we can compare the values we have received with this same set of rules to propose what kind of data it might be.
13
+
14
+ These are basic building blocks. The following diagram shows how these building blocks come together in a simple example. The ficticious Coco Pharmaceuticals company
15
+ is running a drug trial to measure the effectiveness of their experimental treatment of Teddy Bear Drop Foot. Each hospital participating in the trial provides
16
+ weekly clinical data records. The clinical trial has established the following data specification to exchange this weekly measurement data.
17
+
18
+ * A data structure named `TBDF-Incoming Weekly Measurement Data` that is composed of:
19
+ * Data Field: Date
20
+ * Data Field: PatientId
21
+ * Data Field: AngleLeft
22
+ * Data Field: AngleRight
23
+
24
+ * The data field `PatientId` is composed of two sub-fields
25
+ * Data Field: HospitalId
26
+ * Data Field: PatientNumber
27
+
28
+ Dr.Egeria allows us to easily sketch this out, and then refine the definitions incrementally as we work through the design.
29
+ So lets begin. First we will define the `TBDF-Incoming Weekly Measurement Data` data structure. We will then Don't Create the new data fields.
30
+
31
+ ___
32
+
33
+
34
+ # Update Data Structure
35
+
36
+ ## Data Structure Name
37
+
38
+ TBDF-Incoming Weekly Measurement Data
39
+
40
+ ## GUID
41
+ fd9380f4-1067-4f7b-bf3f-cb2f3a0e8341
42
+
43
+ ## Qualified Name
44
+ DataStruct::TBDF-Incoming Weekly Measurement Data
45
+
46
+ ## Description
47
+ This describes the weekly measurement data for each patient for the Teddy Bear drop foot clinical trial.
48
+
49
+ ## Data Fields
50
+
51
+
52
+ ## Data Specification
53
+
54
+
55
+ ## Namespace
56
+
57
+
58
+ ## Version Identifier
59
+
60
+
61
+ ## Extended Properties
62
+ {}
63
+
64
+ ## Additional Properties
65
+ {}
66
+
67
+
68
+ ## In Data Dictionary
69
+
70
+
71
+
72
+ ## In Data Specification
73
+
74
+
75
+
76
+
77
+ > Note: While not required, it is good practice to end each Dr.Egeria command with a `___` so that a markdown
78
+ > seperator is displayed between commands. It improves the readability.
79
+
80
+ # Don't Create Data Field
81
+ ## Data Field
82
+ Date
83
+ ## Description
84
+ A date of the form YYYY-MM-DD
85
+
86
+ ___
87
+
88
+ # Don't Create Data Field
89
+ ## Data Field Name
90
+ PatientId
91
+ ## Description
92
+ Unique identifier of the patient
93
+
94
+ ___
95
+
96
+ # Don't Create Data Field
97
+ ## Data Field Name
98
+ AngleLeft
99
+ ## Description
100
+ Angle rotation of the left leg from vertical
101
+
102
+ ___
103
+
104
+ # Don't Create Data Field
105
+ ## Data Field Name
106
+ AngleRight
107
+ ## Description
108
+ Angle rotation of the left leg from vertical
109
+
110
+ ___
111
+
112
+ # Don't Create Data Field
113
+ ## Data Field Name
114
+
115
+ HospitalId
116
+
117
+ ## Description
118
+ Unique identifier for a hospital. Used in forming PatientId.
119
+
120
+ ___
121
+
122
+ # Don't Create Data Field
123
+ ## Data Field Name
124
+ PatientNumber
125
+ ## Description
126
+ Unique identifier of the patient within a hospital.
127
+
128
+ ___
129
+
130
+
131
+
132
+ # Provenance
133
+
134
+ * Results from processing file dr_egeria_data_designer_1.md on 2025-06-22 21:06
@@ -0,0 +1,133 @@
1
+ # Dr.Egeria - designing data - part 1
2
+ ## Introduction
3
+
4
+ As data professionals, we often need to design data to be collected, processed, and shared with others.
5
+ The Egeria Data Designer module has been designed to support this. Using the features of data designer we can
6
+ define and refine:
7
+
8
+ * Data Structures - a composition of data fields (and data structures) that we work with as a unit. For instance, in
9
+ a clinical trial, each measurement record we receive will conform to a data structure.
10
+ * Data Fields - the building blocks of data structures - for example, in a clinical trial data structure we might find data fields for health measurements, a time and date when the measurements were made and a patient identifier.
11
+ * Data Classes - data classes contain a set of rules that describe the allowable values of a kind of data. For instance, when we we receive new data, perhaps we expect a clinical trial measurement record, then we will often want to validate that it conforms to our expectations; that the value of each field, conforms to the data class specification.
12
+ Similarly, if we receive some data and aren't sure what it is, we can compare the values we have received with this same set of rules to propose what kind of data it might be.
13
+
14
+ These are basic building blocks. The following diagram shows how these building blocks come together in a simple example. The ficticious Coco Pharmaceuticals company
15
+ is running a drug trial to measure the effectiveness of their experimental treatment of Teddy Bear Drop Foot. Each hospital participating in the trial provides
16
+ weekly clinical data records. The clinical trial has established the following data specification to exchange this weekly measurement data.
17
+
18
+ * A data structure named `TBDF-Incoming Weekly Measurement Data` that is composed of:
19
+ * Data Field: Date
20
+ * Data Field: PatientId
21
+ * Data Field: AngleLeft
22
+ * Data Field: AngleRight
23
+
24
+ * The data field `PatientId` is composed of two sub-fields
25
+ * Data Field: HospitalId
26
+ * Data Field: PatientNumber
27
+
28
+ Dr.Egeria allows us to easily sketch this out, and then refine the definitions incrementally as we work through the design.
29
+ So lets begin. First we will define the `TBDF-Incoming Weekly Measurement Data` data structure. We will then Don't Create the new data fields.
30
+
31
+ ___
32
+
33
+ # Don't Create Data Structure
34
+ ## Data Structure Name
35
+
36
+ TBDF-Incoming Weekly Measurement Data
37
+
38
+ ## Description
39
+ This describes the weekly measurement data for each patient for the Teddy Bear drop foot clinical trial.
40
+
41
+ > Note: we will continue to refine this definition as we work through the design.
42
+
43
+
44
+
45
+ ___
46
+ > Note: While not required, it is good practice to end each Dr.Egeria command with a `___` so that a markdown
47
+ > seperator is displayed between commands. It improves the readability.
48
+
49
+ # Don't Create Data Field
50
+ ## Data Field
51
+ Date
52
+ ## Description
53
+ A date of the form YYYY-MM-DD
54
+
55
+ ___
56
+
57
+ # Don't Create Data Field
58
+ ## Data Field Name
59
+ PatientId
60
+ ## Description
61
+ Unique identifier of the patient
62
+
63
+ ___
64
+
65
+ # Don't Create Data Field
66
+ ## Data Field Name
67
+ AngleLeft
68
+ ## Description
69
+ Angle rotation of the left leg from vertical
70
+
71
+ ___
72
+
73
+ # Don't Create Data Field
74
+ ## Data Field Name
75
+ AngleRight
76
+ ## Description
77
+ Angle rotation of the left leg from vertical
78
+
79
+ ___
80
+
81
+ # Don't Create Data Field
82
+ ## Data Field Name
83
+
84
+ HospitalId
85
+
86
+ ## Description
87
+ Unique identifier for a hospital. Used in forming PatientId.
88
+
89
+ ___
90
+
91
+ # Don't Create Data Field
92
+ ## Data Field Name
93
+ PatientNumber
94
+ ## Description
95
+ Unique identifier of the patient within a hospital.
96
+
97
+ ___
98
+ # REPORTING
99
+ We can also use Dr.Egeria Commands to report on the Data Structures and Data Fields that we just created. Here
100
+ we request a simplified list form of the output.
101
+ ___
102
+
103
+
104
+ # `Data Structures` with filter: `*`
105
+
106
+ # Data Structures Table
107
+
108
+ Data Structures found from the search string: `All`
109
+
110
+ | Structure Name | Qualified Name | Namespace | Version | Description |
111
+ |-------------|-------------|-------------|-------------|-------------|
112
+ | TBDF-Incoming Weekly Measurement Data | [DataStruct::TBDF-Incoming Weekly Measurement Data](#fd9380f4-1067-4f7b-bf3f-cb2f3a0e8341) | | | This describes the weekly measurement data for each patient for the Teddy Bear drop foot clinical trial. |
113
+
114
+
115
+
116
+ # `Data Fields` with filter: `*`
117
+
118
+ # Data Fields Table
119
+
120
+ Data Fields found from the search string: `All`
121
+
122
+ | Field Name | Qualified Name | Data Type | Description |
123
+ |-------------|-------------|-------------|-------------|
124
+ | HospitalId | [DataField::HospitalId](#ff03f93d-ea32-48fd-b58b-b2c373fb2c09) | string | Unique identifier for a hospital. Used in forming PatientId. |
125
+ | AngleRight | [DataField::AngleRight](#9576193d-f5e9-4715-b919-f5541acf643e) | string | Angle rotation of the left leg from vertical |
126
+ | PatientNumber | [DataField::PatientNumber](#e18b6779-abf6-4ad9-b193-cb67d56eafad) | string | Unique identifier of the patient within a hospital. |
127
+ | Date | [DataField::Date](#7e5e2d39-fd27-4340-95cf-84e6cb265bde) | string | A date of the form YYYY-MM-DD |
128
+ | AngleLeft | [DataField::AngleLeft](#91c5007e-6578-4cf2-bf10-e350aa697071) | string | Angle rotation of the left leg from vertical |
129
+ | PatientId | [DataField::PatientId](#6703d7e2-3251-4967-b0d2-a93583860561) | string | Unique identifier of the patient |
130
+
131
+ # Provenance
132
+
133
+ * Results from processing file dr_egeria_data_designer_1.md on 2025-06-22 21:13
@@ -0,0 +1,141 @@
1
+ # Dr.Egeria - designing data - part 1
2
+ ## Introduction
3
+
4
+ As data professionals, we often need to design data to be collected, processed, and shared with others.
5
+ The Egeria Data Designer module has been designed to support this. Using the features of data designer we can
6
+ define and refine:
7
+
8
+ * Data Structures - a composition of data fields (and data structures) that we work with as a unit. For instance, in
9
+ a clinical trial, each measurement record we receive will conform to a data structure.
10
+ * Data Fields - the building blocks of data structures - for example, in a clinical trial data structure we might find data fields for health measurements, a time and date when the measurements were made and a patient identifier.
11
+ * Data Classes - data classes contain a set of rules that describe the allowable values of a kind of data. For instance, when we we receive new data, perhaps we expect a clinical trial measurement record, then we will often want to validate that it conforms to our expectations; that the value of each field, conforms to the data class specification.
12
+ Similarly, if we receive some data and aren't sure what it is, we can compare the values we have received with this same set of rules to propose what kind of data it might be.
13
+
14
+ These are basic building blocks. The following diagram shows how these building blocks come together in a simple example. The ficticious Coco Pharmaceuticals company
15
+ is running a drug trial to measure the effectiveness of their experimental treatment of Teddy Bear Drop Foot. Each hospital participating in the trial provides
16
+ weekly clinical data records. The clinical trial has established the following data specification to exchange this weekly measurement data.
17
+
18
+ * A data structure named `TBDF-Incoming Weekly Measurement Data` that is composed of:
19
+ * Data Field: Date
20
+ * Data Field: PatientId
21
+ * Data Field: AngleLeft
22
+ * Data Field: AngleRight
23
+
24
+ * The data field `PatientId` is composed of two sub-fields
25
+ * Data Field: HospitalId
26
+ * Data Field: PatientNumber
27
+
28
+ Dr.Egeria allows us to easily sketch this out, and then refine the definitions incrementally as we work through the design.
29
+ So lets begin. First we will define the `TBDF-Incoming Weekly Measurement Data` data structure. We will then Don't Create the new data fields.
30
+
31
+ ___
32
+
33
+ # Don't Create Data Structure
34
+ ## Data Structure Name
35
+
36
+ TBDF-Incoming Weekly Measurement Data
37
+
38
+ ## Description
39
+ This describes the weekly measurement data for each patient for the Teddy Bear drop foot clinical trial.
40
+
41
+ > Note: we will continue to refine this definition as we work through the design.
42
+
43
+
44
+
45
+ ___
46
+ > Note: While not required, it is good practice to end each Dr.Egeria command with a `___` so that a markdown
47
+ > seperator is displayed between commands. It improves the readability.
48
+
49
+ # Don't Create Data Field
50
+ ## Data Field
51
+ Date
52
+ ## Description
53
+ A date of the form YYYY-MM-DD
54
+
55
+ ___
56
+
57
+ # Don't Create Data Field
58
+ ## Data Field Name
59
+ PatientId
60
+ ## Description
61
+ Unique identifier of the patient
62
+
63
+ ___
64
+
65
+ # Don't Create Data Field
66
+ ## Data Field Name
67
+ AngleLeft
68
+ ## Description
69
+ Angle rotation of the left leg from vertical
70
+
71
+ ___
72
+
73
+ # Don't Create Data Field
74
+ ## Data Field Name
75
+ AngleRight
76
+ ## Description
77
+ Angle rotation of the left leg from vertical
78
+
79
+ ___
80
+
81
+ # Don't Create Data Field
82
+ ## Data Field Name
83
+
84
+ HospitalId
85
+
86
+ ## Description
87
+ Unique identifier for a hospital. Used in forming PatientId.
88
+
89
+ ___
90
+
91
+ # Don't Create Data Field
92
+ ## Data Field Name
93
+ PatientNumber
94
+ ## Description
95
+ Unique identifier of the patient within a hospital.
96
+
97
+ ___
98
+ # REPORTING
99
+ We can also use Dr.Egeria Commands to report on the Data Structures and Data Fields that we just created. Here
100
+ we request a simplified list form of the output.
101
+ ___
102
+
103
+
104
+ # `Data Structures` with filter: `*`
105
+
106
+ # Data Structures Table
107
+
108
+ Data Structures found from the search string: `All`
109
+
110
+ | Structure Name | Qualified Name | Namespace | Version | Description |
111
+ |-------------|-------------|-------------|-------------|-------------|
112
+ | TBDF-Incoming Weekly Measurement Data | [DataStruct::TBDF-Incoming Weekly Measurement Data](#fd9380f4-1067-4f7b-bf3f-cb2f3a0e8341) | | | This describes the weekly measurement data for each patient for the Teddy Bear drop foot clinical trial. |
113
+
114
+
115
+
116
+ # `Data Fields` with filter: `*`
117
+
118
+ # Data Fields Table
119
+
120
+ Data Fields found from the search string: `All`
121
+
122
+ | Field Name | Qualified Name | Data Type | Description |
123
+ |-------------|-------------|-------------|-------------|
124
+ | HospitalId | [DataField::HospitalId](#ff03f93d-ea32-48fd-b58b-b2c373fb2c09) | string | Unique identifier for a hospital. Used in forming PatientId. |
125
+ | AngleRight | [DataField::AngleRight](#9576193d-f5e9-4715-b919-f5541acf643e) | string | Angle rotation of the left leg from vertical |
126
+ | PatientNumber | [DataField::PatientNumber](#e18b6779-abf6-4ad9-b193-cb67d56eafad) | string | Unique identifier of the patient within a hospital. |
127
+ | Date | [DataField::Date](#7e5e2d39-fd27-4340-95cf-84e6cb265bde) | string | A date of the form YYYY-MM-DD |
128
+ | AngleLeft | [DataField::AngleLeft](#91c5007e-6578-4cf2-bf10-e350aa697071) | string | Angle rotation of the left leg from vertical |
129
+ | PatientId | [DataField::PatientId](#6703d7e2-3251-4967-b0d2-a93583860561) | string | Unique identifier of the patient |
130
+
131
+ # Building on what we have done
132
+ One of the interesting features of Dr.Egeria, is that we can take the results of processing a Dr.Egeria command as the
133
+ starting point for refining the information we provided. This is convenient, because when we generate the command output,
134
+ we transform the `Create` commands into `Update` commands. We also add some additional information that Egeria derived for us.
135
+
136
+ ## Next Steps
137
+ For our next steps, we will copy the file produced in the first step into a new file called `dr_egeria_data_designer_2.md`
138
+ Please open that file when you are ready to continue.
139
+ # Provenance
140
+
141
+ * Results from processing file dr_egeria_data_designer_1.md on 2025-06-22 21:19