You could already do some minimal shell-like scripting with ipython[1]. Just put your ipython-flavored script in a file with .ipy extension an call it with ipython, or just use #!/usr/bin/ipython as a shebang.
#!/usr/bin/ipython
files = !ls
for f in files:
print(f)
That being said, it is a bit clunky to use since it's not a proper shell, so xonsh is definitely a very welcome improvement.[1]: http://ipython.org/ipython-doc/stable/interactive/shell.html