OP

Added __eq__ and __hash__ to Op Class and deleted them in function with props attribute.
Did you try super().__hash__()?