python-scp
Port variant v11
Summary Scp module for paramiko (3.11)
Package version 0.14.5
Homepage https://github.com/jbardin/scp.py
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants v12
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 09 OCT 2023, 04:40:21 UTC
Port created 22 APR 2019, 15:05:04 UTC
Subpackage Descriptions
single Pure python scp module ====================== The scp.py module uses a paramiko transport to send and receive files via the scp1 protocol. This is the protocol as referenced from the openssh scp program, and has only been tested with this implementation. Example ------- .. code-block:: python from paramiko import SSHClient from scp import SCPClient ssh = SSHClient() ssh.load_system_host_keys() ssh.connect('example.com') # SCPCLient takes a paramiko transport as an argument scp = SCPClient(ssh.get_transport()) scp.put('test.txt', 'test2.txt') scp.get('test2.txt') # Uploading the 'test' directory with its content in the # '/home/user/dump' remote directory scp.put('test', recursive=True, remote_path='/home/user/dump') scp.close() .. code-block:: $ md5sum test.txt test2.txt fc264c65fb17b7db5237cf7ce1780769 test.txt fc264c65fb17b7db5237cf7ce1780769 test2.txt Using 'with' keyword -------------------- .. code-block:: python from paramiko import SSHClient from scp import SCPClient with SSHClient() as ssh: ssh.load_system_host_keys() ssh.connect('example.com') with SCPClient(ssh.get_transport()) as scp: scp.put('test.txt', 'test2.txt') scp.get('test2.txt') .. code-block:: $ md5sum test.txt test2.txt fc264c65fb17b7db5237cf7ce1780769 test.txt fc264c65fb17b7db5237cf7ce1780769 test2.txt Uploading file-like objects --------------------------- The putfo method can be used to upload file-like objects: .. code-block:: python import io from paramiko import SSHClient from scp import SCPClient ssh = SSHClient() ssh.load_system_host_keys() ssh.connect('example.com') # SCPCLient takes a paramiko transport as an argument scp = SCPClient(ssh.get_transport()) # generate in-memory file-like object fl = io.BytesIO() fl.write(b'test') fl.seek(0) # upload it directly from memory scp.putfo(fl, '/tmp/test.txt') # close connection scp.close() # close file handler fl.close() Tracking progress of your file uploads/downloads ------------------------------------------------ A progress function can be given as a callback to the SCPClient to handle how the current SCP operation handles the progress of the transfers. In the example below we print the percentage complete of the file transfer. .. code-block:: python from paramiko import SSHClient
Configuration Switches (platform-specific settings discarded)
PY311 ON Build using Python 3.11 PY312 OFF Build using Python 3.12
Package Dependencies by Type
Build (only) python-pip:single:v11
autoselect-python:single:standard
Build and Runtime python311:single:standard
Runtime (only) python-paramiko:single:v11
Download groups
main mirror://PYPIWHL/7f/04/4bcc504e6c2fdcfee7d74a6d14a49db0f129baf2cfa19f61148f333e96b9
Distribution File Information
d224535dd8ed00294f52b0e0e18fde7a6fb7a3d06b97ede9e3f750fa7bf75c09 8653 scp-0.14.5-py2.py3-none-any.whl
Ports that require python-scp:v11
python-junos-eznc:v11 Junos 'EZ' automation for non-programmers (3.11)
python-napalm:v11 Vendor-agnostic router interaction libary (3.11)
python-netmiko:v11 Simplify CLI connections to network devices (3.11)