fhelium.backend.resources
Link symbolic resource requirements to live Backend objects.
BoundResource
class View source
BoundResource(symbol: str, kind: str, value: object)Associate one Program resource symbol with its live object.
Attributes
| Name | Type | Default/value |
|---|---|---|
symbol | str | |
kind | str | |
value | object | field(repr=False) |
ResourceBindings
class View source
ResourceBindings(resources: Sequence[BoundResource]=())Hold low-level live bindings after resource-role matching.
Compile callers normally supply ordinary domain objects to a binding pass or a resource materializer. Direct construction remains available for named roles that cannot be inferred from Program structure.
symbols
property
symbols: tuple[str, ...]Return bound symbols in declaration order.
resources
property
resources: tuple[BoundResource, ...]Return live bindings in declaration order.
select
method
def select(symbols: Sequence[str]) -> ResourceBindings: ...Return selected existing bindings in caller order.
overlay
method
def overlay(resources: ResourceBindings | Sequence[BoundResource], *, override: bool=False) -> ResourceBindings: ...Return this table extended by another set of bindings.
merge
method
def merge(bindings: Sequence[ResourceBindings], *, override: bool=False) -> ResourceBindings: ...Merge binding tables in order.
resolve
method
def resolve(requirement: ResourceRequirement) -> BoundResource: ...Return the live object bound to one required symbol and kind.
resolve_all
method
def resolve_all(requirements: Sequence[ResourceRequirement]) -> tuple[BoundResource, ...]: ...Resolve requirements in operation declaration order.
ResourceMaterializer
class View source
ResourceMaterializer()Bases: Protocol
Create missing live resources for one whole Program.
materialize
method
def materialize(requirements: tuple[ResourceRequirement, ...], /) -> ResourceBindings: ...Return bindings that satisfy the requested missing resources.
ResourceRequirement
class View source
ResourceRequirement(symbol: str, kind: str)Identify one named resource required by a logical operation.
Attributes
| Name | Type | Default/value |
|---|---|---|
symbol | str | |
kind | str |