Registry
Strategy discovery and parameter schema extraction.
Provides utilities for discovering registered strategy classes and extracting their parameter specifications into JSON-serializable schemas for the dashboard UI.
_get_subclasses(base)
Recursively collect all non-private subclasses of a base class.
Excludes classes with names starting with underscore or "Configured" (dynamically created strategy configurations).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
base
|
type
|
Base class to find subclasses of. |
required |
Returns:
| Type | Description |
|---|---|
dict[str, type]
|
Dictionary mapping class names to class objects. |
Source code in src/onesecondtrader/dashboard/registry.py
get_strategies()
Get all registered strategy classes.
Returns:
| Type | Description |
|---|---|
dict[str, type[StrategyBase]]
|
Dictionary mapping strategy class names to their class objects. |
get_param_schema(params)
Convert strategy parameter specifications to a JSON-serializable schema.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
params
|
dict[str, ParamSpec]
|
Dictionary mapping parameter names to their specifications. |
required |
Returns:
| Type | Description |
|---|---|
list[dict]
|
List of parameter schema dictionaries with keys: name, default, type, |
list[dict]
|
and optionally min, max, step, choices. |
Source code in src/onesecondtrader/dashboard/registry.py
_serialize_value(value)
Serialize a parameter value for JSON output.
Enum values are converted to their name strings.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
value
|
object
|
Value to serialize. |
required |
Returns:
| Type | Description |
|---|---|
str | int | float | bool
|
JSON-serializable representation of the value. |
Source code in src/onesecondtrader/dashboard/registry.py
_get_type_name(value)
Determine the type name for a parameter value.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
value
|
object
|
Value to determine type of. |
required |
Returns:
| Type | Description |
|---|---|
str
|
Type name string: enum, bool, int, float, str, or unknown. |
Source code in src/onesecondtrader/dashboard/registry.py
get_strategy_schema(name)
Get the full schema for a strategy by name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Class name of the strategy. |
required |
Returns:
| Type | Description |
|---|---|
dict | None
|
Dictionary with strategy name and parameter schema, or None if not found. |