darabos commited on
Commit
ab6c18c
·
1 Parent(s): cd30b06

Reduce warning spam from Griffe.

Browse files
lynxkite-core/src/lynxkite/core/ops.py CHANGED
@@ -240,7 +240,7 @@ def op(
240
  """Decorator for defining an operation."""
241
 
242
  def decorator(func):
243
- doc = get_doc(func)
244
  sig = inspect.signature(func)
245
  _view = view
246
  if view == "matplotlib":
@@ -436,16 +436,17 @@ def run_user_script(script_path: pathlib.Path):
436
  spec.loader.exec_module(module)
437
 
438
 
439
- def get_doc(func):
 
440
  """Griffe is an optional dependency. When available, we returned the parsed docstring."""
441
  try:
442
  import griffe
443
  except ImportError:
444
- return func.__doc__
445
- if func.__doc__ is None:
446
  return None
447
- if "----" in func.__doc__:
448
- doc = griffe.Docstring(func.__doc__).parse("numpy")
449
  else:
450
- doc = griffe.Docstring(func.__doc__).parse("google")
451
  return json.loads(json.dumps(doc, cls=griffe.JSONEncoder))
 
240
  """Decorator for defining an operation."""
241
 
242
  def decorator(func):
243
+ doc = parse_doc(func.__doc__)
244
  sig = inspect.signature(func)
245
  _view = view
246
  if view == "matplotlib":
 
436
  spec.loader.exec_module(module)
437
 
438
 
439
+ @functools.cache
440
+ def parse_doc(doc):
441
  """Griffe is an optional dependency. When available, we returned the parsed docstring."""
442
  try:
443
  import griffe
444
  except ImportError:
445
+ return doc
446
+ if doc is None:
447
  return None
448
+ if "----" in doc:
449
+ doc = griffe.Docstring(doc).parse("numpy")
450
  else:
451
+ doc = griffe.Docstring(doc).parse("google")
452
  return json.loads(json.dumps(doc, cls=griffe.JSONEncoder))