code: def encode_query_kwargs(dynamizer, kwargs):
      
      ret = {}
      for k, v in six.iteritems(kwargs):
          if '__' not in k:
              raise TypeError("Invalid query argument '%s'" % k)
          name, condition_key = k.split('__')
          # Convert ==None to IS_NULL
          if condition_key == 'eq' and is_null(v):
              condition_key = 'null'
              v = True
          # null is a special case
          if condition_key == 'null':
              ret[name] = {
                  'ComparisonOperator': 'NULL' if v else 'NOT_NULL'
              }
              continue
          elif condition_key not in ('in', 'between'):
              v = (v,)
          ret[name] = {
              'AttributeValueList': [dynamizer.encode(value) for value in v],
              'ComparisonOperator': CONDITIONS[condition_key],
          }
      return ret
docs: Encode query constraints in Dynamo format