Skip to main content

Biblioteca autoral AS-CNPJ para validacao, normalizacao e formatacao de CNPJ numerico e alfanumerico.

Project description

AS-CNPJ Python

Biblioteca autoral do ecossistema AS-CNPJ para validação, normalização, formatação e cálculo de dígitos verificadores de CNPJ numérico e alfanumérico em Python.

Repositório · Site · Hub do ecossistema · API · Testes

CI as-cnpj-python Python 3.10 to 3.14 License MIT Site as-cnpj.org

Idiomas: Português (Brasil) | English | Español | Français

Status

  • repositório público e ativo;
  • CI rodando em Python 3.10, Python 3.11, Python 3.12, Python 3.13 e Python 3.14;
  • API funcional e coberta por testes automatizados;
  • release workflow preparado para publicação no PyPI via Trusted Publishing;
  • candidato imediato à primeira publicação pública do port Python.

Instalação

Enquanto a publicação no PyPI não acontece, a forma mais direta de avaliação é instalar a partir do GitHub:

python -m pip install git+https://github.com/as-cnpj/as-cnpj-python.git

Import package:

from as_cnpj import is_valid_cnpj

Exemplo rápido

from as_cnpj import (
    assert_valid,
    calculate_cnpj_check_digits,
    format_cnpj,
    is_valid,
    normalize,
)

is_valid("12.ABC.345/01DE-35")
normalize("12.abc.345/01de-35")
format_cnpj("12ABC34501DE35")
assert_valid("12.ABC.345/01DE-35", strict=True)
calculate_cnpj_check_digits("12ABC34501DE")

Casos de uso

  • formulários de cadastro B2B com aceitação do formato legado e do formato alfanumérico;
  • backends Python que precisam validar payloads antes de persistir ou integrar com ERP;
  • rotinas de saneamento e migração de base com normalização consistente;
  • suites de teste e homologação que precisam gerar e validar exemplos de CNPJ.

O que esta biblioteca entrega

  • validação de CNPJ numérico legado;
  • validação de CNPJ alfanumérico previsto pela Receita Federal para julho de 2026;
  • suporte a entradas com máscara e sem máscara;
  • modo permissivo e modo estrito;
  • zero dependências de runtime para o núcleo do algoritmo;
  • consistência com vetores compartilhados do hub.

API pública

Funções principais:

  • normalize(value)
  • is_valid(value, strict=False)
  • format(value, strict=False)
  • assert_valid(value, strict=False)
  • calculate_check_digits(base12)

Aliases explícitos:

  • normalize_cnpj(value)
  • is_valid_cnpj(value, strict=False)
  • format_cnpj(value, strict=False)
  • assert_valid_cnpj(value, strict=False)
  • calculate_cnpj_check_digits(base12)

Garantias centrais

  • aceita A-Z0-9 nos 12 primeiros caracteres;
  • mantém os 2 dígitos verificadores como numéricos;
  • usa módulo 11 com conversão ASCII - 48;
  • normaliza entrada para caixa alta;
  • rejeita repetições triviais inválidas;
  • mantém o contrato alinhado aos vetores compartilhados do ecossistema.

Documentação e referências

Publicação

  • pacote planejado no PyPI: as-cnpj
  • import público: as_cnpj
  • release via GitHub Releases com Trusted Publishing para o PyPI

Vetores compartilhados

O as-cnpj-python não define a verdade sozinho.

O contrato do ecossistema depende também de:

  • vetores compartilhados no hub;
  • regras documentadas a partir das fontes oficiais;
  • convergência entre implementações em linguagens diferentes.

Manutenção

Maintainer: @0moura
Contato institucional: ascnpj@0moura.io

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

as_cnpj-0.1.1.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

as_cnpj-0.1.1-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file as_cnpj-0.1.1.tar.gz.

File metadata

  • Download URL: as_cnpj-0.1.1.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for as_cnpj-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4f4914a6fdc11afc9a6d550918f3c5529958c02afc27fa710e4ae170626445d3
MD5 50ab025910b99f54e2516e2b312fe8b7
BLAKE2b-256 f21646659cc9927aa6c35b78bce125219bb0fed18ba96b3a7fd56fc31efedb46

See more details on using hashes here.

Provenance

The following attestation bundles were made for as_cnpj-0.1.1.tar.gz:

Publisher: release.yml on as-cnpj/as-cnpj-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file as_cnpj-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: as_cnpj-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for as_cnpj-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0ee2c38772a0a681229ecda5a85d8aa000edbf31b6be056dc761901ad12f62dc
MD5 fc2b02d29e9769cea2bc469e05f0bfc5
BLAKE2b-256 f9d4f28811ec76aaee81af116db1279b5a194ba091e5b98e31794e9666e851cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for as_cnpj-0.1.1-py3-none-any.whl:

Publisher: release.yml on as-cnpj/as-cnpj-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page