docs: def simple_hashstring(obj, bits=64):
      '''
      Creates a simple hash in brief string form from obj
      bits is an optional bit width, defaulting to 64, and should be in multiples of 8 with a maximum of 64
  
      >>> from bibframe.contrib.datachefids import simple_hashstring
      >>> simple_hashstring("The quick brown fox jumps over the lazy dog")
      'bBsHvHu8S-M'
      >>> simple_hashstring("The quick brown fox jumps over the lazy dog", bits=48)
      'B7x7vEvj'
      '''
      #Useful discussion of techniques here: http://stackoverflow.com/questions/1303021/shortest-hash-in-python-to-name-cache-files
      #Use MurmurHash3
      #Get a 64-bit integer, the first half of the 128-bit tuple from mmh and then bit shift it to get the desired bit length
      basis = mmh3.hash64(str(obj))[0] >> (64-bits)
      if bits == 64:
          raw_hash = struct.pack('!q', basis)
      else:
          raw_hash = struct.pack('!q', basis)[:-int((64-bits)/8)]
      hashstr = base64.urlsafe_b64encode(raw_hash).rstrip(b"=")
      return hashstr.decode('ascii')