<div dir="ltr"><div><div><div>Hi,<br><br></div>I was recently doing QA work at a startup, and extensively used<br></div>Fabric ( <a href="http://fabfile.org">http://fabfile.org</a> ) for execute commands remotely over SSH.<br><br></div><div>I used only a few functions from this library, such as<br></div><div>fabric.api.run() , <a href="http://fabric.api.cd">fabric.api.cd</a>(), fabric.api.put(), fabric.api.get().<br></div><div>This allowed me to run a remote command, change to a remote directory,<br></div><div>put a file, and get a file, all over SSH.<br><br></div><div>For my uses, this worked out quite well.  I really liked this library a lot.<br><br></div><div>The only downside is the library does not work with Python 3.<br></div><div>I've tried this patch to add Python 3 support: <a href="https://github.com/fabric/fabric/issues/1378">https://github.com/fabric/fabric/issues/1378</a><br></div><div>and it works.  However, the author of Fabric is not accepting this patch<br></div><div>because he does not want to drop support for Python 2.5.<br></div><div>The author is working on a rewrite called Pyinvoke ( <a href="http://www.pyinvoke.org/">http://www.pyinvoke.org/</a> )<br></div><div>which will support Python 3, but that is very early pre-alpha stuff.<br><br></div><div>Can anyone recommend an alternate library for doing SSH remote<br></div><div>execution, which works on Python 2 and Python 3, and is simple to use?<br><br></div><div>Since Fabric layers on top of the Paramiko ( <a href="http://paramiko.org">http://paramiko.org</a> ) SSH library,<br></div><div>is using that directly the best way to go?<br></div><div><br>--<br></div><div>Craig<br></div></div>