class_docstr: Simplified decorator API for specifying named parametrized test with pytests
  (like with old "genty" package)
  See example of use in test_testing
  
  Parameters
  ----------
  **kwargs:
      name of the argument is converted as id of the experiments, and the provided tuple
      contains a value for each of the arguments of the underlying function (in the definition order).
class_docstr_tok: ["Simplified","decorator","API","for","specifying","named","parametrized","test","with","pytests","(","like","with","old","``","genty","''","package",")","See","example","of","use","in","test_testing","Parameters","--","--","--","--","--","*","*","kwargs",":","name","of","the","argument","is","converted","as","id","of","the","experiments",",","and","the","provided","tuple","contains","a","value","for","each","of","the","arguments","of","the","underlying","function","(","in","the","definition","order",")","."]
code: def __call__(
      self, func: tp.Callable[..., None]
  ) -> tp.Any:  # type is lost here :(
      names = list(inspect.signature(func).parameters.keys())
      assert len(names) == self.num_params, f"Parameter names: {names}"
      return pytest.mark.parametrize(
          ",".join(names),
          self.params
          if self.num_params > 1
          else [p[0] for p in self.params],
          ids=self.ids,
      )(func)
  
imports: import re
  import os
  import warnings
  import platform
  import unittest
  import inspect
  import contextlib
  from pathlib import Path
  import typing
  import numpy
  from .None import errors
label_desc: Use image node_id 2 for calling the parametrized obj's underlying member method code with example usage: obj.__call__(func) and returns: pytest