Skip to content

Commit 3d94388

Browse files
authored
feat(ingest): show custom model info (#10259)
1 parent c4e1e48 commit 3d94388

File tree

3 files changed

+36
-2
lines changed

3 files changed

+36
-2
lines changed

metadata-ingestion/src/datahub/entrypoints.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
from datahub.cli.timeline_cli import timeline
3838
from datahub.configuration.common import should_show_stack_trace
3939
from datahub.telemetry import telemetry
40+
from datahub.utilities._custom_package_loader import model_version_name
4041
from datahub.utilities.logging_manager import configure_logging
4142
from datahub.utilities.server_config_util import get_gms_config
4243

@@ -99,6 +100,7 @@ def version() -> None:
99100
"""Print version number and exit."""
100101

101102
click.echo(f"DataHub CLI version: {datahub_package.nice_version_name()}")
103+
click.echo(f"Models: {model_version_name()}")
102104
click.echo(f"Python version: {sys.version}")
103105

104106

metadata-ingestion/src/datahub/ingestion/run/pipeline.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
from datahub.ingestion.transformer.transform_registry import transform_registry
4040
from datahub.metadata.schema_classes import MetadataChangeProposalClass
4141
from datahub.telemetry import stats, telemetry
42+
from datahub.utilities._custom_package_loader import model_version_name
4243
from datahub.utilities.global_warning_util import (
4344
clear_global_warnings,
4445
get_global_warnings,
@@ -127,6 +128,7 @@ def _add_init_error_context(step: str) -> Iterator[None]:
127128
class CliReport(Report):
128129
cli_version: str = datahub.nice_version_name()
129130
cli_entry_location: str = datahub.__file__
131+
models_version: str = model_version_name()
130132
py_version: str = sys.version
131133
py_exec_path: str = sys.executable
132134
os_details: str = platform.platform()

metadata-ingestion/src/datahub/utilities/_custom_package_loader.py

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def _get_all_registered_custom_packages() -> List[EntryPoint]:
2121
return list(entry_points(group=_CUSTOM_PACKAGE_GROUP_KEY))
2222

2323

24-
def _get_custom_package_for_name(name: str) -> Optional[str]:
24+
def _get_custom_entrypoint_for_name(name: str) -> Optional[EntryPoint]:
2525
entrypoints = [
2626
ep for ep in _get_all_registered_custom_packages() if ep.name == name
2727
]
@@ -37,7 +37,37 @@ def _get_custom_package_for_name(name: str) -> Optional[str]:
3737
f"Multiple custom packages registered for {name}: cannot pick between {all_package_options}"
3838
)
3939

40-
return entrypoints[0].value
40+
return entrypoints[0]
41+
42+
43+
def _get_custom_package_for_name(name: str) -> Optional[str]:
44+
entrypoint = _get_custom_entrypoint_for_name(name)
45+
if entrypoint:
46+
return entrypoint.value
47+
return None
48+
49+
50+
def model_version_name() -> str:
51+
custom_entrypoint = _get_custom_entrypoint_for_name(_MODELS_KEY)
52+
if not custom_entrypoint:
53+
return "bundled"
54+
55+
if not custom_entrypoint.dist:
56+
return custom_entrypoint.value
57+
58+
custom_model_package = custom_entrypoint.dist.name
59+
version = custom_entrypoint.dist.version
60+
61+
try:
62+
package = __import__(custom_model_package)
63+
64+
nice_version_name = getattr(package, "nice_version_name", None)
65+
if nice_version_name:
66+
version = nice_version_name()
67+
except ImportError:
68+
pass
69+
70+
return f"{custom_model_package} ({version})"
4171

4272

4373
def get_custom_models_package() -> Optional[str]:

0 commit comments

Comments
 (0)