-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
Description
Hi guys,
thx for your tool! Your concept is really cool and a handy feature :)
I have decided to integrate this tool in my Snakemake-Pipeline.
However, I now already stumbled multiple times over the issue of having metadata-files that fail the eido evaluation, but the Error messages which are returned by the tool are not helping at all.
Thus, every time when I face such an error I have to invest a lot of time to finally figure out what's the reason for the failing validation.
Here is a minimal reproducible example:
pep_schemal.yaml
description: Minimal example
imports:
- http://schema.databio.org/pep/2.1.0.yaml
properties:
samples:
type: array
items:
type: object
properties:
sample_directory:
type: string
pattern: "^/\\S+$|None"
input_no_error.csv
sample_name,sample_directory
test,/testung
input_error.csv
sample_name,sample_directory
test,testung
Then the output:
# No error
$ eido validate input_no_error.csv -s pep_schema.yaml
Validation successful
# Error
$ eido validate input_error.csv -s pep_schema.yaml
Traceback (most recent call last):
File "/Users/oliverkuchler/miniforge3/envs/snakemake7/bin/eido", line 10, in <module>
sys.exit(main())
^^^^^^
File "/Users/oliverkuchler/miniforge3/envs/snakemake7/lib/python3.12/site-packages/eido/cli.py", line 159, in main
validator(*arguments)
File "/Users/oliverkuchler/miniforge3/envs/snakemake7/lib/python3.12/site-packages/eido/validation.py", line 73, in validate_project
_validate_object(
File "/Users/oliverkuchler/miniforge3/envs/snakemake7/lib/python3.12/site-packages/eido/validation.py", line 45, in _validate_object
instance_name = error.instance[sample_name_colname]
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
Is there any plans for the future to improve the output?
It would be very cool if one could at least see, because of which input the validation fails.