Hi @bilke , very good question. For the argument formatting, I am relying on the string.Formatter class from Python. This is also what is used to format any f-string. It allows escaping curly braces simply by doubling them, e.g.:
In [4]: print(f'{{test}}')
{test}
I thought this would have worked as well in aiida-shell but there is a small bug since for arguments that don’t contain actual placeholders, I return them as is, but I should be calling .format() on those as well, in order to resolve the escaped braces. I fixed this bug locally and now it seems to be working:
In [1]: from aiida_shell import launch_shell_job
In [2]: results, node = launch_shell_job('echo', arguments="a{{d,c,b}}e")
In [3]: print(results['stdout'].get_content())
a{d,c,b}e