Skip to main content

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)
  • Deteccao por Pagina - Classifica o PDF em text, mixed ou image e roda OCR apenas nas paginas sem texto nativo
  • Imagem como Entrada - PNG, JPEG, TIFF, BMP e GIF viram PDF de 1 pagina automaticamente
  • 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

Arquitetura

Ver ARCHITECTURE.md para as decisoes de desenho: por que a pagina e a unidade de processamento, por que nao chunks com embedding, e onde isso deixa de valer.

A conta medida, com gemini-2.5-flash: filtrar por keyword envia 731 tokens em vez de 12.931 num contrato de 40 paginas (94% menos), e rodar OCR so nas paginas sem texto nativo corta 59% num documento com 5 escaneadas em 20 — uma pagina via visao custa ~4,8x uma pagina de texto.

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

Imagens (PNG, JPEG, TIFF, BMP, GIF) tambem sao aceitas em qualquer um dos formatos acima: viram um PDF de 1 pagina automaticamente. Como nao tem texto nativo, o conteudo so e extraido com OCR ativo:

dr = DeepRead(api_token=..., openai_api_key=..., ocr_fallback="auto")
result = dr.process("foto_do_contrato.jpg")

9. Deteccao Automatica de Tipo de Pagina

O DeepRead perfila o PDF pagina a pagina e classifica o documento:

doc_type Significado Custo de visao
text toda pagina tem texto nativo nenhuma chamada
mixed parte tem texto, parte nao uma chamada por pagina sem texto
image nenhuma pagina tem texto uma chamada por pagina

O resultado informa quantas paginas custaram visao:

result = dr.process("contrato.pdf")
print(result.document.doc_type)          # "mixed"
print(result.document.pages_needing_ocr) # 5  (de 20 paginas)

Num documento de 20 paginas com 5 escaneadas, sao 5 chamadas de visao, nao 20: as 15 paginas com texto nativo sao lidas direto do PDF.

Controle manual. A deteccao e automatica, mas voce decide o que fazer com ela:

# nao gastar visao nunca (paginas escaneadas ficam sem conteudo)
dr = DeepRead(..., ocr_fallback="off")      # default

# usar visao quando o Azure OCR falhar ou nao estiver configurado
dr = DeepRead(..., ocr_fallback="auto")

# ignorar o Azure OCR e ir direto na visao
dr = DeepRead(..., ocr_fallback="force")

# ajustar a sensibilidade da deteccao (default: 100 caracteres)
dr = DeepRead(..., ocr_fallback="auto", min_chars_per_page=250)

Suba min_chars_per_page quando a pagina escaneada tiver cabecalho/rodape em texto (o pouco texto nativo faria a pagina passar como legivel); desca para gastar menos visao aceitando paginas com pouco texto.



10. Modos de Extracao e Perguntas em Lote

Como o conteudo chega ao modelo, e quantas perguntas por chamada:

# default: extrai texto, filtra por keyword, envia texto
dr = DeepRead(api_token=..., openai_api_key=...)

# envia o documento ao modelo multimodal (preserva layout, nao paga OCR)
dr = DeepRead(..., extraction_mode="direct")

# indexa por embedding e envia so os trechos proximos da pergunta
dr = DeepRead(..., extraction_mode="rag", rag_top_k=5)

# responde ate 10 perguntas por chamada de LLM
dr = DeepRead(..., questions_per_call=10)
Modo Ganha quando Requer
text (default) varias perguntas; texto auditavel qualquer provider
direct layout importa; poucas perguntas em PDF escaneado openai, azure ou google
rag documento nao cabe no contexto; busca por significado provider com embeddings

questions_per_call agrupa apenas perguntas com o mesmo contexto (mesmas keywords e page_range) e envia o texto do documento uma vez em vez de uma por pergunta. Em 20 perguntas sobre um contrato de 40 paginas isso corta 91% do custo. Em troca, as perguntas do lote falham juntas, por isso o default e 1.

Detalhes e numeros em ARCHITECTURE.md, e a comparacao medida das cinco tecnicas sobre documentos reais em docs/estudo-tecnicas.md.


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.


xAI Grok

DeepRead supports xAI Grok through its OpenAI-compatible endpoint. No extra install is needed — Grok reuses the bundled OpenAI SDK; just set your API key:

export XAI_API_KEY="your-key-here"   # GROK_API_KEY also accepted as fallback

Use provider="grok":

from deepread import DeepRead

dr = DeepRead(
    api_token="dr_xxx",
    provider="grok",
    model="balanced",  # -> grok-3
)
result = dr.process("document.pdf")

Point at a custom/proxy endpoint with grok_base_url= or the XAI_BASE_URL env var (default https://api.x.ai/v1):

dr = DeepRead(
    api_token="dr_xxx",
    provider="grok",
    grok_api_key="xai-...",
    grok_base_url="https://gateway.internal/v1",
    model="complete",  # -> grok-4
)

CLI:

deepread extract document.pdf --provider grok --grok-key "$XAI_API_KEY" --model balanced

Model aliases for Grok:

Alias Grok model
fast grok-3-mini
balanced grok-3
complete grok-4
economic grok-3-mini

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


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, azure, google ou grok
ocr_fallback str off off, auto ou force — ver Deteccao de Tipo de Pagina
min_chars_per_page int 100 Limiar para considerar que a pagina tem texto nativo

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

DocumentMetadata

Campo Tipo Descricao
filename str Nome do arquivo
doc_type str text, mixed ou image — ver Deteccao de Tipo de Pagina
num_pages int Total de paginas
pages_needing_ocr int Paginas sem texto nativo; cada uma custa uma chamada de visao
size_kb float Tamanho em KB
ocr_method str text, ocr ou vision_fallback

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

Metadata

Release files for DeepRead.Monkai 5.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for DeepRead.Monkai 5.4.0
File Actions
deepread_monkai-5.4.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for deepread_monkai-5.4.0-cp313-cp313-win_amd64.whl
deepread_monkai-5.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for deepread_monkai-5.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
deepread_monkai-5.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details for deepread_monkai-5.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
deepread_monkai-5.4.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details for deepread_monkai-5.4.0-cp313-cp313-macosx_10_13_x86_64.whl
deepread_monkai-5.4.0-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details for deepread_monkai-5.4.0-cp313-cp313-macosx_10_13_universal2.whl
deepread_monkai-5.4.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for deepread_monkai-5.4.0-cp312-cp312-win_amd64.whl
deepread_monkai-5.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for deepread_monkai-5.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
deepread_monkai-5.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details for deepread_monkai-5.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
deepread_monkai-5.4.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details for deepread_monkai-5.4.0-cp312-cp312-macosx_10_13_x86_64.whl
deepread_monkai-5.4.0-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details for deepread_monkai-5.4.0-cp312-cp312-macosx_10_13_universal2.whl
deepread_monkai-5.4.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for deepread_monkai-5.4.0-cp311-cp311-win_amd64.whl
deepread_monkai-5.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for deepread_monkai-5.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
deepread_monkai-5.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details for deepread_monkai-5.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
deepread_monkai-5.4.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details for deepread_monkai-5.4.0-cp311-cp311-macosx_10_9_x86_64.whl
deepread_monkai-5.4.0-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details for deepread_monkai-5.4.0-cp311-cp311-macosx_10_9_universal2.whl
deepread_monkai-5.4.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for deepread_monkai-5.4.0-cp310-cp310-win_amd64.whl
deepread_monkai-5.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for deepread_monkai-5.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
deepread_monkai-5.4.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details for deepread_monkai-5.4.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
deepread_monkai-5.4.0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details for deepread_monkai-5.4.0-cp310-cp310-macosx_10_9_x86_64.whl
deepread_monkai-5.4.0-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details for deepread_monkai-5.4.0-cp310-cp310-macosx_10_9_universal2.whl

Total release size: 84.9 MB

Release files / deepread_monkai-5.4.0-cp313-cp313-win_amd64.whl

Download URL deepread_monkai-5.4.0-cp313-cp313-win_amd64.whl
Size 1.1 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
65506489095a742b77b025a3b8812303c88a76d3ee1f9b6afc5d1ba0a583f3ee
BLAKE2b-256 checksum
How to use checksums
909c7661d50d5a9b4eb2e209f1e96a32181cd8870ffa0cc204e611a0799b7a47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL deepread_monkai-5.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 8.2 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e82f6832b30734a3170f25dbebcb86d3b0bbbd5be9bf624b76011d73228c3c3e
BLAKE2b-256 checksum
How to use checksums
533fd4c4c16e19e996a406a80a3a7b6d97940e5c579a160e42327dbd20eaf403
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL deepread_monkai-5.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 8.1 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
f968f26f6c97337b64bcb28d5171912e13bafda47a8f70b3d36734ea62762128
BLAKE2b-256 checksum
How to use checksums
25c4ad9be3e8b5bb9586e4be9d75835a198f9722fc593728597cc9c4f4a11f94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL deepread_monkai-5.4.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 1.3 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
8a5bd5a646f1b4c6400e9a8936456f62edc95fbca025a04a03e31f33cbd1273a
BLAKE2b-256 checksum
How to use checksums
0396b03ded534cb30783487b1ee4dc29442a482f316a787eb0adc272c733d085
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp313-cp313-macosx_10_13_universal2.whl

Download URL deepread_monkai-5.4.0-cp313-cp313-macosx_10_13_universal2.whl
Size 2.4 MB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
be75449d47455824f584651585a0d92d22f0395142add236da832fbb77b3c5ef
BLAKE2b-256 checksum
How to use checksums
18ce4283be6cf3276adcf0eedc64d969a5803658165f1c1e43da41cbbbfe0bd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp312-cp312-win_amd64.whl

Download URL deepread_monkai-5.4.0-cp312-cp312-win_amd64.whl
Size 1.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
0bdd049e306ffbe24dc4dcd44c31ae2f064663b746ef783a4dfdda01d8ac6547
BLAKE2b-256 checksum
How to use checksums
3dc0705cf41738b065581b4ab1e17e6df13af4ddddcfd899e2df60022901877b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL deepread_monkai-5.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 8.4 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c84a94d5f6acf5cf34a7a2f5a1634b6d3617bcb864ee223cadbb58ad0350585a
BLAKE2b-256 checksum
How to use checksums
aaa85ac0fb983e3009e673c192fcb8c4f5ebaa1985f052aa6802ba6342a0bb3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL deepread_monkai-5.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 8.3 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
5494cb602bdac3eb49eb8d0e86cc5c6fbcf0b27b9e8d75c2cd04b918051b4281
BLAKE2b-256 checksum
How to use checksums
0770da3b92c670cc2c8d8cddd77e32ee1074b57bd281c09dee300c8479174639
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL deepread_monkai-5.4.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 1.3 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
4fe143a053f9b152e801286c4224a8c2e1d5d66a1535db93dc2bb828a5eec997
BLAKE2b-256 checksum
How to use checksums
a263cc7da347e765752239842bff1870e30ec14c04bcaa9798ef4daf80524955
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp312-cp312-macosx_10_13_universal2.whl

Download URL deepread_monkai-5.4.0-cp312-cp312-macosx_10_13_universal2.whl
Size 2.4 MB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
cbea73195805c7fadde7067a4f796c3af369d3edeb6e79fee4b6418f64bc599b
BLAKE2b-256 checksum
How to use checksums
c1254776675fb7bac582e72c9848df1d45ef4cc9a4a24001646716e131979696
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp311-cp311-win_amd64.whl

Download URL deepread_monkai-5.4.0-cp311-cp311-win_amd64.whl
Size 1.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
5841db2b9a52cd2b6a7ba3229a5b9362acbf758f394db030e6e4d95b36d71b24
BLAKE2b-256 checksum
How to use checksums
f6a37d3ec2b5bbc7ec09cb49fa06354f1f255da52a07616a502f20bedb874276
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL deepread_monkai-5.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 8.3 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
fe571a293f87f9fe7bb4d9bcf586166b12e0cb03f09a7fba2fb4e15886d08169
BLAKE2b-256 checksum
How to use checksums
8e60af90f5210c6f1e7b8af928d7f174f8b5b12065ff596c079efd66a3cc50b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL deepread_monkai-5.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 8.3 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
44a1b3299f79af96bce86411123ad4a16c44d118302ef9ad50423a34f55bbc97
BLAKE2b-256 checksum
How to use checksums
0efb90a9079ed4fad7800d48b229b935408dfb18964c9d3545a41aad7ab17b3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL deepread_monkai-5.4.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 1.3 MB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
a239fc4fb18002e8a04e12325937723a34d08c1468bdf7196dabe129e35eced3
BLAKE2b-256 checksum
How to use checksums
353a4d9e10d5cbcaf866016b86ddd19294b1d913c55a6202aac152146b514c61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp311-cp311-macosx_10_9_universal2.whl

Download URL deepread_monkai-5.4.0-cp311-cp311-macosx_10_9_universal2.whl
Size 2.5 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
55db9516dc7bf72d81e2e65ec967ae888a4d4eca8f2524aaaf3bb0455bf80528
BLAKE2b-256 checksum
How to use checksums
2299f1bd116719b48e873fa28268a4e7aace3cc87ed0bf301a812b5301ae7d54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp310-cp310-win_amd64.whl

Download URL deepread_monkai-5.4.0-cp310-cp310-win_amd64.whl
Size 1.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
238e42c51473eb739428a5c7fdd9d691f25c87cc0ad89924a54a06ead681376d
BLAKE2b-256 checksum
How to use checksums
8486287a99daa454dfcc83404daa6046cf61a9e046437f167bc0cb01ce6429ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL deepread_monkai-5.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 7.9 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
bee10d298e990752d5f3d0996dfb0c978dcf52ef49e7048b156e7623fd47b291
BLAKE2b-256 checksum
How to use checksums
3fbd4a3679cd3ab63205b985132e82e70b0f3498a140ead1e119f43299af8a30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL deepread_monkai-5.4.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 7.9 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
0baeca1c3067437aee977d90a73e16b82c741768dc77fe2dbc57926661231ed0
BLAKE2b-256 checksum
How to use checksums
ee8f3fcf57be28b703a904578308d88e6f893e35782787764be17180f72853d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL deepread_monkai-5.4.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 1.3 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
4cb610328e24bf2cf99aee2cb4f6fb2f084d599247ba1c079dd89352775fbf52
BLAKE2b-256 checksum
How to use checksums
81b96c2dd8f67ebffe22f0a2b9416f562f4c95c538b82d99cd80ef532548ff51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / deepread_monkai-5.4.0-cp310-cp310-macosx_10_9_universal2.whl

Download URL deepread_monkai-5.4.0-cp310-cp310-macosx_10_9_universal2.whl
Size 2.5 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
3d863fe757c0138414efb79c0d8c8e1b911a14819add8c96852c8644b9817d25
BLAKE2b-256 checksum
How to use checksums
6cd3d4c7a7bd43578c808d4bed3ad61f99b217fa2f17c80db21bcf1c8dd213f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for DeepRead.Monkai 5.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page