Conectar-se a sites .onion no tor usando python?

Aqui está o código que eu tenho até agora

import socks
import socket
import requests
import json

socks.setdefaultproxy(proxy_type=socks.PROXY_TYPE_SOCKS5, addr="127.0.0.1", port=9050)
socket.socket = socks.socksocket

data = json.loads(requests.get("http://freegeoip.net/json/").text)

e funciona bem. O problema é quando eu uso um.onion URL mostra erro

Falha ao estabelecer uma nova conexão: [Erro -2] Nome ou serviço desconhecido

Depois de pesquisar um pouco, descobri que, embora a solicitação http seja feitator a resolução ainda ocorre no clearnet. Qual é a maneira correta para que eu também possa resolver o domínio na rede tor para conectar-me.onion URLs?