Skip to main content

Biblioteca para extração inteligente de documentos PDF com IA

Project description

DeepRead

Biblioteca Python para extracao inteligente de documentos PDF com IA

PyPI Python 3.9+ License: MIT CI Quality Seal


Caracteristicas

  • Autenticacao por Token - HMAC-SHA256 com timing-safe validation
  • Extracao Inteligente - Extrai informacoes de PDFs usando LLMs (OpenAI / Azure OpenAI)
  • OCR Automatico - Detecta e processa documentos escaneados (Azure AI Vision)
  • Structured Output - Respostas tipadas com Pydantic
  • Async + Sync - APIs sincrona e assincrona com batch processing
  • Resiliencia - Retry com backoff exponencial e circuit breaker
  • Cache - Cache LRU com TTL para evitar reprocessamento
  • Page Range - Filtre paginas especificas por posicao (inicio/fim)
  • Streaming - Modo lazy para economia de memoria
  • Tracking de Custos - Monitore tokens e custos por requisicao

Instalacao

pip install DeepRead.Monkai

Com OCR (Azure AI Vision):

pip install DeepRead.Monkai[ocr]

Desenvolvimento:

pip install DeepRead.Monkai[dev]

Uso Rapido

1. Obter Token de Acesso

O token de acesso e fornecido pela equipe Monkai. Para solicitar: contato@monkai.com.br

export DEEPREAD_API_TOKEN="dr_seu_token_fornecido_pela_monkai"
export OPENAI_API_KEY="sk-..."

2. Processar Documento

import os
from deepread import DeepRead, Question, QuestionConfig
from pydantic import BaseModel, Field

class ExtractionResponse(BaseModel):
    valor: str = Field(description="Valor extraido")
    unidade: str = Field(default="", description="Unidade de medida")
    confianca: float = Field(default=1.0, ge=0, le=1)

question = Question(
    config=QuestionConfig(id="quantidade", name="Extracao de Quantidade"),
    system_prompt="Voce e um especialista em extracao de dados de documentos.",
    user_prompt="Analise o texto e extraia a quantidade mencionada.\n\nTexto:\n{texto}",
    keywords=["quantidade", "litros", "volume", "total"],
    response_model=ExtractionResponse
)

dr = DeepRead(
    api_token=os.getenv("DEEPREAD_API_TOKEN"),
    openai_api_key=os.getenv("OPENAI_API_KEY"),
    model="gpt-5.1",
    verbose=True
)

dr.add_question(question)
result = dr.process("documento.pdf")

print(f"Resposta: {result.get_answer('quantidade')}")
print(f"Tokens: {result.total_metrics.tokens}")
print(f"Custo: ${result.total_metrics.cost_usd:.4f}")

3. Multiplas Perguntas com Page Range

from deepread import PageRange

dr.add_questions([
    Question(
        config=QuestionConfig(id="preco", name="Preco"),
        user_prompt="Extraia o preco: {texto}",
        keywords=["preco", "valor", "R$"],
        page_range=PageRange(start=1, end=5, from_position="start")
    ),
    Question(
        config=QuestionConfig(id="conclusao", name="Conclusao"),
        user_prompt="Extraia a conclusao: {texto}",
        keywords=["conclusao", "resultado"],
        page_range=PageRange(start=1, end=3, from_position="end")
    ),
])

result = dr.process("documento.pdf")
for r in result.results:
    print(f"{r.question_name}: {r.answer}")

4. Classificacao de Documentos

from deepread import Classification
from typing import Literal

class ClassificacaoDoc(BaseModel):
    classificacao: Literal["APROVADO", "REPROVADO", "REVISAR"]
    justificativa: str
    confianca: float = Field(ge=0, le=1)

classification = Classification(
    system_prompt="Voce e um classificador de documentos.",
    user_prompt="Baseado nos dados extraidos, classifique o documento:\n\n{dados}",
    response_model=ClassificacaoDoc
)

dr.set_classification(classification)
result = dr.process("documento.pdf", classify=True)
print(f"Classificacao: {result.classification}")

5. Processamento em Lote

from pathlib import Path

docs = list(Path("documentos/").glob("*.pdf"))
results = dr.process_batch(docs, classify=True, max_workers=4)

for r in results:
    print(f"{r.document.filename}: {r.get_answer('preco')}")

6. API Assincrona

import asyncio

async def main():
    dr = DeepRead(
        api_token=os.getenv("DEEPREAD_API_TOKEN"),
        openai_api_key=os.getenv("OPENAI_API_KEY"),
    )
    dr.add_question(question)

    result = await dr.process_async("documento.pdf")
    print(result.get_answer("quantidade"))

    results = await dr.process_batch_async(docs, max_concurrency=5)

asyncio.run(main())

7. Cache e Resiliencia

dr = DeepRead(
    api_token=os.getenv("DEEPREAD_API_TOKEN"),
    openai_api_key=os.getenv("OPENAI_API_KEY"),
    enable_cache=True,
    cache_ttl=3600,
    max_retries=3,
    circuit_breaker=True,
    circuit_breaker_threshold=5,
    circuit_breaker_timeout=60,
    streaming=True,
)

result = dr.process("documento.pdf")
print(f"Cache stats: {dr.cache_stats}")

8. Multiplos Tipos de Input

result = dr.process("documento.pdf")

result = dr.process("https://exemplo.com/doc.pdf")

with open("doc.pdf", "rb") as f:
    result = dr.process(f.read(), filename="doc.pdf")

import io
buffer = io.BytesIO(pdf_bytes)
result = dr.process(buffer, filename="doc.pdf")

CLI

CLI machine-friendly para automação e uso por agentes de IA. Toda saída é JSON em stdout, erros em stderr, e o exit code reflete sucesso (0) ou falha (≥1).

Instalação

pip install "DeepRead.Monkai[cli]"

Comandos

Comando Descrição
version Mostra a versão instalada
models Lista modelos LLM disponíveis com pricing
schemas Lista schemas pré-construídos com seus campos
extract <pdf> Extração one-shot de um único PDF
run <config> <target> Executa extração com YAML config (single ou batch)
init <output> Gera um arquivo YAML de configuração

Exemplos

# Versão
deepread version

# Listar modelos disponíveis
deepread models

# Listar schemas pré-construídos
deepread schemas

# Extração one-shot com schema pré-construído
export DEEPREAD_API_TOKEN=dr_...
export OPENAI_API_KEY=sk-...
deepread extract documento.pdf --schema DadosContrato

# Extração one-shot com prompt customizado
deepread extract documento.pdf \
  --prompt "Extraia o valor total do documento: {texto}" \
  --keywords "valor,total,R$" \
  --pages 1-5

# Gerar config YAML para uso recorrente
deepread init config.yaml --schema DadosContrato

# Executar com config (single)
deepread run config.yaml documento.pdf -o resultado.json

# Executar em lote (diretório)
deepread run config.yaml ./documentos/ -o resultados.csv -f csv

Flags do extract

Flag Env var Descrição
--token DEEPREAD_API_TOKEN Token do DeepRead
--api-key OPENAI_API_KEY Chave OpenAI
--schema / -s Nome de schema pré-construído
--prompt / -p Prompt customizado (deve conter {texto})
--model / -m Modelo: fast/balanced/complete/economic ou nome direto
--ocr OCR mode: off/auto/force
--keywords / -k Keywords separadas por vírgula
--pages Range de páginas (1-5 ou last-3)
--format / -f Saída: json/csv/text
--verbose / -v Logs detalhados em stderr
--quiet / -q Suprime stderr

Configuração via YAML

Para usar Azure OpenAI ou customizar parâmetros mais finos, rode deepread init para gerar um config base com seção auth que resolve ${ENV_VAR} automaticamente:

deepread:
  model: balanced
  ocr: off
  max_retries: 3
  enable_cache: false

auth:
  api_token: ${DEEPREAD_API_TOKEN}
  openai_api_key: ${OPENAI_API_KEY}
  # Para Azure OpenAI:
  # provider: azure
  # azure_api_key: ${AZURE_API_KEY}
  # azure_endpoint: https://seu-recurso.openai.azure.com
  # azure_deployment: gpt-4o
  # azure_api_version: 2024-02-15-preview

questions:
  - id: extracao
    name: Extração
    prompt: "Extraia as informações principais: {texto}"
    schema: DadosContrato

Exit codes

Code Significado
0 Sucesso
1 Falha genérica
2 Erro de configuração (chave/token ausente)
3 Arquivo não encontrado
4 Erro de execução (rede, API, etc.)

Azure OpenAI

export OPENAI_PROVIDER=azure
export AZURE_API_KEY="sua-chave-azure"
export AZURE_API_ENDPOINT="https://seu-recurso.openai.azure.com"
export AZURE_API_VERSION="2024-02-15-preview"
export AZURE_DEPLOYMENT_NAME="gpt-4o"
dr = DeepRead(
    api_token=os.getenv("DEEPREAD_API_TOKEN"),
    provider="azure",
    azure_api_key="sua-chave-azure",
    azure_endpoint="https://seu-recurso.openai.azure.com",
    azure_deployment="gpt-4o",
)
Parametro OpenAI Azure OpenAI
provider "openai" (default) "azure"
openai_api_key Obrigatorio Nao usado
azure_api_key Nao usado Obrigatorio
azure_endpoint Nao usado Obrigatorio
azure_deployment Nao usado Obrigatorio
model Nome do modelo Ignorado (usa deployment)

Google Gemini

DeepRead supports Google Gemini via the AI Studio API. Install the extra and set your API key:

pip install "DeepRead.Monkai[google]"
export GOOGLE_API_KEY="your-key-here"

Use provider="google":

from deepread import DeepRead

dr = DeepRead(
    api_token="dr_xxx",
    provider="google",
    model="balanced",  # -> gemini-2.5-flash
)
result = dr.process("document.pdf")

Model aliases for Google:

Alias Gemini model
fast gemini-2.5-flash-lite
balanced gemini-2.5-flash
complete gemini-2.5-pro
economic gemini-2.5-flash-lite

All DeepRead features — structured output (Pydantic schemas), classification, OCR vision fallback, async, streaming, and cost tracking — work identically on Google.


Modelos Disponiveis

print(DeepRead.available_models())
# {
#     "fast": "gpt-4.1",
#     "balanced": "gpt-5.1",
#     "complete": "gpt-5-2025-08-07",
#     "economic": "gpt-5-mini-2025-08-07"
# }

API Reference

DeepRead

Metodo Descricao
add_question(question) Adiciona uma pergunta
add_questions(questions) Adiciona multiplas perguntas
remove_question(id) Remove uma pergunta
clear_questions() Remove todas as perguntas
set_classification(config) Configura classificacao
process(document) Processa um documento (sync)
process_async(document) Processa um documento (async)
process_batch(documents, max_workers) Processa lote (sync, com ThreadPool)
process_batch_async(documents, max_concurrency) Processa lote (async, com Semaphore)
clear_cache() Limpa o cache
cache_stats Retorna hits/misses/size do cache
available_models() Lista modelos disponiveis
create_question(...) Factory method para Question

DeepRead Constructor

Parametro Tipo Default Descricao
api_token str - Token de autenticacao (obrigatorio)
openai_api_key str env Chave API OpenAI
model str gpt-5.1 Modelo LLM
verbose bool False Logs detalhados
max_retries int 3 Retries para erros transientes
enable_cache bool False Habilita cache LRU
cache_ttl int 3600 TTL do cache em segundos
streaming bool False Modo lazy (economia de memoria)
circuit_breaker bool False Habilita circuit breaker
circuit_breaker_threshold int 5 Falhas para abrir circuito
circuit_breaker_timeout int 60 Segundos para recovery
max_file_size_mb float 50 Limite de tamanho do arquivo
max_pages int 500 Limite de paginas
provider str openai Provider: openai ou azure

Question

Campo Tipo Descricao
config QuestionConfig Configuracao basica (id, name)
system_prompt str Prompt de sistema
user_prompt str Template do prompt (use {texto})
keywords list[str] Keywords para filtrar paginas
page_range PageRange Range de paginas (opcional)
response_model BaseModel Modelo Pydantic (opcional)

PageRange

Campo Tipo Descricao
start int Pagina inicial (1-indexed)
end int Pagina final (None = ate o fim)
from_position str "start" ou "end"

ProcessingResult

Campo Tipo Descricao
document DocumentMetadata Metadados do documento
results list[Result] Resultados por pergunta
classification dict Classificacao (se aplicavel)
total_metrics ProcessingMetrics Metricas totais

ProcessingMetrics

Campo Tipo Descricao
time_seconds float Tempo de processamento
tokens int Total de tokens
prompt_tokens int Tokens do prompt
completion_tokens int Tokens da resposta
cost_usd float Custo em USD
model str Modelo utilizado

Estrutura do Projeto

deepread/
├── __init__.py          # Exports principais
├── reader.py            # Classe DeepRead (sync + async)
├── config.py            # Modelos, precos, configuracoes
├── utils.py             # PDF loading, filtragem, metadata
├── ocr.py               # Azure AI Vision OCR
├── cache.py             # Cache LRU com TTL
├── resilience.py        # Retry + Circuit Breaker
├── exceptions.py        # Excecoes customizadas
├── auth/
│   ├── __init__.py
│   ├── token.py         # HMAC-SHA256 token validation
│   └── exceptions.py    # Excecoes de autenticacao
└── models/
    ├── __init__.py
    ├── question.py      # Question, QuestionConfig, PageRange
    ├── result.py        # Result, ProcessingResult, Metrics
    ├── classification.py # Classification
    └── schemas.py       # Schemas de exemplo (DadosContrato, etc)

Documentacao

Documento Descricao
Instalacao Guia de instalacao e configuracao
Guia Rapido Comece em 5 minutos
Autenticacao Sistema de tokens
Perguntas Configuracao de perguntas e extracao
Classificacao Classificacao de documentos
OCR Reconhecimento optico de caracteres
Schemas Modelos de dados e estruturas
API Reference Referencia completa da API
Exemplos Exemplos praticos (01-07)
Certificacao Certificado de qualidade

Certificacao de Qualidade

Este projeto foi auditado e certificado pelo Claude AI Quality Seal.

Dimensao Score
Seguranca 8.7/10
Usabilidade 8.2/10
Escalabilidade 7.8/10
Qualidade de Codigo 8.0/10
Global 8.18/10

Classificacao: PROFISSIONAL Serial: DR-CQA-DE8364E7-116B6022-D40E375D-42BB4E3B

Ver certificado completo | Ver certificado HTML


Suporte


Desenvolvido por Monkai

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_monkai-2.6.0-cp313-cp313-win_amd64.whl (589.9 kB view details)

Uploaded CPython 3.13Windows x86-64

deepread_monkai-2.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

deepread_monkai-2.6.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

deepread_monkai-2.6.0-cp313-cp313-macosx_26_0_arm64.whl (665.8 kB view details)

Uploaded CPython 3.13macOS 26.0+ ARM64

deepread_monkai-2.6.0-cp313-cp313-macosx_10_13_x86_64.whl (682.5 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

deepread_monkai-2.6.0-cp312-cp312-win_amd64.whl (591.8 kB view details)

Uploaded CPython 3.12Windows x86-64

deepread_monkai-2.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

deepread_monkai-2.6.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (4.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

deepread_monkai-2.6.0-cp312-cp312-macosx_26_0_arm64.whl (672.0 kB view details)

Uploaded CPython 3.12macOS 26.0+ ARM64

deepread_monkai-2.6.0-cp312-cp312-macosx_10_13_x86_64.whl (687.1 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

deepread_monkai-2.6.0-cp311-cp311-win_amd64.whl (612.9 kB view details)

Uploaded CPython 3.11Windows x86-64

deepread_monkai-2.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

deepread_monkai-2.6.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (4.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

deepread_monkai-2.6.0-cp311-cp311-macosx_15_0_arm64.whl (674.2 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

deepread_monkai-2.6.0-cp311-cp311-macosx_10_9_x86_64.whl (700.1 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

deepread_monkai-2.6.0-cp310-cp310-win_amd64.whl (610.4 kB view details)

Uploaded CPython 3.10Windows x86-64

deepread_monkai-2.6.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

deepread_monkai-2.6.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

deepread_monkai-2.6.0-cp310-cp310-macosx_26_0_arm64.whl (680.7 kB view details)

Uploaded CPython 3.10macOS 26.0+ ARM64

deepread_monkai-2.6.0-cp310-cp310-macosx_10_9_x86_64.whl (707.9 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file deepread_monkai-2.6.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 346ecf37770c683f4a72fff154fcf1a74957b8cc7b8f50e9d702ed50d3ff7f3a
MD5 2e24397c4246cf402b157b58684e1ec4
BLAKE2b-256 fb385c2040bd3db1002f54e044980636aff83196d85e5671f4848f895edb2207

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 cdb3813831c38d9dc3a6dc2326d34b71a9efd2261ce14528e299e2a43ac82acb
MD5 51ab8172be7128541df19509042afde7
BLAKE2b-256 386fced92d7528d76743decdce896c4d0649f1fd2ab516828410ca05b0f9cfed

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 5639f5f8c51ca197bb4f2975a8bf487bef5078be91aee3ab0ac0baedf845470b
MD5 19a5abc0438021201deafe790679a115
BLAKE2b-256 05e9911dfe1bc9a6ccbb1a85efdcb788ac9cad2091ed6341d00ea7bef8d3643f

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp313-cp313-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp313-cp313-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 e1467f4c966c40570ff528e3f6a991daae8a2485d524e1e0f60c96354ac52b36
MD5 8e562ca3fa77cd0dcbc640ccf4e38814
BLAKE2b-256 b6c53afa56a2159d9f14b67f5104d1b355b76ead41ee9e3188b1d27fd4452c1e

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c79f7a2ebf04c7099ae0c36499c9faf587f8c43d669f5e1f6fc1cd7a705a08f5
MD5 e5d42fccc53d0cf015356a36bef2f4ef
BLAKE2b-256 e969379c7548543a1a652a3cfb7580fa328081dccffab74a2787d418b3ca782c

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8d2c1f8c6de7099f4af28a9a4853c4db151ae9848564869903c320a85c7e2b17
MD5 45e7a2e8bad50bc4541d87d2b147eec9
BLAKE2b-256 3c0335fa829be60f15557a13c3657b3dd5c1a3b8de707fbf1d4fd2011337143e

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f62cde039e879ff211bdd66f9166236caad6cf416f590ac1979bb3365aa4d65a
MD5 c65c58162e1b7b3d7b3712308543d8f7
BLAKE2b-256 c860301395c840d7ceaf5177a8bfdd4ccf9db4c5d35eb78f6277f66b845f0964

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 55f48b767a891fe244d1a440e9c3404f5106bb3b8695a72b364269282aab34a7
MD5 0e8b2319c0715c853fca550bd31fdb42
BLAKE2b-256 fe91d59a5966192dd538de74ada26e0326293f28353b81a668ff8a5e187dfe4e

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp312-cp312-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp312-cp312-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 06fe3c30dc7685be6db0c719328798ce708814b1c0c27bba8667be7a3bc61ac3
MD5 4f2b6031ac977c5ac118fb0db3576c07
BLAKE2b-256 d6a03a07490d49a63786e3a3971f59fb534115520255eb5c6470413fd46d2954

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 65eceb5e82dd003d252b91c3f6d5c5a7ffc48c1753821ad3b27800386b336823
MD5 9c1edafa274d4910d69baddcbc14f555
BLAKE2b-256 e603f1a5420433c202d5321af5481d38e0e829da8002e844b52402cf22347993

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 758af45b45f509d666f5261bd9b5c85703db13caf168bda5ea4cb560894a6514
MD5 9de38292296d13c9ee4be81843e2f99f
BLAKE2b-256 5bb0c77952547ac0447012d85cedb065d0300174d1ca86f79e7930adc08997bc

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 aa89c7db9734f469c5ef19121b3cf3aa3efb460d5066dfa3e83b77d094e4c074
MD5 18460980e9646f36bdadc47b2206bbcf
BLAKE2b-256 579fb7a01b8fc2266c4e0d4439aa0c1940cd0b6b1b7ccbbe4173b9083572161b

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 6a20574bdd1e150650e24959095d38f8b567c42b7f56153080355b6beaf3a58b
MD5 c9718e24d004c890721582e63b5a74a6
BLAKE2b-256 0ee7df2d3f3b73ccf920b8a11f2a329403cc762a9aa627e0d4688148d7ae742f

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 6af5298c69c8c34932526e283721fd1c0c6ff0fffdf43579dc49d6f4f7b52ac4
MD5 1449550fce59db28eabdb13fa186069f
BLAKE2b-256 59d5b5c0751164a9d27010fb78b9fb8d235fd006f6a51e9907c117b0a66d750b

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b04d178bd696d45816c71dfb218345e51a4efa4fcb18177039511d9b0dfb8085
MD5 c323e72fca21717d38b67df283c30573
BLAKE2b-256 efb1affd63052bbb2ce89085c909a819dedcf837c694a7b9666112f98047b241

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d508ce7f544db0f3fde7bf8b8d8fe5f52c08c38db8e9d5b65011eae1537ad023
MD5 0ad6462d900672c1b6a96dd37f61b2a0
BLAKE2b-256 5d3897cf743e37e18d1d2734842ccdb058cbacc7a2896588d9c645d8ace07ffd

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 56011eb0076b122e634cea15edd5c83990b4a38a1e941220325adff093d2d629
MD5 039cc4fdff3a0ca6fae4b1fc44c47a3e
BLAKE2b-256 1a2b572092e937e6e1b9186de2ac5954e2ffee5e0c783c7f7f51afa77700918b

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 46803fdc9caa5b5c531265d5436598b935fb82414e764846ea8dd128d00471ae
MD5 e647d1c10c5765390069442379ddccb5
BLAKE2b-256 6e712067e0fd7184b59d14e660e917350171a5cf488a29702aba07f97e0b1735

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp310-cp310-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp310-cp310-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 17246199f2b4c89cbecea67a0080b9553b60f28781eb20fcbe251b6d894e5971
MD5 20628bd9fe1e977510c8b122a67de9b4
BLAKE2b-256 540219e7e4b7ab3412ade7dcd79f2e058fb01bfa955c8cf310102583f73add8e

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.6.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.6.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5a77b0a55b009ee5bea22b6397e7f0c071054e9eaca2ad302641c9c29b362ead
MD5 c2787c20c34b4d9b5bd60bc41cbbe058
BLAKE2b-256 34db91e4b09de85421284e08ecd16f7f7e8790ef427169df490800efe6b20ac6

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