Skip to main content
See Build a Docker image for setup, supported instructions, and differences from Docker. See Advanced usage for callbacks, cache lifetimes, and manual assembly. See Customize the SDK for parser and factory hooks. Dockerfile parser and keyword interpreters. Each Dockerfile directive is a DockerKeyword subclass living in its own module. parse_dockerfile returns a list of directives ready to be executed against a BuildContext/AsyncBuildContext.

class AddKeyword

Attributes

ClassVar[str]
str
str
str
str
tuple[str, ...]

Methods

execute()

required
None

execute_async()

required
None

parse()

required
AddKeyword

serialize()

Stable text used for layer hashing.
str

class ArgKeyword

Attributes

ClassVar[str]
str | None
str

Methods

execute()

required
None

execute_async()

required
None

parse()

required
ArgKeyword

serialize()

Stable text used for layer hashing.
str

class AsyncBuildContext

Attributes

str
Callable[[DockerKeyword, AsyncBuildContext], Awaitable[None]] | None
Callable[[DockerKeyword, AsyncBuildContext], Awaitable[None]] | None
AsyncFileSources
bool
str
bool
Callable[[BuildEvent], object] | None
Callable[[BuildEvent], object] | None
str
ContreeAsyncSession | None
str
int
float
int
str
str
ContreeAsyncClient
AsyncStore
LocalContext
dict[str, str]
set[str]
dict[str, str]
dict[str, str]
dict[str, str]
list[str]
list[PendingFile]
BuildProgress

Methods

arg_values()

dict[str, str]

cache_namespace()

required
str

chain()

required
str

commit_layer()

required
required
required
required
default:"''"
None

create_session()

Return a session from the configured factory.
required
required
required
required
default:"None"
ContreeAsyncSession
ContreeAsyncSessionThe configured session implementation.

emit_event()

Deliver one notification through the configured build callback.
required
default:"b''"
default:"None"
None

execute_directive()

Run a nested directive through the builder’s policy when configured.
required
None

http_fetch_async()

required
required
tuple[int, Iterable[tuple[str, str]], AsyncIterable[bytes]]

pending_files_payload()

dict[str, str | Path | bytes | UploadFileSpec]
dict[str, str | Path | bytes | UploadFileSpec]

pending_repr()

str

run_operation()

Stream and commit one RUN operation through the session’s public lifecycle.
required
required
InstanceResult
The terminal process result, including nonzero exits.
DockerBuildError – No FROM session is active.

state_repr()

str

substitute()

required
str

try_cache_hit()

required
default:"'run'"
str | None

class BuildContext

Attributes

str
Callable[[DockerKeyword, BuildContext], None] | None
Callable[[DockerKeyword, BuildContext], None] | None
SyncFileSources
bool
str
bool
Callable[[BuildEvent], None] | None
Callable[[BuildEvent], None] | None
str
ContreeSession | None
str
int
float
int
str
str
ContreeSyncClient
SyncStore
LocalContext
dict[str, str]
set[str]
dict[str, str]
dict[str, str]
dict[str, str]
list[str]
list[PendingFile]
BuildProgress

Methods

arg_values()

dict[str, str]

cache_namespace()

required
str

chain()

required
str

commit_layer()

required
required
required
required
default:"''"
None

create_session()

Return a session from the configured factory.
required
required
required
required
default:"None"
ContreeSession
ContreeSessionThe configured session implementation.

emit_event()

Deliver one notification through the configured build callback.
required
default:"b''"
default:"None"
None

execute_directive()

Run a nested directive through the builder’s policy when configured.
required
None

http_fetch()

required
required
tuple[int, Iterable[tuple[str, str]], Iterable[bytes]]

pending_files_payload()

dict[str, str | Path | bytes | UploadFileSpec]
dict[str, str | Path | bytes | UploadFileSpec]

pending_repr()

str

run_operation()

Stream and commit one RUN operation through the session’s public lifecycle.
required
required
InstanceResult
The terminal process result, including nonzero exits.
DockerBuildError – No FROM session is active.

state_repr()

str

substitute()

required
str

try_cache_hit()

required
default:"'run'"
str | None

class BuildEvent

A build notification with raw output bytes and the current operation identity. result is available after the operation finishes, including nonzero exits. Errors retain their original exception object. Output is never decoded or formatted.

Attributes

bytes
float
BaseException | None
str | None
str | None
str | None
InstanceResult | None
Literal['step_started', 'operation_started', 'stdout', 'stderr', 'cache_hit', 'step_completed', 'step_failed']
BuildStep

class BuildRequest

Resolved local inputs and options for one build context.

Attributes

bool
int
Path
Path
str
dict[str, str]

class BuildStep

One directive execution; IDs start at zero within each build. index is the parsed Dockerfile position, or None for a synthetic step. parent_id identifies the enclosing directive for nested execution.

Attributes

int | None
int | None
int
str

class BuildStepEvent

Reported to on_step around each directive’s execute()/execute_async() call.

Attributes

BaseException | None
int
str
bool
str | None
str | None
float

class ContreeAsyncDockerBuilder

Build a Dockerfile from context. Applies each directive against a content-addressed layer cache keyed by the build’s session.

Attributes

ContreeAsyncSession | None

Methods

build()

required
default:"None"
default:"None"
default:"None"
default:"False"
default:"600"
default:"None"
default:"None"
default:"None"
str

create_context()

Construct per-build state using the public context and session factories.
required
AsyncBuildContext
AsyncBuildContextA context owned by this build invocation.

execute_directive()

Execute one directive. Override for policy checks or instrumentation.
required
required
None

finalize()

Commit pending file attachments through the same directive execution hook.
required
None

parse()

Return build directives through the configured parser.
required
list[DockerKeyword]
list[DockerKeyword]The parsed directives in source order.

run_step()

Report one directive execution, including nested and synthetic steps.
required
required
default:"None"
None

class ContreeDockerBuilder

Build a Dockerfile from context. Applies each directive against a content-addressed layer cache keyed by the build’s session.

Attributes

alias of BuildContext
ContreeSession | None

Methods

build()

required
default:"None"
default:"None"
default:"None"
default:"False"
default:"600"
default:"None"
default:"None"
default:"None"
str

create_context()

Construct per-build state using the public context and session factories.
required
BuildContext
BuildContextA context owned by this build invocation.

execute_directive()

Execute one directive. Override for policy checks or instrumentation.
required
required
None

finalize()

Commit pending file attachments through the same directive execution hook.
required
None

parse()

Return build directives through the configured parser.
required
list[DockerKeyword]
list[DockerKeyword]The parsed directives in source order.

run_step()

Report one directive execution, including nested and synthetic steps.
required
required
default:"None"
None

class CopyKeyword

Attributes

ClassVar[str]
str
str
str
str
tuple[str, ...]

Methods

execute()

required
None

execute_async()

required
None

parse()

required
CopyKeyword

serialize()

Stable text used for layer hashing.
str

class DockerKeyword

Base class. Subclasses implement parse, serialize, execute.

Attributes

ClassVar[str]

Methods

execute()

required
None

execute_async()

required
None

parse()

required
DockerKeyword

serialize()

Stable text used for layer hashing.
str

class DockerfileParser

A per-instance directive registry. Subclass or register custom DockerKeyword classes.

Methods

parse()

Return directives using this parser’s registry.
required
list[DockerKeyword]
list[DockerKeyword]The parsed directives in source order.
ValueError – A directive is unknown or has invalid arguments.

register()

required
None

class DockerignoreRule

One compiled .dockerignore line.

Attributes

bool
Pattern[str]
str

class EnvKeyword

Attributes

ClassVar[str]
tuple[tuple[str, str], ...]

Methods

execute()

required
None

execute_async()

required
None

parse()

required
EnvKeyword

serialize()

Stable text used for layer hashing.
str

class FromKeyword

Attributes

ClassVar[str]
str
str

Methods

execute()

required
None

execute_async()

required
None

parse()

required
FromKeyword

serialize()

Stable text used for layer hashing.
str

class LocalContext

Read-only handle for the local build context directory.

Attributes

Path
tuple[DockerignoreRule, ...]
tuple[DockerignoreRule, …]

Methods

collect()

required
required
required
required
required
list[MappedFile]

from_dir()

required
LocalContext

is_ignored()

required
bool

walk()

required
required
required
required
required
required
list[MappedFile]

walk_dir()

required
required
required
required
required
list[MappedFile]

walk_file()

required
required
required
required
required
required
list[MappedFile]

class PendingFile

Attributes

str
str
str
int
int
str

class RunKeyword

Attributes

ClassVar[str]
bool
tuple[str, ...]

Methods

build_request()

Prepare the command for the context’s operation execution hook.
required
RunRequest
RunRequestA non-disposable request with the current build state and attachments.

execute()

required
None

execute_async()

required
None

parse()

required
RunKeyword

serialize()

Stable text used for layer hashing.
str

class SkippedKeyword

Attributes

ClassVar[str]
str
str

Methods

execute()

required
None

execute_async()

required
None

of()

required
required
SkippedKeyword

parse()

required
DockerKeyword

serialize()

Stable text used for layer hashing.
str

class UserKeyword

Attributes

ClassVar[str]
str

Methods

execute()

required
None

execute_async()

required
None

parse()

required
UserKeyword

serialize()

Stable text used for layer hashing.
str

class WorkdirKeyword

Attributes

ClassVar[str]
str

Methods

execute()

required
None

execute_async()

required
None

parse()

required
WorkdirKeyword

serialize()

Stable text used for layer hashing.
str

is_ignored()

required
required
bool

parse_dockerfile()

required
list[DockerKeyword]

parse_dockerignore()

required
tuple[DockerignoreRule, ...]
tuple[DockerignoreRule, …]

substitute()

required
required
str