

The client’s join function can be used to wait for all commands in output to finish.Īfter join returns, commands have finished and all output can be read without blocking.

See alternatives for a more complete comparison of alternative SSH libraries, as well as performance comparisons mentioned previously. Parallel-ssh provides easy to use SSH clients that hide the complexity, while offering stability and native code levels of performance and as well as the ability to scale to hundreds or more concurrent hosts. These low level libraries are far better placed to provide the maturity, stability and performance needed from an SSH client for production use. The SSH libraries parallel-ssh uses are, on the other hand, long standing mature C libraries in libssh2 and libssh that have been in production use for decades and are part of some of the most widely distributed software available today - Git itself, OpenSSH, Curl and many others. Because other options are either immature, unstable, lacking in performance or all of the aforementioned.Ĭertain other self-proclaimed leading Python SSH libraries leave a lot to be desired from a performance and stability point of view, as well as suffering from a lack of maintenance with hundreds of open issues, unresolved pull requests and inherent design flaws.
