Implement an interactive shell over ssh in Python using Paramiko?

I want to write a program (in Python 3.x on Windows 7) that executes multiple commands on a remote shell via ssh. After looking at paramikos’ exec_command() function, I realized it’s not suitable for my use case (because the channel gets closed after the command is executed), as the commands depend on environment variables (set by prior commands) and can’t be concatenated into one exec_command() call as they are to be executed at different times in the program.

Recursive diff of two dictionaries (keys and values)?

So I have a python dictionary, call it d1, and a version of that dictionary at a later point in time, call it d2. I want to find all the changes between d1 and d2. In other words, everything that was added, removed or changed. The tricky bit is that the values can be ints, strings, lists, or dicts, so it needs to be recursive. This is what I have so far: