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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file sftp_py-0.2.1.tar.gz.

File metadata

  • Download URL: sftp_py-0.2.1.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.6rc1

File hashes

Hashes for sftp_py-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4bb99c6c71ee513d37a09e610e6d48f9519e645b740b2b32449769b8984f2dac
MD5 7f05e9496e73ef35f2bf6db4691d7b32
BLAKE2b-256 658afb89a816ed2e2af183d0011f44dd99c3dd95c553bfdc1d500b7d19ad67ff

See more details on using hashes here.

File details

Details for the file sftp_py-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: sftp_py-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.6rc1

File hashes

Hashes for sftp_py-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b835915c597d51cc54d75f8b86c21fc980567b9a0d6db75fa98fc7bbc72199af
MD5 042da5404a339682cb688288ad709207
BLAKE2b-256 f4cda6c9b68f8259595219344f44b89e069dadf9d33f305be15d60947de4217a

See more details on using hashes here.

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