Metadata-Version: 2.4
Name: idbio-sdk
Version: 0.1.0
Summary: Python wrapper for libcidbio.dll
Author-email: jonatasperaza <jonatassilvaperaza@gmail.com>
Keywords: biometria,fingerprint,cidbio,ctypes
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: Microsoft :: Windows
Classifier: Intended Audience :: Developers
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# IDBio SDK em pacote Python (pronto para Django)

Este diretório agora possui um pacote instalável para usar o leitor no backend.

## Estrutura

- src/idbio_sdk/cidbio.py: wrapper ctypes da DLL
- src/idbio_sdk/__init__.py: exports do pacote
- pyproject.toml: metadados para instalação via pip
- examples/django_app/: exemplo de serviço + views + urls para API

## Instalação local do pacote

No diretório python:

1. python -m pip install -U pip
2. python -m pip install -e .

Teste rápido:

1. python example.py

## Uso no Django

Importe no backend:

- from idbio_sdk import CIDBio, RetCode

Arquivos de exemplo:

- examples/django_app/idbio_service.py
- examples/django_app/views.py
- examples/django_app/urls.py

No seu projeto Django, inclua as rotas do exemplo no urls.py principal.

## Arquitetura recomendada (importante)

- O navegador (frontend web) normalmente nao acessa diretamente a DLL USB.
- Quem deve acessar o leitor e a DLL e o backend Django rodando na maquina que possui o USB conectado.
- O frontend chama endpoints HTTP do backend (por exemplo: /idbio/device-info/ e /idbio/capture/).

Se o frontend estiver em outra maquina, use um agente local (servico Windows) perto do leitor e faca o Django conversar com ele por HTTP seguro.

## API implementada no wrapper

- Ciclo do dispositivo: Init, Terminate, SetSerialCommPort
- Captura: CaptureImage, CaptureImageAndTemplate, CheckFingerprint, CancelCapture
- Cadastro e identificacao: CaptureAndEnroll, CaptureAndIdentify, CaptureAndMatch
- Templates: ExtractTemplateFromImage, MergeTemplates, MatchTemplates, MatchTemplateByID
- Armazenamento: GetTemplateIDs, GetTemplate, SaveTemplate, DeleteTemplate, DeleteAllTemplates
- Configuracao e dispositivo: SetParameter, GetParameter, GetDeviceInfo, UpdateFirmware
- Erros: GetErrorMessage

## Observacoes

- O SDK retorna ponteiros alocados em C. O wrapper copia o conteudo e libera memoria com as funcoes da DLL.
- Os retornos seguem o enum RetCode.
