code: def needkwargs(*argnames):
      
      required = set(argnames)
  
      def decorator(func):
          def inner(*args, **kwargs):
              missing = required - set(kwargs)
              if missing:
                  err = "%s kwargs are missing." % list(missing)
                  raise ValueError(err)
              return func(*args, **kwargs)
          return inner
      return decorator
docs: Function decorator which checks that the decorated function is called
      with a set of required kwargs.
  
      Args:
          *argnames: String keyword argument names.
  
      Raises:
          ValueError: If a required kwarg is missing in the decorated function
              call.