Skip to main content

ACBrLib Python

PyPI pyversions PyPI version fury.io PyPI license

Camada de abstração para acesso à ACBrLib em Python.


ACBrLib é um conjunto de bibliotecas voltadas para o mercado de automação comercial que oferece acesso à um conjunto rico de abstrações que facilitam o desenvolvimento de aplicações como pontos-de-venda (PDV) e aplicações relacionadas. Esta biblioteca fornece uma camada que torna trivial a utilização da ACBrLib em seus próprios aplicativos escritos em linguagem Python.

Instalação

Instale, preferencialmente em um ambiente virtual, usando pip:

pip install acbrlib-python

ACBrLibCEP

Dá acesso a consultas de CEP utilizando dezenas de serviços de consulta disponíveis. Alguns desses serviços podem ser gratuítos ou gratuítos para desenvolvimento. Veja este link para ter uma ideia dos serviços que podem ser utilizados.

Para fazer uma consulta baseada no CEP:

from acbrlib_python import ACBrLibCEP

with ACBrLibCEP.usando('/caminho/para/libacbrcep64.so') as cep:
    enderecos = cep.buscar_por_cep('18270170')
    for endereco in enderecos:
        print(endereco)

O trecho acima resultará em uma lista de objetos Endereco como resultado da busca, prontos para serem usados. A consulta acima trará um único resultado (usando o serviço ViaCEP):

Endereco(
        tipo_logradouro='',
        logradouro='Rua Coronel Aureliano de Camargo',
        complemento='',
        bairro='Centro',
        municipio='Tatuí',
        uf='SP',
        cep='18270-170',
        ibge_municipio='3554003',
        ibge_uf='35'
    )

Para mais exemplos de uso, veja a pasta exemplos neste repositório.

Sobre Nomenclatura e Estilo de Código

Uma questão muito relevante é a maneira como esta abstração se refere aos nomes dos métodos disponíveis na biblioteca ACBrLib que utiliza uma convenção de nomenclatura para variáveis e nomes de argumentos ou parâmetros de funções conhecida como Notação Húngara. Porém, em Python é utilizada a convenção snake case tal como descrito na PEP8.

Assim, para manter o estilo de Python, os nomes de variáveis e argumentos de função deverão descartar o prefixo que indica o tipo de dado e converter o restante para snake case, assim como nomes de métodos e funções também, por exemplo:

  • eArqConfig para arq_config;

  • ConfigLerValor para config_ler_valor;

  • eArquivoXmlEvento para arquivo_xml_evento;

  • etc…

Métodos de bibliotecas que são prefixados com o nome da lib, será descartado o prefixo e o restante do nome do método convertido para snake case, por exemplo:

  • (ACBrLibNFe) NFE_CarregarINI para carregar_ini;

  • (ACBrLibNFe) NFE_ValidarRegrasdeNegocios para validar_regras_de_negocios (note a correção do conector de que está em minúsculo no original);

  • (ACBrLibCEP) CEP_BuscarPorLogradouro para buscar_por_logradouro;

  • etc…

Esperamos que essa explicação faça sentido, senão, envia suas sujestões.

Desenvolvimento

Você é bem-vindo para ajudar no desenvolvimento desta biblioteca enviando suas contribuições através de pull-requests. Faça um fork deste repositório e execute os testes antes de começar a implementar alguma coisa. A gestão de dependências é feita via Poetry e recomendamos a utilização de pyenv

$ git clone https://github.com/base4sistemas/acbrlib-python.git
$ cd acbrlib-python
$ poetry install
$ poetry run pytest

Metadata

Release files for acbrlib-python 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for acbrlib-python 0.1.0
File Size Uploaded Provenance Actions
acbrlib-python-0.1.0.tar.gz 15.8 kB Without provenance Details for acbrlib-python-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for acbrlib-python 0.1.0
File Interpreter ABI Platform Actions
acbrlib_python-0.1.0-py3-none-any.whl Python 3 none any Details for acbrlib_python-0.1.0-py3-none-any.whl

Total release size: 35.4 kB

Release files / acbrlib-python-0.1.0.tar.gz

Download URL acbrlib-python-0.1.0.tar.gz
Size 15.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b99ffa51d53e4511ab07cd9619fbecdb423f98c5cb78ba440604fe76af12093e
BLAKE2b-256 checksum
How to use checksums
3a58ddb635b9fb4afee92ee22254f822440fd531e061a7b226bb20fae58b5520
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.10 CPython/3.9.7 Linux/5.4.0-90-generic

Release files / acbrlib_python-0.1.0-py3-none-any.whl

Download URL acbrlib_python-0.1.0-py3-none-any.whl
Size 19.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eaa335661e4f3f70b2c8f08768558843fcbad4539051512b71fcc4ea7b9ed5a3
BLAKE2b-256 checksum
How to use checksums
db680877c181c24f4ca7cca73388ede98df750fdc8220a99cb608d73616d1c0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.10 CPython/3.9.7 Linux/5.4.0-90-generic

Security for acbrlib-python 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page