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")

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)

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

Uploaded CPython 3.13Windows x86-64

deepread_monkai-2.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

deepread_monkai-2.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

deepread_monkai-2.3.0-cp313-cp313-macosx_11_0_arm64.whl (452.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

deepread_monkai-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl (464.6 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

deepread_monkai-2.3.0-cp312-cp312-win_amd64.whl (406.5 kB view details)

Uploaded CPython 3.12Windows x86-64

deepread_monkai-2.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

deepread_monkai-2.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

deepread_monkai-2.3.0-cp312-cp312-macosx_11_0_arm64.whl (456.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

deepread_monkai-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl (468.1 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

deepread_monkai-2.3.0-cp311-cp311-win_amd64.whl (419.1 kB view details)

Uploaded CPython 3.11Windows x86-64

deepread_monkai-2.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

deepread_monkai-2.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

deepread_monkai-2.3.0-cp311-cp311-macosx_11_0_arm64.whl (457.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

deepread_monkai-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl (473.1 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

deepread_monkai-2.3.0-cp310-cp310-win_amd64.whl (416.9 kB view details)

Uploaded CPython 3.10Windows x86-64

deepread_monkai-2.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

deepread_monkai-2.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

deepread_monkai-2.3.0-cp310-cp310-macosx_11_0_arm64.whl (461.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

deepread_monkai-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl (478.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 88ed49413be65f6361fbf0c6d322582b6895365d43380877fe6e37873a341309
MD5 d64e7085affd1194017457b4b262749d
BLAKE2b-256 380a879bfaef6056ec21382ff035bdbafd24aa1ef32120076f8aa3b289c7d488

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cd6620b8ddcf81e8a8fc8097221fcdb0d22ebe021ffe735d87a67b03dc570558
MD5 df1eb50fb7b0e3606854d97d198aa2c3
BLAKE2b-256 dc9e9bdc1ddfedd118e1400e5a23e2b9522aefa12ddc3d4a3c70781824c1b1d0

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 429df8bbe36a2bf2d0430e37a8ab3887d9f10c601128815fd24fe8d86e5a93a9
MD5 5556c6a618df636fb899938aa735275e
BLAKE2b-256 e21975413245e24b35070bc0a222140e1ee050b3f358277333fb3eb68543970c

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd91f4a51621e78c908537d0adb435792a6dbbd757d3bf091b7d3601c98ae8fc
MD5 e282e473c1e07a7578bad02b4d18a7b7
BLAKE2b-256 221d79bd1d917403ad48514456713ddcbc4f3e2d7cce0f3dff8a6be980acabf9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ac7ce0d21aa2084f43f7ef923005dab99c850681ee70678645264af39c3095bf
MD5 3542ef1f1a7e5559e870a5974f5ef628
BLAKE2b-256 2302934982e054e166daf71ad208c9d3a63bea12344ea20ff9cd6c6b334a5495

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b33e4155b324989af863b5c19ff9a912f8118556045c35e5a7688bf0128858f9
MD5 3e310a4a0d1afe27fbb1ec7b86a891b4
BLAKE2b-256 89775765cfc5d6f0c558d2162c5d3b698a9bdd97664ece1eba41fb24900e8127

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9faf58149fde6e69302d49c5fa9b1a669a408031aa97947346ed85d15e5cb23b
MD5 f0f039cd723ae69e1210ddbf1f211451
BLAKE2b-256 a54386b2be997baf97ab2ddb1ff5301383656ee022e9c3f95d7fc3d85443afde

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e8fa0b6985a9e8321e5b9388b7f170bfac757dd84e1abb3dcb70a6b3e7a71d0f
MD5 2b275a0738651924ee90f453e6019a6d
BLAKE2b-256 e0c82ea8e53306e66da9d22456860f889340745f7e2c4f03d113af1f0959f0c6

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ad3492b99c2c2f47d53861550374ae9cc67a82a49680f24fb972ccaf03244783
MD5 1a8ac76b24cb855a33223bec71ad614a
BLAKE2b-256 804a29730e07eb9b8a84fffab009a406295f8ba9fac68c66d091ad7a38de41b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9fa52bb0fb0a0390a293c994d924fa52bc945ae38e8f406cc949dbb64f309a69
MD5 91e78c1dd618f123d6086dbf33b5e7eb
BLAKE2b-256 1baa57be2c974712e5eedf7e5704ca35d6c786b39060f712a5124f9b11486043

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 715791822e6cbd92a0ccbabe73e36cf08c6bd2465334691140a13d340af0fd71
MD5 eb69d75975adb70d45c37487a79190e7
BLAKE2b-256 d825f8134b32ee531f9a91467220d5b29f3478feabb0ed443d2e3ef5e0c6d7bb

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 36a38a2d612e28639fc48a370cff47792a9392019ad87e87c78869900ef6a335
MD5 62796241f9ca37a00b6e739cf60af5fc
BLAKE2b-256 53adb6531a68d10786e7f6f336d33c31f685ecaebfda1472065374921cb7e330

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d16b4da11d269e03fbdc9f1a4ba3bd92b6f08e184d166f7104df1dd21cfbf542
MD5 7d22d9f5a35d2143b39fd34b9457bc27
BLAKE2b-256 89885fb38f6e8e1b0f4660b395c093b17d395e6f41da046f79bf3f6fcd7c1ee8

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3601892f2bc8f8fa1073f79119fb5d43623d35320c53770f5c462e129985a107
MD5 df4472aabf6fe000993460726c803640
BLAKE2b-256 5b622212c24ded9c2263e1fcb27a4d70397d99f55e4d86274d1ee34040b09e39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d4fa8dc033b96a9b1042e2d6194774527d9b922128a5691f63018e0bf4e2de8d
MD5 00a99ea93b134ae7933a857cc29f5557
BLAKE2b-256 fb1d496e5c185036ac99cbe6f18d36cbd83da63ddd74ae89a9431849ec8f46ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 dd3e023971d88cbf455664fc3073edef5777839525284fe89bb10ff937142b26
MD5 79ca84215bd7f2375109e9f15dedee30
BLAKE2b-256 bf02305925958a3df5cc67de3bf7bdd4305e59f4f61f83cbc44f65363105087c

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e5d4e2a483d376513071880f290686847ce745afc98822c9734b1146b69d636e
MD5 314ed7f0e1e82f87e35eaae047e43a07
BLAKE2b-256 41ef7e4bbfd121b2faa88eb5191d9f024ce9234f7bcb08f9bc8d07aa06ee9cb9

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f69e358b4d9c2e2634391e244afd52e190996ee3762b0a7b27d79d2c301689a0
MD5 178f63a215cdfd0d85597e3904d45030
BLAKE2b-256 a458ee3a56ef5ba4da9841ea225482aea1f293289473ebbfd80522b6917e198f

See more details on using hashes here.

File details

Details for the file deepread_monkai-2.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 596a72a1d0c0a03e7ae22061000e905607098471acc6dc926c039d855cd830a1
MD5 fda79a62ca05d74d8628b6df4948cb80
BLAKE2b-256 badf3a1a0d72fa7d56817cc1a91eb63f115cb0d01ad6e4e7721d9b4aa5761207

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 95a942cafa3014743a254fe813604b6904a2dcfe5ddba7adb0f58a4f31a0b65d
MD5 20cb001ca662d9f93f52af250b5e6ed0
BLAKE2b-256 3dbd012c5c4f62affcc676a2889a60a56f01d7c00bbe1cbf7d6aed8a54f53ddf

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