FireWorks extensively uses JSON to serialize all objects for storage in a database. In addition, YAML and JSON are commonly used for input by many FireWorks users. Probably it would be very helpful to add JSON schema validation to the check option of lpad. This will prevent many runtime errors that are harder to debug otherwise. Having a schema would also make it easier to develop a workflow editor which can validate the edited workflow “on the fly” against the schema. I am currently working on a JSON schema for FireWorks in a local branch and would like to hear some other’s opinion.
Seems like a good idea. If you’re already making these schema, they would at minimum be usefull for documentation. In reality, they should somehow be integrated into the system an enforced so we don’t get out of spec documents but that may be future work.
Thank you very much for answering and the interest. I am sorry for the delay. This is still work in progress:
The schema files are in the
fireworks/schema folder and can be in fact viewed and also used as documentation. And, yes, it is important that the validation is enforced but for that it should run 100% safe for valid inputs, i.e.the
from_dict() tests should pass for all sample inputs. The branch can be merged after the issue with time stamps is solved (see PR description for more detail).