Skip to main content

This project/library contains common elements related to FTP connections...

Project description

core-ftp


This project/library contains common elements related to FTP connections...

Execution Environment

Install libraries

pip install --upgrade pip 
pip install virtualenv

Create the Python Virtual Environment.

virtualenv --python=python3.11 .venv

Activate the Virtual Environment.

source .venv/bin/activate

Install required libraries.

pip install .

Check tests and coverage...

python manager.py run-tests
python manager.py run-tests --test-type functional --pattern "*.py"
python manager.py run-coverage

Usage

Installation...

pip install core-ftp

Examples...

from core_ftp.clients.sftp import SftpClient

with SftpClient("test.rebex.net", 22, "demo", "password") as client:
    for x in client.list_files("/"):
        print(x)
from core_ftp.clients.sftp import SftpClient

with SftpClient(
        host="localhost", port=23,
        user="foo", private_key_path="key_path") as client:

    for x in client.list_files("/"):
        print(x)

Docker

You can use docker to create an SFTP server to test the client using the functional tests via command python manager.py run-tests --test-type functional --pattern "*.py" and the following docker image: <atmoz/sftp> (https://hub.docker.com/r/atmoz/sftp/).

Authentication via user & password...

docker run \
  -v ./tests/resources/upload:/home/foo/upload:rw \
  -p 22:22 -d atmoz/sftp foo:pass:::upload

Authentication via SSH key...

docker run \
  -v ./tests/resources/ssh_keys/id_rsa.pub:/home/foo/.ssh/keys/id_rsa.pub:ro \
  -v ./tests/resources/upload:/home/foo/upload:rw \
  -p 23:22 -d atmoz/sftp foo::1001

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

core_ftp-1.1.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

core_ftp-1.1.0-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file core_ftp-1.1.0.tar.gz.

File metadata

  • Download URL: core_ftp-1.1.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for core_ftp-1.1.0.tar.gz
Algorithm Hash digest
SHA256 5cdad8acc9821e2d5e561ae44fc172a75420a80b5fcd23b3a62ee4e55d525c4a
MD5 bbff63fda23ef2b81950eabcfdc639a8
BLAKE2b-256 d333348fbbcf23c6a01735f85b2477b2db1276f64bd7e4259df4f0d53558e65e

See more details on using hashes here.

File details

Details for the file core_ftp-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: core_ftp-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for core_ftp-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c2dff5fa7e04491a24f5fb7020f40cefa63b5e6167bd321afeb09e7b5a053963
MD5 69160df5c5aebb7862fedc845aba89b6
BLAKE2b-256 ba52f7ac1b5dda2ac6d73596cfc4886ee2451b1ce2550117a0b4e241a84bc035

See more details on using hashes here.

Supported by

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