INNER CODE UNIT · Python
_optimizable_parameter_names
jptsantossilva/BEC · bec/main.py:392
def _optimizable_parameter_names(definition: dict) -> list[str]:
parameters = definition.get("parameters", {}) if isinstance(definition, dict) else {}
if not isinstance(parameters, dict):
return []
return [name for name, spec in parameters.items() if isinstance(spec, dict) and bool(spec.get("optimizable", False))]
def _primary_parameter_pair_names(definition: dict) -> tuple[str, str]:
names = _strategy_parameter_names(definition)
fast_name = next((name for name in names if str(name).lower() == "fast" or "fast" in str(name).lower()), "")
slow_name = next((name for name in names if str(name).lower() == "slow" or "slow" in str(name).lower()), "")
if fast_name and slow_name:
return fast_name, slow_name
optimizable = _optimizable_parameter_names(definition)
if len(optimizable) >= 2:
return optimizable[0], optimizable[1]
if len(names) >= 2: