18 lines
373 B
Python
18 lines
373 B
Python
from __future__ import annotations
|
|
|
|
from typing import Protocol, runtime_checkable
|
|
|
|
|
|
@runtime_checkable
|
|
class IS3(Protocol):
|
|
async def upload_bytes(self, *, key: str, body: bytes, content_type: str) -> str:
|
|
...
|
|
|
|
|
|
async def delete_object(self, *, key: str) -> None:
|
|
...
|
|
|
|
|
|
def object_key_from_public_url(self, url: str) -> str | None:
|
|
...
|