{"record":{"id":"38c3ced5a74d509c","repo":"langchain-ai/langgraph","slug":"import-string-import-str-must-be-in-format-m-38c3ce","errorCode":null,"errorMessage":"Import string \"{import_str}\" must be in format \"<module>:<attribute>\".","messagePattern":"Import string \"(.+?)\" must be in format \"<module>:<attribute>\"\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"libs/cli/langgraph_cli/uv_lock.py","lineNumber":748,"sourceCode":"        target=target,\n        target_root=target.root,\n        install_order=tuple(install_order),\n        container_roots=container_roots,\n        working_dir=str(working_dir),\n        all_workspace_roots=all_workspace_roots,\n    )\n\n\ndef _rewrite_uv_lock_import_path(\n    config_path: pathlib.Path,\n    import_str: str,\n    plan: UvLockPlan,\n    *,\n    label: str,\n) -> str:\n    module_str, _, attr_str = import_str.partition(\":\")\n    if not module_str or not attr_str:\n        raise ValueError(\n            f'Import string \"{import_str}\" must be in format \"<module>:<attribute>\".'\n        )\n\n    if \"/\" not in module_str and \"\\\\\" not in module_str:\n        return import_str\n\n    resolved = (config_path.parent / module_str).resolve()\n    if not resolved.exists():\n        raise FileNotFoundError(f\"Could not find {label}: {resolved}\")\n    if not resolved.is_file():\n        raise IsADirectoryError(f\"{label.capitalize()} must be a file: {resolved}\")\n\n    container_path = _resolve_uv_lock_container_path(resolved, plan)\n    if container_path is None:\n        copied_dirs = \", \".join(\n            package.root.relative_to(plan.project_root).as_posix() or \".\"\n            for package in plan.install_order\n        )","sourceCodeStart":730,"sourceCodeEnd":766,"githubUrl":"https://github.com/langchain-ai/langgraph/blob/38031739e551638e373fb553453256c23feeb41f/libs/cli/langgraph_cli/uv_lock.py#L730-L766","documentation":"Error \"Import string \"{import_str}\" must be in format \"<module>:<attribute>\".\" thrown in langchain-ai/langgraph.","triggerScenarios":"Thrown at libs/cli/langgraph_cli/uv_lock.py:748 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"38031739e551638e373fb553453256c23feeb41f","analyzedAt":"2026-08-26T18:02:49.312Z","schemaVersion":2},"datasetVersion":"2026-08-26T21:11:00.512Z"}