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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for core_ftp-1.1.3.tar.gz
Algorithm Hash digest
SHA256 fdf1067117d7d4adb9a3c8b4e635df6cc3bfe160ddb83445efc1a48a0c48ea9f
MD5 48f2fb1e9431adb66cfa4ad40a1430c9
BLAKE2b-256 dcf58f2e80dbe7d54c8f6bd5416167b7f597dc032fcc61a64e6bc14c567b1ec9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: core_ftp-1.1.3-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.5

File hashes

Hashes for core_ftp-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 db47ed8dcdb9945914e2111a7747977e125e0b2249b54d5e0bffb2618a6caf36
MD5 f4fcdc160998030ac105f2eea88faf83
BLAKE2b-256 ffc2218870a76c44e4782a891363874f1b8ba45c50280649b93f7d0480361c2a

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