I was confused weather or not dictionaries are hashable since you can check if a dictionary is in a list using the "in" operator
>>> test_list = [{'key1': 'a'}, {'key2': 'b'}]
>>> test_dict = {'key1': 'a'}
>>> test_dict in test_list
True
>>> {'key1': 'b'} in test_list
False
>>> {'key2': 'a'} in test_list
False
Running set on a dictionary doesn't exactly give a good result for this so this wasn't happening either behind the scenes
>>> set(test_dict)
{'key1'}
And it doesn't seem to be only checking the keys/values/items
>>> test_dict.keys() in test_list
False
>>> test_dict.values() in test_list
False
>>> test_dict.items() in test_list
False