All our internal uses have been moved over except for the DecimalArray tests, which use ExtensionScalarOpsMixin.
Comment From: jorisvandenbossche
The ExtensionScalarOpsMixin is not for internal use, it's for external use (so that fact that it's not used internally doesn't really matter, the question is what external users should do)
Comment From: jorisvandenbossche
So this was originally added in https://github.com/pandas-dev/pandas/issues/37080 by @Dr-Irv. As mentioned above, this class was not directly meant for internal use (we also didn't use it internally at that time), but to make it easier for external users to implement EAs.
It might be that we have thought of better ways now or that we think this is not actually needed, but in any case, the OpxMixin is not a direct replacement of the functionality provided by the ScalarOpsMixin.
Comment From: jbrockmendel
we could deprecated ExtensionOpsMixin and re-implement ScalarOpsMixin using OpsMixin instead of ExtensionOpsMixin
Comment From: jorisvandenbossche
That could be an option yes
Comment From: Dr-Irv
See the docs here: https://pandas.pydata.org/docs/development/extending.html?highlight=extensionscalaropsmixin#extensionarray-operator-support
As long as the changes made support the second use case listed there (where the operators are already defined on the underlying individual scalar objects), I wouldn't have any major objections.
I should note that the PR #38142 (that was reverted in #38158) did not address the documentation issue referenced above, so I am glad to see that the deprecation suggestion is not part of pandas yet.
Comment From: jbrockmendel
Looks like pint-pandas uses this. Since it is actually used in the wild, not worth the churn. Closing.