Consulta CEPs em vários serviços (ViaCep, OpenCep, BrasilAPI, ApiCep) de maneira totalmente assíncrona
Nesta seção você encontrará instruções de como instalar o pacote e também encontrará exemplos de uso
Esse projeto é compatível com as versões 3.10 a 3.14 do python no momento. A compatibilização com versões anteriores está prevista, e qualquer contribuição é bem vinda.
pip install pycep
poetry add pycep
Os serviços são consultados ao mesmo tempo e nenhum espera pelo outro. A lib retorna o primeiro resultado útil (com cidade e UF); respostas "não encontrado" e falhas de um serviço são ignoradas enquanto outro ainda puder responder.
- Se nenhum serviço encontrar o CEP, os atributos vêm vazios (
cep.city == ""). - Se nenhum serviço responder (todos falharam ou estourou o
timeout), é levantadopycep.CepQueryError. - O tempo total pode ser ajustado:
Cep("75140070", timeout=5)(padrão: 10 segundos).
from pycep import Cep
cep = Cep("75140070")Você pode usar os atributos listados abaixo para acessar os dados do Cep:
from pycep import Cep
cep = Cep("75140070")
print(cep.number) # 75140070
print(cep.state) # GO
print(cep.city) # Anápolis
print(cep.street) # Rua Senador Mardocheu Diniz
print(cep.district) # Dom Pedro II
print(cep.query_service) #ViaCepService
print(cep.status) # query_doneVocê também pode converter os dados para dict
from pycep import Cep
cep = Cep("75140070")
print(dict(cep))
{
'street': 'Rua Senador Mardocheu Diniz',
'district': 'Dom Pedro II',
'city': 'Anápolis',
'state': 'GO',
'cep': '75140070',
'provider': 'ViaCepService'
}- HttpX - Adapter padrão para requisições HTTP
- AioHTTP - Adapter alternativo para requisições HTTP
- Poetry - Gerenciamento de dependências e publicação
- Pytest - Testes automatizados
- Erick Duarte - Implementação inicial - erickod
O projeto está disponível através da licença MIT - Consulte o arquivo LICENSE.md para mais detalhes.