Metadata-Version: 2.1
Name: sympla_tools
Version: 0.1.6
Summary: SDK para integração com a API da Sympla
Author: Maicol K. Oliveira
Author-email: tbh.maicol.oliveira@sympla.com.br
Requires-Python: ==3.10.14
Classifier: Programming Language :: Python :: 3
Requires-Dist: ecdsa (>=0.19.0,<0.20.0)
Requires-Dist: eth-account (>=0.13.4,<0.14.0)
Requires-Dist: pysha3 (>=1.0.2,<2.0.0)
Requires-Dist: web3 (>=7.5.0,<8.0.0)
Description-Content-Type: text/markdown

# SymplaTools SDK

SymplaTools é um SDK para integração com a plataforma Sympla, atualmente incluindo funcionalidades como:

* Validação de QR codes assinados com ECDSA.

---

# Pypi

Este projeto está em um repositório público, e tem como objetivo facilitar o uso das funcionalidades da Sympla.

https://pypi.org/project/sympla_tools/

###  Também disponível no package registry do gitlab

https://gitlab.com/symplax/sympla-tools/-/packages

---

## Instalação

Para instalar as dependências, use [Poetry](https://python-poetry.org/):

```bash
### Pypy
poetry add sympla-tools


### Package registry Gitlab
poetry add git+ssh://git@gitlab.com:gitlab.com/symplax/sympla-tools/-/packages#0.1.5
```

## Configuração

Para validar a assinatura, é necessário definir o endereço Ethereum conhecido (`KNOWN_ETHEREUM_ADDRESS`) como uma variável de ambiente. Este será o endereço usado para verificar a autenticidade da assinatura do QR code.

Configure o endereço Ethereum conhecido com o seguinte comando:

```bash
export KNOWN_ETHEREUM_ADDRESS="0x0ff5a47F678e1E490b9c467631Ab84Dc1665a7eA"
```

## Uso

Após configurar o endereço Ethereum, você pode usar o SDK para validar a assinatura de um QR code Ethereum.

### Exemplo de uso via linha de comando

Para validar uma assinatura via linha de comando, execute:

```bash
python -m sympla_tools.tickets.validate "ASSINATURA"
```

Substitua `"ASSINATURA"` pela assinatura que deseja validar. O SDK verificará se a assinatura corresponde ao endereço Ethereum configurado.

### Funções Principais

- **validate**: Função principal para validar uma assinatura Ethereum. A função compara a assinatura com o endereço configurado e retorna se a assinatura é válida.


