Metadata-Version: 2.4
Name: fileshiftlib
Version: 0.1.8
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Intended Audience :: Developers
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS
Classifier: Operating System :: MacOS :: MacOS X
Requires-Dist: twine ; extra == 'dev'
Requires-Dist: build ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Provides-Extra: dev
License-File: LICENSE
Summary: SFTP client powered by Rust and PyO3.
Keywords: SFTP,Python,Rust,File Transfer,SSH
Author-email: Paulo Portela <portela.paulo@gmail.com>
Maintainer-email: Paulo Portela <portela.paulo@gmail.com>
License-Expression: BSD-3-Clause
Requires-Python: >=3.10
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Documentation, https://github.com/aghuttun/fileshiftlib/blob/main/README.md
Project-URL: Homepage, https://github.com/aghuttun/fileshiftlib

# fileshiftlib

SFTP client for Python.

- [Installation](#installation)
- [Usage](#usage)
- [Version](#version)
- [License](#license)

## Installation

```bash
pip install fileshiftlib
```

## Usage

```python
import fileshiftlib

# Initialise SFTP client
sftp = fileshiftlib.SFTP(
    host="sftp.example.com",
    username="user",
    password="password",
    port=22
)
```

```python
# Check connection status
if sftp.is_connected():
    print("Connected!")
```

```python
# List directory contents
files = sftp.list_dir(".")
print(files)
```

```python
# Change directory
sftp.change_dir("/remote/path")
```

```python
# Upload a file
sftp.upload_file("local_file.txt", "remote_file.txt")
```

```python
# Download a file
sftp.download_file("remote_file.txt", "local_copy.txt")
```

```python
# Delete a file
sftp.delete_file("remote_file.txt")
```

```python
# Reconnect
sftp.reconnect()
```

## Version

Recommended way to read the installed package version:

```python
from importlib.metadata import version

print(version("fileshiftlib"))
```

Convenience attribute (also available):

```python
import fileshiftlib

print(fileshiftlib.__version__)
```

## License

BSD-3-Clause License (see [LICENSE](LICENSE))

