{"id":18354479,"url":"https://github.com/alvarofpp/validate-docbr","last_synced_at":"2025-05-14T14:05:57.991Z","repository":{"id":40601752,"uuid":"174406937","full_name":"alvarofpp/validate-docbr","owner":"alvarofpp","description":"Pacote Python para validação de documentos brasileiros.","archived":false,"fork":false,"pushed_at":"2025-02-05T03:14:04.000Z","size":962,"stargazers_count":473,"open_issues_count":7,"forks_count":52,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-11T06:13:28.488Z","etag":null,"topics":["cnh","cnpj","cns","cpf","hacktoberfest","nis","nit","pasep","pis","tituloeleitor","validation-library"],"latest_commit_sha":null,"homepage":"https://alvarofpp.github.io/validate-docbr/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alvarofpp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-07T19:27:23.000Z","updated_at":"2025-04-09T11:47:03.000Z","dependencies_parsed_at":"2024-02-25T02:31:29.145Z","dependency_job_id":"8e15fb11-d56f-4829-a5c8-4ecf1fc2bc61","html_url":"https://github.com/alvarofpp/validate-docbr","commit_stats":{"total_commits":107,"total_committers":12,"mean_commits":8.916666666666666,"dds":"0.30841121495327106","last_synced_commit":"7c2fef7c41fc9c7fc0b6a1448fa26e8c552b4579"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvarofpp%2Fvalidate-docbr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvarofpp%2Fvalidate-docbr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvarofpp%2Fvalidate-docbr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvarofpp%2Fvalidate-docbr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alvarofpp","download_url":"https://codeload.github.com/alvarofpp/validate-docbr/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254159169,"owners_count":22024558,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cnh","cnpj","cns","cpf","hacktoberfest","nis","nit","pasep","pis","tituloeleitor","validation-library"],"created_at":"2024-11-05T22:04:13.520Z","updated_at":"2025-05-14T14:05:57.915Z","avatar_url":"https://github.com/alvarofpp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# validate-docbr\n\n\u003ca href=\"https://pypi.org/project/validate-docbr/\"\u003e\n  \u003cimg src=\"https://img.shields.io/pypi/v/validate-docbr.svg\" alt=\"latest release\" /\u003e\n\u003c/a\u003e\n\n\u003e :warning: Estamos planejando a versão `2.0.0` do pacote. **Para saber as mudanças que estão por\n\u003e vir, leia a [issue #67](https://github.com/alvarofpp/validate-docbr/issues/67)**.\n\u003e Você também pode sugerir atualizações para o pacote na mesma issue, participe! :warning:\n\nPacote Python para validação de documentos brasileiros.\n\nPara instalar o pacote:\n\n```shell\npip install validate-docbr\n```\n\nA documentação pode ser acessada [clicando aqui](https://alvarofpp.github.io/validate-docbr).\n\n## Documentos\n\nDocumentos que estão no pacote:\n\n- [CPF](validate_docbr/CPF.py): Cadastro de Pessoas Físicas;\n- [CNH](validate_docbr/CNH.py): Carteira Nacional de Habilitação;\n- [CNPJ](validate_docbr/CNPJ.py): Cadastro Nacional da Pessoa Jurídica;\n- [CNS](validate_docbr/CNS.py): Cartão Nacional de Saúde;\n- [PIS](validate_docbr/PIS.py): PIS/NIS/PASEP/NIT;\n- [Título eleitoral](validate_docbr/TituloEleitoral.py): Cadastro que permite cidadãos brasileiros votar;\n- [RENAVAM](validate_docbr/RENAVAM.py): Registro Nacional de Veículos Automotores.\n\nPara entender melhor os documentos e suas respectivas classes, basta acessar a [Wiki do projeto](https://github.com/alvarofpp/validate-docbr/wiki).\n\n## Métodos\n\nTodos os documentos possuem os mesmos métodos e funcionam da mesma forma.\n\n### validate\n\nValida o documento passado como argumento. Retorna um `bool`, `True` caso seja válido,\n`False` caso contrário. Recebe os parâmetros:\n\n| Parâmetro | Tipo | Valor padrão | Obrigatório | Descrição |\n| --------- | ---- | ----------- | ------------ | --------- |\n| `doc` | `str`| `''` | X | O documento que se quer validar. |\n\n```python\nfrom validate_docbr import CPF\n\ncpf = CPF()\n\n# Validar CPF\ncpf.validate(\"012.345.678-90\")  # True\ncpf.validate(\"012.345.678-91\")  # False\n```\n\n[Caso especial de CPF](https://alvarofpp.github.io/validate-docbr/guia-de-uso/#caso-especial-de-cpf).\n\n### validate_list\n\nValida uma lista de documentos passado como argumento. Retorna uma lista de `bool`,\n`True` caso seja válido, `False` caso contrário. Recebe os parâmetros:\n\n| Parâmetro | Tipo | Valor padrão | Obrigatório | Descrição |\n| --------- | ---- | ----------- | ------------ | --------- |\n| `docs` | `List[str]`| `[]` | X | A lista de documentos para validar. |\n\n```python\nfrom validate_docbr import CPF\n\ncpf = CPF()\n\n# Validar CPFs\ncpf.validate_list([\"012.345.678-90\", \"012.345.678-91\"])  # [True, False]\n```\n\n### validate_docs\n\n**Observação**: diferente dos outros métodos, esse método é do escopo global do pacote,\nnão precisa-se instanciar uma classe para uso.\n\nValida vários documentos difererentes. Retorna uma lista com valores `bool` para cada tupla da\nlista (na mesma ordem), `True` caso seja válido, `False` caso contrário. Recebe os parâmetros:\n\n\u003c!-- markdownlint-disable MD013 --\u003e\n\n| Parâmetro | Tipo | Valor padrão | Obrigatório | Descrição |\n| --------- | ---- | ----------- | ------------ | --------- |\n| `documents` | `List[Tuple[BaseDoc, str]]`| `[]` | X | Lista de tuplas, cada tupla possui como primeiro elemento o tipo de documento e o segundo elemento o valor que se deseja validar. |\n\n\u003c!-- markdownlint-enable MD013 --\u003e\n\n```python\nimport validate_docbr as docbr\n\n\n# Validar diferentes documentos\ndocs = [(docbr.CPF, '90396100457'), (docbr.CNPJ, '49910753848365')]\ndocbr.validate_docs(docs)  # [True, False]\n```\n\n### generate\n\nGera um novo documento, retorna em formato de `str`. Recebe os parâmetros:\n\n\u003c!-- markdownlint-disable MD013 --\u003e\n\n| Parâmetro | Tipo | Valor padrão | Obrigatório | Descrição |\n| --------- | ---- | ----------- | ------------ | --------- |\n| `mask` | `bool` | `False` | - | Quando possui o valor `True`, o documento retornado estará formatado. |\n\n\u003c!-- markdownlint-enable MD013 --\u003e\n\n```python\nfrom validate_docbr import CPF\n\ncpf = CPF()\n\n# Gerar novo CPF\nnew_cpf_one = cpf.generate()  # \"01234567890\"\nnew_cpf_two = cpf.generate(mask=True)  # \"012.345.678-90\"\n```\n\n### generate_list\n\nGera uma lista de documentos, retorna em formato de `list` com elementos do tipo `str`.\nRecebe os parâmetros:\n\n| Parâmetro | Tipo | Valor padrão | Obrigatório | Descrição |\n| --------- | ---- | ----------- | ------------ | --------- |\n| `n` | `int` | `1` | X | A quantidade desejada de documentos que serão gerados. |\n| `mask` | `bool` | `False` | - | Se os documentos gerados deverão ter ou não máscara. |\n| `repeat` | `bool` | `False` | - | Se aceita ou não documentos repetidos. |\n\n```python\nfrom validate_docbr import CPF\n\ncpf = CPF()\n\n# Gerar lista de CPFs\ncpfs_one = cpf.generate_list(2)  # [ \"85215667438\", \"28293145811\" ]\ncpfs_two = cpf.generate_list(2, mask=True)  # [ \"852.156.674-38\", \"282.931.458-11\" ]\n```\n\n### mask\n\nMascara o documento passado como argumento. Retorna um `str` que é o documento mascarado.\nRecebe os parâmetros:\n\n| Parâmetro | Tipo | Valor padrão | Obrigatório | Descrição |\n| --------- | ---- | ----------- | ------------ | --------- |\n| `doc` | `str`| `''` | X | O documento que se quer mascarar. |\n\n```python\nfrom validate_docbr import CPF\n\ncpf = CPF()\n\ncpf_me = \"01234567890\"\n\n# Mascara o CPF\ncpf.mask(cpf_me)  # \"012.345.678-90\"\n```\n\n## Testes\n\nPara realizar os testes basta executar o seguinte comando:\n\n```shell\nmake test\n```\n\nPara verificar a cobertura de testes:\n\n```shell\nmake test-coverage\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falvarofpp%2Fvalidate-docbr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falvarofpp%2Fvalidate-docbr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falvarofpp%2Fvalidate-docbr/lists"}