Reconnecting FTP client
Project description
reonnecting_ftp
reconnecting_ftp provides a FTP client which wraps ftplib.FTP. It reconnects automatically to the server if it was disconnected, and remembers the last recorded working directory.
We found reconnection to be particularly important in scripts which run for a long time, and need to repeatedly iterate over the files on the FTP server.
Additionally, we provide an implementation of mlst FTP command which is missing in the original ftplib.FTP client.
Usage
import reconnecting_ftp
with reconnecting_ftp.Client(hostname="some-host.com", port=21, user="some-user", password="some-password") as ftp:
# change working directory
ftp.cwd(dirname='/some-dir/some-subdir')
# you can execute here all the commands as provided in ftplib.FTP. If the connection failed, the command will
# be retried while it succeeds or the maximum number of retries haven been exhausted..
# MLST the file
pth, entry = ftp.mlst(filename='some-file.txt')
Installation
Create a virtual environment:
python3 -m venv venv3
Activate it:
source venv3/bin/activate
Install reconnecting_ftp with pip:
pip3 install reconnecting_ftp
Development
Check out the repository.
In the repository root, create the virtual environment:
python3 -m venv venv3
Activate the virtual environment:
source venv3/bin/activate
Install the development dependencies:
pip3 install -e .[dev]
We provide a set of pre-commit checks that lint and check code for formatting and runs unit tests. Run them locally from an activated virtual environment with development dependencies:
./precommit.py
The pre-commit script can also automatically format the code:
./precommit.py --overwrite
Versioning
We follow Semantic Versioning. The version X.Y.Z indicates:
X is the major version (backward-incompatible),
Y is the minor version (backward-compatible), and
Z is the patch version (backward-compatible bug fix).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file reconnecting_ftp-1.0.8.tar.gz
.
File metadata
- Download URL: reconnecting_ftp-1.0.8.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7dc8d096d9f04fbc2d0d9244bbeb560af9467fc63f3f72a9e470d473ceff399 |
|
MD5 | b9527e21641ed6189be7ec16291856b8 |
|
BLAKE2b-256 | 6b5693fb06e0635783bd773122b7c4f88b43c30264ddef2081ddd6a29a4f3b20 |