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.