IPython already makes for a pretty good bash/zsh/etc replacement for many things. You can get a GUI using the IPython notebooks as well.
While I haven't made the switch completely yet, I always keep an IPython session around in an extra tab, since it is very often just much simpler to do something there than in bash.
>I always keep an IPython session around in an extra tab
By "tab" you mean tab in your web browser; do you not? (I ask because there are non-web-based IPython thingies.)
I actually meant a terminal tab (I'm using Tilda as terminal emulator). I'm only really using the web-based notebook interface when I need to display graphics for something.
UNIX shells can only seem powerful for those that never had the luxury of playing with Smalltalk, Lisp, Mesa/Cedar or Oberon environments.
Where you have a CLI and GUI experiences interact together to create a composable workflow experience.
Where I can do function composition on my REPL over data that I just selected with my mouse on a word processor, just to give a possible example.
Where public functions from dynamic modules are exposed on the REPL and can take part in any set of commands.
There is this primitive notion that a CLI needs to be the UNIX way, when a REPL as CLI is so much more powerful.