AsyncImageClient

class baseten.sandbox.AsyncImageClient

Bases: object

Async form of ImageClient.

Parameters:

context (AsyncImageClientContext)

async cleanup()

Remove image versions that no sandbox uses. As ImageClient.cleanup().

Return type:

ImageCleanupResult

async delete(*, name)

Delete an image. As ImageClient.delete().

Parameters:

name (str)

Return type:

ImageInfo

async delete_tag(*, name, tag)

Delete one version of an image. As ImageClient.delete_tag().

Parameters:
Return type:

ImageInfo

async get_info(*, name)

Get an image’s current record. As ImageClient.get_info().

Parameters:

name (str)

Return type:

ImageInfo

async list(*, name_prefix=None, sort=None, page_size=None)

List images. As ImageClient.list().

Parameters:
  • name_prefix (str | None)

  • sort (Literal['name:asc', 'name:desc', 'createdAt:asc', 'createdAt:desc'] | str | None)

  • page_size (int | None)

Return type:

AsyncIterator[ImageInfo]

async list_library()

List the built-in images. As ImageClient.list_library().

Return type:

list[ImageLibraryInfo]

async list_tags(*, name, name_prefix=None, sort=None, page_size=None)

List an image’s versions. As ImageClient.list_tags().

Parameters:
  • name (str)

  • name_prefix (str | None)

  • sort (Literal['name:asc', 'name:desc'] | str | None)

  • page_size (int | None)

Return type:

AsyncIterator[ImageTagInfo]

async logs(*, name, start_time=None, end_time=None)

Get the build log of an image’s latest build. As ImageClient.logs().

Parameters:
Return type:

list[ImageLogLine]

async push(*, name: str, builder: ImageBuilder, temp_file: bool | None = None, memory: int | None = None, volume: int | None = None, wait: bool = True, timeout: timedelta | None = datetime.timedelta(seconds=900), poll_interval: timedelta = datetime.timedelta(seconds=3)) → ImageInfo
async push(*, name: str, registry_image: str, docker_config: str | None = None, memory: int | None = None, volume: int | None = None, wait: bool = True, timeout: timedelta | None = datetime.timedelta(seconds=900), poll_interval: timedelta = datetime.timedelta(seconds=3)) → ImageInfo
async push(*, name: str, zip: bytes, memory: int | None = None, volume: int | None = None, wait: bool = True, timeout: timedelta | None = datetime.timedelta(seconds=900), poll_interval: timedelta = datetime.timedelta(seconds=3)) → ImageInfo
async push(*, name: str, directory: str, ignore_file_processor: Callable[[ImageIgnoreFileProcessorOptions], Callable[[ImageIgnoreFileOptions], bool | Awaitable[bool]] | Awaitable[Callable[[ImageIgnoreFileOptions], bool | Awaitable[bool]]]] | None = None, default_ignore_file: Callable[[ImageIgnoreFileOptions], bool | Awaitable[bool]] | None = None, temp_file: bool | None = None, memory: int | None = None, volume: int | None = None, wait: bool = True, timeout: timedelta | None = datetime.timedelta(seconds=900), poll_interval: timedelta = datetime.timedelta(seconds=3)) → ImageInfo
async push(*, name: str, files: Mapping[str, str | bytes], memory: int | None = None, volume: int | None = None, wait: bool = True, timeout: timedelta | None = datetime.timedelta(seconds=900), poll_interval: timedelta = datetime.timedelta(seconds=3)) → ImageInfo

Push an image. As ImageClient.push().

Local files are read and zipped on a worker thread. The ignore function and processor may also be coroutine functions.

Parameters:
Return type:

ImageInfo

async wait_built(*, name, timeout=datetime.timedelta(seconds=900), poll_interval=datetime.timedelta(seconds=3))

Wait for an image to be ready to use. As ImageClient.wait_built().

Parameters:
Return type:

ImageInfo