It is not launchpadlib, but lazr.restfulclient that is doing the comparison. And it's comparing self_link, http_etag, and an internal dirty dict it keeps around. The only differing point is the http_etag in that comparison. I am aware of the workarounds, but they are workarounds. If lazr.restfulclient is going to offer an __eq__ to compare the objects with, then it should work reliably. And if Launchpad is going to give me a person resource, for a specific user, that resource should be the same, no matter where it is pulled from. I don't know why I started seeing this last week, or why it hasn't happened to a lot more people, but I'm surprised it hasn't. And I'm not sure it is limited to the person resource. It is the only place I am currently seeing the problem, and so the only example I have to offer.
It is not launchpadlib, but lazr.restfulclient that is doing the comparison. And it's comparing self_link, http_etag, and an internal dirty dict it keeps around. The only differing point is the http_etag in that comparison. I am aware of the workarounds, but they are workarounds. If lazr.restfulclient is going to offer an __eq__ to compare the objects with, then it should work reliably. And if Launchpad is going to give me a person resource, for a specific user, that resource should be the same, no matter where it is pulled from. I don't know why I started seeing this last week, or why it hasn't happened to a lot more people, but I'm surprised it hasn't. And I'm not sure it is limited to the person resource. It is the only place I am currently seeing the problem, and so the only example I have to offer.