--- id: scp version: "0.16.1" license: LGPL-2.1-or-later license_treatment: copyleft maintenance: active --- # scp — scp module for paramiko License: copyleft · Maintenance: active · Downloads: 15.0M/mo ## What it is and what it does scp is a pure-Python wrapper around the SCP protocol that leverages paramiko's SSH transport to move files to and from remote hosts. It implements the protocol as used by OpenSSH's scp command, allowing you to upload, download, and recursively transfer directories over an established SSH connection. The package is designed for straightforward file operations: you pass it a paramiko transport, call put() or get() with local and remote paths, and optionally supply a progress callback to monitor transfer status. It also supports uploading file-like objects via putfo() and works as a context manager for cleaner resource handling. Use it for: - Automating remote file backups or log collection from servers over SSH. - Uploading configuration files or application binaries to remote hosts during deployment. - Downloading results or reports from remote systems as part of a larger automation workflow. - Transferring entire directory trees to remote systems with a single recursive call. - Monitoring file transfer progress in long-running data migration or sync operations. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides file transfer over SSH using the SCP protocol via a paramiko transport, supporting single files, directories, and file-like objects with optional progress tracking. Yes. The package is actively maintained, has no known vulnerabilities, and solves a specific problem cleanly—file transfer over SSH without shell escaping or subprocess management. The copyleft license requires attention if you're building proprietary software, but for internal tools, automation, and open-source projects it is a straightforward dependency. ## Install pip install scp uv add scp poetry add scp ## Installing scp Before you install: Low install friction with a single runtime dependency on paramiko. The package is actively maintained with a recent release and has been stable since its 2013 inception. License in practice: Licensed under LGPL-2.1-or-later (copyleft). Derivative works and modifications must be released under compatible terms; proprietary applications incorporating this code must comply with copyleft obligations. Quickstart: from paramiko import SSHClient from scp import SCPClient ssh = SSHClient() ssh.load_system_host_keys() ssh.connect('example.com') scp = SCPClient(ssh.get_transport()) scp.put('test.txt', 'test2.txt') scp.close() Requires a working SSH connection via paramiko and network access to the remote host. Verify before relying: - Whether the package supports modern SSH key types and algorithms beyond what paramiko provides. - Performance characteristics when transferring large files or many small files. - Compatibility with recent OpenSSH versions and non-standard SCP implementations. ## Package facts - License: LGPL-2.1-or-later (copyleft) - Python support: unspecified - Install friction: low - Maintenance: active - Downloads: 15.0M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags scp file transfer ssh, paramiko scp client, ssh file upload download, remote file transfer python, scp protocol implementation, ssh secure copy, file transfer over ssh, ssh-file-transfer, paramiko-wrapper [View on SkillFed](https://skillfed.io/packages/scp) · [View on PyPI](https://pypi.org/project/scp/)