Metadata-Version: 2.4
Name: s3ui
Version: 1.0.4
Summary: A native file manager for Amazon S3
Project-URL: Homepage, https://github.com/justinGrosvenor/s3ui
Project-URL: Documentation, https://github.com/justinGrosvenor/s3ui/tree/main/docs
Project-URL: Repository, https://github.com/justinGrosvenor/s3ui
Project-URL: Issues, https://github.com/justinGrosvenor/s3ui/issues
Author: S3UI Contributors
License-Expression: MIT
License-File: LICENSE
Keywords: aws,desktop,file-manager,pyqt6,s3
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: MacOS X
Classifier: Environment :: Win32 (MS Windows)
Classifier: Environment :: X11 Applications :: Qt
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Desktop Environment :: File Managers
Classifier: Topic :: System :: Archiving
Requires-Python: >=3.11
Requires-Dist: boto3>=1.28
Requires-Dist: keyring>=25.7
Requires-Dist: pyqt6>=6.5
Provides-Extra: dev
Requires-Dist: moto[s3]>=4.0; extra == 'dev'
Requires-Dist: pre-commit>=3.0; extra == 'dev'
Requires-Dist: pyinstaller>=6.0; extra == 'dev'
Requires-Dist: pytest-qt>=4.2; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: ruff>=0.1; extra == 'dev'
Description-Content-Type: text/markdown

<p align="center">
  <img src="https://raw.githubusercontent.com/justinGrosvenor/s3ui/main/s3ui.png" alt="S3UI" width="128">
</p>

<h1 align="center">S3UI</h1>

<p align="center">
A native desktop file manager for Amazon S3 and S3-compatible services.
</p>

<p align="center">
  <a href="https://pypi.org/project/s3ui/"><img src="https://img.shields.io/pypi/v/s3ui" alt="PyPI"></a>
  <a href="https://pypi.org/project/s3ui/"><img src="https://img.shields.io/pypi/pyversions/s3ui" alt="Python"></a>
  <a href="LICENSE"><img src="https://img.shields.io/github/license/justinGrosvenor/s3ui" alt="License"></a>
  <a href="https://pypi.org/project/s3ui/"><img src="https://img.shields.io/pypi/dm/s3ui" alt="Downloads"></a>
</p>

---

S3UI is a free, open-source, cross-platform desktop app that makes Amazon S3 feel like a local file system. It provides a dual-pane file manager — local files on the left, S3 on the right — with drag-and-drop transfers, large-file handling, and built-in cost tracking.

Works with **Amazon S3**, **MinIO**, and any S3-compatible storage.

## Features

- **Dual-pane browser** — local filesystem and S3 side by side
- **Drag and drop** — drop files onto the S3 pane to upload
- **Upload and download** — right-click context menus or drag and drop
- **New folder** — toolbar button and context menu
- **Multipart uploads** — large files are split and uploaded in parallel
- **Resume support** — interrupted transfers pick up where they left off
- **Transfer queue** — pause, resume, cancel, and retry individual transfers
- **Cost tracking** — estimates your monthly S3 costs as you work
- **AWS CLI profiles** — auto-discovers profiles from `~/.aws/config`
- **Custom endpoints** — connect to MinIO, LocalStack, or any S3-compatible service
- **Secure credentials** — stored in your OS keychain via `keyring`
- **Setup wizard** — guided first-run configuration
- **Keyboard shortcuts** — Ctrl+1/2 to switch panes, Ctrl+R to refresh, Ctrl+F to filter
- **System notifications** — notifies on large transfer completion when the app is in the background

## Install

```
pip install s3ui
```

Requires Python 3.11+ and a running display server (X11, Wayland, macOS, or Windows).

## Quick start

```
s3ui
```

On first launch, the setup wizard walks you through connecting your AWS account or S3-compatible service. You can also configure connections later from **Settings**.

### MinIO example

In the setup wizard or Settings > Credentials > Add Profile:

| Field | Value |
|---|---|
| Profile Name | `my-minio` |
| Access Key ID | `minioadmin` |
| Secret Access Key | `minioadmin` |
| Region | `us-east-1` |
| Endpoint URL | `http://localhost:9000` |

## Development

```bash
git clone https://github.com/justinGrosvenor/s3ui.git
cd s3ui
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pre-commit install
pytest
```

## License

[MIT](LICENSE)
