code: def is_protocol(obj: dc.Object | dc.Alias) -> bool:
      """
      Return True if obj is a class defining a typing Protocol
      """
      return (
          isinstance(obj, dc.Class)
          and isinstance(obj.bases, list)
          and len(obj.bases) > 0
          and isinstance(obj.bases[-1], expr.ExprName)
          and obj.bases[-1].canonical_path == "typing.Protocol"
      )
  
imports: from __future__ import annotations
  from dataclasses import dataclass, field
  from typing import TypeGuard, TypeVar
  from griffe import dataclasses
  from griffe import expressions
  from quartodoc import layout
  from quartodoc.pandoc.inlines import Link
  from .typing import DocMemberType, DocType
label_desc: Use image node_id 3 for calling a global function with example usage: is_protocol(obj) and returns: unknown