Skip to content

Commit 0e16c17

Browse files
Update version to 2.3.2 in pyproject.toml, modify prototyping notebook to handle validation errors, and clean up exclusion list in CLI
1 parent 8188181 commit 0e16c17

File tree

3 files changed

+16
-13
lines changed

3 files changed

+16
-13
lines changed

jupyter/protoyping.ipynb

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,20 @@
1717
"metadata": {},
1818
"outputs": [
1919
{
20-
"data": {
21-
"text/plain": [
22-
"True"
23-
]
24-
},
25-
"execution_count": 3,
26-
"metadata": {},
27-
"output_type": "execute_result"
20+
"ename": "ValueError",
21+
"evalue": "Schema 'project' property 'consent_codes' with type 'array' must include an 'items' property. Please add an 'items' property to the 'properties' section.",
22+
"output_type": "error",
23+
"traceback": [
24+
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
25+
"\u001b[31mValueError\u001b[39m Traceback (most recent call last)",
26+
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[3]\u001b[39m\u001b[32m, line 3\u001b[39m\n\u001b[32m 1\u001b[39m lipid_schema = g.utils.load_yaml(\u001b[33m\"\u001b[39m\u001b[33m/Users/harrijh/projects/gen3schemadev/src/gen3schemadev/schema/schema_templates/project.yaml\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m 2\u001b[39m rule_val = g.validators.rule_validator.RuleValidator(lipid_schema)\n\u001b[32m----> \u001b[39m\u001b[32m3\u001b[39m \u001b[43mrule_val\u001b[49m\u001b[43m.\u001b[49m\u001b[43mtype_array_needs_items\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
27+
"\u001b[36mFile \u001b[39m\u001b[32m~/projects/gen3schemadev/src/gen3schemadev/validators/rule_validator.py:226\u001b[39m, in \u001b[36mRuleValidator.type_array_needs_items\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 224\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(value, \u001b[38;5;28mdict\u001b[39m) \u001b[38;5;129;01mand\u001b[39;00m value.get(\u001b[33m\"\u001b[39m\u001b[33mtype\u001b[39m\u001b[33m\"\u001b[39m) == \u001b[33m\"\u001b[39m\u001b[33marray\u001b[39m\u001b[33m\"\u001b[39m:\n\u001b[32m 225\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[33m\"\u001b[39m\u001b[33mitems\u001b[39m\u001b[33m\"\u001b[39m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m value:\n\u001b[32m--> \u001b[39m\u001b[32m226\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 227\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mSchema \u001b[39m\u001b[33m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m.schema.get(\u001b[33m'\u001b[39m\u001b[33mid\u001b[39m\u001b[33m'\u001b[39m)\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m'\u001b[39m\u001b[33m property \u001b[39m\u001b[33m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mkey\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m'\u001b[39m\u001b[33m with type \u001b[39m\u001b[33m'\u001b[39m\u001b[33marray\u001b[39m\u001b[33m'\u001b[39m\u001b[33m must include an \u001b[39m\u001b[33m'\u001b[39m\u001b[33mitems\u001b[39m\u001b[33m'\u001b[39m\u001b[33m property. \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 228\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mPlease add an \u001b[39m\u001b[33m'\u001b[39m\u001b[33mitems\u001b[39m\u001b[33m'\u001b[39m\u001b[33m property to the \u001b[39m\u001b[33m'\u001b[39m\u001b[33mproperties\u001b[39m\u001b[33m'\u001b[39m\u001b[33m section.\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 229\u001b[39m )\n\u001b[32m 230\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m\n",
28+
"\u001b[31mValueError\u001b[39m: Schema 'project' property 'consent_codes' with type 'array' must include an 'items' property. Please add an 'items' property to the 'properties' section."
29+
]
2830
}
2931
],
3032
"source": [
31-
"lipid_schema = g.utils.load_yaml(\"../output/lipidomics_file.yaml\")\n",
33+
"lipid_schema = g.utils.load_yaml(\"/Users/harrijh/projects/gen3schemadev/src/gen3schemadev/schema/schema_templates/project.yaml\")\n",
3234
"rule_val = g.validators.rule_validator.RuleValidator(lipid_schema)\n",
3335
"rule_val.type_array_needs_items()"
3436
]

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "Gen3SchemaDev"
3-
version = "2.3.1"
3+
version = "2.3.2"
44
description = "Tool for data modelling in Gen3"
55
authors = [
66
{name = "JoshuaHarris391",email = "[email protected]"}

src/gen3schemadev/cli.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -205,9 +205,10 @@ def main():
205205

206206
# Exclusion list
207207
exclude_schema_list = [
208-
'project', '_definitions', '_settings',
209-
'_terms', 'core_metadata_collection',
210-
'program'
208+
'_definitions',
209+
'_settings',
210+
'_terms',
211+
'core_metadata_collection',
211212
]
212213
if args.no_exclude:
213214
print(f"Validation now includes: {exclude_schema_list}")

0 commit comments

Comments
 (0)