giovannipizzi / aiida-node-shell

Proof of concept of a way to easily browse AiiDA nodes through an interactive, customisable shell with tab completion
MIT License
6 stars 1 forks source link

more commands #1

Closed zhubonan closed 4 years ago

zhubonan commented 4 years ago

Sorry for leaving it for a while for giving feedback. I found this project interesting and potentially can become a very useful tool for exploring AiiDA database/graph in the terminal. The verdi command-line interface is very powerful, but it is slightly sluggish when one just want to check a few node properties.

On the other hand, for this proof-of-concept project to be useful in a production environment, more commands should be added. I have forked the projected (see here) and added a few commands based on my typical usages of verdi. Fortunately, it turned out to be relatively easy, and I can reuse some of the functions for verdi.

I am wondering what is the development decision about aiida-node-shell. Will there be efforts from the aiidateam to further develop this tool? Also, is there any similar tool for exploring AiiDA nodes in the pipline?

giovannipizzi commented 4 years ago

Thanks for your feedback! And feel free to make a PR against this repo if you are adding features and not removing any (and if you are ok if we possibly rename them later, see discussion below).

Personally, I would like to get feedback from people who have been using it (mostly you I'd say :-) ), agree on naming (e.g. I would rename the remote ls as rls or remote-ls with a short alias rls, similarly add a group-ls and/or gls for listing GroupPaths as recently introduced in AiiDA, etc.

Then, I would personally merge it into AiiDA itself, as a verdi node shell command, unless people feel strongly against. The major comment will be if it is possible to 'mirror' the names of verdi (or verdi node) as much as possible, to avoid to have to learn yet another way of interacting with nodes. I agree in general and we should, but I think the usecases are slightly different so there might be cases in which this is not possible, or it does not make sense.

Mentioning here (sorry if I am misinterpreting your original comments/thoughts):

I think the easiest is to have a chat on what we'd like to see that we feel it's still missing, then do a general revision of the command names, and then check if there is anybody strongly against merging this into AiiDA. We can then keep adding commands, but we should try not to be backwards imcompatible.

Does this make sense? I suggest to have comments here for another week, if any, and then we schedule a Skype/Zoom call with those who are interested?

zhubonan commented 4 years ago

Thanks. Also, I think a potential use case for this tool could be to interactively explore the graph in the terminal, which is not so easy to do with verdi or with the python API.

I will probably add several more commands. Of course, I won't remove any! I am also fine with changing the names later.

I will add more comments here if there is any. I am happy to go on a Skype/Zoom call.