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.