identify-ao
SDK em Python para consulta de identidades pessoais e de empresas via NIF angolano utilizando a API Identity Lookup.
📋 Requisitos
- Python 3.8+
requests>= 2.31.0
Instalação
Via pip (após publicação)
pip install identify-ao
Desenvolvimento local
git clone https://github.com/omariscode/identify-ao.git
cd identify-ao
pip install -e .
Uso Básico
Importar o SDK
from identify_ao import personal_nif, company_nif
Consultar NIF Pessoal
try:
resultado = personal_nif("12345678901")
print(resultado)
except Exception as e:
print(f"Erro: {e}")
Resposta esperada:
{
"fullName": "Morgado Andrade De Melo",
"address": "VIANA, NA, CASA Nº XXXX ZONA YY",
"dateOfBirth": "2000-01-04"
}
Consultar NIF de Empresa
try:
resultado = company_nif("123456789")
print(resultado)
except Exception as e:
print(f"Erro: {e}")
Resposta esperada:
{
"companyName": "UNITEL, S.A"
}
Tratamento de Erros
O SDK levanta IdentityLookupError em caso de falhas:
from identify_ao.core import IdentityLookupError, personal_nif
try:
dados = personal_nif("invalid-nif")
except IdentityLookupError as e:
print(f"Falha na consulta: {e}")
Tipos de erros:
- Conexão falhou: Problema de rede ou API indisponível
- Resposta inválida: A API retornou um formato não esperado
- NIF inválido: O NIF fornecido não existe ou é inválido
Estrutura do Projeto
identify-ao/
├── identify_ao/
│ ├── __init__.py # Exports públicos
│ └── core.py # Lógica principal
├── pyproject.toml # Configuração do pacote
├── requirements.txt # Dependências
└── README.md # Este ficheiro
🔌 API Reference
personal_nif(nif: str) -> dict
Consulta informações de uma pessoa pelo NIF.
Parâmetros:
nif(str): NIF angolano da pessoa (14 dígitos)
Retorna:
dict: Dados da pessoa ou informações de erro
Levanta:
IdentityLookupError: Se a consulta falhar
company_nif(nif: str) -> dict
Consulta informações de uma empresa pelo NIF.
Parâmetros:
nif(str): NIF angolano da empresa (14 dígitos)
Retorna:
dict: Dados da empresa ou informações de erro
Levanta:
IdentityLookupError: Se a consulta falhar
Exemplos
Script simples
from identify_ao import personal_nif, company_nif, IdentityLookupError
def consultar_identidade(nif, tipo="pessoal"):
try:
if tipo == "pessoal":
resultado = personal_nif(nif)
else:
resultado = company_nif(nif)
print(f"✓ Consulta bem-sucedida:")
for chave, valor in resultado.items():
print(f" {chave}: {valor}")
except IdentityLookupError as e:
print(f"✗ Erro na consulta: {e}")
# Uso
consultar_identidade("12345678901", "pessoal")
consultar_identidade("123456789", "empresa")
Licença
MIT
Autor
Omar Rodrigues - omarscode007@gmail.com
Contribuições
Contribuições são bem-vindas! Por favor:
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/TuaFeature) - Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
Suporte
Para reportar bugs ou fazer sugestões, abra uma issue no repositório.
Release files for identify-ao 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| identify_ao-0.1.0.tar.gz | 3.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| identify_ao-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.1 kB
Release files / identify_ao-0.1.0.tar.gz
| Download URL | identify_ao-0.1.0.tar.gz |
|---|---|
| Size | 3.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1b0ec0055841e8e0299ae7eea2beef7fc29463ee01fbcfd39740062badd64ebe
|
|
BLAKE2b-256 checksum How to use checksums |
ddb122e91ccec6eddea1d8b6b99e71e1fb909eee3647bf744a80b943bbe62ab4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / identify_ao-0.1.0-py3-none-any.whl
| Download URL | identify_ao-0.1.0-py3-none-any.whl |
|---|---|
| Size | 3.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eb431d282cc35919049b274015feb720854b5291a47c26eb1703e9f4343296a9
|
|
BLAKE2b-256 checksum How to use checksums |
fcae9fad72ef275d3bffcca4a46dab1f30927f772790be5fcbb1e1a719270241
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|