heaven_base.configs.base_config

 1# base_config.py
 2from pydantic import BaseModel
 3from typing import Dict, Any, Union, Callable
 4import json
 5
 6# BaseFunctionConfig is a Pydantic model that holds the configuration for a function.
 7class BaseFunctionConfig(BaseModel):
 8    func_name: str                      # The name of the function (for identification) | This should be Callable
 9    args_template: Dict[str, Any]       # The template for arguments; keys must match function parameter names
10    
11    @classmethod
12    def load_from_json(cls, json_data: Union[str, Dict[str, Any]]) -> "BaseFunctionConfig":
13        """
14        Create a BaseFunctionConfig instance from a JSON string or a dictionary.
15
16        Args:
17            json_data: A JSON string or a dict containing BaseFunctionConfig fields.
18
19        Returns:
20            BaseFunctionConfig: An instance populated with the provided data.
21        """
22        if isinstance(json_data, str):
23            data = json.loads(json_data)
24        else:
25            data = json_data
26        return cls(**data)
class BaseFunctionConfig(pydantic.main.BaseModel):
 8class BaseFunctionConfig(BaseModel):
 9    func_name: str                      # The name of the function (for identification) | This should be Callable
10    args_template: Dict[str, Any]       # The template for arguments; keys must match function parameter names
11    
12    @classmethod
13    def load_from_json(cls, json_data: Union[str, Dict[str, Any]]) -> "BaseFunctionConfig":
14        """
15        Create a BaseFunctionConfig instance from a JSON string or a dictionary.
16
17        Args:
18            json_data: A JSON string or a dict containing BaseFunctionConfig fields.
19
20        Returns:
21            BaseFunctionConfig: An instance populated with the provided data.
22        """
23        if isinstance(json_data, str):
24            data = json.loads(json_data)
25        else:
26            data = json_data
27        return cls(**data)

!!! abstract "Usage Documentation" Models

A base class for creating Pydantic models.

Attributes: __class_vars__: The names of the class variables defined on the model. __private_attributes__: Metadata about the private attributes of the model. __signature__: The synthesized __init__ [Signature][inspect.Signature] of the model.

__pydantic_complete__: Whether model building is completed, or if there are still undefined fields.
__pydantic_core_schema__: The core schema of the model.
__pydantic_custom_init__: Whether the model has a custom `__init__` function.
__pydantic_decorators__: Metadata containing the decorators defined on the model.
    This replaces `Model.__validators__` and `Model.__root_validators__` from Pydantic V1.
__pydantic_generic_metadata__: Metadata for generic models; contains data used for a similar purpose to
    __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.
__pydantic_parent_namespace__: Parent namespace of the model, used for automatic rebuilding of models.
__pydantic_post_init__: The name of the post-init method for the model, if defined.
__pydantic_root_model__: Whether the model is a [`RootModel`][pydantic.root_model.RootModel].
__pydantic_serializer__: The `pydantic-core` `SchemaSerializer` used to dump instances of the model.
__pydantic_validator__: The `pydantic-core` `SchemaValidator` used to validate instances of the model.

__pydantic_fields__: A dictionary of field names and their corresponding [`FieldInfo`][pydantic.fields.FieldInfo] objects.
__pydantic_computed_fields__: A dictionary of computed field names and their corresponding [`ComputedFieldInfo`][pydantic.fields.ComputedFieldInfo] objects.

__pydantic_extra__: A dictionary containing extra values, if [`extra`][pydantic.config.ConfigDict.extra]
    is set to `'allow'`.
__pydantic_fields_set__: The names of fields explicitly set during instantiation.
__pydantic_private__: Values of private attributes set on the model instance.
func_name: str = PydanticUndefined
args_template: Dict[str, Any] = PydanticUndefined
@classmethod
def load_from_json( cls, json_data: Union[str, Dict[str, Any]]) -> BaseFunctionConfig:
12    @classmethod
13    def load_from_json(cls, json_data: Union[str, Dict[str, Any]]) -> "BaseFunctionConfig":
14        """
15        Create a BaseFunctionConfig instance from a JSON string or a dictionary.
16
17        Args:
18            json_data: A JSON string or a dict containing BaseFunctionConfig fields.
19
20        Returns:
21            BaseFunctionConfig: An instance populated with the provided data.
22        """
23        if isinstance(json_data, str):
24            data = json.loads(json_data)
25        else:
26            data = json_data
27        return cls(**data)

Create a BaseFunctionConfig instance from a JSON string or a dictionary.

Args: json_data: A JSON string or a dict containing BaseFunctionConfig fields.

Returns: BaseFunctionConfig: An instance populated with the provided data.