docs: def primary_key(self, hkey, rkey=None):
          """
          Construct a primary key dictionary
  
          You can either pass in a (hash_key[, range_key]) as the arguments, or
          you may pass in an Item itself
  
          """
          if isinstance(hkey, dict):
  
              def decode(val):
                  """ Convert Decimals back to primitives """
                  if isinstance(val, Decimal):
                      return float(val)
                  return val
  
              pkey = {self.hash_key.name: decode(hkey[self.hash_key.name])}
              if self.range_key is not None:
                  pkey[self.range_key.name] = decode(hkey[self.range_key.name])
              return pkey
          else:
              pkey = {self.hash_key.name: hkey}
              if self.range_key is not None:
                  if rkey is None:
                      raise ValueError("Range key is missing!")
                  pkey[self.range_key.name] = rkey
              return pkey