Biblioteca Python

O que a biblioteca Python implementa do contrato compartilhado, o que falha e o que fazer agora.

Repositório
github.com/brazilian-utils/pythonba0a96b
Pacote
brutils

Instalação

pip install brutils

Python implementa 40 das 182 funções do contrato e 17.5% das funções principais. 500 casos compartilhados passam e 493 falham. 7 funções têm assinatura diferente da do contrato.

Comparação com as outras bibliotecas

BibliotecaFunções principaisImplementadasCasos que passam
JavaScript, biblioteca100%180/1825033
Rust, biblioteca37.5%132/1821732
Go, biblioteca35%136/1822081
.NET, biblioteca32.5%133/1822194
Ruby, biblioteca27.5%133/1822589
Python17.5%40/182500
Erlang, biblioteca12.5%29/182340

O que fazer agora

A lista começa pelas funções que falham, depois assinaturas erradas, depois funções principais que faltam, depois o resto. Em cada grupo, vêm primeiro as funções implementadas por mais bibliotecas, porque há mais código de onde portar. Cada item também é uma issue no repositório da biblioteca.

31 funções falham

Ver as 31 funções que falham
FunçãoSituaçãoDetalhesImplementada por
CEP: Formatar
cep.format (principal)
falha13 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
CEP: Validar
cep.isValid (principal)
falha10 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
CNH: Validar
cnh.isValid (principal)
falha5 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
CNPJ: Formatar
cnpj.format (principal)
falha36 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
CNPJ: Validar
cnpj.isValid (principal)
falha4 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
CPF: Formatar
cpf.format (principal)
falha28 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
CPF: Validar
cpf.isValid (principal)
falha5 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
Placa de veículo: Convert to mercosul
licensePlate.convertToMercosul (principal)
falha8 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
Placa de veículo: Formatar
licensePlate.format (principal)
falha17 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
Placa de veículo: Gerar
licensePlate.generate (principal)
falha4 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
Placa de veículo: Validar
licensePlate.isValid (principal)
falha10 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
Passaporte: Formatar
passport.format
falha17 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
Passaporte: Validar
passport.isValid
falha4 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
Telefone: Formatar
phone.format (principal)
falha15 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
Telefone: Gerar
phone.generate (principal)
falha1 caso falha6: JavaScript, Go, Ruby, Rust, .NET, Erlang
PIS/PASEP: Formatar
pis.format (principal)
falha54 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
PIS/PASEP: Validar
pis.isValid (principal)
falha6 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
RENAVAM: Validar
renavam.isValid (principal)
falha7 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
Título de eleitor: Formatar
voterId.format (principal)
falha24 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
Título de eleitor: Validar
voterId.isValid (principal)
falha18 casos falham6: JavaScript, Go, Ruby, Rust, .NET, Erlang
CNPJ: Gerar
cnpj.generate (principal)
falha5 casos falham5: JavaScript, Go, Ruby, .NET, Erlang
Moeda (real): Escrever por extenso
currency.convertToWords (principal)
falha31 casos falham5: JavaScript, Go, Ruby, Rust, .NET
Moeda (real): Formatar
currency.format (principal)
falha37 casos falham5: JavaScript, Go, Ruby, Rust, .NET
Datas e feriados: Escrever por extenso
date.convertToWords
falha32 casos falham5: JavaScript, Go, Ruby, Rust, .NET
E-mail: Validar
email.isValid (principal)
falha13 casos falham5: JavaScript, Go, Ruby, Rust, .NET
Natureza jurídica: Validar
legalNature.isValid (principal)
falha22 casos falham5: JavaScript, Go, Ruby, Rust, .NET
Natureza jurídica: Listar
legalNature.list (principal)
falha1 caso falha5: JavaScript, Go, Ruby, Rust, .NET
Processo judicial: Formatar
legalProcess.format (principal)
falha25 casos falham5: JavaScript, Go, Ruby, Rust, .NET
Processo judicial: Gerar
legalProcess.generate (principal)
falha6 casos falham5: JavaScript, Go, Ruby, Rust, .NET
Processo judicial: Validar
legalProcess.isValid (principal)
falha25 casos falham5: JavaScript, Go, Ruby, Rust, .NET
Estados (UF): Get code by name
state.getCodeByName
falha1 caso falha5: JavaScript, Go, Ruby, Rust, .NET

7 funções têm assinatura diferente

FunçãoSituaçãoDetalhesImplementada por
Telefone: Validar
phone.isValid (principal)
assinatura diferenteparameter "options.accept": expects ("mobile" | "landline" | "service")[], lib takes string6: JavaScript, Go, Ruby, Rust, .NET, Erlang
CEP: Get address info
cep.getAddressInfo (principal)
assinatura diferenteparameter "options.providers": expects CepProvider[], lib takes boolean5: JavaScript, Go, Ruby, Rust, .NET
Datas e feriados: Is holiday
date.isHoliday (principal)
assinatura diferenteparameter "target_date" (contract "options.targetDate") is required, contract makes it optional5: JavaScript, Go, Ruby, Rust, .NET
Municípios: Get by code
municipality.getByCode
assinatura diferentereturn: returns string[]?, contract says Municipality?5: JavaScript, Go, Ruby, Rust, .NET
CEP: Get info by address
cep.getInfoByAddress (principal)
assinatura diferenterequires 3 argument(s), contract passes at most 1 (getCepInfoByAddress(params: GetCepInfoByAddressParams) -> CepAddressInfo[]). parameter "params": expects GetCepInfoByAddressParams, lib takes string4: JavaScript, Go, Rust, .NET
Estados (UF): Get by ibge code
state.getByIbgeCode
assinatura diferentereturn: returns string?, contract says State?4: JavaScript, Go, Ruby, .NET
Municípios: Get code by name
municipality.getCodeByName (principal)
assinatura diferenteparameter "municipality_name" (contract "params.municipalityName") is required, contract makes it optional. parameter "uf" (contract "params.stateCode") is required, contract makes it optional1: JavaScript

135 funções estão faltando

Ver as 135 funções que faltam
FunçãoSituaçãoImplementada por
Boleto: Validar
boleto.isValid (principal)
ausente5: JavaScript, Go, Ruby, Rust, .NET
DDD: List by state
areaCode.listByState
ausente5: JavaScript, Go, Ruby, Rust, .NET
Bancos: Get by code
bank.getByCode
ausente5: JavaScript, Go, Ruby, Rust, .NET
Bancos: Get by ispb
bank.getByIspb
ausente5: JavaScript, Go, Ruby, Rust, .NET
Bancos: Listar
bank.list
ausente5: JavaScript, Go, Ruby, Rust, .NET
Conta bancária: Validar
bankAccount.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
Boleto: Formatar
boleto.format
ausente5: JavaScript, Go, Ruby, Rust, .NET
Boleto: Gerar
boleto.generate
ausente5: JavaScript, Go, Ruby, Rust, .NET
Boleto: Interpretar
boleto.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
CAEPF: Formatar
caepf.format
ausente5: JavaScript, Go, Ruby, Rust, .NET
CAEPF: Validar
caepf.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
CAEPF: Interpretar
caepf.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
CBO: Consultar
cbo.get
ausente5: JavaScript, Go, Ruby, Rust, .NET
CBO: Validar
cbo.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
CBO: Interpretar
cbo.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
CEI: Formatar
cei.format
ausente5: JavaScript, Go, Ruby, Rust, .NET
CEI: Validar
cei.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
CEI: Interpretar
cei.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
CEP: Interpretar
cep.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
Certidão: Formatar
certidao.format
ausente5: JavaScript, Go, Ruby, Rust, .NET
Certidão: Decodificar
certidao.getInfo
ausente5: JavaScript, Go, Ruby, Rust, .NET
Certidão: Interpretar
certidao.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
CFOP: Consultar
cfop.get
ausente5: JavaScript, Go, Ruby, Rust, .NET
CFOP: Validar
cfop.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
CFOP: Interpretar
cfop.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
CNAE: Formatar
cnae.format
ausente5: JavaScript, Go, Ruby, Rust, .NET
CNAE: Consultar
cnae.get
ausente5: JavaScript, Go, Ruby, Rust, .NET
CNAE: Validar
cnae.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
CNAE: Interpretar
cnae.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
CNH: Formatar
cnh.format
ausente5: JavaScript, Go, Ruby, Rust, .NET
CNH: Gerar
cnh.generate
ausente5: JavaScript, Go, Ruby, Rust, .NET
CNH: Interpretar
cnh.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
CNO: Formatar
cno.format
ausente5: JavaScript, Go, Ruby, Rust, .NET
CNO: Validar
cno.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
CNO: Interpretar
cno.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
CNPJ: Interpretar
cnpj.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
CNS (Cartão SUS): Formatar
cns.format
ausente5: JavaScript, Go, Ruby, Rust, .NET
CNS (Cartão SUS): Validar
cns.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
CNS (Cartão SUS): Interpretar
cns.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
CPF: Interpretar
cpf.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
Cartão de pagamento: Validar
creditCard.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
CSOSN: Validar
csosn.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
CST: Validar
cst.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
Moeda (real): Interpretar
currency.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
Datas e feriados: Difference in business days
date.differenceInBusinessDays
ausente5: JavaScript, Go, Ruby, Rust, .NET
Datas e feriados: Is business day
date.isBusinessDay
ausente5: JavaScript, Go, Ruby, Rust, .NET
IBAN: Formatar
iban.format
ausente5: JavaScript, Go, Ruby, Rust, .NET
IBAN: Decodificar
iban.getInfo
ausente5: JavaScript, Go, Ruby, Rust, .NET
IBAN: Validar
iban.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
IBAN: Interpretar
iban.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
Natureza jurídica: Formatar
legalNature.format
ausente5: JavaScript, Go, Ruby, Rust, .NET
Natureza jurídica: Gerar
legalNature.generate
ausente5: JavaScript, Go, Ruby, Rust, .NET
Natureza jurídica: Consultar
legalNature.get
ausente5: JavaScript, Go, Ruby, Rust, .NET
Natureza jurídica: List by category
legalNature.listByCategory
ausente5: JavaScript, Go, Ruby, Rust, .NET
Natureza jurídica: Interpretar
legalNature.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
Processo judicial: Interpretar
legalProcess.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
Placa de veículo: Interpretar
licensePlate.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
Municípios: Listar
municipality.list
ausente5: JavaScript, Go, Ruby, Rust, .NET
NCM: Formatar
ncm.format
ausente5: JavaScript, Go, Ruby, Rust, .NET
NCM: Validar
ncm.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
NCM: Interpretar
ncm.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
Chave de acesso NF-e: Formatar
nfeKey.format
ausente5: JavaScript, Go, Ruby, Rust, .NET
Chave de acesso NF-e: Decodificar
nfeKey.getInfo
ausente5: JavaScript, Go, Ruby, Rust, .NET
Chave de acesso NF-e: Validar
nfeKey.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
Chave de acesso NF-e: Interpretar
nfeKey.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
Números por extenso: Escrever por extenso
number.convertToWords
ausente5: JavaScript, Go, Ruby, Rust, .NET
Passaporte: Interpretar
passport.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
Telefone: Is valid landline
phone.isValidLandline
ausente5: JavaScript, Go, Ruby, Rust, .NET
Telefone: Is valid mobile
phone.isValidMobile
ausente5: JavaScript, Go, Ruby, Rust, .NET
Telefone: Is valid service
phone.isValidService
ausente5: JavaScript, Go, Ruby, Rust, .NET
Telefone: Interpretar
phone.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
PIS/PASEP: Interpretar
pis.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
Chave Pix: Decodificar
pixKey.getInfo
ausente5: JavaScript, Go, Ruby, Rust, .NET
Chave Pix: Validar
pixKey.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
Pix copia e cola (BR Code): Decodificar
pixPayload.getInfo
ausente5: JavaScript, Go, Ruby, Rust, .NET
Pix copia e cola (BR Code): Validar
pixPayload.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
Registro profissional: Validar
registroProfissional.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
RENAVAM: Gerar
renavam.generate
ausente5: JavaScript, Go, Ruby, Rust, .NET
Estados (UF): Get timezone
state.getTimezone
ausente5: JavaScript, Go, Ruby, Rust, .NET
Estados (UF): Listar
state.list
ausente5: JavaScript, Go, Ruby, Rust, .NET
Texto: Capitalize
text.capitalize
ausente5: JavaScript, Go, Ruby, Rust, .NET
Texto: Remove accents
text.removeAccents
ausente5: JavaScript, Go, Ruby, Rust, .NET
Chassi (VIN): Validar
vin.isValid
ausente5: JavaScript, Go, Ruby, Rust, .NET
Título de eleitor: Interpretar
voterId.parse
ausente5: JavaScript, Go, Ruby, Rust, .NET
DDD: Decodificar
areaCode.getInfo
ausente4: JavaScript, Go, Ruby, .NET
Certidão: Validar
certidao.isValid
ausente4: JavaScript, Go, Ruby, Rust
Datas e feriados: Get holidays
date.getHolidays
ausente4: JavaScript, Go, Rust, .NET
Inscrição estadual: Validar
ie.isValid
ausente4: JavaScript, Go, Rust, .NET
Pix copia e cola (BR Code): Gerar
pixPayload.generate
ausente4: JavaScript, Go, Ruby, Rust
Boleto: Decodificar
boleto.getInfo
ausente3: JavaScript, Go, Ruby
DDD: Get by municipality code
areaCode.getByMunicipalityCode
ausente1: JavaScript
CBO: Formatar
cbo.format
ausente1: JavaScript
CEP: Get state
cep.getState
ausente1: JavaScript
CEST: Formatar
cest.format
ausente1: JavaScript
CEST: Consultar
cest.get
ausente1: JavaScript
CEST: Validar
cest.isValid
ausente1: JavaScript
CEST: Interpretar
cest.parse
ausente1: JavaScript
CFOP: Formatar
cfop.format
ausente1: JavaScript
CID-10: Formatar
cid10.format
ausente1: JavaScript
CID-10: Consultar
cid10.get
ausente1: JavaScript
CID-10: Validar
cid10.isValid
ausente1: JavaScript
CID-10: Interpretar
cid10.parse
ausente1: JavaScript
cClassTrib: Consultar
classTrib.get
ausente1: JavaScript
cClassTrib: Validar
classTrib.isValid
ausente1: JavaScript
CNPJ: Decodificar
cnpj.getInfo
ausente1: JavaScript
CPF: Decodificar
cpf.getInfo
ausente1: JavaScript
CST IBS/CBS: Consultar
cstIbsCbs.get
ausente1: JavaScript
CST IBS/CBS: Validar
cstIbsCbs.isValid
ausente1: JavaScript
Datas e feriados: Add business days
date.addBusinessDays
ausente1: JavaScript
Datas e feriados: Sub business days
date.subBusinessDays
ausente1: JavaScript
GTIN (EAN/UPC): Decodificar
gtin.getInfo
ausente1: JavaScript
GTIN (EAN/UPC): Validar
gtin.isValid
ausente1: JavaScript
ISBN: Formatar
isbn.format
ausente1: JavaScript
ISBN: Decodificar
isbn.getInfo
ausente1: JavaScript
ISBN: Validar
isbn.isValid
ausente1: JavaScript
ISBN: Interpretar
isbn.parse
ausente1: JavaScript
Processo judicial: Decodificar
legalProcess.getInfo
ausente1: JavaScript
Municípios: List by area code
municipality.listByAreaCode
ausente1: JavaScript
NBS: Formatar
nbs.format
ausente1: JavaScript
NBS: Consultar
nbs.get
ausente1: JavaScript
NBS: Validar
nbs.isValid
ausente1: JavaScript
NBS: Interpretar
nbs.parse
ausente1: JavaScript
Chave de acesso NFS-e: Decodificar
nfseKey.getInfo
ausente1: JavaScript
Chave de acesso NFS-e: Validar
nfseKey.isValid
ausente1: JavaScript
Chave de acesso NFS-e: Interpretar
nfseKey.parse
ausente1: JavaScript
Lista de serviços (LC 116): Consultar
serviceItem.get
ausente1: JavaScript
Lista de serviços (LC 116): Validar
serviceItem.isValid
ausente1: JavaScript
Estados (UF): Get capital
state.getCapital
ausente1: JavaScript
Estados (UF): Get regions
state.getRegions
ausente1: JavaScript
Estados (UF): List by region
state.listByRegion
ausente1: JavaScript
Inscrição SUFRAMA: Formatar
suframa.format
ausente1: JavaScript
Inscrição SUFRAMA: Gerar
suframa.generate
ausente1: JavaScript
Inscrição SUFRAMA: Validar
suframa.isValid
ausente1: JavaScript
Inscrição SUFRAMA: Interpretar
suframa.parse
ausente1: JavaScript
Título de eleitor: Decodificar
voterId.getInfo
ausente1: JavaScript

Casos que falham

Ver os 493 casos que falham
CasoEsperadoObtido
cep.format#[""]""expected "", got null
cep.format#["0"]"0"expected "0", got null
cep.format#["01"]"01"expected "01", got null
cep.format#["010"]"010"expected "010", got null
cep.format#["0100"]"0100"expected "0100", got null
cep.format#["01001"]"01001"expected "01001", got null
cep.format#["010010"]"01001-0"expected "01001-0", got null
cep.format#["0100100"]"01001-00"expected "01001-00", got null
cep.format#["01001000000000"]"01001-000"expected "01001-000", got null
cep.format#["a0.10cr01?00#ab0"]"01001-000"expected "01001-000", got null
cep.format#negative-number""expected "", got null
cep.format#fractional-number""expected "", got null
cep.format#unsafe-number""expected "", got null
cep.isValid#["01310-100"]truefalse
cep.isValid#[20040020]truefalse
cep.isValid#[" 01310-100 "]truefalse
cep.isValid#["92.500-000"]truefalse
cep.isValid#["013 10 100"]truefalse
cep.isValid#["01310.100"]truefalse
cep.isValid#["01310/100"]truefalse
cep.isValid#["0131/0100"]truefalse
cep.isValid#["--0131 0100"]truefalse
cep.isValid#["01310/100/"]truefalse
cnh.isValid#valid-sampletruefalse
cnh.isValid#["00000009309"]truefalse
cnh.isValid#["ab00000000119"]falsetrue
cnh.isValid#["00000000119ab"]falsetrue
cnh.isValid#["000000001_19"]falsetrue
cnpj.format#[""]""expected "", got null
cnpj.format#["4"]"4"expected "4", got null
cnpj.format#["46"]"46"expected "46", got null
cnpj.format#["468"]"46.8"expected "46.8", got null
cnpj.format#["4684"]"46.84"expected "46.84", got null
cnpj.format#["46843"]"46.843"expected "46.843", got null
cnpj.format#["468434"]"46.843.4"expected "46.843.4", got null
cnpj.format#["4684348"]"46.843.48"expected "46.843.48", got null
cnpj.format#["46843485"]"46.843.485"expected "46.843.485", got null
cnpj.format#["468434850"]"46.843.485/0"expected "46.843.485/0", got null
cnpj.format#["4684348500"]"46.843.485/00"expected "46.843.485/00", got null
cnpj.format#["46843485000"]"46.843.485/000"expected "46.843.485/000", got null
cnpj.format#["468434850001"]"46.843.485/0001"expected "46.843.485/0001", got null
cnpj.format#["4684348500018"]"46.843.485/0001-8"expected "46.843.485/0001-8", got null
cnpj.format#[4]"4"expected "4", got null
cnpj.format#[46]"46"expected "46", got null
cnpj.format#[468]"46.8"expected "46.8", got null
cnpj.format#[4684]"46.84"expected "46.84", got null
cnpj.format#[46843]"46.843"expected "46.843", got null
cnpj.format#[468434]"46.843.4"expected "46.843.4", got null
cnpj.format#[4684348]"46.843.48"expected "46.843.48", got null
cnpj.format#[46843485]"46.843.485"expected "46.843.485", got null
cnpj.format#[468434850]"46.843.485/0"expected "46.843.485/0", got null
cnpj.format#[4684348500]"46.843.485/00"expected "46.843.485/00", got null
cnpj.format#[46843485000]"46.843.485/000"expected "46.843.485/000", got null
cnpj.format#[468434850001]"46.843.485/0001"expected "46.843.485/0001", got null
cnpj.format#[4684348500018]"46.843.485/0001-8"expected "46.843.485/0001-8", got null
cnpj.format#[46843485000186]"46.843.485/0001-86"expected "46.843.485/0001-86", got null
cnpj.format#["468434850001860000000000"]"46.843.485/0001-86"expected "46.843.485/0001-86", got null
cnpj.format#["46.?ABC843.485/0001-86abc"]"46.843.485/0001-86"expected "46.843.485/0001-86", got null
cnpj.format#[-11222333000181]""expected "", got null
cnpj.format#[-1]""expected "", got null
cnpj.format#[1.5]""expected "", got null
cnpj.format#[9007199254740992]""expected "", got null
cnpj.format#["24522200000174"]"24.522.200/0001-74"expected "24.522.200/0001-74", got null
cnpj.format#["12OUT345000199"]"12.345.000/199"expected "12.345.000/199", got null
cnpj.generate#given-branchnullexpected /^[0-9]{8}0003[0-9]{2}$/, threw: TypeError: int() argument must be a string, a bytes-like object or a real number, not 'dict'
cnpj.generate#[{"version":2,"branch":1}]nullexpected /^[0-9A-Z]{8}0001[0-9]{2}$/, threw: TypeError: int() argument must be a string, a bytes-like object or a real number, not 'dict'
cnpj.generate#[{"branch":0}]nullexpected /^[0-9]{14}$/, threw: TypeError: int() argument must be a string, a bytes-like object or a real number, not 'dict'
cnpj.generate#[{"branch":9999}]nullexpected /^[0-9]{8}9999[0-9]{2}$/, threw: TypeError: int() argument must be a string, a bytes-like object or a real number, not 'dict'
cnpj.generate#[{"branch":42}]nullexpected /^[0-9]{8}0042[0-9]{2}$/, threw: TypeError: int() argument must be a string, a bytes-like object or a real number, not 'dict'
cnpj.isValid#["Q0SLFMBD7VX439"]falsetrue
cnpj.isValid#["60.391.947/0001-00"]truefalse
cnpj.isValid#["11 222 333 0001 81"]truefalse
cnpj.isValid#[" 13723705000189 "]truefalse
cpf.format#[""]""expected "", got null
cpf.format#["9"]"9"expected "9", got null
cpf.format#["94"]"94"expected "94", got null
cpf.format#["943"]"943"expected "943", got null
cpf.format#["9438"]"943.8"expected "943.8", got null
cpf.format#["94389"]"943.89"expected "943.89", got null
cpf.format#["943895"]"943.895"expected "943.895", got null
cpf.format#["9438957"]"943.895.7"expected "943.895.7", got null
cpf.format#["94389575"]"943.895.75"expected "943.895.75", got null
cpf.format#["943895751"]"943.895.751"expected "943.895.751", got null
cpf.format#["9438957510"]"943.895.751-0"expected "943.895.751-0", got null
cpf.format#[9]"9"expected "9", got null
cpf.format#[94]"94"expected "94", got null
cpf.format#[943]"943"expected "943", got null
cpf.format#[9438]"943.8"expected "943.8", got null
cpf.format#[94389]"943.89"expected "943.89", got null
cpf.format#[943895]"943.895"expected "943.895", got null
cpf.format#[9438957]"943.895.7"expected "943.895.7", got null
cpf.format#[94389575]"943.895.75"expected "943.895.75", got null
cpf.format#[943895751]"943.895.751"expected "943.895.751", got null
cpf.format#[9438957510]"943.895.751-0"expected "943.895.751-0", got null
cpf.format#[94389575104]"943.895.751-04"expected "943.895.751-04", got null
cpf.format#["94389575104000000"]"943.895.751-04"expected "943.895.751-04", got null
cpf.format#["943.?ABC895.751-04abc"]"943.895.751-04"expected "943.895.751-04", got null
cpf.format#[123456789.09]""expected "", got null
cpf.format#[-1]""expected "", got null
cpf.format#[1.5]""expected "", got null
cpf.format#[9007199254740992]""expected "", got null
cpf.isValid#["962.718.458-60"]truefalse
cpf.isValid#["123 456 789 09"]truefalse
cpf.isValid#[" 12345678909"]truefalse
cpf.isValid#["12345678909 "]truefalse
cpf.isValid#["280.012.389-38"]truefalse
currency.convertToWords#zero"zero reais""Zero reais"
currency.convertToWords#one-cent"um centavo""Um centavo"
currency.convertToWords#one-real"um real""Um real"
currency.convertToWords#one-real-one-cent"um real e um centavo""Um real e um centavo"
currency.convertToWords#only-cents"cinquenta centavos""Cinquenta centavos"
currency.convertToWords#cem"cem reais""Cem reais"
currency.convertToWords#summary-example"mil quinhentos e vinte e três reais e quarenta e cinco centavos""Mil, quinhentos e vinte e três reais e quarenta e cinco centavos"
currency.convertToWords#round-million"um milhão de reais""Um milhão de reais"
currency.convertToWords#round-millions"dois milhões de reais""Dois milhões de reais"
currency.convertToWords#million-and-more"um milhão duzentos e trinta reais""Um milhão, duzentos e trinta reais"
currency.convertToWords#negative"menos cinco reais e cinquenta centavos""Menos cinco reais e cinquenta centavos"
currency.convertToWords#truncates-sub-cent"um real e noventa e nove centavos""Um real e noventa e nove centavos"
currency.convertToWords#[-0.01]"menos um centavo""Menos um centavo"
currency.convertToWords#[-0.001]"zero reais""Zero reais"
currency.convertToWords#[-0.009]"zero reais""Zero reais"
currency.convertToWords#[0.004]"zero reais""Zero reais"
currency.convertToWords#[100000000000000.02]"cem trilhões de reais""Cem trilhões de reais e dois centavos"
currency.convertToWords#[90071992547409.9]"noventa trilhões setenta e um bilhões novecentos e noventa e dois milhões quinhentos e quarenta e sete mil quatrocentos e nove reais e noventa centavos""Noventa trilhões e setenta e um bilhões, novecentos e noventa e dois milhões, quinhentos e quarenta e sete mil, quatrocentos e nove reais e noventa centavos"
currency.convertToWords#[0.009999999]"zero reais""Zero reais"
currency.convertToWords#[1.999999999]"um real e noventa e nove centavos""Um real e noventa e nove centavos"
currency.convertToWords#[1.15]"um real e quinze centavos""Um real e quinze centavos"
currency.convertToWords#[0.29]"vinte e nove centavos""Vinte e nove centavos"
currency.convertToWords#[19.99]"dezenove reais e noventa e nove centavos""Dezenove reais e noventa e nove centavos"
currency.convertToWords#[1000000000000.0099]"um trilhão de reais""Um trilhão de reais"
currency.convertToWords#[1.5e-7]"zero reais""Zero reais"
currency.convertToWords#[-1.5e-7]"zero reais""Zero reais"
currency.convertToWords#[1000]"mil reais""Mil reais"
currency.convertToWords#[1000000000000000]"""Um quatrilhão de reais"
currency.convertToWords#[999999999999999]"novecentos e noventa e nove trilhões novecentos e noventa e nove bilhões novecentos e noventa e nove milhões novecentos e noventa e nove mil novecentos e noventa e nove reais""Novecentos e noventa e nove trilhões, novecentos e noventa e nove bilhões, novecentos e noventa e nove milhões, novecentos e noventa e nove mil, novecentos e noventa e nove reais"
currency.convertToWords#[100000000000000]"cem trilhões de reais""Cem trilhões de reais"
currency.convertToWords#[1000000000.5]"um bilhão de reais e cinquenta centavos""Um bilhão de reais e cinquenta centavos"
currency.format#thousands"1.000,01""R$ 1.000,01"
currency.format#cents"0,01""R$ 0,01"
currency.format#integer"1,00""R$ 1,00"
currency.format#millions"1.000.000,01""R$ 1.000.000,01"
currency.format#negative"-10,10""R$ -10,10"
currency.format#string-dot-decimal"1.234,56""R$ 1.234,56"
currency.format#string-brazilian"1.234,56"expected "1.234,56", got null
currency.format#string-with-symbol"1.234,56"expected "1.234,56", got null
currency.format#[0.1]"0,10""R$ 0,10"
currency.format#[10]"10,00""R$ 10,00"
currency.format#[10.1]"10,10""R$ 10,10"
currency.format#[10.01]"10,01""R$ 10,01"
currency.format#[100.01]"100,01""R$ 100,01"
currency.format#[10000.01]"10.000,01""R$ 10.000,01"
currency.format#[100000.01]"100.000,01""R$ 100.000,01"
currency.format#[-0.01]"-0,01""R$ -0,01"
currency.format#[-0.1]"-0,10""R$ -0,10"
currency.format#[-1]"-1,00""R$ -1,00"
currency.format#[-10]"-10,00""R$ -10,00"
currency.format#[-10.01]"-10,01""R$ -10,01"
currency.format#[-100.01]"-100,01""R$ -100,01"
currency.format#[-1000.01]"-1.000,01""R$ -1.000,01"
currency.format#[-10000.01]"-10.000,01""R$ -10.000,01"
currency.format#[-100000.01]"-100.000,01""R$ -100.000,01"
currency.format#[-1000000.01]"-1.000.000,01""R$ -1.000.000,01"
currency.format#["1234,56"]"1.234,56"expected "1.234,56", got null
currency.format#["1.234,5"]"1.234,50"expected "1.234,50", got null
currency.format#["R$ 1.234"]"1.234,00"expected "1.234,00", got null
currency.format#["-10.5"]"-10,50""R$ -10,50"
currency.format#["-1.234,56"]"-1.234,56"expected "-1.234,56", got null
currency.format#[""]"0,00"expected "0,00", got null
currency.format#["0"]"0,00""R$ 0,00"
currency.format#["123456"]"123.456,00""R$ 123.456,00"
currency.format#["-1234"]"-1.234,00""R$ -1.234,00"
currency.format#["abc"]"0,00"expected "0,00", got null
currency.format#[null]"0,00"expected "0,00", got null
currency.format#[-1050]"-1.050,00""R$ -1.050,00"
date.convertToWords#first-of-month"primeiro de janeiro de dois mil e vinte e quatro""Primeiro de janeiro de dois mil e vinte e quatro"
date.convertToWords#["02/01/2024"]"dois de janeiro de dois mil e vinte e quatro""Dois de janeiro de dois mil e vinte e quatro"
date.convertToWords#["25/12/2024"]"vinte e cinco de dezembro de dois mil e vinte e quatro""Vinte e cinco de dezembro de dois mil e vinte e quatro"
date.convertToWords#iso-string"vinte e cinco de dezembro de dois mil e vinte e quatro"expected "vinte e cinco de dezembro de dois mil e vinte e quatro", got null
date.convertToWords#leap-day"vinte e nove de fevereiro de dois mil""Vinte e nove de fevereiro de dois mil"
date.convertToWords#not-a-leap-year""expected "", got null
date.convertToWords#day-out-of-range""expected "", got null
date.convertToWords#garbage""expected "", got null
date.convertToWords#empty""expected "", got null
date.convertToWords#["15/13/2024"]""expected "", got null
date.convertToWords#["15/00/2024"]""expected "", got null
date.convertToWords#["00/01/2024"]""expected "", got null
date.convertToWords#["32/01/2024"]""expected "", got null
date.convertToWords#["02/03/2024"]"dois de março de dois mil e vinte e quatro""Dois de marco de dois mil e vinte e quatro"
date.convertToWords#["2024/01/01"]""expected "", got null
date.convertToWords#["01-01-2024"]""expected "", got null
date.convertToWords#["01/01/2024xyz"]""expected "", got null
date.convertToWords#["xyz01/01/2024"]""expected "", got null
date.convertToWords#["2024-01-02xyz"]""expected "", got null
date.convertToWords#["xyz2024-01-02"]""expected "", got null
date.convertToWords#["01/01/0000"]""expected "", got null
date.convertToWords#["0000-01-01"]""expected "", got null
date.convertToWords#["01/01/0001"]"primeiro de janeiro de um""Primeiro de janeiro de um"
date.convertToWords#["29/02/1600"]"vinte e nove de fevereiro de mil e seiscentos""Vinte e nove de fevereiro de mil e seiscentos"
date.convertToWords#["29/02/1900"]""expected "", got null
date.convertToWords#["29/02/2100"]""expected "", got null
date.convertToWords#["29/02/1800"]""expected "", got null
date.convertToWords#["29/02/0004"]"vinte e nove de fevereiro de quatro""Vinte e nove de fevereiro de quatro"
date.convertToWords#["29/02/0096"]"vinte e nove de fevereiro de noventa e seis""Vinte e nove de fevereiro de noventa e seis"
date.convertToWords#["29/02/0003"]""expected "", got null
date.convertToWords#["29/02/0100"]""expected "", got null
date.convertToWords#year-1999"dez de maio de mil novecentos e noventa e nove""Dez de maio de mil novecentos e noventa e nove"
email.isValid#["[email protected]"]falsetrue
email.isValid#["[email protected]"]falsetrue
email.isValid#["[email protected]"]falsetrue
email.isValid#["[email protected]"]falsetrue
email.isValid#["user@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.com"]falsetrue
email.isValid#["user@example.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]falsetrue
email.isValid#["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@example.com"]falsetrue
email.isValid#["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@a.com"]falsetrue
email.isValid#["user@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.com"]falsetrue
email.isValid#["[email protected]"]truefalse
email.isValid#["[email protected]"]truefalse
email.isValid#["user@example.xn--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]truefalse
email.isValid#["a%[email protected]"]falsetrue
legalNature.isValid#["5010"]truefalse
legalNature.isValid#["1244"]truefalse
legalNature.isValid#["1252"]truefalse
legalNature.isValid#["2348"]truefalse
legalNature.isValid#["2356"]truefalse
legalNature.isValid#["3301"]truefalse
legalNature.isValid#["4090"]truefalse
legalNature.isValid#["4111"]truefalse
legalNature.isValid#["4120"]truefalse
legalNature.isValid#["2062a"]falsetrue
legalNature.isValid#["a2062"]falsetrue
legalNature.isValid#["20/62"]falsetrue
legalNature.isValid#[2062]truefalse
legalNature.isValid#[2208]truefalse
legalNature.isValid#["20_62"]falsetrue
legalNature.isValid#["-2062"]falsetrue
legalNature.isValid#["2062-"]falsetrue
legalNature.isValid#["-2-0-6-2"]falsetrue
legalNature.isValid#["2-0-6-2"]falsetrue
legalNature.isValid#["20.6.2"]falsetrue
legalNature.isValid#["20 62"]falsetrue
legalNature.isValid#["2-062"]falsetrue
legalNature.list#in-force-codes{"1015":"Órgão Público do Poder Executivo Federal","1023":"Órgão Público do Poder Executivo Estadual ou do Distrito Federal","1031":"Órgão Público do Poder Executivo Municipal","1040":"Órgão Público do Poder Legislativo Federal","1058":"Órgão Público do Poder Legislativo Estadual ou do Distrito Federal","1066":"Órgão Público do Poder Legislativo Municipal","1074":"Órgão Público do Poder Judiciário Federal","1082":"Órgão Público do Poder Judiciário Estadual","1104":"Autarquia Federal","1112":"Autarquia Estadual ou do Distrito Federal","1120":"Autarquia Municipal","1139":"Fundação Pública de Direito Público Federal","1147":"Fundação Pública de Direito Público Estadual ou do Distrito Federal","1155":"Fundação Pública de Direito Público Municipal","1163":"Órgão Público Autônomo Federal","1171":"Órgão Público Autônomo Estadual ou do Distrito Federal","1180":"Órgão Público Autônomo Municipal","1198":"Comissão Polinacional","1210":"Consórcio Público de Direito Público (Associação Pública)","1228":"Consórcio Público de Direito Privado","1236":"Estado ou Distrito Federal","1244":"Município","1252":"Fundação Pública de Direito Privado Federal","1260":"Fundação Pública de Direito Privado Estadual ou do Distrito Federal","1279":"Fundação Pública de Direito Privado Municipal","1287":"Fundo Público da Administração Indireta Federal","1295":"Fundo Público da Administração Indireta Estadual ou do Distrito Federal","1309":"Fundo Público da Administração Indireta Municipal","1317":"Fundo Público da Administração Direta Federal","1325":"Fundo Público da Administração Direta Estadual ou do Distrito Federal","1333":"Fundo Público da Administração Direta Municipal","1341":"União","2011":"Empresa Pública","2038":"Sociedade de Economia Mista","2046":"Sociedade Anônima Aberta","2054":"Sociedade Anônima Fechada","2062":"Sociedade Empresária Limitada","2070":"Sociedade Empresária em Nome Coletivo","2089":"Sociedade Empresária em Comandita Simples","2097":"Sociedade Empresária em Comandita por Ações","2127":"Sociedade em Conta de Participação","2135":"Empresário (Individual)","2143":"Cooperativa","2151":"Consórcio de Sociedades","2160":"Grupo de Sociedades","2178":"Estabelecimento, no Brasil, de Sociedade Estrangeira","2194":"Estabelecimento, no Brasil, de Empresa Binacional Argentino-Brasileira","2216":"Empresa Domiciliada no Exterior","2224":"Clube/Fundo de Investimento","2232":"Sociedade Simples Pura","2240":"Sociedade Simples Limitada","2259":"Sociedade Simples em Nome Coletivo","2267":"Sociedade Simples em Comandita Simples","2275":"Empresa Binacional","2283":"Consórcio de Empregadores","2291":"Consórcio Simples","2305":"Empresa Individual de Responsabilidade Limitada (de Natureza Empresária)","2313":"Empresa Individual de Responsabilidade Limitada (de Natureza Simples)","2321":"Sociedade Unipessoal de Advogados","2330":"Cooperativas de Consumo","2348":"Empresa Simples de Inovação - Inova Simples","2356":"Investidor Não Residente","3034":"Serviço Notarial e Registral (Cartório)","3069":"Fundação Privada","3077":"Serviço Social Autônomo","3085":"Condomínio Edilício","3107":"Comissão de Conciliação Prévia","3115":"Entidade de Mediação e Arbitragem","3131":"Entidade Sindical","3204":"Estabelecimento, no Brasil, de Fundação ou Associação Estrangeiras","3212":"Fundação ou Associação Domiciliada no Exterior","3220":"Organização Religiosa","3239":"Comunidade Indígena","3247":"Fundo Privado","3255":"Órgão de Direção Nacional de Partido Político","3263":"Órgão de Direção Regional de Partido Político","3271":"Órgão de Direção Local de Partido Político","3280":"Comitê Financeiro de Partido Político","3298":"Frente Plebiscitária ou Referendária","3301":"Organização Social (OS)","3310":"Demais Condomínios","3328":"Plano de Benefícios de Previdência Complementar Fechada","3999":"Associação Privada","4014":"Empresa Individual Imobiliária","4022":"Segurado Especial","4081":"Contribuinte individual","4090":"Candidato a Cargo Político Eletivo","4111":"Leiloeiro","4120":"Produtor Rural (Pessoa Física)","5010":"Organização Internacional","5029":"Representação Diplomática Estrangeira","5037":"Outras Instituições Extraterritoriais"}{"1015":"Órgão Público do Poder Executivo Federal","1023":"Órgão Público do Poder Executivo Estadual ou do Distrito Federal","1031":"Órgão Público do Poder Executivo Municipal","1040":"Órgão Público do Poder Legislativo Federal","1058":"Órgão Público do Poder Legislativo Estadual ou do Distrito Federal","1066":"Órgão Público do Poder Legislativo Municipal","1074":"Órgão Público do Poder Judiciário Federal","1082":"Órgão Público do Poder Judiciário Estadual","1104":"Autarquia Federal","1112":"Autarquia Estadual ou do Distrito Federal","1120":"Autarquia Municipal","1139":"Fundação Federal","1147":"Fundação Estadual ou do Distrito Federal","1155":"Fundação Municipal","1163":"Órgão Público Autônomo da União","1171":"Órgão Público Autônomo Estadual ou do Distrito Federal","1180":"Órgão Público Autônomo Municipal","2011":"Empresa Pública","2038":"Sociedade de Economia Mista","2046":"Sociedade Anônima Aberta","2054":"Sociedade Anônima Fechada","2062":"Sociedade Empresária Limitada","2076":"Sociedade Empresária em Nome Coletivo","2089":"Sociedade Empresária em Comandita Simples","2097":"Sociedade Empresária em Comandita por Ações","2100":"Sociedade Mercantil de Capital e Indústria (extinta pelo NCC/2002)","2127":"Sociedade Empresária em Conta de Participação","2135":"Empresário (Individual)","2143":"Cooperativa","2151":"Consórcio de Sociedades","2160":"Grupo de Sociedades","2178":"Estabelecimento, no Brasil, de Sociedade Estrangeira","2194":"Estabelecimento, no Brasil, de Empresa Binacional Argentino-Brasileira","2208":"Entidade Binacional Itaipu","2216":"Empresa Domiciliada no Exterior","2224":"Clube/Fundo de Investimento","2232":"Sociedade Simples Pura","2240":"Sociedade Simples Limitada","2259":"Sociedade em Nome Coletivo","2267":"Sociedade em Comandita Simples","2275":"Sociedade Simples em Conta de Participação","2305":"Empresa Individual de Responsabilidade Limitada","3034":"Serviço Notarial e Registral (Cartório)","3042":"Organização Social","3050":"Organização da Sociedade Civil de Interesse Público (Oscip)","3069":"Outras Formas de Fundações Mantidas com Recursos Privados","3077":"Serviço Social Autônomo","3085":"Condomínio Edilícios","3093":"Unidade Executora (Programa Dinheiro Direto na Escola)","3107":"Comissão de Conciliação Prévia","3115":"Entidade de Mediação e Arbitragem","3123":"Partido Político","3131":"Entidade Sindical","3204":"Estabelecimento, no Brasil, de Fundação ou Associação Estrangeiras","3212":"Fundação ou Associação Domiciliada no Exterior","3999":"Outras Formas de Associação","4014":"Empresa Individual Imobiliária","4022":"Segurado Especial","4081":"Contribuinte individual","5002":"Organização Internacional e Outras Instituições Extraterritoriais"}
legalProcess.format#[""]""expected "", got null
legalProcess.format#["0"]"0"expected "0", got null
legalProcess.format#["00"]"00"expected "00", got null
legalProcess.format#["000"]"000"expected "000", got null
legalProcess.format#["0002"]"0002"expected "0002", got null
legalProcess.format#["00020"]"00020"expected "00020", got null
legalProcess.format#["000208"]"000208"expected "000208", got null
legalProcess.format#["0002080"]"0002080"expected "0002080", got null
legalProcess.format#["00020802"]"0002080-2"expected "0002080-2", got null
legalProcess.format#["000208025"]"0002080-25"expected "0002080-25", got null
legalProcess.format#["0002080252"]"0002080-25.2"expected "0002080-25.2", got null
legalProcess.format#["00020802520"]"0002080-25.20"expected "0002080-25.20", got null
legalProcess.format#["000208025201"]"0002080-25.201"expected "0002080-25.201", got null
legalProcess.format#["0002080252012"]"0002080-25.2012"expected "0002080-25.2012", got null
legalProcess.format#["00020802520125"]"0002080-25.2012.5"expected "0002080-25.2012.5", got null
legalProcess.format#["000208025201251"]"0002080-25.2012.5.1"expected "0002080-25.2012.5.1", got null
legalProcess.format#["0002080252012515"]"0002080-25.2012.5.15"expected "0002080-25.2012.5.15", got null
legalProcess.format#["00020802520125150"]"0002080-25.2012.5.15.0"expected "0002080-25.2012.5.15.0", got null
legalProcess.format#["000208025201251500"]"0002080-25.2012.5.15.00"expected "0002080-25.2012.5.15.00", got null
legalProcess.format#["0002080252012515004"]"0002080-25.2012.5.15.004"expected "0002080-25.2012.5.15.004", got null
legalProcess.format#["00020802520125150049123123"]"0002080-25.2012.5.15.0049"expected "0002080-25.2012.5.15.0049", got null
legalProcess.format#["0002080@$25201%!@2515.%0049123123"]"0002080-25.2012.5.15.0049"expected "0002080-25.2012.5.15.0049", got null
legalProcess.format#[-1]""expected "", threw: AttributeError: 'int' object has no attribute 'isdigit'
legalProcess.format#[1.5]""expected "", threw: AttributeError: 'float' object has no attribute 'isdigit'
legalProcess.format#[9007199254740992]""expected "", threw: AttributeError: 'int' object has no attribute 'isdigit'
legalProcess.generate#[{"year":10000}]null"267203707100007030004"
legalProcess.generate#[{"year":99999}]null"428142692999997070201"
legalProcess.generate#[{"court":0}]nullexpected null, threw: TypeError: '<' not supported between instances of 'NoneType' and 'int'
legalProcess.generate#[{"court":10}]nullexpected null, threw: TypeError: '<' not supported between instances of 'NoneType' and 'int'
legalProcess.generate#[{"court":1.5}]nullexpected null, threw: TypeError: '<' not supported between instances of 'NoneType' and 'int'
legalProcess.generate#[{"court":-1}]nullexpected null, threw: TypeError: '<' not supported between instances of 'NoneType' and 'int'
legalProcess.isValid#["-00020802520125150049"]falsetrue
legalProcess.isValid#["00020802520125150049."]falsetrue
legalProcess.isValid#[".0002080-25.2012.5.15.0049-"]falsetrue
legalProcess.isValid#["ab00020802520125150049"]falseexpected false, threw: ValueError: invalid literal for int() with base 10: 'ab000202520125150049'
legalProcess.isValid#["00020802520125150049ab"]falseexpected false, threw: ValueError: invalid literal for int() with base 10: '0049ab'
legalProcess.isValid#["0002080/25.2012.5.15.0049"]truefalse
legalProcess.isValid#["000208-0252012.5.15.0049"]falsetrue
legalProcess.isValid#["0000100-58.2008.1.01.0000"]falsetrue
legalProcess.isValid#[" 0002080-25.2012.5.15.0049 "]truefalse
legalProcess.isValid#["\n00020802520125150049\t"]truefalse
legalProcess.isValid#["0000100-85.2008.1.00.0000"]truefalse
legalProcess.isValid#["0000100-04.2008.2.00.0000"]truefalse
legalProcess.isValid#["0000100-20.2008.3.00.0000"]truefalse
legalProcess.isValid#["0000100-09.2008.4.01.0000"]truefalse
legalProcess.isValid#["0000100-18.2008.6.27.0000"]truefalse
legalProcess.isValid#["0000100-51.2008.7.12.0000"]truefalse
legalProcess.isValid#["0000100-68.2008.4.06.0000"]truefalse
legalProcess.isValid#["0000100-31.2008.4.90.0000"]truefalse
legalProcess.isValid#["0000100-47.2008.5.90.0000"]truefalse
legalProcess.isValid#["0000100-52.2008.5.00.0000"]truefalse
legalProcess.isValid#["0000100-68.2008.6.00.0000"]truefalse
legalProcess.isValid#["0000100-84.2008.7.00.0000"]truefalse
legalProcess.isValid#space-separated-fieldstrueexpected true, threw: ValueError: invalid literal for int() with base 10: '00020805 2012 5 15 0049'
legalProcess.isValid#mixed-separatorstruefalse
legalProcess.isValid#[null]falseexpected false, threw: AttributeError: 'NoneType' object has no attribute 'replace'
licensePlate.convertToMercosul#hyphen-mask"ABC1C34"expected "ABC1C34", got null
licensePlate.convertToMercosul#already-mercosul""expected "", got null
licensePlate.convertToMercosul#invalid""expected "", got null
licensePlate.convertToMercosul#empty""expected "", got null
licensePlate.convertToMercosul#["ABC12D3"]""expected "", got null
licensePlate.convertToMercosul#["ABC1234EXTRA"]""expected "", got null
licensePlate.convertToMercosul#["ABC12345"]""expected "", got null
licensePlate.convertToMercosul#["ABC123"]""expected "", got null
licensePlate.format#[""]""expected "", got null
licensePlate.format#["a"]"A"expected "A", got null
licensePlate.format#["ab"]"AB"expected "AB", got null
licensePlate.format#["abc"]"ABC"expected "ABC", got null
licensePlate.format#["abc1"]"ABC-1"expected "ABC-1", got null
licensePlate.format#["abc12"]"ABC-12"expected "ABC-12", got null
licensePlate.format#["abc123"]"ABC-123"expected "ABC-123", got null
licensePlate.format#["abc1d"]"ABC1D"expected "ABC1D", got null
licensePlate.format#["abc1d2"]"ABC1D2"expected "ABC1D2", got null
licensePlate.format#["abc-1234"]"ABC-1234"expected "ABC-1234", got null
licensePlate.format#["abc1-d23"]"ABC1D23"expected "ABC1D23", got null
licensePlate.format#["abc1da2"]""expected "", got null
licensePlate.format#["abc12d"]""expected "", got null
licensePlate.format#["abc12d3"]""expected "", got null
licensePlate.format#["1"]""expected "", got null
licensePlate.format#["1ab4"]""expected "", got null
licensePlate.format#["ab14"]""expected "", got null
licensePlate.generate#mercosul-fifth-char-k-to-znull"WHW4D55"
licensePlate.generate#explicit-mercosulnull"PAK8D58"
licensePlate.generate#unknown-format-falls-backnullexpected /^[A-Z]{3}[0-9][K-Z][0-9]{2}$/, got null
licensePlate.generate#bogus-format-falls-backnullnull does not satisfy licensePlate.isValid (got false)
licensePlate.isValid#["abc-1234"]truefalse
licensePlate.isValid#["ABC-1234"]truefalse
licensePlate.isValid#["ABC 1234"]truefalse
licensePlate.isValid#["ABC-1D23"]truefalse
licensePlate.isValid#["ABC1D23",{"format":"LLLNNNN"}]falsetrue
licensePlate.isValid#["ABC1234",{"format":"LLLNLNN"}]falsetrue
licensePlate.isValid#["ABC.1234"]truefalse
licensePlate.isValid#["ABC/1234"]truefalse
licensePlate.isValid#["ABC - 1234"]truefalse
licensePlate.isValid#["ABC-1234",{"format":"LLLNNNN"}]truefalse
passport.format#lowercase"ACD12736"expected "ACD12736", got null
passport.format#partial"AB12"expected "AB12", got null
passport.format#empty""expected "", got null
passport.format#caps-length"AB123456"expected "AB123456", got null
passport.format#["A"]"A"expected "A", got null
passport.format#["AB"]"AB"expected "AB", got null
passport.format#["AB1"]"AB1"expected "AB1", got null
passport.format#["AB123"]"AB123"expected "AB123", got null
passport.format#["AB1234"]"AB1234"expected "AB1234", got null
passport.format#["AB12345"]"AB12345"expected "AB12345", got null
passport.format#["a"]"A"expected "A", got null
passport.format#["ac"]"AC"expected "AC", got null
passport.format#["acd"]"ACD"expected "ACD", got null
passport.format#["acd1"]"ACD1"expected "ACD1", got null
passport.format#["acd12"]"ACD12"expected "ACD12", got null
passport.format#["acd127"]"ACD127"expected "ACD127", got null
passport.format#["acd1273"]"ACD1273"expected "ACD1273", got null
passport.isValid#lowercasetruefalse
passport.isValid#maskedtruefalse
passport.isValid#dottedtruefalse
passport.isValid#["AB-123.456"]truefalse
phone.format#subscriber-number"98888-7777"expected "98888-7777", got null
phone.format#partial"98888-777"expected "98888-777", got null
phone.format#empty""expected "", got null
phone.format#ddd-under-default-mask"11300-0000""(11)3000-0000"
phone.format#["9"]"9"expected "9", got null
phone.format#["98"]"98"expected "98", got null
phone.format#["988"]"988"expected "988", got null
phone.format#["9888"]"9888"expected "9888", got null
phone.format#["98888"]"98888"expected "98888", got null
phone.format#["988887"]"98888-7"expected "98888-7", got null
phone.format#["9888877"]"98888-77"expected "98888-77", got null
phone.format#[9007199254740992]""expected "", got null
phone.format#["+5511988887777"]"11988-8877"expected "11988-8877", got null
phone.format#["+55 55 98888-7777"]"55988-8877"expected "55988-8877", got null
phone.format#["11900000000"]"11900-0000""(11)90000-0000"
phone.generate#["service"]null"2430239328"
phone.isValid#["(11) 98765-4321"]truefalse
phone.isValid#["(11) 3000-0000"]truefalse
phone.isValid#["+5511987654321"]truefalse
phone.isValid#["+55 11 98765-4321"]truefalse
phone.isValid#["+55 (11) 98765-4321"]truefalse
phone.isValid#["0055 11 98765-4321"]truefalse
phone.isValid#["5511987654321"]truefalse
phone.isValid#["+55 (11) 3000-0000"]truefalse
phone.isValid#["11.98765/4321"]truefalse
pis.format#[""]""expected "", got null
pis.format#["0"]"0"expected "0", got null
pis.format#["00"]"00"expected "00", got null
pis.format#["000"]"000"expected "000", got null
pis.format#["0000"]"000.0"expected "000.0", got null
pis.format#["00000"]"000.00"expected "000.00", got null
pis.format#["000000"]"000.000"expected "000.000", got null
pis.format#["0000000"]"000.0000"expected "000.0000", got null
pis.format#["00000000"]"000.00000"expected "000.00000", got null
pis.format#["000000000"]"000.00000.0"expected "000.00000.0", got null
pis.format#["0000000000"]"000.00000.00"expected "000.00000.00", got null
pis.format#["000000000000"]"000.00000.00-0"expected "000.00000.00-0", got null
pis.format#["000.0"]"000.0"expected "000.0", got null
pis.format#["000.00"]"000.00"expected "000.00", got null
pis.format#["000.000"]"000.000"expected "000.000", got null
pis.format#["000.0000"]"000.0000"expected "000.0000", got null
pis.format#["000.00000"]"000.00000"expected "000.00000", got null
pis.format#["000.000000"]"000.00000.0"expected "000.00000.0", got null
pis.format#["000.00000.0"]"000.00000.0"expected "000.00000.0", got null
pis.format#["000.00000.00"]"000.00000.00"expected "000.00000.00", got null
pis.format#["000.00000.000"]"000.00000.00-0"expected "000.00000.00-0", got null
pis.format#["000.00000.00-0"]"000.00000.00-0"expected "000.00000.00-0", got null
pis.format#["000.00000.00-00"]"000.00000.00-0"expected "000.00000.00-0", got null
pis.format#["000#Error*&@#0000#Char!00000"]"000.00000.00-0"expected "000.00000.00-0", got null
pis.format#["#-+Error#000000000000#Char!"]"000.00000.00-0"expected "000.00000.00-0", got null
pis.format#["000000#+_Error#Char!$#000000"]"000.00000.00-0"expected "000.00000.00-0", got null
pis.format#[1]"1"expected "1", got null
pis.format#[10]"10"expected "10", got null
pis.format#[100]"100"expected "100", got null
pis.format#[1000]"100.0"expected "100.0", got null
pis.format#[10000]"100.00"expected "100.00", got null
pis.format#[100000]"100.000"expected "100.000", got null
pis.format#[1000000]"100.0000"expected "100.0000", got null
pis.format#[10000000]"100.00000"expected "100.00000", got null
pis.format#[100000000]"100.00000.0"expected "100.00000.0", got null
pis.format#[1000000000]"100.00000.00"expected "100.00000.00", got null
pis.format#[10000000000]"100.00000.00-0"expected "100.00000.00-0", got null
pis.format#[100000000000]"100.00000.00-0"expected "100.00000.00-0", got null
pis.format#[1000000000000]"100.00000.00-0"expected "100.00000.00-0", got null
pis.format#[100.1]""expected "", got null
pis.format#[100.11]""expected "", got null
pis.format#[100.101]""expected "", got null
pis.format#[100.1001]""expected "", got null
pis.format#[100.10001]""expected "", got null
pis.format#[100.100001]""expected "", got null
pis.format#[100.1000001]""expected "", got null
pis.format#[100.10000001]""expected "", got null
pis.format#[100.100000001]""expected "", got null
pis.format#["0000000000000"]"000.00000.00-0"expected "000.00000.00-0", got null
pis.format#["00000000000000"]"000.00000.00-0"expected "000.00000.00-0", got null
pis.format#["000000000000000"]"000.00000.00-0"expected "000.00000.00-0", got null
pis.format#[-12345678901]""expected "", got null
pis.format#[9007199254740992]""expected "", got null
pis.format#["12345678901"]"123.45678.90-1"expected "123.45678.90-1", got null
pis.isValid#repeated-digitsfalsetrue
pis.isValid#["120.5641.284-7"]truefalse
pis.isValid#["120/56874/10-7"]truefalse
pis.isValid#["120 56874 10 7"]truefalse
pis.isValid#["120.1213.266-0"]truefalse
pis.isValid#["120.7041.469-0"]truefalse
renavam.isValid#["0063988/4962"]truefalse
renavam.isValid#["639884962"]truefalse
renavam.isValid#[639884962]truefalse
renavam.isValid#["0063988.4962"]truefalse
renavam.isValid#["00639884-962"]truefalse
renavam.isValid#[" 00639884962 "]truefalse
renavam.isValid#[12345678900]truefalse
state.getCodeByName#["Mato Großo"]null"MT"
voterId.format#[""]""expected "", got null
voterId.format#["1"]"1"expected "1", got null
voterId.format#["12"]"12"expected "12", got null
voterId.format#["123"]"123"expected "123", got null
voterId.format#["1234"]"1234"expected "1234", got null
voterId.format#["12345"]"1234 5"expected "1234 5", got null
voterId.format#["123456"]"1234 56"expected "1234 56", got null
voterId.format#["1234567"]"1234 567"expected "1234 567", got null
voterId.format#["12345678"]"1234 5678"expected "1234 5678", got null
voterId.format#["123456780"]"1234 5678 0"expected "1234 5678 0", got null
voterId.format#["1234567801"]"1234 5678 01"expected "1234 5678 01", got null
voterId.format#["12345678012"]"1234 5678 01 2"expected "1234 5678 01 2", got null
voterId.format#["123456780124"]"1234 5678 01 24"expected "1234 5678 01 24", got null
voterId.format#["12345678801912"]"1234 5678 80 19"expected "1234 5678 80 19", got null
voterId.format#["123456788019123"]"1234 5678 80 19"expected "1234 5678 80 19", got null
voterId.format#["12345678803991"]"1234 5678 80 39"expected "1234 5678 80 39", got null
voterId.format#["1234567880399"]"1234 5678 80 39"expected "1234 5678 80 39", got null
voterId.format#["123456788"]"1234 5678 8"expected "1234 5678 8", got null
voterId.format#["123456788019"]"1234 5678 80 19"expected "1234 5678 80 19", got null
voterId.format#["123450159"]"1234 5015 9"expected "1234 5015 9", got null
voterId.format#[-123456780124]""expected "", got null
voterId.format#[1.5]""expected "", got null
voterId.format#[9007199254740992]""expected "", got null
voterId.format#["123456780175"]"1234 5678 01 75"expected "1234 5678 01 75", got null
voterId.isValid#["1234567880191"]falsetrue
voterId.isValid#["1023-8501-06-71"]truefalse
voterId.isValid#["1023 8501 06 71"]truefalse
voterId.isValid#["1023.8501.06.71"]truefalse
voterId.isValid#["000010191"]truefalse
voterId.isValid#["123450159"]truefalse
voterId.isValid#["00123450159"]truefalse
voterId.isValid#["1 2345 01 59"]truefalse
voterId.isValid#["12345 01 59"]truefalse
voterId.isValid#["122844"]truefalse
voterId.isValid#["12340639"]truefalse
voterId.isValid#["1234 06 39"]truefalse
voterId.isValid#["10191"]truefalse
voterId.isValid#["0123456780191"]falsetrue
voterId.isValid#["0001.2345.01.59"]truefalse
voterId.isValid#["123 4567 01 91"]truefalse
voterId.isValid#["1023-8501/06-71"]truefalse
voterId.isValid#[" 1023 8501 06 71 "]truefalse

Funções sem exemplo de uso

Estas funções funcionam, mas os arquivos de uso da biblioteca não têm exemplo delas. A aba dessas funções neste site fica vazia.

Badge para o seu README

O badge mostra a parcela de funções principais e os casos que passam, e muda a cada execução. Cole este Markdown no README da biblioteca:

Contrato da API: 17.5% das funções principais, 500 casos compartilhados passam

[![Contrato da API](https://brazilian-utils.com.br/badges/python.svg)](https://brazilian-utils.com.br/libs/python/)

Nesta página