SnakeBridge.Config (SnakeBridge v0.2.4)
View SourceConfiguration schema for SnakeBridge integrations.
Defines the structure for declarative Python library integration configs.
Example
config = %SnakeBridge.Config{
python_module: "dspy",
version: "2.5.0",
introspection: %{
enabled: true,
cache_path: "priv/snakebridge/schemas/dspy.json"
},
classes: [
%{
python_path: "dspy.Predict",
elixir_module: DSPy.Predict,
constructor: %{args: %{signature: {:required, :string}}},
methods: [%{name: "__call__", elixir_name: :call}]
}
]
}
{:ok, validated} = SnakeBridge.Config.validate(config)
Summary
Functions
Compose configuration with extends and mixins.
Create config from map.
Compute content hash of configuration.
Pretty print configuration.
Convert config to Elixir code string.
Convert config to map.
Validate a configuration.
Types
@type t() :: %SnakeBridge.Config{ bidirectional_tools: map(), caching: map(), classes: [map()], compilation_mode: :auto | :compile_time | :runtime, description: String.t() | nil, extends: t() | nil, functions: [map()], grpc: map(), introspection: map(), mixins: [map()], python_module: String.t() | nil, telemetry: map(), timeout: non_neg_integer() | nil, version: String.t() | nil }
Functions
Compose configuration with extends and mixins.
Applies inheritance and mixin patterns to build final configuration.
Create config from map.
Compute content hash of configuration.
Pretty print configuration.
Convert config to Elixir code string.
Convert config to map.
Validate a configuration.
Returns {:ok, config} if valid, or {:error, errors} with a list of error messages.