From 6a7acb6361fd233b65d9a0dd70f12a5bdf21b1e2 Mon Sep 17 00:00:00 2001 From: Michell Stuttgart Date: Sat, 23 Nov 2024 14:21:51 -0300 Subject: [PATCH] Migrate docs to sphinx --- .github/ISSUE_TEMPLATE/custom.md | 2 - .pre-commit-config.yaml | 2 +- .readthedocs.yaml | 4 +- CHANGELOG.md => CHANGELOG | 98 ++++++--- Makefile | 15 +- README.md | 4 +- brazilcep/__init__.py | 2 + brazilcep/__version__.py | 1 + brazilcep/client.py | 2 +- docs/CHANGELOG.md | 194 ------------------ docs/CONTRIBUTING.md | 31 --- docs/index.md | 64 ------ docs/install.md | 13 -- docs/migrate.md | 67 ------ docs/source/_static/favicon.ico | Bin 0 -> 9662 bytes .../_static/logo.png} | Bin docs/source/_templates/sidebar-intro.html | 18 ++ docs/source/_templates/sidebar-links.html | 11 + docs/source/api.rst | 79 +++++++ docs/source/changes.rst | 1 + docs/source/conf.py | 126 ++++++++++++ docs/source/dev/contributing.rst | 136 ++++++++++++ docs/source/index.rst | 90 ++++++++ docs/source/user/install.rst | 40 ++++ docs/source/user/quickstart.rst | 132 ++++++++++++ docs/static/logo.png | Bin 39711 -> 0 bytes docs/static/logo.xcf | Bin 247558 -> 0 bytes docs/tutorial.md | 138 ------------- mkdocs.yml | 39 ---- pyproject.toml | 32 ++- tox.ini | 9 - 31 files changed, 738 insertions(+), 612 deletions(-) rename CHANGELOG.md => CHANGELOG (82%) create mode 100644 brazilcep/__version__.py delete mode 100644 docs/CHANGELOG.md delete mode 100644 docs/CONTRIBUTING.md delete mode 100644 docs/index.md delete mode 100644 docs/install.md delete mode 100644 docs/migrate.md create mode 100644 docs/source/_static/favicon.ico rename docs/{static/icon-bazilcep.png => source/_static/logo.png} (100%) create mode 100644 docs/source/_templates/sidebar-intro.html create mode 100644 docs/source/_templates/sidebar-links.html create mode 100644 docs/source/api.rst create mode 100644 docs/source/changes.rst create mode 100644 docs/source/conf.py create mode 100644 docs/source/dev/contributing.rst create mode 100644 docs/source/index.rst create mode 100644 docs/source/user/install.rst create mode 100644 docs/source/user/quickstart.rst delete mode 100644 docs/static/logo.png delete mode 100644 docs/static/logo.xcf delete mode 100644 docs/tutorial.md delete mode 100644 mkdocs.yml diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md index 8d25f51..ef69b96 100644 --- a/.github/ISSUE_TEMPLATE/custom.md +++ b/.github/ISSUE_TEMPLATE/custom.md @@ -6,5 +6,3 @@ labels: Question assignees: '' --- - - diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 746eba1..e9ae8fb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -24,7 +24,7 @@ repos: - id: black - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.7.4 + rev: v0.8.0 hooks: - id: ruff diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 27e994c..a50f36f 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -19,5 +19,5 @@ python: extra_requirements: - docs -mkdocs: - configuration: mkdocs.yml +sphinx: + configuration: docs/conf.py diff --git a/CHANGELOG.md b/CHANGELOG similarity index 82% rename from CHANGELOG.md rename to CHANGELOG index 3dd0ae5..8a1481e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG @@ -1,29 +1,36 @@ -# Changelog +Changelog +========= -## 6.5.0 (2024-08-18) +6.5.0 (2024-08-18) +------------------ - Remove API Correios from website. -## 6.4.1 (2024-08-18) +6.4.1 (2024-08-18) +------------------ - Fix beautifulsoup4 version -## 6.4.0 (2024-08-14) +6.4.0 (2024-08-14) +------------------ - Add API Correios (via Correios site) support - Add OpenCEP support -## 6.3.1 (2024-05-05) +6.3.1 (2024-05-05) +------------------ Update copyright and python version -## 6.3.0 (2024-05-05) +6.3.0 (2024-05-05) +------------------ - Change poetry `pyproject.toml` and use default `pyproject.toml` from Python docs - Improve nox tests and dependencies enviromnents - Add support to Python 3.12 -## 6.2.0 (2023-10-01) +6.2.0 (2023-10-01) +------------------ - Add timeout settings - Add proxy settings. From: https://github.com/mstuttgart/brazilcep/issues/40 @@ -31,12 +38,14 @@ Update copyright and python version - Update docs and README - Deprecated 'Correios' webservice support -## 6.1.0 (2023-10-01) +6.1.0 (2023-10-01) +------------------ - Add timeout parameters in requests - Update README typing errors -## 6.0.0 (2023-04-30) +6.0.0 (2023-04-30) +------------------ - Rename lib to BrazilCEP - Create new pip package @@ -52,13 +61,15 @@ Update copyright and python version - Create docs site (translate to English) - Update contribute doc to use poetry -## 5.1.0 (2022-10-12) +5.1.0 (2022-10-12) +------------------ * Corrige: AttributeError: 'NoneType' object has no attribute 'split' ao consultar cep 99999-999 * Adiciona nova exception 'BlockedByFlood' para excesso de consultas * Melhoras testes adicionando mock as consultas de ViaCEP e ApiCEP -## 5.0.0 (2021-01-07) +5.0.0 (2021-01-07) +------------------ * Adiciona suporte para Python 3.8 * Adiciona integração com consulta de CEP nos webservices dos Correios @@ -71,26 +82,31 @@ Update copyright and python version * Uso de TOX para testes em diferentes versões do Python * Adiciona novos testes e aumenta taxa do coverage -## 4.0.4 (2020-08-18) +4.0.4 (2020-08-18) +------------------ * Corrige "AttributeError: 'ConnectionError' object has no attribute 'message'" -## 4.0.3 (2020-06-08) +4.0.3 (2020-06-08) +------------------ * Corrige 'get_cep_from_address' error key - thanks Hendrix Costa https://github.com/hendrixcosta * Corrige docs -## 4.0.2 (2020-05-31) +4.0.2 (2020-05-31) +------------------ * Corrige exemplo de uso do 'get_cep_from_address' * Corrige "(client): KeyError exception when address not found" - thanks Patrick Ferraz https://github.com/patricksferraz * Adiciona captura de erro com status_code=200 - thanks Bruno Mello https://github.com/bgmello -## 4.0.1 (2020-02-22) +4.0.1 (2020-02-22) +------------------ * Corrige travis.yml deploy -## 4.0.0 (2020-02-22) +4.0.0 (2020-02-22) +------------------ * Adiciona suporte a API do ViaCEP (https://viacep.com.br/) * Adiciona consulta de faixa de CEPs @@ -101,39 +117,45 @@ Update copyright and python version Milestone: https://github.com/mstuttgart/pycep-correios/milestone/4 -## 3.2.0 (2019-08-18) +3.2.0 (2019-08-18) +------------------ * Remove suporte para Python 3.4: https://www.python.org/downloads/release/python-3410/ * Adiciona suporte para retorno com atributos ausentes * Adiciona mock aos testes -## 3.1.0 (2018-11-11) +3.1.0 (2018-11-11) +------------------ * Correção no tipo do retorno do metodo consultar_cep (por questões de compatibilidade, agora retorna um dict) * Correção da documentação, pois as tags 'id' e 'complemento' não estão mais sendo retornadas pelo Correios. * Atualização do README.md para uso de markdown no pypi e documentação. -## 3.0.0 (2018-10-21) +3.0.0 (2018-10-21) +------------------ * Alteração da API de consulta para [python-zeep](https://pypi.org/project/zeep/) * Antigas `exceptions` agora estão `deprecated`. Usar apenas `ExcecaoPyCEPCorreios` * Atualização da documentação * Remoção do suporte para Python 2.7 -## 2.3.1 (2018-05-03) +2.3.1 (2018-05-03) +------------------ * Corrige README.rst * Adiciona comando para validação dpo setup.py no Makefile * Corrige link do repositorio e donwload -## 2.3.0 (2018-05-03) +2.3.0 (2018-05-03) +------------------ * Adiciona logging para consulta de CEP * Adiciona documentação em inglês * Versão requirida das libs *requests* e da *Jinja2* limitadas por baixo, para fins de compatibilidade * Remove suporte para Python 3.3 -## 2.2.0 (2017-07-16) +2.2.0 (2017-07-16) +------------------ * Melhorias no metodo de formatar_cep, que agora passou a utilizar expressão regular para verificar se o CEP é formado por caracteres. * A função *formatar_cep* agora passa a lançar a exceção *Value Error* quando o CEP não possui estrutura válida https://github.com/mstuttgart/pycep-correios/pull/22 @@ -141,16 +163,19 @@ Milestone: https://github.com/mstuttgart/pycep-correios/milestone/4 * Adicionado ambientes de *Homologação* e *Producao*. Facilitando realizar consultas utilizadas para testes. close https://github.com/mstuttgart/pycep-correios/issues/24 * Melhorias na organização da API. -## 2.1.1 (2017-06-30) +2.1.1 (2017-06-30) +------------------ * Correção de erros de unicode com python2.7 -## 2.1.0 (2017-06-29) +2.1.0 (2017-06-29) +------------------ * Adicionado suporte para Python 2.7+ * Ajustes e correções na documentação -## 2.0.0 (2017-06-20) +2.0.0 (2017-06-20) +------------------ * Atualização do código da PyCEPCorreios, deixando-a mais facil de ser utilizada * Remoção das exceções antigas, deixando apenas a Exceção padrão da lib @@ -160,40 +185,47 @@ Milestone: https://github.com/mstuttgart/pycep-correios/milestone/4 * Adicionado testes com TOX * Adicionado método de validação de CEP e formatação de CEP -## 1.1.7 (2017-05-09) +1.1.7 (2017-05-09) +------------------ * Corrigido erro `jinja2.exceptions.TemplateNotFound: consultacep.xml` * Erro durante instalação da PyCEPCorreios via pip * Atualizado código de exemplo no README.rst * Atualizado exemplos na documentação -## 1.1.6 (2017-05-08) +1.1.6 (2017-05-08) +------------------ -* Correção de bug durante instalação. #15 +* Correção de bug durante instalação. 15 * Correção de template xml ausente no pacote do modulo * Melhorias gerais no código e correções de bugs -## 1.1.1 (2017-02-08) +1.1.1 (2017-02-08) +------------------ * Melhorias gerais no código * XML schema utilizando Jinja2 -## 1.0.1 (2016-08-03) +1.0.1 (2016-08-03) +------------------ * Simplificação da classes Exceptions * Organização do código de teste * Utilização do mock para test -## 1.0.0 (2016-07-31) +1.0.0 (2016-07-31) +------------------ * API migrada para Python 3. Python 2.7 não será mais suportado * Substituição da lib *suds* pela lib *requests* para realizar as requisições -## 0.0.2 (2016-05-09) +0.0.2 (2016-05-09) +------------------ * `setup.py` com número de versão atualizado e dependência corrigidas. -## 0.0.1 (2016-05-05) +0.0.1 (2016-05-05) +------------------ * Versão inicial. * Permite busca no webservice dos correios dos dados de um CEP fornecido. diff --git a/Makefile b/Makefile index 357b44a..3900ed5 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ help: .PHONY : check check: make pre-commit - # make docs + make docs make test make build @@ -40,19 +40,21 @@ build : .PHONY : coverage coverage: - pytest --cov=. --cov-config=pyproject.toml --cov-report term-missing --no-cov-on-fail + pytest --cov=brazilcep --cov-config=pyproject.toml --cov-report term-missing --no-cov-on-fail --cov-report=html .PHONY : lint lint: - isort --check . - black --check brazilcep tests --exclude .tox - ruff check . + isort --check brazilcep tests + black --check brazilcep tests + ruff check brazilcep tests CUDA_VISIBLE_DEVICES='' pytest -v --color=yes --doctest-modules tests/ brazilcep/ .PHONY : docs docs: - sphinx-build -E -T -W -b html -D language=en -j auto -q docs/source docs/build + rm -rf docs/build/ + sphinx-autobuild -b html --watch brazilcep/ docs/source/ docs/build/ +.PHONY : pre-commit pre-commit: pre-commit run --all-files @@ -64,6 +66,7 @@ setup: pip install -e ".[build]" pre-commit install --hook-type pre-commit pre-commit install --hook-type pre-push + pre-commit autoupdate .PHONY : test test: diff --git a/README.md b/README.md index 9c89e20..78ef3a4 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ ## About -**BrazilCEP** is a minimalist and easy-to-use python library designed to query CEP (Postal Address Code) data. +**BrazilCEP** is a minimalist and easy-to-use Python library designed to query CEP (Postal Address Code) data. Its objective is to provide a common query interface to all these search services, facilitating the integration of Python applications with these services. @@ -51,7 +51,7 @@ Currently supports several CEP API's: - [ApiCEP (WideNet)](https://apicep.com) - [OpenCEP](https://opencep.com/) -> [!NOTE] > **BrazilCEP** is the new name of former **PyCEPCorreio** python library. +> [!NOTE] > **BrazilCEP** is the new name of former **PyCEPCorreio** Python library. > If you want to migrate the old code to the new version, please see the [migrate](https://brazilcep.readthedocs.io/en/latest/migrate/) section in docs. > [!TIP] > **CEP** or **Código de Endereçamento Postal** (_Postal Address Code_), as it is also known, is a system of numeric codes, created, maintained and organized by _Correios do Brazil_ for diff --git a/brazilcep/__init__.py b/brazilcep/__init__.py index b7e8e23..245a793 100644 --- a/brazilcep/__init__.py +++ b/brazilcep/__init__.py @@ -12,9 +12,11 @@ :license: MIT, see LICENSE for more details. """ +from .__version__ import __version__ from .client import WebService, get_address_from_cep __all__ = [ "get_address_from_cep", "WebService", + "__version__", ] diff --git a/brazilcep/__version__.py b/brazilcep/__version__.py new file mode 100644 index 0000000..b61ecef --- /dev/null +++ b/brazilcep/__version__.py @@ -0,0 +1 @@ +__version__ = "6.5.0" diff --git a/brazilcep/client.py b/brazilcep/client.py index f650b96..d5caccf 100644 --- a/brazilcep/client.py +++ b/brazilcep/client.py @@ -53,7 +53,7 @@ def get_address_from_cep(cep, webservice=WebService.APICEP, timeout=None, proxie RequestError: When connection error occurs in CEP query Timeout: When occurs timeout of webservice response HTTPError: Invalid HTTP format query - CEPNotFund: CEP not exist in API + CEPNotFound: CEP not exist in API Exception: When any error occurs in the CEP query returns: diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md deleted file mode 100644 index 3a59fbb..0000000 --- a/docs/CHANGELOG.md +++ /dev/null @@ -1,194 +0,0 @@ -# Changelog - -## 6.5.0 (2024-08-18) - -- Remove API Correios from website. - -## 6.4.1 (2024-08-18) - -- Fix beautifulsoup4 version - -## 6.4.0 (2024-08-14) - -- Add API Correios (via Correios site) support -- Add OpenCEP support - -## 6.3.1 (2024-05-05) - -Update copyright and python version - -## 6.3.0 (2024-05-05) - -- Change poetry `pyproject.toml` and use default `pyproject.toml` from Python docs -- Improve nox tests and dependencies enviromnents -- Add support to Python 3.12 - -## 6.2.0 (2023-10-01) - -- Add timeout settings -- Add proxy settings. From: https://github.com/mstuttgart/brazilcep/issues/40 -- Add real tests to APICEP and ViaCEP -- Update docs and README -- Deprecated 'Correios' webservice support - -## 6.0.0 (2023-05-01) - -- Rename lib to BrazilCEP -- Create new pip package -- Remove support for Python 3.5, 3.6, and 3.7 -- Add support to Python 3.9, 3.10, and 3.11 -- Add poetry to manage project dependencies -- Add matrix test of Python versions using nox -- Improve docs and code -- Fix Github actions lint -- Fix Github actions coverage -- Improve lint test -- Improve coverage test -- Create docs site (translate to English) -- Update contribute doc to use poetry - -## 5.1.0 (2022-10-12) - -* Corrige: AttributeError: 'NoneType' object has no attribute 'split' ao consultar cep 99999-999 -* Adiciona nova exception 'BlockedByFlood' para excesso de consultas -* Melhoras testes adicionando mock as consultas de ViaCEP e ApiCEP - -## 5.0.0 (2021-01-07) - -* Adiciona suporte para Python 3.8 -* Adiciona integração com consulta de CEP nos webservices dos Correios -* Adiciona integração com consulta de CEP no webservice da APICEP.com -* Adiciciona novas exceptions para melhor tratamentos de erros. -* Remove deprecated methods (consulta_cep, validar_cep, formatar_cep) -* Remove deprecated exceptions (ExcecaoPyCEPCorreios, CEPInvalido, FalhaNaConexao, MultiploRedirecionamento, Timeout) -* Remove function 'get_cep_from_address', por falta de uso -* Remove documentação antiga e centraliza exemplos de uso no README -* Uso de TOX para testes em diferentes versões do Python -* Adiciona novos testes e aumenta taxa do coverage - -## 4.0.4 (2020-08-18) - -* Corrige "AttributeError: 'ConnectionError' object has no attribute 'message'" - -## 4.0.3 (2020-06-08) - -* Corrige 'get_cep_from_address' error key - thanks Hendrix Costa https://github.com/hendrixcosta -* Corrige docs - -## 4.0.2 (2020-05-31) - -* Corrige exemplo de uso do 'get_cep_from_address' -* Corrige "(client): KeyError exception when address not found" - thanks Patrick Ferraz https://github.com/patricksferraz -* Adiciona captura de erro com status_code=200 - thanks Bruno Mello https://github.com/bgmello - -## 4.0.1 (2020-02-22) - -* Corrige travis.yml deploy - -## 4.0.0 (2020-02-22) - -* Adiciona suporte a API do ViaCEP (https://viacep.com.br/) -* Adiciona consulta de faixa de CEPs -* Adiciona function format_cep, validate_cep -* Adiciona nova function de busca de CEP -* Adiciona suporte para Python 3.7 -* Ajustes no codigo e documentação - -Milestone: https://github.com/mstuttgart/pycep-correios/milestone/4 - -## 3.2.0 (2019-08-18) - -* Remove suporte para Python 3.4: https://www.python.org/downloads/release/python-3410/ -* Adiciona suporte para retorno com atributos ausentes -* Adiciona mock aos testes - -## 3.1.0 (2018-11-11) - -* Correção no tipo do retorno do metodo consultar_cep (por questões de compatibilidade, agora retorna um dict) -* Correção da documentação, pois as tags 'id' e 'complemento' não estão mais sendo retornadas pelo Correios. -* Atualização do README.md para uso de markdown no pypi e documentação. - -## 3.0.0 (2018-10-21) - -* Alteração da API de consulta para [python-zeep](https://pypi.org/project/zeep/) -* Antigas `exceptions` agora estão `deprecated`. Usar apenas `ExcecaoPyCEPCorreios` -* Atualização da documentação -* Remoção do suporte para Python 2.7 - -## 2.3.1 (2018-05-03) - -* Corrige README.rst -* Adiciona comando para validação dpo setup.py no Makefile -* Corrige link do repositorio e donwload - -## 2.3.0 (2018-05-03) - -* Adiciona logging para consulta de CEP -* Adiciona documentação em inglês -* Versão requirida das libs *requests* e da *Jinja2* limitadas por baixo, para fins de compatibilidade -* Remove suporte para Python 3.3 - -## 2.2.0 (2017-07-16) - -* Melhorias no metodo de formatar_cep, que agora passou a utilizar expressão regular para verificar se o CEP é formado por caracteres. -* A função *formatar_cep* agora passa a lançar a exceção *Value Error* quando o CEP não possui estrutura válida https://github.com/mstuttgart/pycep-correios/pull/22 -* Adicionado novas exceções ExcecaoPyCEPCorreios, Timeout, MultiploRedirecionamento, FalhaNaConexao. Consultar documentacao para exemplos de utilização delas. close https://github.com/mstuttgart/pycep-correios/issues/25 -* Adicionado ambientes de *Homologação* e *Producao*. Facilitando realizar consultas utilizadas para testes. close https://github.com/mstuttgart/pycep-correios/issues/24 -* Melhorias na organização da API. - -## 2.1.1 (2017-06-30) - -* Correção de erros de unicode com python2.7 - -## 2.1.0 (2017-06-29) - -* Adicionado suporte para Python 2.7+ -* Ajustes e correções na documentação - -## 2.0.0 (2017-06-20) - -* Atualização do código da PyCEPCorreios, deixando-a mais facil de ser utilizada -* Remoção das exceções antigas, deixando apenas a Exceção padrão da lib -* Remoção da classe PyCEPCorreios -* Alteração dos *imports* da lib para facilitar seu uso e diminuir tamanho dos *imports* -* Adicionado documentação com Sphinx -* Adicionado testes com TOX -* Adicionado método de validação de CEP e formatação de CEP - -## 1.1.7 (2017-05-09) - -* Corrigido erro `jinja2.exceptions.TemplateNotFound: consultacep.xml` -* Erro durante instalação da PyCEPCorreios via pip -* Atualizado código de exemplo no README.rst -* Atualizado exemplos na documentação - -## 1.1.6 (2017-05-08) - -* Correção de bug durante instalação. #15 -* Correção de template xml ausente no pacote do modulo -* Melhorias gerais no código e correções de bugs - -## 1.1.1 (2017-02-08) - -* Melhorias gerais no código -* XML schema utilizando Jinja2 - -## 1.0.1 (2016-08-03) - -* Simplificação da classes Exceptions -* Organização do código de teste -* Utilização do mock para test - -## 1.0.0 (2016-07-31) - -* API migrada para Python 3. Python 2.7 não será mais suportado -* Substituição da lib *suds* pela lib *requests* para realizar as requisições - -## 0.0.2 (2016-05-09) - -* `setup.py` com número de versão atualizado e dependência corrigidas. - -## 0.0.1 (2016-05-05) - -* Versão inicial. -* Permite busca no webservice dos correios dos dados de um CEP fornecido. diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md deleted file mode 100644 index 2f2fd3a..0000000 --- a/docs/CONTRIBUTING.md +++ /dev/null @@ -1,31 +0,0 @@ -# Contribute - -Contributions are welcome and greatly appreciated! - -## Types of contributions - -You can contribute in several ways: - -### Reporting bugs - -Report bugs [here](https://github.com/mstuttgart/brazilcep/issues). - -If you are reporting a *bug*, please include: - -* The name and version of your operating system. -* Any details about your local configuration that might be helpful in troubleshooting. -* Detailed steps to reproduce the bug. - -### Fixing bugs - -Search the *issues* list for those with the *Bug* tag. -Any *issue* marked "Bug" is open to anyone who wants to fix it. - -### Adding new features - -Search the list of *issues* for ones with the tag *Improvement* or *New feature*. -Any *issue* tagged with these *tags* is open to anyone who wants to implement it. - -### Sending Suggestions and Questions - -The best way to send suggestions and questions is to open an *issue* [here](https://github.com/mstuttgart/brazilcep/issues). diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index 785785e..0000000 --- a/docs/index.md +++ /dev/null @@ -1,64 +0,0 @@ - -

- - - -
- BrazilCEP -

- -

- - - GitHub Workflow Status - - - - Codecov - - - - Downloads - - - - Ratings - - - - Version - - -

- -**BrazilCEP** is a minimalist and easy-to-use python library designed to query CEP (brazilian zip codes) data. - -Its objective is to provide a common query interface to all these search services, facilitating the integration of Python applications with these services. - -```python ->>> get_address_from_cep('37503-130') -{ - 'bairro': 'str', - 'cep': 'str', - 'cidade': 'str', - 'logradouro': 'str', - 'uf': 'str', - 'complemento': 'str', -} -``` - -!!! tip - - **BrazilCEP** is the new name of former **PyCEPCorreio** python library. - If you want to migrate the old code to the new version, please see the [migrate](/migrate) section. - -## Features - -* Cross-platform: Windows, Mac, and Linux are officially supported. -* Works with Python 3.9+. -* Currently supports several CEP API's: - * [ViaCEP](https://viacep.com.br) - * [ApiCEP (WideNet)](https://apicep.com) - * [OpenCEP](https://opencep.com/) - -BrazilCEP started as a personal study project and evolved into a serious and open source project that is used by many developers on a daily basis. diff --git a/docs/install.md b/docs/install.md deleted file mode 100644 index c74aad1..0000000 --- a/docs/install.md +++ /dev/null @@ -1,13 +0,0 @@ -# Install - -The recommended way to get BrazilCEP is to **install the latest stable release** -via [pip](http://pip-installer.org>): - -```sh -pip install brazilcep -``` - -BrazilCEP has only a few **direct dependencies**: - -- [Zeep](https://pypi.org/project/zeep): for SOAP requests. -- [requests](https://pypi.org/project/requests): for REST API requests. diff --git a/docs/migrate.md b/docs/migrate.md deleted file mode 100644 index 532f2a2..0000000 --- a/docs/migrate.md +++ /dev/null @@ -1,67 +0,0 @@ -# Migrate - -**BrazilCEP** is the new name of former **PycepCorreios**. This page -guide you on to process of migrate old code to new version. - -It's simples migrate te code and require minimal steps. - -## imports - -First, rename the `import` statements from: - -```python title="PyCEPCorreios" -import pycepcorreios -``` -to - -```python title="BrazilCEP" -import brazilcep -``` - -## Query results - -The next step, is adjust the *keys* of query returned by `get_address_from_cep` function. - -The keys have simply been translated to english. Take a look on this old code: - -``` python title="PyCEPCorreios" ->>> get_address_from_cep('37503-130') -{ - 'bairro': 'rua abc', - 'cep': '37503130', - 'cidade': 'city ABC', - 'logradouro': 'str', - 'uf': 'str', - 'complemento': 'str', -} -``` -This is the new code: - -``` python title="BrazilCEP" ->>> get_address_from_cep('37503-130') -{ - 'district': 'rua abc', - 'cep': '37503130', - 'city': 'city ABC', - 'street': 'str', - 'uf': 'str', - 'complement': 'str', -} -``` - -## Exceptions - -The follow Exceptions have been removed. - -```python -exceptions.ConnectionError -exceptions.Timeout -exceptions.HTTPError -exceptions.BaseException -``` - -Please, use the [requests](https://requests.readthedocs.io/en/latest/user/quickstart/#errors-and-exceptions) exceptions instead. - -## Questions? - -The best way to send question is open a issue in **BrazilCEP** issue tracker [here](https://github.com/mstuttgart/brazilcep/issues). diff --git a/docs/source/_static/favicon.ico b/docs/source/_static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..759852954370baaaf8005da5d5523e76de6bca51 GIT binary patch literal 9662 zcmeI2X>e256~~2l%Ldy7u%Wc2X=p=mL+G?K?ZiHw26>V6B-)dk}VX@4hzmGj;p??=y_AjqHvYN#A!~L1{_PakyU%%a% zws9BIHt4i|C(;5+->?(ubj?azzr(L}JCM$zzG_u}J2KY!HG4}QX78)S?BXgsAfmpy z-dBY=bUlaeb30e3d2}txEUrW*^)u3}+r|Wo%A-+zVGT)hf7W310qVi=bbH>O{`4mra#2>E@<_qV|WOGK(o<=cD zX}*VJC;kMMior8w?CI?PRE^b%*z?MfKuV+-5@}rC>sU4V&g|*zzv7Rw&X{G-Cw@{A z#gN1?n5;A5*fW&>Uobo6Q4)({;QBaGjf}*eQSXVazTd0w!cKXVOxMZB?XXe|;p+QD z?6V!(bulP z>Z>{Ht;I;8>lBJXKd+i)SNvw!iEnGg1#~%k zak#u1KX_{+;@0g(+&|u<+8(IyMt0@|T#JqH_e_u;Iq4*9hX%pu=xO;@q=;4wV< zn{`Otum`C}E`Yi3g?$eDulOfk&m6QhV|aL2$?ef_y5>BdTDt{tf7pijUH|g?zV|c| zh&eIm9V~ex2OIubM9g;d_77lia1cJ94@c`-h`${DZjb8oYp3YF)@*tQshjgL>vS`C zUSdg&Y15O`r-KX&+NI zpHS?~<<`7dT2z5j@-`AXzsCIYLijK7aa($Qfbu1L&Io&^;vb?INavgs!x{hDoyKG= zakJDKn8qgabN-9x+zM-u-|pwvd#UH*`--2wD}DYLpDFEN{?PfZXAkl_1`$Jwr5IxA zdoZ$djTHZdU)Z_j{8?I5sr-+`9*W<{&VA+&HCB!6S?s^CGe4{L7Gh~lB)&_1*YoSy zg+DvMFFf|n9{jfED&9JI9`$t1?82WJ@L!%awxu1eadjpX`~1s(e#On~w7+A;Q4DcK z)nn!+;pfjXiv7_5GW=C

zoN2w$jqetgWBtDy)iYTXtBhZH5Aj0ynR_DkFR}mO*yWsnVo0E~hfw_T{kv#B=KO!+ z@L8n(y#y8KE(Y288P-`xBQnbDSaHIJ`2qe=?25nBWr}@afM4Yc=ZyF+>~h9Y+k*pj z*T(oS?A(g~DY@@s%l^`F>=MKFQy(I|rVH~A)uNwbmiN$mFZ?_=aeZWQo#C;{`NCq~ znf=R+gZ^BP#2(mdzu4eHx7!A8svxv#);~zxdqea$!YjE#}(#VRzE{ zCqyj}elzS}5&m$#2iWCoX)%57=GrDWKE4TF`v_M(^;7qhq59&bu}tQw`@M^ONIvi(RvoLsiH25HZ~j<$3D4yo zg+^;I$rZ^BW6N>BT;&*3-&ZwhDDU>dMR6$p8(PGi5%#ZA43j$3qZq6dLkg{99xAHB z0;>J*U8tLoU1F(fY7bf8AHSlZxYLU@&EfN1&%UT>X!7TgAN3)HVo0SJcpuo>bu-8> zxe}`7dpG*s$OzO&Gc{7is*(L`0scv!rPBA1N--o8e`oK2;t$0vzVmCWUd@Lzll46k z`-8+kX?EHl@t$?&#a_&$7i3$i?_488`OfTLZypYwNk(-ZNipoUT?^~K z_%3Z>r+@EZwnj2Pk5$fh&KY5UsO6KW&foQWZLX~?z3y=_2(z^9E+3XRXr|_-NWL>W zD=Oc4pH2HD*=s-1;6^LuhB4oTy@S}FZk#&y#aC}n>UR&l@50V!sl4Y~=J23|@}qsg zOLN?y5_2D+n*P1ZQ_KDh;-9K>VB>z3*T0KM4|1+hYj!w8&mk|GS^_|%tX}vQob4J*g5`U!MS0mM#|7Omx z@64Xv_E}WF9T?A2qg{*X=T)AY^mT^Es@`{I{}w6K@7mMBcV>UI{qu3Z$xkQtWyHVG zp^d6_B(Eh&^1HTiUj1Lmck!Lszuz%3`goJa!EDow{oB_^@Iuc>!%J=2@@HGM`X{ey zqfcGazW`8i%Ay?$$C X^mlzD4Qu;HmWTU)LI1!1#W?UEs&X)z literal 0 HcmV?d00001 diff --git a/docs/static/icon-bazilcep.png b/docs/source/_static/logo.png similarity index 100% rename from docs/static/icon-bazilcep.png rename to docs/source/_static/logo.png diff --git a/docs/source/_templates/sidebar-intro.html b/docs/source/_templates/sidebar-intro.html new file mode 100644 index 0000000..b420a7b --- /dev/null +++ b/docs/source/_templates/sidebar-intro.html @@ -0,0 +1,18 @@ + + + + +

+ BrazilCEP is Python library designed to query CEP (brazilian zip codes) data +

+ +

+ +

diff --git a/docs/source/_templates/sidebar-links.html b/docs/source/_templates/sidebar-links.html new file mode 100644 index 0000000..04ad2bf --- /dev/null +++ b/docs/source/_templates/sidebar-links.html @@ -0,0 +1,11 @@ +

Useful Links

+ +
diff --git a/docs/source/api.rst b/docs/source/api.rst new file mode 100644 index 0000000..49db6ef --- /dev/null +++ b/docs/source/api.rst @@ -0,0 +1,79 @@ +.. _api: + +============= +API Reference +============= + +.. module:: brazilcep + +This part of the documentation covers all the interfaces of BrazilCEP. + +Client +------ + +The main BrazilCEP' functionality can be accessed by this function. + +.. autofunction:: get_address_from_cep + +Exceptions +---------- + +.. autoexception:: brazilcep.exceptions.BrazilCEPException +.. autoexception:: brazilcep.exceptions.InvalidCEP +.. autoexception:: brazilcep.exceptions.CEPNotFound +.. autoexception:: brazilcep.exceptions.BlockedByFlood + +Webservices +----------- + +.. autofunction:: brazilcep.apicep.fetch_address +.. autofunction:: brazilcep.opencep.fetch_address +.. autofunction:: brazilcep.viacep.fetch_address + + +Migrate from PyCEPCorreios +-------------------------- + +**BrazilCEP** is the new name of former **PyCEPCorreios**. It's simples migrate te code and require minimal steps. + +First, rename the `import` statements from:: + + >>> import pycepcorreios + +to:: + + >>> import brazilcep + +The next step, is adjust the *keys* of query returned by `get_address_from_cep` function. + +The keys have simply been translated to english. Take a look on this old code:: + + >>> get_address_from_cep('37503-130') + { + 'bairro': 'rua abc', + 'cep': '37503130', + 'cidade': 'city ABC', + 'logradouro': 'str', + 'uf': 'str', + 'complemento': 'str', + } + +This is the new code:: + + >>> get_address_from_cep('37503-130') + { + 'district': 'rua abc', + 'cep': '37503130', + 'city': 'city ABC', + 'street': 'str', + 'uf': 'str', + 'complement': 'str', + } + +The follow `Exceptions` have been removed: + +* `ConnectionError` +* `Timeout` +* `HTTPError` +* `BaseException` + diff --git a/docs/source/changes.rst b/docs/source/changes.rst new file mode 100644 index 0000000..e272c5a --- /dev/null +++ b/docs/source/changes.rst @@ -0,0 +1 @@ +.. include:: ../../CHANGELOG diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 0000000..f93587e --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,126 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +import logging +import os +import sys +from datetime import datetime + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# + +sys.path.insert(0, os.path.abspath("../../")) + +from brazilcep import __version__ + +# -- Project information ----------------------------------------------------- + +project = "BrazilCEP" +copyright = f"{datetime.today().year}, Michell Stuttgart" +author = "Michell Stuttgart" +version = __version__ +release = __version__ + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + "sphinx.ext.autodoc", + "sphinx.ext.napoleon", + "sphinx.ext.intersphinx", + "sphinx.ext.viewcode", + "sphinx.ext.doctest", + "sphinx_copybutton", + "sphinx_autodoc_typehints", +] + +# Tell myst-parser to assign header anchors for h1-h3. +myst_heading_anchors = 3 + +# suppress_warnings = ["myst.header"] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ["_templates"] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ["_build"] + +source_suffix = [".rst", ".md"] + +intersphinx_mapping = { + "python": ("https://docs.python.org/3", None), + # Uncomment these if you use them in your codebase: + # "torch": ("https://pytorch.org/docs/stable", None), + # "datasets": ("https://huggingface.co/docs/datasets/master/en", None), + # "transformers": ("https://huggingface.co/docs/transformers/master/en", None), +} + +# By default, sort documented members by type within classes and modules. +autodoc_member_order = "groupwise" + +# Include default values when documenting parameter types. +typehints_defaults = "comma" + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = "alabaster" + +html_title = f"brazilcep v{__version__}" + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ["_static"] + +# html_css_files = ["css/custom.css"] + +html_favicon = "_static/favicon.ico" + +html_theme_options = { + "logo": "logo.png", + "show_powered_by": False, + "github_user": "mstuttgart", + "github_repo": "brazilcep", + "github_banner": True, + "show_related": False, + "note_bg": "#FFF59C", +} + +# Custom sidebar templates, maps document names to template names. +html_sidebars = { + # "index": ["sidebar-intro.html"], + "**": [ + 'sidebar-intro.html', + 'globaltoc.html', + 'sidebar-links.html', + 'searchbox.html', + ], +} + +# -- Hack to get rid of stupid warnings from sphinx_autodoc_typehints -------- + + +class ShutupSphinxAutodocTypehintsFilter(logging.Filter): + def filter(self, record: logging.LogRecord) -> bool: + if "Cannot resolve forward reference" in record.msg: + return False + return True + + +logging.getLogger("sphinx.sphinx_autodoc_typehints").addFilter(ShutupSphinxAutodocTypehintsFilter()) diff --git a/docs/source/dev/contributing.rst b/docs/source/dev/contributing.rst new file mode 100644 index 0000000..6c1e4e3 --- /dev/null +++ b/docs/source/dev/contributing.rst @@ -0,0 +1,136 @@ +============ +Contributing +============ + +.. _prs: https://github.com/mstuttgart/brazilcep/pulls +.. _`main branch`: https://github.com/mstuttgart/brazilcep/tree/main + +Thanks for considering contributing! Please read this document to learn the +various ways you can contribute to this project and how to go about doing it. + +Bug reports and feature requests +================================ + +Did you find a bug? +------------------- + +First, do `a quick search `_ to see whether your issue has already been reported. +If your issue has already been reported, please comment on the existing issue. Otherwise, +open `a new GitHub issue `_. + +Be sure to include a clear title +and description. The description should include as much relevant information as possible and should explain how +to reproduce the erroneous behavior as well as the behavior you expect to see. +Ideally you would include a code sample or an executable test case demonstrating the expected behavior. + +Do you have a suggestion for an enhancement or new feature? +----------------------------------------------------------- + +We use GitHub issues to track feature requests. Before you create a feature request: + +* Make sure you have a clear idea of the enhancement you would like. If you have a vague idea, consider discussing it first on a GitHub issue. +* Check the documentation to make sure your feature does not already exist. +* Do `a quick search `_ to see whether your feature has already been suggested. + +When creating your request, please: + +* Provide a clear title and description. +* Explain why the enhancement would be useful. It may be helpful to highlight the feature in other libraries. +* Include code examples to demonstrate how the enhancement would be used. + +Contributions are welcome and greatly appreciated! + + +Contributing with fixes and new features +======================================== + +When contributing with fixes and new features, please start forking/branching +from the `main branch`_ to work on the latest code and reduce merging issues. + +Contributed PRs_ are required to include valid test coverage in order to be merged. +Please don't hesitate to ask for help if you need one with the tests. + +Thanks a lot for your support. + + +Running tests +------------- + +First step is setting up development environment and installing all the required dependencies with: + +.. code-block:: shell + + $ virtualenv -p python3 .venv + $ source .venv/bin/activate + + $ make setup + +The project provides automated style, tests and coverage checks: + +.. code-block:: shell + + $ make check + +You can run them separately: + +.. code-block:: shell + + $ make pre-commit + $ make test + +If you want to retrieve uncovered lines too: + +.. code-block:: shell + + $ make coverage + +You can specific tests using ``pytest`` command: + +.. code-block:: shell + + $ pytest tests/test_apicep.py + +Or even more granular: + +.. code-block:: shell + + $ pytest tests/test_apicep.py::test_fetch_address_success + +Code Style +---------- + +BrazilCEP uses a collection of tools to ensure the code base has a consistent +style as it grows. We have these orchestrated using a tool called +`pre-commit`_. This can be installed locally and run over your changes prior +to opening a PR, and will also be run as part of the CI approval process +before a change is merged. + +To check pre-commit, run: + +.. code-block:: shell + + $ make pre-commit + +You can find the full list of formatting requirements specified in the +`.pre-commit-config.yaml`_ at the top level directory of Requests. + +.. _pre-commit: https://pre-commit.com/ +.. _.pre-commit-config.yaml: https://github.com/psf/requests/blob/main/.pre-commit-config.yaml + +Build sphinx documentation +-------------------------- + +.. _readthedocs.io: https://brazilcep.readthedocs.io/ + +The project provides a Sphinx documentation source under ``./docs/source``, +published online on `readthedocs.io`_. + +Great documentation is absolutely key in any a project. If you are not familiar +with reStructuredText for Sphinx you can read a primer +`here`__. + +__ https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html + + +Thanks for your contribution! + diff --git a/docs/source/index.rst b/docs/source/index.rst new file mode 100644 index 0000000..42c889f --- /dev/null +++ b/docs/source/index.rst @@ -0,0 +1,90 @@ + +BrazilCEP: Query CEP Easily™ +============================ + +.. image:: https://static.pepy.tech/badge/brazilcep/month + :target: https://pepy.tech/project/brazilcep/ + :alt: BrazilCEP Downloads Per Month Badge + +.. image:: https://img.shields.io/pypi/l/brazilcep.svg + :target: https://pypi.org/project/brazilcep/ + :alt: License Badge + +.. image:: https://img.shields.io/pypi/v/brazilcep.svg + :target: https://pypi.org/project/brazilcep/ + :alt: BrazilCEP Version Badge + +.. image:: https://img.shields.io/pypi/pyversions/brazilcep.svg + :target: https://pypi.org/project/brazilcep/ + :alt: Python Version Support Badge + +**BrazilCEP** is a minimalist and easy-to-use Python library designed to query CEP (Postal Address Code) data. + +------------------- + +A simple use example:: + + >>> brazilcep.get_address_from_cep('37503-130') + { + 'district': 'rua abc', + 'cep': '37503130', + 'city': 'city ABC', + 'street': 'str', + 'uf': 'str', + 'complement': 'str', + } + + +**BrazilCEP** objective is to provide a common query interface to all these search services, facilitating the integration of Python applications with these services. + +Currently supports several CEP API's: + +- `ViaCEP `_. +- `ApiCEP (WideNet) `_. +- `OpenCEP `_. + +**CEP** or **Código de Endereçamento Postal** (*Postal Address Code*), as it is also known, is a system of numeric codes, +created, maintained and organized by *Correios do Brazil* for organizing addresses and deliveries of letters and parcels. + +The User Guide +-------------- + +This part of the documentation, which is mostly prose, begins with some +background information about BRazilCEP. + +.. toctree:: + :maxdepth: 2 + + user/install + user/quickstart + +The API Documentation / Guide +----------------------------- + +If you are looking for information on a specific function, class, or method, +this part of the documentation is for you. + +.. toctree:: + :maxdepth: 2 + + api + + +The Contributor Guide +--------------------- + +If you want to contribute to the project, this part of the documentation is for +you. + +.. toctree:: + :maxdepth: 3 + + dev/contributing + +Release History +--------------- + +.. toctree:: + :maxdepth: 1 + + changes diff --git a/docs/source/user/install.rst b/docs/source/user/install.rst new file mode 100644 index 0000000..098110d --- /dev/null +++ b/docs/source/user/install.rst @@ -0,0 +1,40 @@ +.. _install: + +Installation +============ + +This part of the documentation covers the installation of BrazilCEP. + +**BrazilCEP** currently supports the follow Python versions: + + .. image:: https://img.shields.io/pypi/pyversions/brazilcep.svg + :target: https://pypi.org/project/brazilcep/ + :alt: Python Version Support Badge + + +Install from PyPi +----------------- + +To install **BrazilCEP**, simply run this simple command in your terminal of choice:: + + pip install brazilcep + +Install from Source Code +------------------------ + +**BrazilCEP** is actively developed on GitHub, where the code is +`always available `_. + +You can either clone the public repository:: + + git clone https://github.com/mstuttgart/brazilcep.git + +Or, download the `tarball `_:: + + curl -OL https://github.com/mstuttgart/brazilcep/tarball/main + +Once you have a copy of the source, you can embed it in your own Python +package, or install it into your site-packages easily:: + + cd brazilcep + pip install -e . diff --git a/docs/source/user/quickstart.rst b/docs/source/user/quickstart.rst new file mode 100644 index 0000000..a5a5d1a --- /dev/null +++ b/docs/source/user/quickstart.rst @@ -0,0 +1,132 @@ +.. _quickstart: + +Quickstart +========== + +.. module:: brazilcep.client + +Eager to get started? This page gives a good introduction in how to get started +with BrazilCEP. + +First, make sure that: + +* BrazilCEP is :ref:`installed ` + + +Let's get started with some simple examples. + + +Make a CEP Request +------------------ + +Making a request with BrazilCEP is very simple. + +Begin by importing the BrazilCEP module:: + + >>> import brazilcep + +Now, call the `get_address_from_cep` to query any CEP:: + + >>> address = brazilcep.get_address_from_cep('37503-130') + +Now, we have a *dict* object called ``address``. We can +get all the address information we need from this object:: + + >>> address + { + 'district': 'rua abc', + 'cep': '37503130', + 'city': 'city ABC', + 'street': 'str', + 'uf': 'str', + 'complement': 'str', + } + +The CEP always must be a string. + +Timeouts +-------- + +You can tell BrazilCEP to stop waiting for a response after a given number of +seconds with the ``timeout`` parameter. Nearly all production code should use +this parameter in nearly all requests. Failure to do so can cause your program +to hang indefinitely:: + + >>> get_address_from_cep('37503-130', timeout=0.001) + Traceback (most recent call last): + File "", line 1, in + requests.exceptions.Timeout: HTTPConnectionPool(host='http://www.viacep.com.br/ws/37503130/json', port=80): Request timed out. (timeout=0.001) + +Proxy +----- + +BrazilCEP also supports proxy setings following *requests* pattern:: + + from brazilcep import get_address_from_cep + + proxies = { + 'https': "00.00.000.000", + 'http': '00.00.000.000', + } + + # set proxies + get_address_from_cep('37503-130', proxies=proxies) + +For more details, please official `requests doc `_. + +Unsing differents API's +----------------------- + +.. note:: + + BrazilCEP was developed to integrate on-demand queries into web pages. + Querying CEP in bulk through scripts or any other means is not recommended. + +.. note:: + + BrazilCEP is not responsible for the functioning, availability and support of any of these query API's. All of them are provided by third parties, and + this library just provides a handy way to centralize the CEP search on these services. + +By default, BrazilCEP uses the API provided by the `ApiCEP `_ service. + +To use other services, we must indicate the desired service when calling the `get_address_from_cep` +function. + +Begin by importing the BrazilCEP `Webservice` class:: + + >>> from brazilcep import get_address_from_cep, WebService + +Now, call the `get_address_from_cep` method with `webservice` parameter:: + + >>> get_address_from_cep('37503-130', webservice=WebService.APICEP) + { + 'district': 'rua abc', + 'cep': '37503130', + 'city': 'city ABC', + 'street': 'str', + 'uf': 'str', + 'complement': 'str', + } + +The possible values for the `webservice` parameter are: + +* `Webservice.APICEP` +* `Webservice.VIACEP` +* `Webservice.OPENCEP` + +Errors and Exceptions +--------------------- + +BrazilCEP also supports a group of exceptions that can be used to +handle any errors that occur during the query process. + +If a invalid CEP request has be made, a :exc:`~brazilcep.exceptions.InvalidCEP` exception is +raised. + +If a CEP request not find CEP address, a :exc:`~brazilcep.exceptions.CEPNotFound` exception is raised. + +To a large number of CEP requests in short range of time, a :exc:`~brazilcep.exceptions.BlockedByFlood` exception is raised. + +All exceptions that BrazilCEP explicitly raises inherit from +:exc:`brazilcep.exceptions.BrazilCEPException`. + diff --git a/docs/static/logo.png b/docs/static/logo.png deleted file mode 100644 index 2cb3d92c74c1999051557798e921672157be79a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39711 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 diff --git a/docs/static/logo.xcf b/docs/static/logo.xcf deleted file mode 100644 index 79e1382256a972cd5a2509a6ec57f37f78dc975c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247558 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 z zc*WrZ_=@5(#X>>HcSt#5Usjwa==6*zeeBDMKNob;_AAwFg`kslOuZcZMbPPcSV?Nj z1ReioVXt+j+UjTFRzb(}T8hvkWo=J3MV2%C>m;E?7z0}_L`wPlg*?H@-7E|XvCMxc z_ky?d7(yN*LUudJ+KFZW;C7d3gWXmcgwKHXOxtMb{L3JKc3TGl64ISE3=Zg|%U(&* zwKr{j=@j!7kPRh24Sy6*%TRE;gxL(pISEsO@DIco8lrj7VKSNGNC8iL208;15n>|7 z#ky9QDMsO)g@OTsF}N5QtPz3KA%c=d^p4^JK{#^*6!P-76}}4@*0<9#K}U&AKMDs_ z4LC+3HivprNmHnVa1%G|a9+I?O@(5J3bV9smy!G%U>w z!nY0zA$8pJA@!{=6*ObpjT1iMJP?Hh9dunXjL3t+k?U+n3t`rKjY2n8#AvqLapg+#>@vXS-_N+9mI79!|sA#idP#>thaAvPvF6o{)UPKpX5 z$bv@t68~a-^O|-b}(v31<-AM_5ewA>jlD5dITHM(_|O z(KSDX@EXFggpU(WBCIDogJHoKI@RVP-u)DM(GVCyZpaM9y*vn++;dJ`0&o$=G{&>UP4adQe9BjB3oPZzU z4KH>Gxv#Qb=RW+5b-(Qd>!1GWhsn0*?T649e3B1gwrAQSNAV-&ymVe>k`?Q7!M)oi zo3>c^%@^KU|5b&L{!Z&OWB>KOxYGsb0!Km(%N(3Fo;Y(409z%=qN)D>hV=NB)^3qHqC^A}qpV5^V zww!OFz=%Ga!`d%Wwsp~_p~gP8A{T`-X+9~>1+ZY+p`|@hfsy04?EF7{)fZ*Q15<}u zQSbEMyp6Zz=&`l82D~G!@B9-lyy4+DKH9YP>u+|{zx%}Pmrd}=qwe4x;6;wHxQVZ_ zJw}ZpbSiO56}YS8u{fbhoK%JSCmu79Pe7^CL8}sv#Yt7f`5!9AlZaJ1QL02)U_s?Z zji%%(F2Xgz5iHE0@*@UgPXdKI%EZ~Eh*3u-5Zfd6h>HV0VBwr%pNaELNi~|-FY!(# zA{~rW|K<4jc?NN`&_Btj+6c!$I|G4K1nwreNDggf=M9Y@ENBVZltd_12vUm^rzAqC zQ>bW!Fs1WGwF9g55UQfin^a0j4Sk~^l8SGG$wyk`3%VLv2?vp{C=!eN8&ExMgIndX zU*v_OKi3z5#7M7;SBT;WFn**7yJb{{dRB;B+V|S%Hxs%Ca~o3;c}z6ChFQiz+9_cT zcw3gznY$HdE9NP~$wB2dd0X*r#o3B^N^^2h2~OTtyjyX$VxDrH98{K*w-xVJoUNFr zgeM1;>f~+3yA@|E<|*sRLFC6(Dc-HNx_6DoJ3i9#Y3RmR4492ZNauTdmZn08T&TGcKVQhwJ@ldYuuEI#yb%~N9rhDpbY zPSc1alzK8sX#a*2SNPWGCo8HlZXO31+akIMN>nNURCL>tk zuW0}LXk)L!(i3Z|Yn^^#vbkh{;j#ZZ$MD$iP_DE;4WjzM0Bx`=yYfDkE4@o!?GS2o zC+S(86G(Yk=LFKAk$Ij`sairn-_k+J4ISgzbjai2? zbO-cG%MigS&>K4r3;LZgFs(ZFJYxC#iN!7_R&Kb02K+&9%Y*11ec zSico`SzymJl;O-&oW*tn+f!^|Haf)>`n{kCYeN^o3#Cdg1}Uy0D?|Fb6VXJ`BhE(+ zMc{f*ED+jv#vQ3(p_Kx%;ud5D2*^SYkOdv!6eXHx(QGU_jrY33Tfqc}FumipQ81!N z4zAAZcJ_B-q;XRV(&0{U6*IwSLzBfGMLPY$`TqaL0Pju)3e8)B)-6HqCIoMBlD7yX z7yJ+F{W*Vy=K&pAqtbGH9M&TZy4S9{3YFAmbzO+^DUH75_5#S&nGKr^+d7^XkOexr z05pH_h8Dp9=!Dl4(>JBli8yFCSjWPs)(M3X2DF0}*2JJV4-h|M8SuZU}5Xb$YvTO9|2I_Zf9sCmSAWT zaY$boebwIaV?{6Z<*0F@f7&^0yy%&>44xqRq)>le6KKu*@R}Is^DLwT7io8-W1N3w zA|2zrm0l=J=dY$B9^*WhjChRmq#yAZXO*`^%x3=P;dOy32ML+qA)()>gmO)HbIaQJkQ>YppKt+B%V5F|WNaVkXCRLnu6=8dp?j zPw0(MhT!t49qk0SHtG_zObOqllc}*2x+mhQhjM+Aif>YsE$Wx_zhLD5d2hn2sT+3a zw%q^f`0ql_u39dxjq7yL)p+5*io0_4UV5*>6OJ+mPEcV9J(YXwtN@F-^rNU8Ooh)9 z0R@xL040kqXq_UinTQ7k)d|x^LD3i`v_@PEjzQzPq`0$CE_kc!5L7s}J8uYPoob<6 zT~wpSn>%5X#v2sXos(fN=R;rB`8(s6AFXPxM^RJXNNbz6FW2t_np zO$lC5(QqM}HBuwk+e4vgG{K_mY7n8wH-})Bitfg|mL!Utq+=48X`#u~zX`#WMt*E>XRVPZcW_Pf3;QUZ>Z+NHtgK z`}OW{daT0NtO57HLanvky13PcRN=|FLmL8)m1mqsNkzV;baqn*0PN^i+PN&dk1OT@vZ5yireep#TLJsYC|K; z<7lwNpvG}I%BQrQ^6TY-#M~ z5GpjY9s7OL6bk3ysWTL0q{d0kE5w{9lZ>aTaRp9`{GM)ezBM7s+*OH{9VCVYr0aE zpRIV0;s!;hm++fkBJh~NPKzGxaJGeP&$At@@bWr8G9A6rHIb?Gjh&M4sk{bu>hGc@ z;x}siYpAle+(w_e=ym+6H{UfW-Lfa#{~b=)PrR{YEapEcv;Y2Wo{8>%_0}Jx_CnuO zbnDBz`G2C4QFag=PYKXz#j!ROyj$Edg~JEpDRA5 zxQiCbe*I@tEi*{Ymm)eeDmED(gWvOE)SllKFC`j#44tXa7*>h?9!-em$S7O(bk@+h z`;{6QvLe~z>grC`+_~qHD$+fgaY}E!5at~Ci;)c2g^Srl=+d{zKwWh9Dbl%&GQ?z{ zEt`poYh;b#BpIfG_%NJr7kgsYzF2LHu{=hrsrJZXp^WjS+AZru1C=M!4X*Js8EPpV zk;#I5ai|ibO2xs73{p@OpayW22BJZ*g%(=sTe*W%MDq|ChAx5~Lr??~+Wg4odjaHE^XQgNc+w@m{B`-xH; zhLeaHtQKXUpNN@yF-c5pW{Ycs?5YL8bz-e7j`qOqV$*DbYU8}dwS0DMqs=-oTr|xx zlERO>IA{sGBPG-g*h?aPR1aJfmnPB=3Z*n3klcve0^*07bpUm>VM+n{H=sa?VYWym z7;VIOklG$KOZ`6-V;7*Ovf-H!q@3B}P+f5O@1!`@}CA>2lIGvPWy zab@%Y;e&*02w{0qy3iWJFzF`=MJc(8^9Y6KgM@Mc_rUZOO5!Qr#@xY;grzW&wfu+& z3AdROxsqp@kE-I`@kp)*{_)BI(8EKC${%7(L*1vTKu>&2@3elvIG*zWT5sY4Syrp57kRqEEnHlxCiML5pZ`3QZC|M;T)afeA_ z*dyM1SvH{tKbQiESqpVx0$n2^m|NS;h+HcLF)vDZ>~#&1zzAj`oGW4NAX=QbK~ofa z63!}VF?C89L17++NmO@wdND%x4Cs1n{w_^|g1Ab@t9?Nk$W?ewllv8B)dbUOA{1s- z$zQ1V+Z+~q2l_F^I-}1x4cED*k^9w7mune-7G({FP*@8P!?;Ic7y)fn^B+usI*fv( zcP5$_F&c7Bh{X5`v!ZZ^sS%o*johc|YsA)p80JasW=lcWQUb#!F#}U{kI$e}ww*i1 z1t&L5k1{~x=?R)O+;DUJh7&}tRotL#iL{Wz)>U-1L@57adx`B)wmaCaV>_R10$YX( zW%Pt8R@5`=b@NEEW%s>dD>Gj^3awa=%U+8m(FRVk?Az8bE;84ujm?XK&SAgW7N=T5+wQ)7C`|jm}ZLPZ9eqtds_* zebN<*PY61DJ-jK#UU!vm4Ei4X#N(VTovH3M^Se((trK%TEgw*TDkpa6nK^v}R>bUi zcIgy9BFqsHLh4pbOTlugj?I+NTDV-T#coWQU}1n2mRKmfFldgm$3iPh4K#*S3B;Q0 zB?Xln{I(^8!gGs@a}$6FcRbZZ!36RNi}P7% z3T0ABI^;>QK#_1Xnc@ry3M1miAu0)Z|S?PQUKQvwGb4K54q zO~Eku{!HOe*aGe1qQD?12b{vU65+BpbZA%_+EIfM5wmrz#7=3qYM94_&k zfr1X^2T16g(xs@n*n!l`ka{`sCFm2$aj`puw`M6~zF{Itxk+WT%S&KXDo=-%$y06? zBiZs2xSyu5eir^I!AfCuGUY{rl`gXrE0kFOYD$Hv32sPMyPDDh!DR(_TrA+MlUV+j z&t@)?|1paul+oK-G#*-AGhY~WO{HGnMPrmZj~iU<-a75z65;c6=CgnwQ7;=R%llz_02=%?gn#l&>^ELISG@{i_hwiNrO8E*9!oA&9LT&Dzj-9HKhtO=!5|T(s;n zRd~507tvQqh|pPTs#t^Q$w3$^30DzT<@2w!omIlz6sWdqRzHcjYf2!MV*P$`HT^I) zQzy((a9s&j3Q<&1oEXZi7Ah!sH91^1v#Ow4PB*C<`NP30JiJa_jWX`mPGIq?Q(HBz znkTSwTs2RiZfrI0dmX&G+*gf|^Es<)gt3o2CH`A2#DLC9SOa(va0@a&Rg+uIb67P9 z#sLq61I+BKf*gUT0F^+t(7jYblLgVtM9X=s+FRp6Aj#GG!fT&~j?Ck9aE*Ci5TbIP z0^MxIIf{=8I(s}k0G4|Q-L&}^;T?nzuw%QIYn=}(>^X$c*O^zC_epMHkHcC~^FBGR z5#9~!><@S{GwB~~>B3#6;rhxvK+YTFIG6Bvt{;tuim80}0~}%prXY|HP#(811!S(1 z6&?3=K?T(9IE1;|X7aEeonY)we(FKK1q?{H-Ib5LKPfQLT~C)z>BCdHqS%-g9$eZt z+QnL=U99Bo+PV6rcCNhj+O7I&K$eibto^Be2edzR`D9s>_L6j`oW9>_PwK3wu54Q< z6Efz0?N0e#lkSw$^)qqM=XCwI_NUU{(Ee2N^V*;C{cW^Ngk5@6yHg`J3FV)Y1~DMU zC}*)3toJdlH?$L@0NXZ6+iUMes zp`IzHi zbfn0Dfy$|bq-vC9*H%F{g^(VF&52j2I$Bd*Q&lsN_%NzmVLCN+h^bmO;Sr@FSb>;` z^Zrl)QlZx&AS%T6s+?hpTcMBPuO35AkP0d{`AS|O4wTjaNokA1Ng?c(S~HJ5xVz&J z5frR{xVa;1Fhm7TmB@-cD|wBeDi|g_1gr672aES8Si9`1nyRtFGEj@8q*17w1nXcF zvX+_^?SdL}ErL4tNOVGp)#km`VW8OAg{shbUX^5`sp#ftUcwO)j2J9~(xty}Cn8{x}%!>B>!OfpI*xT>T>Tk7#{`K1P zwSRx@qg^cMuR)58c*PjT*_ojhGxrNR_NiK%2UDc(Hg^a*k?}O7#`(;Le7Gh-=R_V| z6b7uYfa42ko}hE6zs}jcmB~6rClYd@*;n)-rIE_W2R5}dF z11mkHH!pUW%i)#WWBi+1N(yum!ih+}nMs3z4y2++cF>o@{G|eiIu5{qP zAsvuelOd5Yf&YfIbYrwr9{6vFs$oo^2n=*!5oD-B765_N_Z=2oi>#EuxqY8Yth@wC zQg3zar8bQBu7&O=NdcI;13Kf5H*O4A%aZ+mHu?>LrteE-Bmw^sd0X-O z?M|1wF{HU@5}jeQSWvpfrreDo$wksxPSBc~ayNwx7fq%^EuCuZSeLsgWLQ~9cU!yM zqTe*E|LPo#5dY6PX5nopP2tWaE~SR?3mWRcv8 zNz$=hrC1{<9o+)y@~%*<=|HzLj4W47j(3iU(?v$6x*@%~LORfJ)1P z-EMYVmcnoRGP1gc@K!?MHx|X8@Ed2*!AglxFK#763jRG_P+lM@I8_Q#W5&`GB{#-P zJ`yiEpYRb%PK=j4;ZKzOAYSsmc*#rSC56L5JT@IbS*CyfM!eu1@q*{Z3-*f_M62u; zd@f$_v$XpV|25LDG><5LF;O&kDG>>%B?PZgd_?gJrC3ObD8)jd(kfh|_=w^cO0kd< zQHq7hsu#RQ@e#!@lwu(zq7)00wa~tG@AS#YYssP>O}*h*B&} z)=u=*iVwT23KhvSU~=x@cP3uIOdnc;llYyBF>I%z6+DUGIRKL^M+-t4O9>u7v3ROP z^9lsvjHMhe4Y7EtK=L4qBGt`-8W=K!3sROl6+dn~!bsnP_wGO9bp(oXUD5_c<&INx$P*Ge@h$dz$SCxo+#9L0``X>wWn z)$;jswNx33s|DTBX)$?RA(cu8a!w0!O7SAdEQSnm6QOYxXjH%H8%6u-F(WK&)iuuYj+?J#~!=H22csf&DsK`5m z9eylb0@J{S<3LhT9)U446uT?U@Kz-len#fUZjNZ0W+*}hNxTydEW(^} zh9aXT;+;?wRc3~wDy>W>ROc8o6blst9Vo6bjO!+&P~(9P9KztpxUMn^H4YagIg08a z!*!N{vJCY>paa!8#tg+mMaU~LbX8R67&8ZVLG=99YIIdVFK7qcP;Ta1di28TY7C zs>2b+LUDaz7AM?cbaI8UP@G?w#R-QPot$AT6lWM_@yRYR#0`d7sJQrKml)y(!z@%> z{C$@gs3#YyQ;fymcZz|O7OGo}#R+E^3AY$D2Me|TqrI&T#~3o^qorqGTv{l5hBA0T zT6K!>OcJkBtPvb2?2~nhs}-vh8GIo_Q5w}Lu2!s4tPxb_7j=qNov=pY;{3wYDOPnt zlu+Uf1G&{HR&~M}*C7V-t5cU4>IlPihhb`5_ZUd9uEPz6ab056xGpk~VO@tK45RKa zAaY|wH=IGEsZ*psMcl<2iEF>7&h2Zt*s1rU{T@h+^=MNSmuIcA)B39Yt1l0pZhOOi+)79%mnPRPCQ0ZJU zZ1sRKUA%=(m540LvS(aF^XYBXG3s4`7r*d(&y+`@Hqp)M{=q2ypy!Ui#BaVMOH zrEXC%1}H@xn^QD(nmaR^mc*0eHb30i-%*hl}sE-j~rkzW=oFI`M$VJwld z@+DnSHF-*7W#x-;X9t%gswq#YryNbx;>D;r$f-m=sIoe5uuWECfKF+oaWXEJ9OUCV zyKvoHxVQ`n;pQT-wY$4erx(bA&Wob!=)%QCl7o!cyzK9U%OsAB;+yN{0$hZ&$`B5l zQ&ujpMBqk5Bon8JO(swmsfenbC+Ya0aY9DuX{zbjLVwe>>UeccO*LCp^^+nbhENDem0F_M;?<#VqllPNsu2n4PPkg*7+WUM&p}vt zy6EifqQkd^__#o2wo1_TY|-x3Vl|>cpM-%s=SCQu2|-o68>v;2hk)2bW8WToT+#@L z4f0@t)dEi-Ao04Hm~fS_Rs@7i*amzU78|?q_VGTtHnEmB%jr5zG|{hKSUx>14INL! z-v0W%7Z2`=u~|#(n~iT)-*VA-T)i>F`lqh99KU(VwR11K=qG24?}J_^1(lH>vwgS_ z5DiN~6@R5ThIdN15F{|~AtOxF6@Q^PLfu{*_Ndzn%>0v}qEozBF;D$n97I&CxKjMR z;)RO2>hEGdLNn%d#XA(wQ_N9+7vCTBcR_v>eF7_ZetVtAaQJkgNORVR2 zB17|>z)b>Y3iLpvTM^^aY|GeAXX`2=t-#3aq%93y`~Thkzsn$bKI5;B&9b}?T9&nh zji2X7K#4{z>j}b~c>DrFEDH2D3QTdMNuvqBV)L-2|Db%%%?qwOoSWvAlO>Yy zRE%6Sr~KMwrMW|=x{>Kq7fg4hGj+lONlaZ*I_LV_`HRcvU0uF-+4Xa$T{bkYpr|N+ zPX1*>rz63s6Qsa&Ej=NAj-jK{N6ue-{nFf_Kby1cs(EKDo;&Zn^2NF5&MTjrdzR$S zoHu9rO^H(DmMpk=UT#TA{2)z^TXy||rMaaGZk%`B67uIlVyel6%uUNnbbT z`m2}Cxq4pi(9)&jt}K@`T{&mTym50El+U|r>4L@A=U%t8oXo2hU$?kC*A2#%Uwvin z#PKD?#ghsOCzVVt&M#)#C%=fi;>kr53yX^jCIu!JPR=0|B{yDR9la1y^6QG&g_J#CXQZw{pz_ z?&bQc-5Zg|(DC!ID75|8{=&Mim*<_UbeC_|h4Ju;cz9hryfGf$p`k+iIe5}*voy=| z?+@MZBl#f6U-zOLesQN8ZrtdGo4@(X3clQ{vWyFpm;c}$xV-y*O}udf9!@c`nloEU%BB0m%8CE zq;jC#mCw52f-Bvy^jd()6+iPxk_dGXTakU#h(B_7ZpYMjN$GPFN*t7HV zzV@&iz7xN%e{FTsAD`le8!mFg#!5E~|IiJ0-R*|^TseCWyYlh2#P1iX9QpZ@TZajZ!JiH?wJ`fLUdZTY|zt!^4!SL*0Yi1J*^k6&`i*((%(KD=Ym>Ugx zSmu;K=krEMIE_JWuk%J3AEkA}c+j4@ibWiRe+_ErjbrS6*4%UN!C0e4{G6S8?1Zx5 z${*HT#pDoo`(m{O9*lSeS-74+v96T>R(H2~#Iry{dsQz4*o#wi0%karfFU2{UG`-0&S?<^^>-j}!L% z#Ty5BvTYvUfcfvYuv)Cm-(_U^x|qaLdKFb{b|jWQWY(X88p|B_i$}INrXp#EJaz|C zZx1XqQQKiQw^NF~F1uK_7h$mvRHPAlpIX+Ytj|QhqcEi3US2C7W~8=#E9aR;nuSV` z)v-ujNPcyzVC936W$Mui@2;4KMT;Ie6U13wLN5ymy-JBQj@Ow#i6*hn6Jt%2V~@q| z-5g<|q!$zTHg=ASVeTrH{45%ENbvz++mnphAx5f>Jt1ZuPqiW|H6iC20ZGqPZzgLj z{Pxh8KWbZN`!ZQ)5wkg5GJ0BG$BFQNB9Pejo!gqn^49pmM?=BJ#$d3qp`j!1NPFJS z-P@a+#%Mt&6!bN=ZH_kW*md%;jSZW=Zr&ord?A+igpz|ZLf+sl#HVupQ`k1@UWXJ_^7(XDG{MtWLG5`8j{zf1pd#Uo2R#rujT=Z_yVV%U&D{d;#y^;y33 zeuc9aE*g35-h~V1U-`>RXJ2scIcJ|A7J@v%us>dH) z`PaYPbH^=ddFR~m{@w$l_j~qv_IkcK`t?^|eYt1X*7}SIzk0N}#I&_`n^IP{!zngx zcF!|^`}&u5iHT&N_rOQ{93p*w@npjxiS(QQ`koU+q65o5J{*O#=9F9NBhC~otMA$} z)!3)szYDzJ@vp$SPk#e0e|10j`?UwamFo_J&jgQw@9b^?*B@Z1kiES%2JUs7sm2^) zDbX>u<7_7eWAAE5T2opgt!-`5m;-rU%V36^Ck}kGXP0kh>#jXt@BQ{jo8-5WAKlmR z@!Ge2ZykDP?fV~n-mqiu!K24p9$|rR8?)BJvK zlJ9Uzw*eE*o_FUH|8DwLz7#HX&;5avOzVgzwddgRr(JU6V;}D4n;OXFwl&{9j*sG~ z$Lmi{>C(S=&O;jxMFyE@a%_19N+myX&yPAq+TTp9&aG$aQ)w} z8r<88CiS0w!&=hcee~e$0i->tITzKD-uve5v-oTDWAX(Jnr_@ZX(02YBJMV*F=2e3ZW8})FZ_6wi%W6`I_O$Z_OAQH5h#B%k| z9P8(ObnPd9EN)YBwKB7#(d6E;>N6VqVP9(mi-0;dhV`FeoD%b3E(&|O)8fV8j+IiJ zKtjhcUPmH+8yg~4Imt38FQJ=r3Kg=OPdci(pp=uXbDln*1~Z=L(=d(2$i84pDBQgL zh^5b`b6TE{q}$lP)B2>|M^*Anw^50_E#Ix%983zE)7_lbP`HVjFHH3^nwrYcyn0y? z;0d$-kr*rqJ|_O>!kGp5iGB;8FBEIq(!>&|JmitU zQ&=k0*oaxzh>)kzB}i}fHX?177;H*J8WNF4Z%}sm+i^5&rv9f*J0r<6tYd=*_V3#} zyGPe9DSl6Zb!_RiS6zDk%;^Qg`(}6xtnWT~`}yhz?p!|iyi-T^?V6sN?Du-cTHhV| zs(IswZ#`dqU*+Ooop(lHMBfbGSZiP8#F2yhzuL7mxZ$I>p8m`7OHLiy&1ZQ=NvF^` z9BVzi^V8?=E5CU9n1MahydyCBKWd-Y+x+?4Pp?>h;pF})l5>y+!EG%^ziE8q&vR$w z^+@%5AbvN;?V~$Bc=E3KXAaBsN&2W0J#ldN7cbuV)8XBdJwvdPI^i7I^2Q%7FCLKY z%Y}fgC3-&`YI>5F++oAb@{3yOMqdG021^rJstJk+PrmaVVcFfmD^ zkpr7noR%)pRy+FjQ$OkH_3&bt$g$TiADrgXXxqQ9&(C5#6}fGnRQzxt=4wPE8}7Yu zM5-HYc;w0nm}!t3ZF*u+VHY>L^_it5Od=R(2>IJzym@LS2_`-w(VegSX1XNWNW^yi zvvLLr`-pL*d5Q0{zll=aN21$axbaj@VmBR=wj8^Qg zmW21QqI2&zCuQ}O{$L`+E5<`2t!#&=!BN*XVvvS+OMQ8-MXiA%joLQ zw7aD6uC@4jPdxpHKls7vr+a63PV-LpPV-Lnoa&ttDJc$27?eKH+Lku)LK``5d7`{+mbclfsZw?%`WJ$K!( z0ajabufk;?w!&u*W#q9vYi<~sX;oz23yaVmFYmB;uz*QYdet6!Cyo&3Ii;8rAAdqd zivO|KIsF=%>wf20t&Tr-qU{a0NR$)sX0XWLKt3Q%ZGJZ^I(B)yRQyE$S?Z^mR@-@J z#q73-lSDJ*qeX1L7#~Tx+_7uV=pwv8_zCeuVZr2oxRd)wE^DQOlBhj;{F6{cXDc zkKFYU?)uKdO|%@r_15a&3`Gpb?^I|+`>P|v=0C9 z)NQ+;e!i6j{IlRU$%uhROADEz^X zFSz8FSIwI@cg`<=aq$J`oKZYJuU}XHAS>ieO5@N$qo@CD{tb8h@qtHIKlx;B)uRvH z|Hs>JTzJ{JGxGELW%tNTOY-)yLjJ5_CFlO?`dk0_$WyPp{qK)I-?(}6ruFMS{pjCs zzw%7YL-*dk{F0JN7`iI*Uxz9 zGMbhR_st%Ky-Y>sbEr^w_jx5#V2Or_G9Diei=Qvzjkd*FWpt_ghg<##y}ek3C9m;f zxmMfo%Tek?87}CEVAq)k^V9;1S46)LY)aA^HN6mDFv($jPUl^Rr7X zpEGy<{JC>RSl@WONvRp#v-%I8e8z?ImfilR2Oh4fmA7rAwKpYe=;X6zU%mW}zdZW) zm*0Nxqjl>y)z@!YpJ(m$czsD31M<&VcvtP)pNF>Z{?dJyd`HaTJnKku_krVPT)g=1 z)o(ZKJ>g`+40ptrHD=bLd+XM2X#Vn0D?XJ6SqDA-^z6K;zo_{8r@N0)VcJeNQ;}I| z9nrcGH$Z41%w4bNTgN(Q(D_OvqvizT5!4r!bs67kk+01}a-v5g9s7^D`;B!k`!8|# z$7DY>rmXJwGv;8-XIqzd_gn66VJo*yn~XfFe3rk}X^RYqnn=%>55{7@{(}@rj<&{3 z^VcX&BDv9Sv6N`c`t9A@hEm_kK0DUZMnirCM^08$?}_IpE7+-KzW(yY)!b9(i~?(a zBH6t6J>G<1!-l_D))`#%cz-A-xG$90-SpL)o88?jtOe{oM|OKd`=kQWDv*L4Y+0et ztaCHCV0LHH_O~=VyK_shAsGC<51O>oHJUh)CLBke1zHjq0zrG;9 zU%Jm{wV*>h?GNwmX~7{6@7lLd&#vf-UOZyX&bA`8?@4_$I7+gV)oJq3CFzgAjr>1F zy*3?(SZt7%W`xKw!()2xFh0Gl$X(T&H`O-|4l-oBg5(!e>yq?`vn}styFKpN6x+CA zb7Dumy}3c+GPYr)BNfaLny&cZ$L)7jqF43wN8iLl7?f#uPoXQ`#>d!yTv16*u{|h* z?s%Iotxw^li_3FL?Nho*I;rQF*?)MlF6SwGq^8pbpKKV$5re{GCF zDlT_`d3ChHs!YULM^@?9OkFFj(=tyhKCSe$r%u~?n(j~H{>|iUYnX%=x*@)mqDjcZ z#o;QUq*z~+lu7ZiH7oyu4Ep8I{Iv8Bp<wMP1{;C~saS?^A@9k5(;Ms1OktOK2>5B0IZw%QBhjn5u~Vwpxa#Y#%(nEmMW$6J2U zDbpeLS9y=oPrRqK$V`QZ9)Vx%uq8SQ|YW=^SN9A)bJjyw+%2E6>p!$+S{vcG`F&+FBx! z?p7*2oEA~JG2swNXRY=}X^``_=fE7Lf6r5cxwp+kDS7|Xy~sq=d%50p{=ZvHvQI$a z5r5Te9*T@Pq~j$cAml}33WwQ811NHgw=sIc$SBCB-E5TrF&_7G-%;zbA^ogF6Ijjd zNQVoRoa|1VNc4f+P%LWw)JpOUvX1YP_gDU`a~a;mD~4OgANX(ksDgJ*t?+EN#&T^w z+kDzZV}6D|lH-Pk(M?Bs3?G8zCm4k?;WYDy{XvtKO-#CM{$Q5nYjWCPsqq9&qaRXT zPm|NIZD=SZm}#}%5e$akqYpNeM%1}5$oKOsIlG#hAoooQI*Ws8R$EpoQyUvN+b|l^ z7-I&>yzY!mn?nuI;zV`g1H$;N&5g`4_}CdW@9x>zFg_Hm4_d#^=KEP2F-IEcMZh;Y zBGvNLM>b1S4Xbagy6M9YdF>j7b0->Hv-QId_Dcx;xcY2t_cVJRe1AOFYXLHO*WcGw1b>) zr+15FFa;_{#F|3Q&3rx_C|(ZQ!cAW_H8*d_L`|WZ&E_yv%BM&tY2)W16rCx2H&2TK zr5A&|mQdrSjgl+hPAJk8-m;}BoXwTDHanmHdt1}Zf8_H)?HPJU#s)m?uIy`R+Pbm6 zzOmu+2Gks}S_c0%kxB0{t6tP?PzgHg=txYh>;C9C* zUpT^k{d|s&7-?;3+T8r!#~bO>NfA%zC{5f}=<8t4(=Vs>73-5vJ9bCH(iomU+-hC^ zpZWiuBp=K;x((*pE`&+=z5P!d%Rljv#5ZXgv#s6!9>b zc*-yPn+@0*50`% zF}wB9SD_ENpI_fHzjM-k8XT+^S9An3_>GEw*I5yf-yakJ=s=EN_PI7``-*7 zh@iu?k8EH2mrKTF`LnDONxkwfduaXs6ETM!kis4O@SclCW%Qu4=kGdk-oqb%8$(fP zf3@bGANNc0c0((bIc)Z0o4;#y$aY%ytywamdr~*6HD%a&cYS!+5&faP<)I5lW_Gh8 z-Ol{OySw3}itc^mwpo3t9DM1+uYPsUacrKWM;e}*Hw4{H`jDA_*l^q)ZX&JwKD=cV zUEWC6)Y4~m+Na1o(UyA)lF=RxxMbz02S%C5*N^_7N0KMqiVj=y?w7C~M819U{J~wk zsr1>>3hoY`h>>;hxywdrch-~I_v}aZKztB6^pCj{d-_tWh_~CwOP~IB3^}hXDC{LU zzTQRGzJiO2$l-rpSJYc`a?bqqJBK^x_;b&@>%Aj#)XVcHWl0(Tu#5lv@lkRPK7To# z7RecY>55N}k#pdwpXGKrDd*ejvwJ0bq)gt$_kMhI6k@Y?J$Pz{SM!FPf7knvaYrJD z*55HP2~VHCoU?9u_b@rfw!OM|xJPpI8b_JvfsY@&I47Ok=sNu3r@kZO%je6dXQx}O zo|N7{T)E43hKt&{;V(ZOp3y}_GU?8Zhgr7Q>a=|QcImioNyyfdciqcdA@_|B=51%@ zW_bS>Vc!8BRq?%j@7=q*>AexsdxeCwO+rk%BGOedw|rf_ulV4vx)lq|Nh_iJx}h;IcMh1ZIhidXU@FG8(-fuVf-7r z8xU~BXuff*tZ-zwi|9j(fKE{lzx+*oYlq2-d2hRHGk4!=RCauzD}X9_{<0uyU3{am#!Q(xzi82-q8FZ<@?dt9uZvbx z34AP!tj>Pn38|Ucxw+XHDG8DO&Z=atRZwXhoLpR8-LQh~jHM7%T`tse$*wjRM>VE? z$vRs`ybs&~k_xPOv&Y9`tu$e)dD|D|9~Wc-UOM5Nxw+xw-nWN2gN7Dkx^n3K`(0pq z6-=BG%Mg!8l79_R6!+_&BZHGCt|kCyX+IPwjPw~~OSdx3f=F98)Cd7mQez1dOa;*7 z3@BWT#?-GYmOL&i5iKJ0fmub@SqqRC+I>9jelI1ko1S9gHQzwob~Y!AjF6XZ~uISh=k|MPPc(j4_LDMoDqa3`<)}#Eg-Z* z*BRQaAe_f+xn_~F(3LG-k9~*bn=Jf4I)qO98M-q_wRdX4?^v}5sSUn=#WA?JfOL#| zd`*>|bWWRHUJo4=Qnx`%cb$iN4bo%u`vFv>H1#+J*B^1E;Gch?!! z_mOvhz0IhwY5LP0M42P!?5Mp*nm6dMX&Zh#R$VQeMN0uA3*KBUt_9_uG;;jo;zUqd zzlhj4F&?OAu<<#notBG3(YMgQRLe0LBIh9HAjBQOJOh;7aR_cif;14vGW1%kHVw2% z7PAGuMK~y)mM=8^C{VyF21S^lh?POh3fY)kDOlu}IygCs(eM+HdM1X5B853l9A=;* zO=)Ptfao2VKVmZZPo7}2-NL(fgYx?lOmy*BjrV{TT?}$JOsAx_EZ^U~Bq-v5-MMt(0$zz*0aphFk}9A3P3i2!OJVdt1&uYg@-9$(DnOn|vF=73lrn9;_(0a9kdU$y#?UQqzs!k#;ogLVEW^ z3DTRtyp8nAHw%!SFQ10AY3+kZ>t5I8Vx{ZU!dQ3~$x`RFhA8>1kw5Zlc7#3 zA56FStYd+rk=cNuCgqFK!*JP_9 zoM@gfW$Dg_dl>Oerpv#s7$8CzZ;noyy5(Fa)$B6t$WK&3=w#M&z(K;r-Gk2lRSNpAeMdYm6Q z9jQX|j&{=>%a^}hIt)R;ETVJLOVv<)Epl_ktaNuD{D1`vdAAX_CmYs|k8y^;HEzQC z76_!O*9Z4;fWRwj&eqEiSdT48bjAHz{YSpC_c{c|Lo@rT0QP0=`}jwPTj?^kJA0>i zV&x1!OfYmvw2O}AGweAKgD_hsno^p<+g)ryS>cn4A29(60rOpyq--J-{Jz@>{CKm7 zDEA}81^TO1xfY1f7k@kW!t+(aK@Pw@&cLvo;r9%U$QSL|gm;L8f34JW5KYd-792#A z<1r4xoR&|{g1c&fX1VY)rwG{SBQEC-U^g>debSW-IHd;lXEc{a&kEO_6u1c2E00r} zjX|CUdi#MD`vx7xNS2XrEfyuu9H^?opk}B$cMhs~r0;uchcs!a@AK&MN$0MiS zUdLX_;qc2>^EL1dK61Lc8d*JlTOc#Y`|a5X?5tz{#JzsRnzSJ=d+(aKi`XWMdB~ z)+>Vh4C`SqeD{)x&=7KS2j-%VkZDA{{zG$6J&EIUtvym~!xVCC)JPQk_rf`D{Ge<> zXHB1nibAF;i`NN&j%)))5tU&72sfCu=73H7T}~V~ATv8PSQ(tHMm;{0Nz=HL0U258 z{lkW3s{k+=#_?$;NHVf=2j++n^yNAN-1|oZS0{ULT1IA;prhTP9@x#_9Uq;UlbHq~ zfYt)g0ae+24lE|P6XH#(>}*|jPHsj>7FH@$0%sYVor4z;2DUqkd*TV)T5gV=9pef% zM~4%_0HA4fN=wU53-`P~N6>|X@520KRR8Cu;RIa-pf)?>GBVN!g$|(lx=09w3~PE$ zRBC1{XiWy;jKX}K!KX{OwK&jxhB8RV;DN;H#C6AH0zoJ}9YqOXjiF%s5|;=p4ml=D z3p7y&P75qi2TlWYPuRim#5~SUVYHl?CIIwE#hIN$`(=(8l$}nrdu+d~f!Wxn12a{U zJS;7fh!AObe_RXH04X^Q6wmRQBJPhU83A$tbR_GNw8*f77;hL?%EYoF(2Q;^M+W z72~ZV05iHqC`tmjiacSQP+-f)YfAK|!F&M) z=~VcFT#%Q|2x-xrf>fdkyYU8#ie}H=Ijdj*1YL#sSrE*hKW859j4xFF zN~*e+H{QpXw{hOO#C&6+$^*CY0OI zg1u}#_aT*)m29r8@IqyNy$ynLH5mL#P8hg$Ij*y1S1In#uN-~#)#asI%hs*eGah}_ z4Goo7ZrNB~E|m2tM_&yf!RDRI0hzAUgWijrkQm+EID@=m3u={+W zP?iK#9plnsyxmINZZbGkrBq%CfLN>(RLYw+3n0;B^%m@8-&6^3F2-!yT8UFq%2ix< z?&1pl`cF#mxT#=Gqu;O4mz0#2rGXJD{3-oTm|;r+bTBUGgMf?aJU5v zb(#tw4=qpedmJRHy66g1AB{volM56*b$lO4ZRUux~>>NXnV;S=K% zJ7~h3W$$m?{^MVUD{U4vP*QJVaoo{0DC4n(>%KqLa`on&wk{JqghUi|s(oUz9(ZQS z+OLnE?{EXAM;kn7dwQt7GUBF<+{Xx^v9R1 z`}Sz_U5k&>m%E1zA0ApXa+ZZeb%{{h_|q3{O{dS{^p?DJ%CjcL1{ktkySWddXjxJFIdf zz-YT+dC#4>?gZ=^(O^xEfw@K7t8Q6h0Wa1qI0OxvyXBnGCdXna(!@Ik4qmvex+4LL zm$+!(oOxfhbXpSteQOdN`V1+otT84LqYcQ)`=+tYmISn16R+~gnx(Hd^&>{*96zJ- z^c}e$R)pc*5&6(Z)$Nx4V4z!#f9t?4DMeA^6wzzQ%3m*bCtt^-t)z1!$^mTEc?O^r00Fy1GZ=lbbJEVD&eeTMa*c zJX6=l5!>kGZlPUhxn`~jZ}O(=IzZf*di*6bmFWkL7#1#QlT zt~yu;nECK5QD=oJ!~v@}l2oK@6{sjQFJ?(xmXJP=F)z;v=h}4H zBRJt9M_|EAy4=A+t|KlY0?5q{BmYmH2&tGw%|U0&h7z1EFs=(PDt8o@i6_XQ(k@-j zpn-#jCFf>^I}mTm9vL2V-$-td3t(D!T{HxbB=j3PoXf$Y18I!eI?Mqw1JNv>B@N>y zd61aYWC2QfABas*ABSOUey|%WVJ8Tg5_C!*LLL@%nEB%j$Z3LL&C1Ty>AdN|a_?9D zXPHTti?XcDOb=2wbD+F)K(^_2*K(ejnb)CEyJtx`u{t4Ji4Wnry`7RgF@qS8p6P~n z6OpOPR#GFOm&>`SPEcPh8Clswva*1e zalkuP7m7vQBr00)I^1A{0x>_Foe6c8+FH1V}ch*AVTF6psW<(RnR$vlhxz#<~$-0L2p9n$SzxeNql3vS>jeL@9;V1qJh;ibNL#22bI9 zXXLi|#m_wB1VYYRB+R1{5jcIlAfc2)0wB5GR4ytOz$O=33-X|&6P;9OEXbd^sTeAB zK6)fm^z!D-U6NlkCXjej!K`I3&zZ^12k2vw2sIXui1$$N#F9mGXLEC0I8~7ax;Ugk zcr)E6k$b~$ruI~sL` z_5UF>SCp5o{JIi4hzQIxzQO`kkhKhzNxyNUUezOahw8$k7GExJECVXfDs)RbTS4q+ z#PU#81?Yg5vXalaM@4^tLie&IC85OfsB6`id|pz5A5T#0xlL#UKc3}geaS}srFUl!N6L!cH6LFPN1Z+Prno1$L}U6 zeTkq)rv$=k3Us}{sWK`BXe7$|;XY-3DOE#Agfb1wO=as2=}Yzc4UV`hUtucSxS_mM z|9l*==FJ<|>&v)O7tRG*BE2pV-)~!KNvWP&=fW9D=Vsp(Z?VD$hl#k-O`m+~!L_qO zDA81>0w)U<-O!E8%Qt<(Jv_{PYJ(cLR5In+n``^KVc?K&*?_PHri#kV-%~wr z?#{moH+@-xk6-4B#)V4Drp@K$Tq%0&pja+XU#19UF7!m3cHZ~l7nPMuL%7b-{XRee zo)2v}m3O02ZhiUY%E}MWd&?}_J||UHi??Jh-@0Y{!7l++z8sciUMo1L9eD?fR-?9W z7z>YzjZf;AlA4;5oDdfk8sO<5Bym^Aj-U9%GtWIgXU_A}pPcl_$eg4g4@b315O{1N zxbnukAAI!L=XieohELYKvtr@%lgAFz^^XbiauTDs%SVr&JPk)t?5I9_=G1YvBS63A zr5R%f1i1*2oL~~oaCGKZuEdKA6Km^6lmHV)_WIE|FZqF6|*1g z-^VeO^HlC&=b5qN?yUyq2f{aUi@sbMi5VqfeX>$G;%T z{1Gqx`su8kzK8%A4%ZD+YgPHY!2z%%V`abXWO@FOU}u1hgR$PJ`EudN5YY=^Crn+n zTNe!SRSWp9fT{mp%@?!N{WQezvbn43v!_!%u!JA4m~Z{@@swz15&t8&(5<6y4G(tW zvEEGE(RLLL@y9M*sEwU9+vX*ziKNAVPe=P}1?U*G3+?6)3kLU9Ge%ZAj<0<(0UI8Y zv4QQ+RgcGLncUiaac5p`A5?-;DH(5^{r0u7k!~u+8m}JRFnd^}yM}kht#!g<<@|3O zrYCzjsNe_^1Amm(Ghe+nImHwADjB=Gg)U=fS64SYG$k1hE|Tru=}imn3wBZS?p)ik zL%;mEch8=^`wtyATsWI0rgaVX;a?ZS=Z^H7%jJ|zJ7gjvWFOr>4(N6>i+!g=S^^W#2&=kCpQ-k z4t7)Xah%yPXvmUp>)Ta$rVc#Q{2~5`hGY_)Lhdix)?&jhEK}po*C(d>Yx{9`oq~rh z{pDI$S8Lrj%N~q&;`t!_k39;%+LV;!)C{1z!&NKAW+y#4p`R_Ge>$Wf``eOIddM^h z3Q;VCBFvNs?ebp-qH{Q?lVR25b^lJ~?E4bQ?5RUQp#%^r1RSCWME~1?iGB=UMaJ1v3i#7|kc8e{G1@1}>O_X3WU?CRE(*D{&wP1JOD-iVbW3{ zsfsZ5;4Lx=oeaD^rT6$57Y9c?Z1`|+_lfrPru9V!-}ua&sBF-JgKzS<=jTVg09xf4 zKmN@xzm3`nS{*cW;oi%4qi)esX!K+6pR`0HnxMt8-;9zPJL#0Qa7UA!bQ!wx=Sx;r z!F9}MCvMpo>GtT>a~+s#<228ydvB5bf~+5wJ~Iz>$&9h69HI-4TVo-&XuQ&1ISVs} zCuemG8S$PWjwsiJN$Z*z<&iaK%LPXH-2c+H2@!g5 zZp4B^Hxc>}RP2hgUA8#5F<3OI?=?$u96T8;yxL>Xr&kgf=@k4>`AtR&o=Hz{Mx z+5^t9yv6g8o%aa5!rI;Z{lWyS1gjiEp4taM4oheC<~eb+b}f1)&pSvf)on*Vo*F?C zP2VBQ{v^rW1Ft_6OcICaN8USywQI}m-88ylsTZ&>fNItKzmDbH&zK|+#IXz$-kgCs zxyXi09!S{}0|pJG2t5Ol>aqq7&O#J!90(<+`@g5Xwa@^}1RPpsCsF?IBMZNg0x;q! z&CF8&D-|=9bdn)QD9S_ZDV7TZv3!u*a}2~(21ijYU{x0_S%|ForHUoQZJPVyK$`e1 zL0VL}WN;zw7zYBf74@b)d;#$mT5l)-0pmZGI+$cG)-izNYAt>aIj(|(N0FVveHE&U z{{Ja1mru2jC-go;F0AnXK5{CS^E_7*i1x#)9}g$u?oZ1`_JyUy za(m}ooi7nLw@it5=RsWGI6Bagh|3@9TnTpGEH%BA3~fFO+Z{SjEsMr&D^}x;g9V|C z>S)?IGYBsnZVq=&mQLwoCvO~l|6xBndHK6#_j%jNmd$gsJnUrSy2*(ycCz-}QK61@ z^32N_P>-oG+p&UZN37w3G#;7}DDVO>SuL{l&JRy`i9||W7rq>i8w6>)Q?+3X_5y;m zUOD*gP`n(FmgZecb&evJCYu#wP5GP@STEDC|D*HRn#r+R(D%$8*M3|!GDHpfC-cv{ zS3i;BBZ8i4erocFM1Lm%&3IVdT^vMVIX{y9GblQQW=gU3gK8BFz2ko}{cMR?cI_$Y zZ%gji%c#=ij2^iN_V6J6j>Sxbp~$~$n=y)K@Ld; z-lg{d)CfTkFMrPb78EO33Q%VgUY;H`089?GXlGe?xw3_kC3=vMs-W8;G#Hh$D}`Zk zQA9PulLrMP``$FB9Pjm+T$brSrVM%^Q0Xa`N+>`hlRz0Hij+ahMLP$53oo2_VBGhn zapiciZhAfC)*x6$%3`pX31zUNq=#6C_&<1^q|%l}gA&my^7pu<{lmbo@Jq+8C*dp0?pcyPZtT-(l!tq?r23FPBVqY1aFv?^qbA z9`yNn6PCFG(K6>UYRfGd&T4^ZPVN8LuJ#Zjf$2AWUpFJwei?-ap#njw2_5z7p9p{m z(jjj0ho{YqbV{95UT0yXbMDfe%~nRb4u9|0tJv{@y6z8cJl$$1Jtls2p$i!Mkorv9 zf5(c|v;b&sLeL9;8pDVbo#Gdt28=#7fNFhpuLC$AlvDTvYZ@8l*6+#E7DjpHHqhO+!{@Dr@&L&%K z{{Yw)K5=E85iWf;sk3>TAGB%5j1Mo8f1%BG`_y_k0rDE}`!~YR&St%G;2rRSOZcN( zTESb+?OZ~N9lVK3v*nI=N;N{cm|-CF5QeR$0hjDJx?@O8=A; z%%(})_CLhIOe#St0G`g8m7dHER%2B|#Kf8ETTzmYMIm!mMrs15gF{qrnSzB80c#p6 zM9w9dm??7+PKeLQR!RWMuR&BD;#65$P)Vq0L%d%I

<(Btb8evmOD*fdj-pTN5+p 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 import brazilcep -``` - -Now, call the `get_address_from_cep` to query any CEP: - -```python ->>> address = brazilcep.get_address_from_cep('37503-130') -``` - -Now, we have a *dict* object called ``address``. We can -get all the address information we need from this object: - -```python - >>> address -{ - 'district': 'rua abc', - 'cep': '37503130', - 'city': 'city ABC', - 'street': 'str', - 'uf': 'str', - 'complement': 'str', -} -``` - -The CEP always must be a string. - -## Timeout - -BrazilCEP also supports set a request timeout. Use the timeout option. The default timeout is 5 seconds: - -```python -from brazilcep import get_address_from_cep - -# set timeout to 10 seconds -get_address_from_cep('37503-130', timeout=10) - -``` - -## Proxy - -BrazilCEP also supports proxy setings following *requests* pattern. For more details, -please official *requests* doc [here](https://requests.readthedocs.io/en/latest/user/advanced/#proxies). - -```python -from brazilcep import get_address_from_cep - -proxies = { - 'https': "00.00.000.000", - 'http': '00.00.000.000', -} - -# set proxies -get_address_from_cep('37503-130', proxies=proxies) - -``` - -## Unsing differents API's - -!!! note - - BrazilCEP was developed to integrate on-demand queries into web pages. - Querying CEP in bulk through scripts or any other means is not recommended. - -!!! info - - BrazilCEP is not responsible for the functioning, availability and support of any of these query API's. All of them are provided by third parties, and - this library just provides a handy way to centralize the CEP search on these services. - -By default, BrazilCEP uses the API provided by the [ApiCEP](https://apicep.com) service. -To use other services, we must indicate the desired service when calling the `get_address_from_cep` -function. - -Begin by importing the BrazilCEP `Webservice` class: - -```python ->>> from brazilcep import get_address_from_cep, WebService -``` - -Now, call the `get_address_from_cep` method with `webservice` parameter. - -```python ->>> get_address_from_cep('37503-130', webservice=WebService.APICEP) -{ - 'district': 'rua abc', - 'cep': '37503130', - 'city': 'city ABC', - 'street': 'str', - 'uf': 'str', - 'complement': 'str', -} - -``` -The possible values for the `webservice` parameter are: - -* `Webservice.APICEP` -* `Webservice.VIACEP` -* `Webservice.OPENCEP` - -## Errors and Exceptions - -BrazilCEP also supports a group of exceptions that can be used to -handle any errors that occur during the query process. - -```python -from brazilcep import get_address_from_cep, exceptions - -try: - - get_address_from_cep('37503-130') - -# when provide CEP is invalid. Wrong size or with chars that dont be numbers. -except exceptions.InvalidCEP as eic: - print(eic) - -# CEP is fine but not exist ou not found in request API's database -except exceptions.CEPNotFound as ecnf: - print(ecnf) - -# many request exception -execept exceptions.BlockedByFlood as ebbf: - print(ebbf) - -# general exceptions -except exceptions.BrazilCEPException as e: - print(e) - -``` diff --git a/mkdocs.yml b/mkdocs.yml deleted file mode 100644 index f970563..0000000 --- a/mkdocs.yml +++ /dev/null @@ -1,39 +0,0 @@ -site_name: BrazilCEP - -repo_url: https://github.com/mstuttgart/brazilcep -repo_name: mstuttgart/brazilcep - -edit_uri: tree/main/docs - -theme: - name: material - palette: - scheme: default - primary: white - accent: yellow - logo: static/logo.png - favicon: static/logo.png - features: - - content.code.copy - -nav: - - Home: "index.md" - - "install.md" - - "tutorial.md" - - "migrate.md" - - "CONTRIBUTING.md" - - "CHANGELOG.md" - -plugins: - - search - -markdown_extensions: - - pymdownx.highlight: - anchor_linenums: true - line_spans: __span - pygments_lang_class: true - - pymdownx.inlinehilite - - pymdownx.snippets - - pymdownx.superfences - - admonition - - pymdownx.details diff --git a/pyproject.toml b/pyproject.toml index c119ce5..0b7b08c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta" [project] name = "brazilcep" -version = "6.5.0" description = "Minimalist and easy-to-use python library designed to query CEP (brazilian zip codes) data" readme = "README.md" license = { file = "LICENSE" } authors = [{ name = "Michell Stuttgart", email = "michellstut@gmail.com" }] requires-python = ">=3.9" +dynamic = ["version"] classifiers = [ "Topic :: Software Development :: Build Tools", "Topic :: Software Development :: Libraries :: Python Modules", @@ -30,7 +30,7 @@ classifiers = [ "Natural Language :: Portuguese (Brazilian)", ] -dependencies = ["zeep>=4.2.1", "requests>=2.28.2"] +dependencies = ["requests>=2.28.2"] [project.optional-dependencies] @@ -47,34 +47,41 @@ dev = [ ] coverage = ["coveralls>=3.3.1", "pytest-cov>=4.0.0", "requests-mock>=1.10.0"] -docs = ["mkdocs-material>=9.1.6", "mkdocs>=1.4.2"] + +docs = [ + "Sphinx>=6,<8", + # "alabaster", + "readme-renderer==43", + "myst-parser>=1.0,<2.1", + "sphinx-copybutton==0.5.2", + "sphinx-autobuild==2021.3.14", + "sphinx-autodoc-typehints==1.23.3", +] + build = ["build==1.2.2.post1"] [project.urls] Documentation = "https://github.com/mstuttgart/brazilcep/tree/main#readme" -Source = "https://github.com/mstuttgart/brazilcep" +Repository = "https://github.com/mstuttgart/brazilcep" Tracker = "https://github.com/mstuttgart/brazilcep/issues" Changelog = "https://github.com/mstuttgart/brazilcep/blob/main/CHANGELOG.md" [tool.check-manifest] ignore = [ ".*", - "test/**", + "tests/**", "docs/**", "bin/**", "*.yml", - "noxfile.py", + ".tox.ini", ".pylintrc", ] [tool.setuptools] include-package-data = true -[tool.setuptools.package-data] -my_package = ["py.typed"] - [tool.setuptools.dynamic] -version = { attr = "my_package.version.VERSION" } +version = { attr = "brazilcep.__version__" } [tool.black] line-length = 100 @@ -97,6 +104,7 @@ exclude = ''' [tool.isort] profile = "black" multi_line_output = 3 +skip = ["docs"] # You can override these pyright settings by adding a personal pyrightconfig.json file. [tool.pyright] @@ -108,3 +116,7 @@ target-version = "py39" [tool.lint.per-file-ignores] "__init__.py" = ["F401"] + +[tool.coverage.run] +branch = true +omit = ["tests/*"] diff --git a/tox.ini b/tox.ini index 5e72f3b..580770c 100644 --- a/tox.ini +++ b/tox.ini @@ -2,7 +2,6 @@ requires = tox>=4.2 env_list = - pre-commit python3.{13, 12, 11, 10, 9} skip_missing_interpreters = true @@ -11,11 +10,3 @@ deps = -e ".[dev]" commands = pytest - -[testenv:pre-commit] -base_python = python -deps = - pre-commit -commands = - pre-commit autoupdate - pre-commit run --all-files