Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ACBr Python Wrapper

Um wrapper em Python (ctypes) para as bibliotecas C/C++ do Projeto ACBr (ACBrLib). Este projeto fornece a camada base para interagir nativamente com a ACBrLibNFe sem depender de wrappers desatualizados ou integrações lentas via arquivos de texto em disco.

📦 Estrutura

  • src/acbr_wrapper.py: Camada de abstração e mapeamento de tipos usando ctypes.
  • src/nfce_service.py: Exemplo prático de serviço de alto nível para emissão de NFC-e.
  • lib/: Coloque aqui os arquivos .so ou .dll baixados do Projeto ACBr.
  • tests/: Suíte de testes (com mock da biblioteca C) garantindo a lógica do wrapper.

🚀 Como instalar e usar

  1. Baixe a ACBrLibNFe Acesse a sessão de downloads do Projeto ACBr e baixe a versão compatível com seu sistema (64-bits Cdecl é recomendada para Python). Coloque o binário (libacbrnfe64.so ou ACBrLibNFe64.dll) na pasta lib/.

  2. Requisitos de Sistema (Linux) O ACBr necessita de algumas bibliotecas base do sistema operacional:

    sudo apt install libxml2 libssl-dev
  3. Ambiente Python

    python -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
  4. Exemplo de Uso

    from src.nfce_service import NFCeService
    
    service = NFCeService(
        lib_path="lib/libacbrnfe64.so", 
        certificado_path="caminho/seu_certificado.pfx",
        certificado_senha="sua_senha"
    )
    
    # O arquivo INI deve conter a estrutura da nota conforme padrao do ACBrMonitor/ACBrLib
    resposta = service.emitir_nfce("nota_fiscal.ini", lote=1)
    print(resposta)

🧪 Testes

O projeto utiliza pytest e pytest-mock para validar o comportamento sem necessidade do binário C ou do Certificado Digital.

PYTHONPATH=. pytest tests/

⚖️ Licença

Este projeto é open-source. As bibliotecas subjacentes utilizadas (ACBrLib) pertencem ao Projeto ACBr que é regido por licenças de código aberto próprias (LGPL/GPL).

About

Open source python wrapper for the brazilian commercial automation projecto - ACBr

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages