Getting Started with the f5-common-python SDK
I guess the question is whether "stats" is for statistics or status.
IMHO, the failover state is a status and not a statistic and therefore, it should be a direct attribute of an object.
RANT WARNING
As for whether SDK methods should be "dumb", I would suggest that that is not the purpose of an SDK. An SDK should provide a view of the system that makes sense independent of the transport mechanism. Whether the SDK methods are "dumb" or not should be driven by the functionality of what the method is trying to do for the user.
My experience with this SDK is that it is a thin layer above the REST API. This view is supported by the SDK documentation which really is a description of how to map the SDK's Python objects to the REST API. This is further supported by the numerous references to URIs throughout the documentation. From a Python perspective, the URIs don't belong in the documenation. They are an implementation detail and not a functional one.
The fact that it is using a REST API, a SOAP API or some other proprietary protocol is irrelevant to me. I simply don't care. I care about getting stuff done on the LTM. And the SDK should present a view of the system that makes sense from a Python perspective.
And the SDK should be focused on that. And I don't think it is. Instead it is focused on presenting the REST API with as little work as possible.
I come from the world of TMSH. I never learned the REST API. My expectation with the SDK was that I wouldn't have to.
END OF RANT