Skip to content

Commit 79330c3

Browse files
committed
narrow plugin search fields
1 parent 3026292 commit 79330c3

3 files changed

Lines changed: 26 additions & 11 deletions

File tree

packages/data-designer/src/data_designer/cli/commands/plugin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def list_command(
4141
def search_command(
4242
ctx: typer.Context,
4343
query: str = typer.Argument(
44-
help="Keyword, runtime plugin name or type, package name, requirement, docs URL, or entry point to search for."
44+
help="Keyword, package name or alias, description, runtime plugin name, or runtime plugin type to search for."
4545
),
4646
catalog: str | None = typer.Option(
4747
None,

packages/data-designer/src/data_designer/cli/services/plugin_catalog_service.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def search_entries(
6161
refresh: bool = False,
6262
include_incompatible: bool = False,
6363
) -> list[PluginCatalogEntry]:
64-
"""Search catalog entries by simple token matching."""
64+
"""Search catalog entries by package metadata and runtime plugin metadata."""
6565
query_tokens = _tokenize(query)
6666
if not query_tokens:
6767
return []
@@ -217,16 +217,11 @@ def _tokenize(value: str) -> list[str]:
217217
def _entry_search_text(entry: PluginCatalogEntry) -> str:
218218
package_name = canonicalize_name(entry.package.name)
219219
values = [
220-
entry.name,
221-
entry.plugin_type.value,
222-
entry.description,
223220
entry.package.name,
224221
_package_alias(package_name) or "",
225-
entry.install.requirement,
226-
entry.install.index_url or "",
227-
entry.entry_point.name,
228-
entry.entry_point.value,
229-
entry.docs.url if entry.docs is not None and entry.docs.url else "",
222+
entry.description,
223+
entry.name,
224+
entry.plugin_type.value,
230225
]
231226
return " ".join(values).lower()
232227

packages/data-designer/tests/cli/services/test_plugin_catalog_service.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def test_list_entries_filters_incompatible_plugins_by_default(tmp_path: Path) ->
3535
]
3636

3737

38-
def test_search_entries_matches_name_type_package_and_docs(tmp_path: Path) -> None:
38+
def test_search_entries_matches_package_description_name_and_type(tmp_path: Path) -> None:
3939
repository = _repository_with_catalog(tmp_path)
4040
service = PluginCatalogService(repository, python_version="3.11.0", data_designer_version="0.5.7")
4141

@@ -48,6 +48,26 @@ def test_search_entries_matches_name_type_package_and_docs(tmp_path: Path) -> No
4848
assert [entry.name for entry in type_matches] == ["compatible-plugin"]
4949

5050

51+
def test_search_entries_ignores_install_docs_and_entry_point_metadata(tmp_path: Path) -> None:
52+
package = _package(
53+
package_name="data-designer-retrieval-sdg",
54+
data_designer_specifier=">=0.5.7",
55+
plugins=[_runtime_plugin(name="document-chunker", plugin_type="seed-reader")],
56+
)
57+
package["install"]["index_url"] = "https://nvidia-nemo.github.io/DataDesignerPlugins/simple/"
58+
package["docs"]["url"] = "https://nvidia-nemo.github.io/DataDesignerPlugins/plugins/data-designer-retrieval-sdg/"
59+
package["plugins"][0]["entry_point"]["value"] = "data_designer_github_noise.plugin:plugin"
60+
catalog_path = tmp_path / "plugins.json"
61+
catalog_path.write_text(json.dumps({"schema_version": 2, "packages": [package]}))
62+
repository = PluginCatalogRepository(tmp_path)
63+
repository.add_catalog("local", str(catalog_path))
64+
service = PluginCatalogService(repository, python_version="3.11.0", data_designer_version="0.5.7")
65+
66+
matches = service.search_entries("github", "local")
67+
68+
assert matches == []
69+
70+
5171
def test_evaluate_compatibility_reports_data_designer_constraint(tmp_path: Path) -> None:
5272
repository = _repository_with_catalog(tmp_path)
5373
service = PluginCatalogService(repository, python_version="3.11.0", data_designer_version="0.5.7")

0 commit comments

Comments
 (0)