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 · PyPI · Site · Hub do ecossistema · API · Testes

PyPI as-cnpj 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;
  • publicado no PyPI como as-cnpj;
  • 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;
  • fluxo de publicação e pacote já ativos publicamente.

Instalação

python -m pip install as-cnpj

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.2.tar.gz (8.0 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.2-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: as_cnpj-0.1.2.tar.gz
  • Upload date:
  • Size: 8.0 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.2.tar.gz
Algorithm Hash digest
SHA256 2fc173f516d9cfbe4734f4a070b464aaef78ae02f4c1a950f6a7ffbabe8e3b4a
MD5 32ef076399ce63e6faa0451506ac0c81
BLAKE2b-256 48d52550584d031f9075b9de849a9df5d9d11359d394801dd1e7c0b875a4c167

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: as_cnpj-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dd29aa7390e8c00251a71c984b1e8cb92c06e85dd955be00a4f724105bab888e
MD5 b2701793e2362e9226b1b9742d668d80
BLAKE2b-256 0b7c9ed0f2b20f2fac110417730979694515573ea7944f8549114c33773d32f0

See more details on using hashes here.

Provenance

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