Skip to main content

Biblioteca para validação de documentos e contratos brasileiros

Project description

DeepRead Contract 📄

PyPI version Python 3.9+ License: MIT

Biblioteca Python para validação de documentos e contratos brasileiros.

Consulta dados de empresas na Receita Federal e valida:

  • ✅ CNPJ (situação cadastral)
  • ✅ Razão Social
  • ✅ Endereços
  • ✅ Poder de assinatura (QSA)

Instalação

pip install deepread-contract

Uso Rápido

Consultar CNPJ

from deepread_contract import consultar_cnpj, validar_cnpj

# Validar formato
if validar_cnpj("33.000.167/0001-01"):
    # Consultar na Receita Federal
    dados = consultar_cnpj("33.000.167/0001-01")
    
    print(dados["razao_social"])  # PETROLEO BRASILEIRO S A PETROBRAS
    print(dados["situacao"])       # ATIVA
    print(dados["socios"])         # Lista de sócios/administradores

Buscar Empresa por Nome

from deepread_contract import buscar_cnpj_por_nome

dados = buscar_cnpj_por_nome("Petrobras")
print(dados["cnpj"])  # 33.000.167/0001-01

Validar Documento

from deepread_contract import validar_documento_contrato

texto = """
CONTRATO DE PRESTAÇÃO DE SERVIÇOS
CONTRATANTE: Empresa XYZ, inscrita no CNPJ...
CLÁUSULA PRIMEIRA - OBJETO
"""

eh_contrato, qtd_keywords, keywords = validar_documento_contrato(texto)
print(f"É contrato: {eh_contrato}")  # True

Formatar CNPJ

from deepread_contract import formatar_cnpj, limpar_cnpj

formatar_cnpj("33000167000101")       # "33.000.167/0001-01"
limpar_cnpj("33.000.167/0001-01")     # "33000167000101"

Verificação de Contratos (com DeepRead)

OpenAI

from deepread_contract import ContractChecker

checker = ContractChecker(openai_api_key="sk-...")
resultado = checker.verificar("contrato.pdf")

print(resultado["resultado_final"])  # APROVADO, REPROVADO, PENDENTE
print(resultado["campos_aprovados"])
print(resultado["campos_reprovados"])

Azure OpenAI

from deepread_contract import ContractChecker

checker = ContractChecker(
    provider="azure",
    azure_api_key="sua-chave-azure",
    azure_endpoint="https://seu-recurso.openai.azure.com",
    azure_deployment="gpt-4o",
    azure_api_version="2024-02-15-preview"
)

resultado = checker.verificar("contrato.pdf")

Via Variáveis de Ambiente

# OpenAI
export OPENAI_API_KEY=sk-...

# Azure
export OPENAI_PROVIDER=azure
export AZURE_API_KEY=sua-chave-azure
export AZURE_API_ENDPOINT=https://seu-recurso.openai.azure.com
export AZURE_DEPLOYMENT_NAME=gpt-4o
export AZURE_API_VERSION=2024-02-15-preview
# Detecta automaticamente do ambiente
checker = ContractChecker()
print(checker.provider)  # "openai" ou "azure"

Autenticação

DeepReadAuth

from deepread_contract import DeepReadAuth

# OpenAI
auth = DeepReadAuth(openai_api_key="sk-...")

# Azure
auth = DeepReadAuth(
    provider="azure",
    azure_api_key="sua-chave",
    azure_endpoint="https://seu-recurso.openai.azure.com",
    azure_deployment="gpt-4o"
)

# Verificar configuração
print(auth.provider)        # "openai" ou "azure"
print(auth.has_api_key)     # True/False
print(auth.is_deepread_available)  # True/False

# Obter token
token = auth.get_token()

AuthenticatedClient

from deepread_contract import AuthenticatedClient

client = AuthenticatedClient(
    provider="azure",
    azure_api_key="...",
    azure_endpoint="...",
    azure_deployment="gpt-4o"
)

if client.is_ready:
    dr = client.get_deepread_client()
    resultado = dr.process("documento.pdf")

CLI

# Consultar CNPJ
deepread-contract cnpj 33.000.167/0001-01

# Buscar por nome
deepread-contract buscar "Petrobras"

# Verificar contrato
deepread-contract verificar contrato.pdf

# Saída em JSON
deepread-contract cnpj 33.000.167/0001-01 --json

Estrutura de Resposta CNPJ

{
    "cnpj": "33.000.167/0001-01",
    "razao_social": "PETROLEO BRASILEIRO S A PETROBRAS",
    "nome_fantasia": "PETROBRAS",
    "situacao": "ATIVA",
    "data_abertura": "1966-09-28",
    "natureza_juridica": "Sociedade de Economia Mista",
    "capital_social": 205431960490.0,
    "endereco": {
        "logradouro": "AVENIDA REPUBLICA DO CHILE",
        "numero": "65",
        "bairro": "CENTRO",
        "cidade": "RIO DE JANEIRO",
        "uf": "RJ",
        "cep": "20031912"
    },
    "socios": [
        {"nome": "JOAO SILVA", "qualificacao": "Diretor"},
        ...
    ]
}

Estrutura de Resposta Verificação

{
    "resultado_final": "APROVADO",  # APROVADO, REPROVADO, PENDENTE
    "justificativa": "Todos os campos aprovados",
    "campos_aprovados": ["CNPJ - Empresa X", "Situação - Empresa X", ...],
    "campos_reprovados": [],
    "campos_pendentes": [],
    "empresas": [...],
    "assinaturas": [...],
    "metricas": {
        "tokens": 5000,
        "custo_usd": 0.025,
        "tempo_segundos": 12.5
    }
}

Exemplos

Veja a pasta examples/ para exemplos completos:

  • exemplo_cnpj.py - Consulta de CNPJ
  • exemplo_validacao_documento.py - Validação de documento
  • exemplo_verificar_contrato.py - Verificação completa
  • exemplo_cli.sh - Comandos CLI

Dependências

Obrigatórias

  • requests - Requisições HTTP
  • pydantic - Validação de dados

Opcionais

  • openai - Para usar com OpenAI/Azure

Licença

MIT License - veja LICENSE para detalhes.

Contribuição

Contribuições são bem-vindas! Abra uma issue ou pull request.


Desenvolvido por BeMonkAI

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

deepread_contract-0.2.0-cp313-cp313-win_amd64.whl (278.2 kB view details)

Uploaded CPython 3.13Windows x86-64

deepread_contract-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

deepread_contract-0.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

deepread_contract-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl (319.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

deepread_contract-0.2.0-cp312-cp312-win_amd64.whl (279.1 kB view details)

Uploaded CPython 3.12Windows x86-64

deepread_contract-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

deepread_contract-0.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

deepread_contract-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl (320.8 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

deepread_contract-0.2.0-cp311-cp311-win_amd64.whl (288.6 kB view details)

Uploaded CPython 3.11Windows x86-64

deepread_contract-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

deepread_contract-0.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

deepread_contract-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl (322.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

deepread_contract-0.2.0-cp310-cp310-win_amd64.whl (288.7 kB view details)

Uploaded CPython 3.10Windows x86-64

deepread_contract-0.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

deepread_contract-0.2.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

deepread_contract-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl (326.9 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

deepread_contract-0.2.0-cp39-cp39-win_amd64.whl (290.4 kB view details)

Uploaded CPython 3.9Windows x86-64

deepread_contract-0.2.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

deepread_contract-0.2.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

deepread_contract-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl (329.7 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file deepread_contract-0.2.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b172efc887f1f422fd98ffddfa3467032f8e43e9ffd76a2f1931a74bd294c03f
MD5 969393f1fb39b64491a2222877cf947b
BLAKE2b-256 0a39bfc388da93ce94d2b0e4930660ead8395628c1b89037b4e2feb21eae3bb0

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 2aec6a2090919eb1a9b8c9c7d149d6de82196eb21f9976a880ca53ed60ee8353
MD5 71f0f39bc8aae27980e82f6f346d80a6
BLAKE2b-256 8fa63794e6d240a328ba9f98993820da0957bcf1edb318ea5fe8a363859558f6

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 8e096ff6b28296ea2e51799ce0e5f95b8b5c24ccf0a1c7d0eca8bc88ec86a1d5
MD5 b29a5e0d37f5bd6f656f6259fb952b4c
BLAKE2b-256 a5dfee1782972708ecd951e1a49eac3c991e4d787a0ae581b7b13e5496765368

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1e151db15938fce893972517e9a7aff05fcd7bee6444d90cb33babeb10af629b
MD5 3d4ee4521ec1ff6f1f577c84ce3feead
BLAKE2b-256 ab9074931221a5752f922bb0c95a03289af34d0cb0a68ceccf5efaa7fe4e23c8

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 417cb673d3b0502dff85282bdc1d102a9e183ef1c38f54b16a2cea497e6da39a
MD5 b5f32732877a84948149ff3965c2b69b
BLAKE2b-256 f4545df47d8185af37abb7b6b9c6e2638f1866bde7b5f578a0a9193a4eb042b7

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a83899f101acf7d3683d98137b82ea4c824cb8588becf7e1ff4bb1af3d4d9fd0
MD5 bfd22002cb4ab8c22964f5086e2ba56a
BLAKE2b-256 757cf8077ec306653f75418974d00ebd40179ae8227f7b6e0a20fffe855ad0a1

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 c28c41c650ba46e9cb835e5a9f370d3219bd3fd6955cb53d6fbefd549b9a33b3
MD5 a868a31f85da6cca93ee7e9e6c96d7ee
BLAKE2b-256 0b9e89f0134bb201ba743f1a7a396c659cd919ea375be0fdf2838f297b031f80

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 04317d4663711e096a339aeada5c765b837e9504968fe6eb5939c317ba0d1690
MD5 80705daab89a748453a8306e8fe8e4d8
BLAKE2b-256 090cf95636806c59406bd66994ba31f1457dc5652debddb69c25decad8e36674

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 233b9c4bc6d2ef2353738836695a601679298df08af0cc38f4edd793b10d1fd8
MD5 7bb1e7322d2aa6b4a60307b381794f1e
BLAKE2b-256 56837a03f40387ea620b3475f066dfe2c094dfe521ee0be4b7df9e5ffed6e514

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 418f6f10d3f32d430325c445e8fd94cc73dca2a9a9ceb7bca20a52ec39ffc8b7
MD5 688ef234a36c677a630921b8174eca80
BLAKE2b-256 10cc9f2355354e4c81442b657e3793772d8fc813aa60eac1770e8b136f123b9c

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 53e242008307f5df134fe5debda87e59544ee8144cfa0bf8dbf4dc80e36f6e5c
MD5 d7a0f9f0f944645b5075388bf3188756
BLAKE2b-256 2e96e0f928ed2a2ab6201c152501f66d3b5bd295160baeac663772a070970d01

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 27c325108ce6c5a1114a3c069993e1cff64d8d3795d64d183104939e317231b7
MD5 50b3c2ce63111d12d3ad03d89624ebe7
BLAKE2b-256 fabd004417e8d7ff8d512693db65dbcc50a0ecb58784d8ac058cdba6f8ba6b06

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 894dd9fe710745170e9b61f35adeb90c7d3c1ae9a10b32968e84c8264d9165a2
MD5 b98bea2a4079a9f52b53db5974134b54
BLAKE2b-256 f388506b1d3463c76fd3fbf540426ce65eca68ae02f7b559ba50f72408eaa6bf

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 25df5ba693460c09d1acd328548728d1417e1f3bd6f8399b2e5f3dca1a097d93
MD5 e3b426da97fa8af9a2002a70326bce31
BLAKE2b-256 008dc6d70082bc4fad4a6ff04f87af978cb7d0cacf59007359a651697da210bf

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 ef61469bbd8d06490fa7261bc4ba9abd3faaaecfc0afc4b7c8869666fee6f11b
MD5 9bc1f7783be2d49e9e3f689776ddb5c4
BLAKE2b-256 7d3f3f5efb2d0bc8b7ebd1b5d9ac2ef3492fe404ba89e1509c7f985ef866c0dd

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a4688f09fc335c67f2c8d02f09cfc23aac89d798811d11adc386e4bc4a163080
MD5 89cb17c53bd8907a8e79f009ba1f9be2
BLAKE2b-256 9a0b8a164aba7642a07a46803fde14b393c8fcc1daf2197c99279c6dbbff468a

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 169d9136c3801619517135ae5ea8ce7cda0092348a1c6a2b7addfb0efe64b8cb
MD5 c9e2cc8e33e6a20348fbb6b66035d086
BLAKE2b-256 5617f35ba25aca65ece0a45442c8fbc54c34ec47dc756a69aaac7e20991e65c7

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 299ef2e2300041d62ee2f6168116d6967d458adf0004d625fe0734089b48cafd
MD5 98f4e92b13651b3bcdcbeece0ceaa86e
BLAKE2b-256 ac038ad5e378ad51df613b96107a627afdf29b0b1a8eda32457cf435cfd79e00

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 fc0871a2314d08f1c30a0d2033f90948700335a8f884c0799b5ef7c499a3784f
MD5 304b2e64fb01cae6935ecbda75f4c1cd
BLAKE2b-256 bda74fbba8d5b06b0ea68b09890daadf9ac8d6da587d0fcfae310867d5764d63

See more details on using hashes here.

File details

Details for the file deepread_contract-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for deepread_contract-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 47ddf8f9c79a7664025ff93e4893e0aceba729d7a3bf5244edb10117ff0801c5
MD5 1b3fb5f97c4551fca361f0f8bf6c6601
BLAKE2b-256 1663a3ddb188cd9aaee423530e0c0514d90a5aa54dd2db40e1cc5ee294e470b3

See more details on using hashes here.

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