v0.1.1
Important notice
- To allow direct transfer between S3 and GCS, Autouri uses
gsutil
CLI. For this,GCSURI.USE_GSUTIL_FOR_S3
flag must be on. Otherwise Autouri will stream file transfer through a local machine. Oldgsutil
had a py3 compatibility issue. Users need to updategsutil
to >= 4.47.
Added circleci (integrated testing)
Added CLI
- See
autouri --help
for details
Improved locking to prevent race condition
- Tested up to 10 (50 for local file) threads competing to write on the same file.
Others
- Soft-linking for local paths (
AbsPath
) - Converting relative path into abs path (
AbsPath.get_abspath_if_exists()
)AbsPath
only allows absolute path as its name says. so added a helper function for such conversion so that apps using Autouri can use it.
- Detailed logging (INFO, DEBUG)
- Can hide flag for
AutoURI.cp()
andAutoURI.localize()
(return_flag=False
). - Can get URL from public GCS/S3 bucket (without presigning)
- For
GCSURI
,S3URI
only. Formatting for a public URL looks like the following:_GCS_PUBLIC_URL_FORMAT = 'http://storage.googleapis.com/{bucket}/{path}' _S3_PUBLIC_URL_FORMAT = 'http://{bucket}.s3.amazonaws.com/{path}'
- This is different from a presigned URL. It's for a file on a bucket with public access. If users use this function on a private bucket file then this function will still return a URL but public access to this URL will be limited (403).
- For