Metadata-Version: 2.4
Name: iptuapi
Version: 1.1.0
Summary: SDK oficial para a IPTU API - Dados de IPTU de São Paulo e Belo Horizonte
Author-email: IPTU API <contato@iptuapi.com.br>
License: MIT
Project-URL: Homepage, https://iptuapi.com.br
Project-URL: Documentation, https://iptuapi.com.br/docs
Project-URL: Repository, https://github.com/iptuapi/iptuapi-python
Keywords: iptu,api,são paulo,belo horizonte,imóveis,dados
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.28.0

# IPTU API - Python SDK

SDK oficial para integração com a IPTU API.

## Instalação

```bash
pip install iptuapi
```

## Uso Rápido

```python
from iptuapi import IPTUClient

client = IPTUClient("sua_api_key")

# Consulta por endereço
resultado = client.consulta_endereco("Avenida Paulista", "1000")
print(resultado)

# Consulta por SQL (Starter+)
dados = client.consulta_sql("100-01-001-001")

# Avaliação de mercado (Pro+)
avaliacao = client.valuation_estimate(
    area_terreno=250,
    area_construida=180,
    bairro="Pinheiros",
    zona="ZM",
    tipo_uso="Residencial",
    tipo_padrao="Médio",
    ano_construcao=2010
)
print(f"Valor estimado: R$ {avaliacao['valor_estimado']:,.2f}")
```

## Context Manager

```python
with IPTUClient("sua_api_key") as client:
    resultado = client.consulta_endereco("Avenida Paulista")
```

## Tratamento de Erros

```python
from iptuapi import IPTUClient, NotFoundError, RateLimitError

client = IPTUClient("sua_api_key")

try:
    resultado = client.consulta_endereco("Rua Inexistente")
except NotFoundError:
    print("Imóvel não encontrado")
except RateLimitError:
    print("Limite de requisições excedido")
```

## Documentação

Acesse a documentação completa em [iptuapi.com.br/docs](https://iptuapi.com.br/docs)
