title: Python 3 kwargs insight
body: <p>This has been a source of confusion and frustration for years now. Say you import a particularly poorly documented module and some method that you need to you only has **kwargs for its arguments, how are you supposed to know what keys that method is checking for?</p>
  
  <pre><code>def test(**kwargs):
      if 'greeting' in kwargs:
          print(kwargs['greeting'])
  </code></pre>
  
  <p>If i were to call text, how would i know that 'greeting is something the method was looking for?</p>
  
  <pre><code>test(greeting='hi)
  </code></pre>
  
  <p>Some simplistic cases the IDE can help out with, but most use cases seem to be out of the IDE's scope</p>