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.1.3-cp313-cp313-win_amd64.whl (265.1 kB view details)

Uploaded CPython 3.13Windows x86-64

deepread_contract-0.1.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

deepread_contract-0.1.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

deepread_contract-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl (305.0 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

deepread_contract-0.1.3-cp312-cp312-win_amd64.whl (266.3 kB view details)

Uploaded CPython 3.12Windows x86-64

deepread_contract-0.1.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

deepread_contract-0.1.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

deepread_contract-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl (305.7 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

deepread_contract-0.1.3-cp311-cp311-win_amd64.whl (273.2 kB view details)

Uploaded CPython 3.11Windows x86-64

deepread_contract-0.1.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

deepread_contract-0.1.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

deepread_contract-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl (307.1 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

deepread_contract-0.1.3-cp310-cp310-win_amd64.whl (273.9 kB view details)

Uploaded CPython 3.10Windows x86-64

deepread_contract-0.1.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

deepread_contract-0.1.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

deepread_contract-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl (310.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

deepread_contract-0.1.3-cp39-cp39-win_amd64.whl (275.3 kB view details)

Uploaded CPython 3.9Windows x86-64

deepread_contract-0.1.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

deepread_contract-0.1.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

deepread_contract-0.1.3-cp39-cp39-macosx_10_9_x86_64.whl (312.8 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

deepread_contract-0.1.3-cp39-cp39-macosx_10_9_universal2.whl (609.0 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ae314a0696dff36c12f38205ddc94c541308cbff18352b8056e4f4710e0264f4
MD5 8fa814ee2b1fb3e993dcf2104e468075
BLAKE2b-256 3a375c909ee12b713c8773a05e04c66fcea6b0d57a5d456b6e6f565261fa16cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7ef861b869cd78d572167b9d9f49fca50f5c1d40050966bc22eaa30104294124
MD5 cbaf25ec623e226f33bcf00fc1c8556b
BLAKE2b-256 6a8834df369a6910bfb9745a67452771dcbac28f8308f7b25e5c2afc5379a122

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 6b47fce013792519764e9fb5c5def0384783931c023c4d692dbdfbd3d2338804
MD5 bba71ee922369a76e1e7c867a1839c78
BLAKE2b-256 d139b8b050584a9391a842dde013cf2da29ccd03311e8863df302b4f75a19cb5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1448086aba972065621c6076dce9c5a8dcc9342e54b1db1c7460235b37a9d0ab
MD5 a75eb93d8cdf8731adba145175649480
BLAKE2b-256 1b5a5e8c308e2244a91cee55232b09d690d3be3be0c2fc0ec3f436c2e4337c81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5cd45dfb0e777131afb729c19fc88ae6ebccc21c97677356163851f4ef7ef32a
MD5 b3637260316d0b1243ebaf418fa8353d
BLAKE2b-256 8473fe93dd07b5f9fe5f0f8064ce60dd43ae91f3a1006808364beeecca627360

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6048f7647bdc2e0955dad77488619875c81213cbc919bf9425cf9f36e84e9298
MD5 ebe5ad7034899cf65bf86577d3107418
BLAKE2b-256 593c6b9a4708536f1f43b45820ecf60f440218bfd5cdbd32acf00c09194457d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 4d5561900f9829785bec01ebf792952897b661b0e24ac0ce252bb602dbd69dc3
MD5 f1e0ade1c06e5a4c406a42be4d66e1a9
BLAKE2b-256 ed4a10544446271195ef3cc2833ac2bd20bc69a841382f6d6e875d194009ab90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 18c09681a51e7b412dca36ecf8d9bcf040e051240566ab125f071cd278854e87
MD5 c0cb704460ec470fbcd1aadf72332287
BLAKE2b-256 537c7ccbfc98fe1b579dfb73109fcb14b9ae354505882fc2914b7ea0ef6d566b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 415fa212a508dea9d7adff72cade099cc3887d4cd8d2335c84fe905f7a86c1b6
MD5 02bf961ab0ff75ebadd85d0ae1ac10ce
BLAKE2b-256 8c1cca6c4deeb03c258a4b85f5a42f14fa2ee82a6c8a85ad838e831c138ffc3f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 906080781a17002b7c12bbc337cb59200670e7f7b9b468e558d274083680ba8d
MD5 b40d8a60512e9270676881529ef983de
BLAKE2b-256 66f2edaf51d473dcf4a45f4f115803e794143a11e3541a2f0e86de3fa567abf2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 824d50dbf7254c5d25b8f7cf8dd01a5aff15f2285ed1089d30a35a1d6ada556d
MD5 815046dac1f04302b6138ad46893c945
BLAKE2b-256 f7a96b51e71ff05a48e316adc75e4aa7d1beda9fc4e6f3c39de6c4d2928dcc34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dfc03581babf63ea732ab90db09754d7f7185d9f0ce982871012b3f2bf871f5e
MD5 fbea88c7fb220edf4a1f98edb47896fb
BLAKE2b-256 15fcc297b94e4f86204b95c06e412c58aa552713ed7abd637a53b7b517100635

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2e43f6e5d31cd004646206b1a262ee017e96921aff49c61bd8e32808ddc1dd09
MD5 1e53287343f9352ca33a64d99d6d1a6b
BLAKE2b-256 5a6a5c57ae286bc405c6c1ebbdb8734bba36a6b18340a2c9742a6bcbaff204f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0c6051fe83a9df074e946e5dc236886e40c551ab34eca23685bc8534543779b9
MD5 f6fc8949d08d38c8067466e03ddb4c66
BLAKE2b-256 bbe5999546473d0de25a74e119c3f744dc0b083b05c452003fecc0c102521c22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 ae0c93c4bf5adbd7ec9e791771251baf396e3e5adf9958d5395840f0d732173b
MD5 48220603a68b92351af09fdb64f5a45a
BLAKE2b-256 c99b89c85c0256263340b9b42fc164167ccc723832108f5612b78f7b17276d7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dc623114607430d0e64bf49c2e9710d933fa4bd61185b0db8f075b40b41153c9
MD5 375de6a7f6eacd3c316d9d091d480fd2
BLAKE2b-256 ebfd383f232796fe34f66dde94d5dcdbcb19b37d1a4a3e296cac6cc8adf20015

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 71d2a685e5c446e2b7c22a3cfe0bc1de06a2a6c51b5fe90e661f73f4a49b512b
MD5 d1f8f38e064d06ca227552e831bf26bb
BLAKE2b-256 fa47224e94e67c0dc552577da7877594e3da1742900a5c2487b7e6f698aefe43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f676963c4073126e7c7e146c98519aec90baf9c02b94df6df406b82145262d7d
MD5 c268cef11f8a96e0e06c0589cabfdc55
BLAKE2b-256 6672f0f746053c1cd01a67fe8d8ac6f8a9b5c435f6ab6d36c81661f5f57b5f49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 3d14e4f2783141e6e0c89c6c9e14de4cfe3a287549d3c9bf2bc6d2d44d2dc82b
MD5 52fff4b02f059d58af07dcbd94198af0
BLAKE2b-256 8fa79e040da04507f32c12d8035fd6df03140b974ecc819b3ea0aac9454d6905

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9a88db10ebc5a8d6dc25bd27e2a28d63634a80c8b4b9453b857197aa52e9cb16
MD5 7cbc4e300a17e674f55ba32864d3f9ae
BLAKE2b-256 db737db77d5f0f29b560d8954b20678d00868e3975a33a8cae8120c42159eb06

See more details on using hashes here.

File details

Details for the file deepread_contract-0.1.3-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for deepread_contract-0.1.3-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 cd88a24fc02cf364ce3cbb0715a4ac6652c86dcd11f1d7b17576124be8ef5d21
MD5 bed135f73d09223960e106cf3dd61b49
BLAKE2b-256 960e73ce934f9b876ef235cbbe7303fe90f23bae41b60b55a3488971bb2b787d

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