Skip to content

Sierra Client

Sierra ClientLink

The sierra.client module exposes the SierraDevelopmentClient class, which orchestrates environment setup, script loading, caching, and compilation.

Initializing SierraDevelopmentClient
Python
import pathlib
from sierra.client import SierraDevelopmentClient
from sierra.internal.logger import UniversalLogger, LogLevel

client = SierraDevelopmentClient(
    environment_path=pathlib.Path("default_env"),
    environment_name="default_env",
    logger=UniversalLogger(name="Sierra", level=LogLevel.DEBUG),
)

client.load_invokers_from_scripts()
client.compiler.compile()

sierra.client Link

ClassesLink

InvokerWithLoad Link

Bases: typing.Protocol

Protocol for invoker scripts with a load method.

PARAMETER DESCRIPTION
client

The client instance to use for loading the invoker script.

TYPE: SierraDevelopmentClient

FunctionsLink
load Link
Python
load(client: SierraDevelopmentClient) -> None

Load the invoker script.

PARAMETER DESCRIPTION
client

The client instance to use for loading the invoker script.

TYPE: SierraDevelopmentClient

ClientParams Link

Bases: typing.TypedDict

A typed dictionary for passing client parameters.

ATTRIBUTE DESCRIPTION
logger

The logger instance for capturing client activity.

TYPE: (UniversalLogger, optional)

cache

The cache manager instance for handling caching operations.

TYPE: (CacheManager, optional)

Notes

This TypedDict structure is used to encapsulate optional client parameters that can be provided to the SierraDevelopmentClient.

AttributesLink
logger instance-attribute Link
cache instance-attribute Link
SierraDevelopmentClient Link
Python
SierraDevelopmentClient(
    environment_path: pathlib.Path = pathlib.Path.cwd(),
    environment_name: str = "default_env",
    **kwargs: typing.Unpack[ClientParams],
)

Initialize the Sierra Development Client.

PARAMETER DESCRIPTION
environment_path

Path to the root of the Sierra environment.

TYPE: pathlib.Path DEFAULT: pathlib.Path.cwd()

environment_name

Name of the environment configuration to load.

TYPE: str DEFAULT: 'default_env'

**kwargs

Optional: logger and cache manager.

TYPE: ClientParams DEFAULT: {}

AttributesLink
logger instance-attribute Link
environment instance-attribute Link
Python
environment: sierra_core_environment.SierraDevelopmentEnvironment = sierra_core_environment.SierraDevelopmentEnvironment(
    client=self,
    name=environment_name,
    path=environment_path,
)
cache instance-attribute Link
Python
cache: sierra_internal_cache.CacheManager = kwargs.get(
    "cache",
    sierra_internal_cache.CacheManager(
        cache_dir=self.environment.config_path / "cache"
    ),
)
http_client instance-attribute Link
Python
http_client: httpx.Client = httpx.Client(
    headers={"User-Agent": "Sierra-dev/1.0"}
)
loader instance-attribute Link
invokers instance-attribute Link
Python
invokers: list[sierra_invoker.InvokerScript] = []
builder instance-attribute Link
Python
builder = sierra_core_builder.SierraInvokerBuilder(
    client=self
)
compiler instance-attribute Link
Python
compiler = sierra_core_compiler.SierraCompiler(client=self)
FunctionsLink
load_invoker Link
Python
load_invoker(invoker: sierra_invoker.InvokerScript) -> None

Register a single invoker instance with the client.

PARAMETER DESCRIPTION
invoker

An instance of an InvokerScript.

TYPE: InvokerScript

unload_invoker Link
Python
unload_invoker(
    invoker: sierra_invoker.InvokerScript,
) -> None

Unregister a single invoker instance from the client.

PARAMETER DESCRIPTION
invoker

An instance of an InvokerScript.

TYPE: InvokerScript

load_invokers_from_scripts Link
Python
load_invokers_from_scripts() -> None

Automatically discover and load all InvokerScript subclasses from .py files in the environment's scripts directory.