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

Uploaded CPython 3.13Windows x86-64

deepread_monkai-2.6.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

deepread_monkai-2.6.1-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.1-cp313-cp313-macosx_26_0_arm64.whl (669.0 kB view details)

Uploaded CPython 3.13macOS 26.0+ ARM64

deepread_monkai-2.6.1-cp313-cp313-macosx_10_13_x86_64.whl (685.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

deepread_monkai-2.6.1-cp312-cp312-win_amd64.whl (593.8 kB view details)

Uploaded CPython 3.12Windows x86-64

deepread_monkai-2.6.1-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.1-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.1-cp312-cp312-macosx_26_0_arm64.whl (675.1 kB view details)

Uploaded CPython 3.12macOS 26.0+ ARM64

deepread_monkai-2.6.1-cp312-cp312-macosx_10_13_x86_64.whl (690.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

deepread_monkai-2.6.1-cp311-cp311-win_amd64.whl (616.0 kB view details)

Uploaded CPython 3.11Windows x86-64

deepread_monkai-2.6.1-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.1-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.1-cp311-cp311-macosx_15_0_arm64.whl (677.7 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

deepread_monkai-2.6.1-cp311-cp311-macosx_10_9_x86_64.whl (703.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

deepread_monkai-2.6.1-cp310-cp310-win_amd64.whl (613.5 kB view details)

Uploaded CPython 3.10Windows x86-64

deepread_monkai-2.6.1-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.1-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.1-cp310-cp310-macosx_26_0_arm64.whl (684.5 kB view details)

Uploaded CPython 3.10macOS 26.0+ ARM64

deepread_monkai-2.6.1-cp310-cp310-macosx_10_9_x86_64.whl (711.9 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ec29afe21db5187480a78dabfe00083dc9574f19ddc0260ef0fff943fafc4fcf
MD5 62d6e69cf020aa7aabc7976c38b4ec7c
BLAKE2b-256 cd95c0b5f2b1c797d6082e8f8fbdfd5a2fc8668a7f9ac8d1596107ff3d782e24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ed4761729ae78701d755160f3b9b094367c3bf307c1a09a276e5c9fee036a589
MD5 0366727c0c25c722aaea512e0ffb7f25
BLAKE2b-256 70ad932a99b9c23ed31381536b09d61113ab05c66a1573d8daa5640566d60ff5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 c7a5686eb36d67dbc7aa0af5e90009c58f6dc34120c97a4edf7154c18dfdb29d
MD5 39a7e56a23064f239d16dfec3aa5a5dd
BLAKE2b-256 619b209691e8e47bf19ceb76f05865019ad7dfe0c15630dbc169418b23e674d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp313-cp313-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 ddc7de9a458debf670815aab1fbea4e81d2b1ee660f854cf1e39e8232b33da90
MD5 fb501311cfbd4ef616c09299310d7bc1
BLAKE2b-256 be2e1fe8dd837632ce94e35d2275fce73a3b265daae6d2b51ee9bfa92f5deb0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 36102ca266fa1e1808db52d1fc6fd8520b12c3df83ca04b99a7f14a5ce505b7f
MD5 82765a428dc8e63a02b679c522d74f98
BLAKE2b-256 b797eb9cd8703636597f9b8f30c66946265b12025309b7548782ddd16b484c84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 85cbb4ab1ce64f589cbaf6dedbfbb7ba4167bc1e71a8ce7ca860a9c2f5da99fb
MD5 7e86f4c3a5941deb876f470bffbba63b
BLAKE2b-256 ea15a229cab9d723fd6c2745776f4d9a97296dd9cfd603d1b42a47917b91d1f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 fd5aa4fe1524d5c1545db3ad3f9714e8ebb1120a45bbb12a3da33dcfbcb7a254
MD5 f14e74153afab226cc20d2f96ef19144
BLAKE2b-256 3379c5a8fff9db50b5d94fee5ca30096bf946f36cdd4b320b98784bcc4d3ace6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 1a71ff8565932f2aa1e7e4ea879e16c85dd9cd050dfc7255231f113f3e2d5ae1
MD5 2ef1f88e85172088dc053d1bc833649e
BLAKE2b-256 4a6b11f07cfbc1f576450b1dc7e1598aeabed33f69a19fcd4fa5c36cb6eb6271

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp312-cp312-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 7e10f9b6be1c86706a737cfb719fbd1c1a90836668b7a5d55209e826a13f689e
MD5 da2f65694f931a43fa9e45eb0d22e02f
BLAKE2b-256 24b28c42a50cf323eb4cfc14baac406304475e05a89c6b5458914c4b117294f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 183c52f33fdfb9cb92cad763b170263f18ab4e1645db0a994675dd8b8845af62
MD5 65c5e2e2f1eb576da5135e6087e1a27b
BLAKE2b-256 8b6c493d120cd1635e0844f84caeea516effa0b0f4e52dd28f778f76c6c42507

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5c49cc141bbdbbe6c9a3b7e8dedf42dca5d860c72cadb55e1d3ac14fcdebe1ca
MD5 b9f4773406bfa24a125eaa6c3c873efb
BLAKE2b-256 151a2e2c32587c7a1196a6416ead5a385d381b8520be091dd00f5d317f0aed51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b6f5fb325d593a014848d5eff4f52c2766ce8289bb76a66443d470d9c49dc672
MD5 e18c235cecdde5cbac943eb4db8c2308
BLAKE2b-256 51cd67563becb956a5abb48d9a21c51fab256bf51c73eb2a09b337fd8519d63a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 408cc1942d379880892c82f97ea80e130f1b10e1c80692d0b979c2a2ab3c56f8
MD5 778941f32467f322c0e551ef389961a0
BLAKE2b-256 e63f25af32113ed63596e1d75b34b5796a85905eee0c47298068513ec7dfb0f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 8709849623f819c0adc16e41fe03a47e62e8f5c54e7b7f9a69cc17795ebddfd4
MD5 de90c37d43e79067e90acacab251f1d5
BLAKE2b-256 8caf675b9f445d9d5df3d3d31045411b0921b4698afaf64b9d5ec81156b72492

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4ead0afda1ddd652bb785adbcb1403fa851e53c0396a7d725518fc77283de590
MD5 0e4a16af0d9f832eb1d963b70084811f
BLAKE2b-256 3038507e615ef4f35cf4463cd854244c5fe6a64c7e8c620b910892c7a73bc3cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 62b1bc0dc4774b06972131d9966644e3675b08f5a16b8b9f336a32f79e4250d5
MD5 41b54755eb78cbfd367c982b7ebd1a65
BLAKE2b-256 58db05210a35db39a0c273222cb4c86f2f8946832cd801fda472f1fc0af232d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 afb3efef520d68071e88d6672244ee4f116a6d6a88b48dca9bc574af37bc1d53
MD5 4834c9fa9acceffb064817f5d77accb3
BLAKE2b-256 855b502d5512a03b3c63e8e87ccf573620468206e0fceed218b8c19c3ca7eac5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 5a1a692f1267feefa5f014c9ce599926ca4bb70b3ff72403b0576a4a96b253cc
MD5 52963ce815b7b2cc62323a18a29557d1
BLAKE2b-256 07d5bbe568d34d9d61f32b6d1a324aed70b1e1d22ec11b241f9882242b0f9efe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp310-cp310-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 95cc8a09a8373db4da94d53d5b7ba3874c049968c8f4d95d23bf60973c8da717
MD5 c0fca047e83862a206328d51a678806e
BLAKE2b-256 db70d161d4643277bcddc6196d41c2958635241c76b0bfe667afa86f660c8566

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-2.6.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cfba5c25af61a4d3575d8026f0c80b825a3d7208883ddf095d29f0c7b4aadba0
MD5 66b679fa281090383b388cd0f6035c55
BLAKE2b-256 f5c2abf9b2955afc9f6de33f746dbd01054c6e71eba1b580f7f4e477f7ff7445

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