Skip to content

datahub-agent-context: langchain_registration import fails, datahub.api.entities.agent missing from the pinned acryl-datahub #18686

Open

Description

@cnpierrepapi

Describe the bug

datahub_agent_context.langchain_registration cannot be imported with the exact
acryl-datahub version that datahub-agent-context pins, so the LangChain and
Google ADK registration paths fail at import time on a clean install.

datahub-agent-context==1.6.0.16 declares:

acryl-datahub[datahub-rest]==1.6.0.6

and datahub_agent_context/_registration_core.py line 26 does:

from datahub.api.entities.agent.agent import Agent, StructuredPropertyValue
from datahub.api.entities.agent.api import API_SUBTYPE_FUNCTION, Api, ApiParam

datahub.api.entities.agent does not exist in acryl-datahub==1.6.0.6. The
package directory contains: assertion, common, corpgroup, corpuser,
datacontract, datajob, dataprocess, dataproduct, dataset, external,
forms, platformresource, structuredproperties. No agent.

I also checked acryl-datahub==1.6.0.15 and the module is absent there too, so
this does not look like a resolver picking an old version. It looks like the
registration core is ahead of any published acryl-datahub.

To Reproduce

python3.11 -m venv v
./v/bin/pip install datahub-agent-context
./v/bin/python -c "import datahub_agent_context.langchain_registration"
File ".../datahub_agent_context/_registration_core.py", line 26, in <module>
    from datahub.api.entities.agent.agent import Agent, StructuredPropertyValue
ModuleNotFoundError: No module named 'datahub.api.entities.agent'

Installing the [langchain] extra makes no difference, since the missing module
is in acryl-datahub rather than in LangChain.

Expected behavior

import datahub_agent_context.langchain_registration succeeds on a clean
install, or the pin is raised to the acryl-datahub version that first ships
datahub.api.entities.agent.

What still works

The MCP tool functions are unaffected and I have been using them without
trouble. search, get_lineage (including the column argument),
list_schema_fields and get_entities all work against a self-hosted GMS:

from datahub.sdk import DataHubClient
from datahub_agent_context import set_client
from datahub_agent_context.mcp_tools.lineage import get_lineage

set_client(DataHubClient(server="http://localhost:8080", token=None))
get_lineage(urn=..., column="public_coverage_flag", upstream=True, max_hops=3)

Only the registration decorators are blocked.

Environment

  • datahub-agent-context 1.6.0.16
  • acryl-datahub 1.6.0.6, installed as its pinned dependency
  • Python 3.11.15, Amazon Linux 2023
  • DataHub Core GMS v1.5.0.6, self-hosted

Activity

  1. github-actions commented on Jul 28, 2026

    @github-actions
    Contributor

    Linear: ING-3137

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions