opener¶
Smart open library integration.
- class s3pathlib.core.opener.OpenerAPIMixin[source]¶
A mixin class that implements the file-object protocol.
- open(mode: str | None = 'r', version_id: str | None = OPT, buffering: int | None = -1, encoding: str | None = None, errors: str | None = None, newline: str | None = None, closefd=True, opener=None, ignore_ext: bool = False, compression: str | None = None, multipart_upload: bool = True, metadata: Dict[str, str] | None = OPT, tags: Dict[str, str] | None = OPT, acl: str = OPT, cache_control: str = OPT, content_disposition: str = OPT, content_encoding: str = OPT, content_language: str = OPT, content_length: int = OPT, content_md5: str = OPT, content_type: str = OPT, checksum_algorithm: str = OPT, checksum_crc32: str = OPT, checksum_crc32c: str = OPT, checksum_sha1: str = OPT, checksum_sha256: str = OPT, expires_datetime: datetime = OPT, grant_full_control: str = OPT, grant_read: str = OPT, grant_read_acp: str = OPT, grant_write_acp: str = OPT, server_side_encryption: str = OPT, storage_class: str = OPT, website_redirect_location: str = OPT, sse_customer_algorithm: str = OPT, sse_customer_key: str = OPT, sse_kms_key_id: str = OPT, sse_kms_encryption_context: str = OPT, bucket_key_enabled: bool = OPT, request_payer: str = OPT, object_lock_mode: str = OPT, object_lock_retain_until_datetime: datetime = OPT, object_lock_legal_hold_status: str = OPT, expected_bucket_owner: str = OPT, if_match: str = OPT, if_modified_since: datetime = OPT, if_none_match: str = OPT, if_unmodified_since: datetime = OPT, range: str = OPT, response_cache_control: str = OPT, response_content_disposition: str = OPT, response_content_encoding: str = OPT, response_content_language: str = OPT, response_content_type: str = OPT, response_expires: str = OPT, part_number: int = OPT, checksum_mode: str = OPT, transport_params: dict | None = None, bsm: BotoSesManager | S3Client | None = None)[source]¶
Open S3Path as a file-liked object.
Example:
>>> import json >>> with S3Path("s3://bucket/data.json").open("w") as f: ... json.dump({"a": 1}, f) >>> with S3Path("s3://bucket/data.json").open("r") as f: ... data = json.load(f)
- Parameters:
mode – “r”, “w”, “rb”, “wb”.
version_id – optional version id you want to read from.
buffering – See smart_open.
encoding – See smart_open.
errors – See smart_open.
newline – See smart_open.
closefd – See smart_open.
opener – See smart_open.
ignore_ext – See smart_open.
compression – whether do you want to compress the content.
multipart_upload – do you want to use multi-parts upload, by default it is True.
metadata – also put the user defined metadata dictionary.
tags – also put the tag dictionary.
acl – See put_object.
cache_control – See put_object.
content_disposition – See put_object.
content_encoding – See put_object.
content_language – See put_object.
content_length – See put_object.
content_md5 – See put_object.
content_type – See put_object.
checksum_algorithm – See put_object.
checksum_crc32 – See put_object.
checksum_crc32c – See put_object.
checksum_sha1 – See put_object.
checksum_sha256 – See put_object.
expires_datetime – See put_object.
grant_full_control – See put_object.
grant_read – See put_object.
grant_read_acp – See put_object.
grant_write_acp – See put_object.
server_side_encryption – See put_object.
storage_class – See put_object.
website_redirect_location – See put_object.
sse_customer_algorithm – See put_object or get_object.
sse_customer_key – See put_object or get_object.
sse_kms_key_id – See put_object.
sse_kms_encryption_context – See put_object.
bucket_key_enabled – See put_object.
request_payer – See put_object or get_object.
object_lock_mode – See put_object.
object_lock_retain_until_datetime – See put_object.
object_lock_legal_hold_status – See put_object.
expected_bucket_owner – See put_object or get_object.
if_match – See get_object.
if_modified_since – See get_object.
if_none_match – See get_object.
if_unmodified_since – See get_object.
range – See get_object.
response_cache_control – See get_object.
response_content_disposition – See get_object.
response_content_encoding – See get_object.
response_content_language – See get_object.
response_content_type – See get_object.
response_expires – See get_object.
part_number – See get_object.
checksum_mode – See get_object.
bsm – See bsm.
- Returns:
a file-like object that has
read()andwrite()method.
See smart_open for more info. Also see https://github.com/RaRe-Technologies/smart_open/blob/develop/howto.md#how-to-access-s3-anonymously for S3 related info.
Added in version 1.0.1.
Changed in version 1.2.1: add
metadataandtagsparametersChanged in version 2.0.1: add
version_idparameterChanged in version 2.1.1: add full list of get_object, put_object, create_multipart_upload arguments