You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks for a performant and useful SFTP implementation. Beats the other libraries I've tried out there.
Feature request: I've tried to enable compression but can't seem to find how to do it in the documentation. Reading the cython and C source code did not help me either (not a C expert though). Is this possible to do now? Or could it be implemented, and how? The files I want to transfer compress well.
(Note that the Google groups forum does not seem to exist anymore.)
You'd use LIBSSH2_FLAG_COMPRESS with libssh2_session_flag (not the greatest API for this in the world, as the protocol has flexible negotiation for this, instead of an zlib on-off switch - though to be fair, that's the only compression anyone ever implements) for this. This isn't a wrapped function in ssh2-python as far as I can tell.
This is usually not that interesting, because this is zlib, so quite slow and can be a CPU bottleneck even on modest connection speeds with the regular zlib (without QAT or zlib-ng).
Activity
enkore commentedon Nov 10, 2023
You'd use LIBSSH2_FLAG_COMPRESS with libssh2_session_flag (not the greatest API for this in the world, as the protocol has flexible negotiation for this, instead of an zlib on-off switch - though to be fair, that's the only compression anyone ever implements) for this. This isn't a wrapped function in ssh2-python as far as I can tell.
This is usually not that interesting, because this is zlib, so quite slow and can be a CPU bottleneck even on modest connection speeds with the regular zlib (without QAT or zlib-ng).
pletnes commentedon Nov 15, 2023
I'm currently in the "huge files which compress >50x on a beefy machine far away" corner so it's one of those cases where compression really is handy.
From what I can tell, in libssh2, this just a bitmask-style flag on the session. Any pointers to how I'd proceed on implementing this myself?
pkittenis commentedon Jan 12, 2025
Hi there,
Thanks for the interest.
Compression is already built in the embedded libssh2 and binary wheels.
If looking for examples how to use, have a look at libssh2 examples.
There is an open feature request to configure this in parallel-ssh.