sphuber/aiida-shell

Provide functionality to add a custom `Parser` on the fly

sphuber opened this issue · 0 comments

Currently, the plugin provides the ShellParser that is used by default by the ShellJob. However, this parser simply "parses" the content of certain output files and simply wraps them in SinglefileData nodes. In certain use cases, a user may want to actually parse the content of an output file and return it as different Data nodes, which would make the data queryable.

In a sense, this functionality is already available as a user can simply implement the Parser interface and specify its entry point in the metadata.options.parser_name option. However, this requires a user to implement a class and register it through an entry point, which goes against the low-barrier-of-entry strategy of aiida-shell.

Ideally, it should be possible to inline the parsing code without having to register it through an entry point. Note that this should of course also be compatible with submitting the job to the daemon which would require the code to be serializable and importable by the daemon worker somehow.