It seems a good idea to add __int__ to Fraction, but if you stop falling back to __trunc__, won't that cause backwards compatibility issues? I'd say looking for __trunc__ if the alternative is failing isn't so bad.
Aye, converting a case where code is slower than it needs to be to an outright failure isn't a good trade-off.
"Implements __trunc__ but not __int__" could be a good thing for linters to warn about, though.
Cheers,
Nick.