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.0.tar.gz (7.5 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.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: as_cnpj-0.1.0.tar.gz
  • Upload date:
  • Size: 7.5 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.0.tar.gz
Algorithm Hash digest
SHA256 f8de5a14392c4713a1ea1403cd0212c6080bc50bcfa1482fdcbb233a567d91fc
MD5 2d8551d86c070cdc2051a424b416769b
BLAKE2b-256 250b758a3d315dd968759d5346e48d76047f569e4cd90192a876ad8c0193bb59

See more details on using hashes here.

Provenance

The following attestation bundles were made for as_cnpj-0.1.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: as_cnpj-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c613fac280791a2da651aae6f5c2866a16340260c19d6665c7bc195412a1c41d
MD5 25ab6fcca811ded8e0be8686c6406668
BLAKE2b-256 061692b6ecb56f605f02be44a6444632deb422a5364db1250244624e30b3dc79

See more details on using hashes here.

Provenance

The following attestation bundles were made for as_cnpj-0.1.0-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