A native file manager for Amazon S3
Project description
S3UI
A native desktop file manager for Amazon S3 and S3-compatible services.
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
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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file s3ui-1.0.0.tar.gz.
File metadata
- Download URL: s3ui-1.0.0.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e67f404da65be711dd9b3b0ff378885d902e92cf37c363bf5faf0647fa31eaa
|
|
| MD5 |
27a073288801921e4c1052007ab5ff3c
|
|
| BLAKE2b-256 |
3fc1f165bda83b310eb60b0f84e93eec813096b4309f4f57319afe5789a031cb
|
Provenance
The following attestation bundles were made for s3ui-1.0.0.tar.gz:
Publisher:
publish.yml on justinGrosvenor/s3ui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
s3ui-1.0.0.tar.gz -
Subject digest:
5e67f404da65be711dd9b3b0ff378885d902e92cf37c363bf5faf0647fa31eaa - Sigstore transparency entry: 899136980
- Sigstore integration time:
-
Permalink:
justinGrosvenor/s3ui@38acb336770df3202e39d685b0e8a7783bd3274c -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/justinGrosvenor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@38acb336770df3202e39d685b0e8a7783bd3274c -
Trigger Event:
push
-
Statement type:
File details
Details for the file s3ui-1.0.0-py3-none-any.whl.
File metadata
- Download URL: s3ui-1.0.0-py3-none-any.whl
- Upload date:
- Size: 1.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddd18a2537920b310c760709973255e4f3ce62f0f80fe2c0259a6aaf36bafbc0
|
|
| MD5 |
e572929165c0db156fdb1b5674e1273e
|
|
| BLAKE2b-256 |
5fb0ea56f7eba8284273859d39ac222d259c710c92600af3f528648615e89b52
|
Provenance
The following attestation bundles were made for s3ui-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on justinGrosvenor/s3ui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
s3ui-1.0.0-py3-none-any.whl -
Subject digest:
ddd18a2537920b310c760709973255e4f3ce62f0f80fe2c0259a6aaf36bafbc0 - Sigstore transparency entry: 899137072
- Sigstore integration time:
-
Permalink:
justinGrosvenor/s3ui@38acb336770df3202e39d685b0e8a7783bd3274c -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/justinGrosvenor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@38acb336770df3202e39d685b0e8a7783bd3274c -
Trigger Event:
push
-
Statement type: