You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix: Use single base metaclass and remove Python 3.9 from CI
Changes:
- Changed all enums to use `valuesets_meta:ValueSetEnumDefinition`
instead of `ValueSetEnumDefinitionWithStewardship`
- Single base metaclass is simpler and cleaner
- Stewardship metadata remains via annotations block
- Removed Python 3.9 from CI test matrix (EOL)
- Updated 6 schema files: GO (3), INSDC (2), Phenopackets (1)
- Regenerated Python datamodels
All enums now consistently use the same base metaclass while
maintaining stewardship annotations where appropriate.
linkml_meta = LinkMLMeta({'default_prefix': 'valuesets', 'description': 'A collection of commonly used value sets', 'id': 'https://w3id.org/linkml/valuesets', 'name': 'valuesets', 'title': 'valuesets'})
56
56
57
57
class RelativeTimeEnum(RichEnum):
58
+
"""
59
+
Temporal relationships between events or time points
60
+
"""
58
61
# Enum members
59
62
BEFORE = "BEFORE"
60
63
AFTER = "AFTER"
61
64
AT_SAME_TIME_AS = "AT_SAME_TIME_AS"
62
65
63
66
# Set metadata after class creation to avoid it becoming an enum member
64
67
RelativeTimeEnum._metadata = {
68
+
"BEFORE": {'description': 'Occurs before the reference time point'},
69
+
"AFTER": {'description': 'Occurs after the reference time point'},
70
+
"AT_SAME_TIME_AS": {'description': 'Occurs at the same time as the reference time point'},
65
71
}
66
72
67
73
class PresenceEnum(RichEnum):
74
+
"""
75
+
Classification of whether an entity is present, absent, or at detection limits
76
+
"""
68
77
# Enum members
69
78
PRESENT = "PRESENT"
70
79
ABSENT = "ABSENT"
@@ -127,8 +136,8 @@ class DataAbsentEnum(RichEnum):
127
136
"AS_TEXT": {'description': 'The content of the data is represented in the resource narrative.', 'meaning': 'fhir_data_absent_reason:as-text'},
128
137
"ERROR": {'description': 'Some system or workflow process error means that the information is not available.', 'meaning': 'fhir_data_absent_reason:error'},
129
138
"NOT_A_NUMBER": {'description': 'The numeric value is undefined or unrepresentable due to a floating point processing error.', 'meaning': 'fhir_data_absent_reason:not-a-number'},
130
-
"NEGATIVE_INFINITY": {'description': 'The numeric value is excessively low and unrepresentable due to a floating point processing error.', 'meaning': 'fhir_data_absent_reason:negative-infinity'},
131
-
"POSITIVE_INFINITY": {'description': 'The numeric value is excessively high and unrepresentable due to a floating point processing error.', 'meaning': 'fhir_data_absent_reason:positive-infinity'},
139
+
"NEGATIVE_INFINITY": {'description': 'The numeric value is excessively low and unrepresentable due to a floating point processing error.', 'meaning': 'fhir_data_absent_reason:negative-infinity'},
140
+
"POSITIVE_INFINITY": {'description': 'The numeric value is excessively high and unrepresentable due to a floating point processing error.', 'meaning': 'fhir_data_absent_reason:positive-infinity'},
132
141
"NOT_PERFORMED": {'description': 'The value is not available because the observation procedure (test, etc.) was not performed.', 'meaning': 'fhir_data_absent_reason:not-performed'},
133
142
"NOT_PERMITTED": {'description': 'The value is not permitted in this context (e.g. due to profiles, or the base data types).', 'meaning': 'fhir_data_absent_reason:not-permitted'},
0 commit comments