Metadata-Version: 2.4
Name: liteftp-tui
Version: 0.2.4
Summary: FTP client and server for the terminal, dual-pane, over raw sockets
Author-email: Antonio Iovine <iovine.antonio44@gmail.com>
Project-URL: Homepage, https://github.com/IovAnto/LiteFTP
Project-URL: Bug_Tracker, https://github.com/IovAnto/LiteFTP/issues
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Classifier: Topic :: Internet
Classifier: Topic :: Internet :: File Transfer Protocol (FTP)
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: textual>=0.70.0
Requires-Dist: pyftpdlib>=1.5.7
Dynamic: license-file

# LiteFTP

[![PyPI](https://img.shields.io/pypi/v/liteftp-tui)](https://pypi.org/project/liteftp-tui/)

An FTP client and server in one package, both driven from the terminal. Written in Python
with [Textual](https://textual.textualize.io) and
[pyftpdlib](https://github.com/giampaolo/pyftpdlib).

![demo](https://raw.githubusercontent.com/IovAnto/LiteFTP/main/demo.gif)

## Features

- Dual-pane client with a Commander-style layout (local on one side, remote on the other)
- Upload and download with single keys
- Connection manager with bookmarks
- Server with automatic local-IP detection
- Both authenticated and anonymous access

## Requirements

Python 3.8+

## Install

**From PyPI:**
```bash
pip install liteftp-tui
```

**From source:**
```bash
git clone https://github.com/IovAnto/LiteFTP.git
cd LiteFTP
pip install -r requirements.txt
```

## Usage

### Client

```bash
liteftp
# or, without installing the entry point:
python3 -m liteftp.client
```

| Key | Action |
|-----|--------|
| `c` | Open the connection manager / bookmarks |
| `Tab` | Switch between the local and remote pane |
| `u` | Upload (local → remote) |
| `d` | Download (remote → local) |
| `r` | Refresh the file lists |
| `Ctrl+C` | Quit |

### Server

```bash
liteftp-server
# or:
python3 -m liteftp.server
```

The server walks you through configuration with interactive prompts. For anonymous access,
press Enter when it asks for credentials.

## License

MIT
