Suppose I create two instances of class object. Are these two instances guaranteed to be not equal to each other? In other words, is object() == object() guaranteed to be False, or is it implementation-dependent?
I understand that object() is object() is guaranteed to be False, but here I am asking about object() == object().
Yes it is guaranteed that object() == object() is False because it is documented that "by default, object implements __eq__() by using is".
Each Python 3.x release is intended to be backward-compatible with previous 3.x releases. As it's the base class, changing the comparison behavior of object would break this backward compatibility promise. So I think you can rely on it, but if we knew what you're trying to do that requires this invariant, we could probably give better advice.
You can always use assert to make sure it continues to be true.