Crates.io | sup3 |
lib.rs | sup3 |
version | 0.8.12 |
source | src |
created_at | 2022-11-28 18:46:00.067797 |
updated_at | 2022-11-28 18:46:00.067797 |
description | A standalone S3 uploader |
homepage | https://github.com/lsr0/sup3 |
repository | https://github.com/lsr0/sup3 |
max_upload_size | |
id | 724668 |
size | 355,853 |
A standalone S3 tool
This is alpha
Anything and everything could go wrong. The Rust AWS SDK used is also in developer preview.
CI and other minimal environments where pulling in python or building dependencies might be undesirable
Eventually, as a consistent, reliable, fast and fun S3 tool for interactive use
Cross-platform
Uses authorisation support from the Rust AWS SDK
Streaming async transfers (files not read into memory)
Upload resume on remote errors (provided by the SDK)
No startup delay
No runtime non-platform dependencies (e.g. libc
, libm
, libgcc_s
)
Concurrent transfers
Optional progress reporting
Recursive upload support
Recursive download support
Remote globbing (e.g. sup3 ls s3://bucket/media/**/highres*.png .
)
Binary size reduction
Upload arguments, e.g. ACLs
Config file support
List only files or only directories
List paging
Server to server copy
Custom endpoints for other S3-compatible hosts (--endpoint
)
A sync operation (as part of copy/up/down or separate)
upload
|down
) (local files to S3 remote)download
|down
) (S3 URIs to local file/directory)rm
) (S3 URIs)ls
) (1..N
S3 URIs)list-buckets
|lb
)cp
)mb
) (S3 URIs)Meaurements performed on an i7-7700HQ, with an approximately 50ms RTT to the S3 server.
Command | Mean [s] | Min [s] | Max [s] | Relative | CPU User [s] | CPU System [s] | CPU Relative |
---|---|---|---|---|---|---|---|
sup3 cp s3://bucket/file dir/ |
1.306 ± 0.047 | 1.249 | 1.416 | 1.00 | 0.095 | 0.153 | 100% |
aws s3 cp s3://bucket/file dir/ |
1.855 ± 0.106 | 1.724 | 2.044 | 142% ± 10% | 0.565 | 0.122 | 277% |
Command | Mean [s] | Min [s] | Max [s] | Relative | CPU User [s] | CPU System [s] | CPU Relative |
---|---|---|---|---|---|---|---|
sup3 cp s3://bucket/file dir/ |
0.246 ± 0.006 | 0.234 | 0.255 | 100% | 0.004 | 0.007 | 100% |
aws s3 cp s3://bucket/file dir/ |
0.910 ± 0.013 | 0.892 | 0.937 | 370% ± 11% | 0.394 | 0.050 | 4036% |
Command | Mean [s] | Min [s] | Max [s] | Relative | CPU User [s] | CPU System [s] | CPU Relative |
---|---|---|---|---|---|---|---|
sup3 ls --substring s3://bucket/substring >/dev/null |
10.053 ± 0.694 | 9.253 | 10.487 | 100% | 0.485 | 0.141 | 100% |
aws s3 ls s3://bucket/substring >/dev/null |
22.050 ± 3.809 | 19.643 | 26.441 | 219% ± 41% | 11.772 | 0.143 | 1900% |