API Reference /

discovery.py

Find and inspect the registered components.

The hub registry holds every algorithm, preprocessor, and feature component by name. These functions expose it for browsing: list by type, fetch a component's description and parameter schema, or search by keyword.

Functions

Func

list_algorithms

Line 10
list_algorithms(type: Optional[str]=None) -> List[Dict]

List available algorithms in the registry.

Parameters

type
str

Filter by algorithm type:

  • •"classifier": Classification algorithms
  • •"regressor": Regression algorithms
  • •"clusterer": Clustering algorithms
  • •"anomaly": Anomaly detectors
  • •"associator": Association rule miners
  • •None: List all algorithms

Returns

list of dict
Metadata for matching algorithms (name, description, tags).
python
>>> import tuiml
>>> classifiers = tuiml.list_algorithms(type="classifier")   # doctest: +SKIP
>>> [algo["name"] for algo in classifiers[:3]]               # doctest: +SKIP
['NaiveBayesClassifier', 'DecisionTreeClassifier', 'RandomForestClassifier']

The names go straight into a train spec:

bash
$ tuiml.train({"model": {"name": classifiers[0]["name"]},
...              "data": {"source": "iris"}})                # doctest: +SKIP
Func

describe_algorithm

Line 74
describe_algorithm(name: str) -> Dict

Get detailed information about a specific algorithm.

Parameters

name
str
Name of the algorithm (e.g., "RandomForestClassifier").

Returns

dict

Metadata dictionary containing:

  • •description: Full docstring documentation
  • •parameters: JSON schema for hyperparameters
  • •type: Component type (classifier, etc.)
python
>>> import tuiml
>>> info = tuiml.describe_algorithm("RandomForestClassifier")   # doctest: +SKIP
>>> sorted(info["parameters"])                                  # doctest: +SKIP
['bootstrap', 'max_depth', 'max_features', 'n_estimators', ...]
Func

search_algorithms

Line 114
search_algorithms(query: str, limit: Optional[int]=None) -> List[Dict]

Search for components by keyword in name, tags, or description.

Results are ranked by relevance, best match first. Multi-word queries are matched token-wise, so "random forest" finds RandomForestClassifier as well as namespaced wrappers such as sklearn.RandomForestClassifier.

Parameters

query
str
Search query (e.g., "random forest", "linear").
limit
int = None
Maximum number of results to return. None returns all matches.

Returns

list of dict
Metadata for matching components, best match first.

Notes

This searches every registered component type, not just algorithms - transformers and feature selectors are included in the results.
python
>>> import tuiml
>>> results = tuiml.search_algorithms("random forest", limit=3)
>>> [algo["name"] for algo in results]
['RandomForestClassifier', 'RandomForestRegressor', 'capymoa.AdaptiveRandomForest']