Skip to main content

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

Project description

core-ftp


This project/library provides a comprehensive set of common components and interfaces designed to facilitate and streamline FTP connections, ensuring efficient communication and data transfer...

Execution Environment

Install libraries

pip install --upgrade pip 
pip install virtualenv

Create the Python Virtual Environment.

virtualenv --python={{python-version}} .venv
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

How to Use

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.2.tar.gz (8.0 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.2-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: core_ftp-1.1.2.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for core_ftp-1.1.2.tar.gz
Algorithm Hash digest
SHA256 59a813165da7fdd593ffa30ef8706cef1729f7596e651e5b70bd2a84e49630a3
MD5 a7aafd556679f95226dc8469100ba449
BLAKE2b-256 4e57cb0ce895b527b87948972d224df45c9d42b08f19885cd37c3fc867da53eb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: core_ftp-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for core_ftp-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bfc75b23e25045c1f22cd9809d170910364b753d209483e7e9ea36aea06f50df
MD5 bbb93e20c10606b4abe6d0162c570156
BLAKE2b-256 0a3fed56a4682dd174256305a8869cf9c831b3467ffa06f032090a806c942e48

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