This looks very promising:
* auto completion!
* integrated documentation!
* exporting Ansible YAML!
I didn't yet have change to play with this, so I just note the ways I see Jupyter can be good fit for Ansible. You can try each step and see it working before moving to next one. There doesn't seem to be support yet for richer results view nor Jupyter Widgets, but imagine looking at actual error messages and result views instead of JSON as text. Getting and setting parameters for playbooks could be done using external data sources instead of hand-crafting inventories and config files. You could use same approach as Ara [1] and trace execution of tasks.
I assume you can run Ansible kernel from JupyterLab instance, so you can do file management and use terminal right on the machine you're running Ansible commands. Also, I'd imagine connecting with Jupyter Console (formerly IPython) to same kernel state as notebook is running with is possible here as well. This provides Terminal goodness alongside browser's visuals.
[1] Ara: http://ara.readthedocs.io/en/latest/
https://mybinder.org/v2/gh/ansible/ansible-jupyter-kernel/ma...
Could you perhaps elaborate how the kernel directs Ansible?
Also, is there any difference between local and remote Ansible runs?
edit: https://docs.ansible.com/ansible/latest/cli/ansible-console.... "REPL console for executing Ansible tasks."
It is not just litterate programming, but more like an IDE that does not require your code to keep working (CI/CD... ) : you can refactor at your own pace, iterate, introspect past results, etc.
You prototype like crazy, iterate much faster, and can tweak much more.
However, notebooks are not popular with many programmers. They stick to IDEs. Their loss.
This post has more detail on a faster approach using jq: http://timstaley.co.uk/posts/making-git-and-jupyter-notebook...
If you prefer to use the REPL consoles directly for your own propose then Jupyter will add no value on it. However, Jupyter let you save results for each commands without running them again, and you can add Markdown documentations. This is useful when you want document your codes (with results) and share them with others.
Jupyter is merely a productivity tool like an IDE, not a framework. Jupyter may not be suitable for running production codes anyway.
I came across this Python wrapper around Ansible yesterday: http://suitable.readthedocs.io/en/latest/ Official docs declare themselves deprecated...
Anyway, I'll have to start testing this soon. Thank you so much for making it!
External dependencies, state etc will all be handled, once excution is ironed out
I disagree with you only that this might be a good way of prototyping for something like ansible playbooks/modules, chef recipes, puppet manifests, etc. So much of the state is external (and intrinsic to what is being built) that I don't think it's a match of the rhythm of development there. But just my two cents, the best process is what works for you.