Metadata-Version: 2.4
Name: emitti
Version: 0.1.0
Summary: SDK oficial do Emitti para Python — emissão de NFS-e
Author: Emitti
License: MIT
Project-URL: Homepage, https://docs.emitti.com.br/sdks#python
Project-URL: Documentation, https://docs.emitti.com.br
Project-URL: Source, https://github.com/emittibr/emitti-docs/tree/main/sdks/python
Keywords: emitti,nfse,nota-fiscal,fiscal,sefaz
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.28
Dynamic: license-file

# emitti (Python)

SDK oficial do Emitti para Python (>= 3.9).

```bash
pip install emitti
```

```python
from emitti import Emitti, verificar_webhook

cli = Emitti(api_key="sk_live_...")

nota = cli.emitir({
    "prestador": {"cnpj": "12345678000190", "inscricao_municipal": "1122334"},
    "tomador": {"razao_social": "Cliente X", "cnpj": "98765432000110"},
    "servico": {
        "codigo_municipio": "3550308", "codigo_servico": "01.05",
        "discriminacao": "Plano SaaS", "valor_servicos": 499.90, "aliquota_iss": 2,
    },
})
# nota["emissao_id"], nota["status"] == "QUEUED"

cli.consultar(nota["emissao_id"])
cli.cancelar(nota["emissao_id"])
cli.substituir(nota["emissao_id"], { ... })
xml = cli.baixar_xml(nota["emissao_id"])
pdf = cli.baixar_pdf(nota["emissao_id"])  # bytes
```

## Webhooks

```python
# no seu handler (use o corpo CRU)
if not verificar_webhook(raw_body, request.headers["X-Emitti-Signature"], WEBHOOK_SECRET):
    abort(400)
```
