comparação aproximada em python

Eu quero fazer com que o operador '==' use uma comparação aproximada no meu programa: os valores flutuantes x e y são iguais (==) se

abs(x-y)/(0.5(x+y)) < 0.001

Qual é uma boa maneira de fazer isso? Como o float é do tipo interno, acho que não posso redefinir o operador ==, posso?

Observe que eu gostaria de usar outros recursos do float, a única coisa que gostaria de mudar é o operador de igualdade.

EDITAR:

Obrigado pelas respostas e compreendo seus argumentos sobre legibilidade e outros problemas.

Dito isso, eu realmente preferiria, se possível, continuar usando o tipo de flutuação regular, em vez de ter uma nova classe ou uma nova função de comparação. É possível redefinir o operador == para carros alegóricos regulares?

Minhas razões são:

(a) todo mundo que usa o programa que estou escrevendo quer que os carros alegóricos sejam comparados dessa maneira

(b) não há nenhuma maneira no mundo que alguém queira usar o padrão == para carros alegóricos .. Por que é mesmo no idioma ???

(c) não gosto de palavras extras no código; obviamente, o uso do float existente não resulta em nenhuma alteração no código

EDIT 2.

Agora que sei que não posso sobrecarregar o operador == para flutuar, tenho que mudar minha pergunta. Vai se tornar tão diferente que eu farei um novo emcomparação personalizada para contêineres embutidos

questionAnswers(3)

yourAnswerToTheQuestion