Discover Plugins
mloda provides functions to discover, inspect, and debug plugins at runtime. These are available from mloda.steward.
Resolving Feature Names
Use resolve_feature() to find which FeatureGroup handles a specific feature name:
from mloda.steward import resolve_feature
# Check which FeatureGroup handles a feature
result = resolve_feature("timestamp_unix")
if result.feature_group:
print(f"Handled by: {result.feature_group.__name__}")
else:
print(f"Resolution failed: {result.error}")
This is useful for: - Debugging feature resolution issues - Understanding which plugin handles a feature - Identifying conflicts when multiple FeatureGroups match
Inspecting Candidates
When resolution fails due to conflicts, check the candidates:
result = resolve_feature("my_feature")
if result.error:
print(f"Error: {result.error}")
print(f"Candidates: {[fg.__name__ for fg in result.candidates]}")
Inspecting Feature Groups
Get documentation for available feature groups:
from mloda.steward import get_feature_group_docs
# Get all feature groups
all_fgs = get_feature_group_docs()
# Filter by name
fgs = get_feature_group_docs(name="timestamp")
# Filter by compute framework
fgs = get_feature_group_docs(compute_framework="PandasDataframe")
Inspecting Compute Frameworks
Get documentation for compute frameworks:
from mloda.steward import get_compute_framework_docs
# Get all available frameworks
frameworks = get_compute_framework_docs()
# Include unavailable frameworks
all_frameworks = get_compute_framework_docs(available_only=False)
Inspecting Extenders
Get documentation for extenders:
from mloda.steward import get_extender_docs
# Get all extenders
extenders = get_extender_docs()
# Filter by wrapped function type
extenders = get_extender_docs(wraps="formula")