Skip to main content

py_sftp uses sftp to transfer files from remote to local and vice-versa.

Project description

sftp_py is a Python package for transferring files between remote and local directories using the paramiko sftp client. After transfer, downloaded/uploaded files can be optionally deleted from the remote/local source directory. Only files (not directories) are transferred - there is no option to recursively transfer nested directories.

Installation

From pypi:

pip3 install sftp_py

From GitHub repository:

git clone https://github.com/AlexOrlek/sftp_py.git
cd sftp_py
pip3 install .

Options and usage

sftp_py can be used within a Python script as follows:
from sftp_py.transfer import RemoteTransfer
conn = RemoteTransfer([arguments...])

To download from a remote server:

# Establish connection and download files. 
# local_path must be a directory
# remote_path can be a single file or a directory containing files to be transferred

conn = RemoteTransfer(host=host_name, username=user_name, port=22, key=private_key_path)
conn.connect()
conn.list_remote_dir(remote_path)  # inspect directory contents
conn.remote_download(remote_path, local_path, copy_hidden_files=True, copy_symlink_files=True, remove=False)

# hidden files (.*) and symlink files are copied by default
# remove=True: downloaded files are removed immediately after transfer
# remove=False (default): downloaded files are recorded and can be removed later...

conn.downloaded_files  # conn.downloaded_files records list of downloaded filenames
conn.remove_downloaded()  # remove downloaded files

# Disconnect once finished

conn.disconnect()

To upload to a server:

# Code for uploading to a remote server is similar to code for downloading from a remote server...

conn = RemoteTransfer(host=host_name, username=user_name, port=22, key=private_key_path)
conn.connect()
conn.remote_upload(remote_path, local_path, remove=True)  # upload and remove uploaded files from local_path
conn.disconnect()

License

MIT License

History

0.2.0

  • First release on PyPI

0.1.0

  • First release, working code

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sftp_py-0.2.1.tar.gz (6.1 kB view hashes)

Uploaded Source

Built Distribution

sftp_py-0.2.1-py3-none-any.whl (5.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page