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.5.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.5.0
File Actions
deepread_monkai-5.5.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for deepread_monkai-5.5.0-cp313-cp313-win_amd64.whl
deepread_monkai-5.5.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.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
deepread_monkai-5.5.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.5.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
deepread_monkai-5.5.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.5.0-cp313-cp313-macosx_10_13_x86_64.whl
deepread_monkai-5.5.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.5.0-cp313-cp313-macosx_10_13_universal2.whl
deepread_monkai-5.5.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for deepread_monkai-5.5.0-cp312-cp312-win_amd64.whl
deepread_monkai-5.5.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.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
deepread_monkai-5.5.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.5.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
deepread_monkai-5.5.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.5.0-cp312-cp312-macosx_10_13_x86_64.whl
deepread_monkai-5.5.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.5.0-cp312-cp312-macosx_10_13_universal2.whl
deepread_monkai-5.5.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for deepread_monkai-5.5.0-cp311-cp311-win_amd64.whl
deepread_monkai-5.5.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.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
deepread_monkai-5.5.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.5.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
deepread_monkai-5.5.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.5.0-cp311-cp311-macosx_10_9_x86_64.whl
deepread_monkai-5.5.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.5.0-cp311-cp311-macosx_10_9_universal2.whl
deepread_monkai-5.5.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for deepread_monkai-5.5.0-cp310-cp310-win_amd64.whl
deepread_monkai-5.5.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.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
deepread_monkai-5.5.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.5.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
deepread_monkai-5.5.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.5.0-cp310-cp310-macosx_10_9_x86_64.whl
deepread_monkai-5.5.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.5.0-cp310-cp310-macosx_10_9_universal2.whl

Total release size: 85.0 MB

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

Download URL deepread_monkai-5.5.0-cp313-cp313-win_amd64.whl
Size 1.1 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
60007ee6f88cc2cc0f0ea61dbd6f241cac01f1d4d9b5f6fee6b9a1511a75d292
BLAKE2b-256 checksum
How to use checksums
e1741917f043e6bc4c97268324b68091b29ba8a8db5105ddbd8a34b7526e5275
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.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL deepread_monkai-5.5.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
9d75d29c4cbe34ff8c0cfeb657d38ae70f7ca7cf191eb3dedd02d56ec270c0ac
BLAKE2b-256 checksum
How to use checksums
71ff2c11242be3a5f7ba677e654d7801acde7652716d3c964b882efe3b52ef0f
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.5.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL deepread_monkai-5.5.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
7d4469bfd3566d7f49dbaf224bddd5b9203249b362436ec745f42214479fc451
BLAKE2b-256 checksum
How to use checksums
e44aa2b83754fdb6dd666b4316a6df81c32dee32eba5c66eb7317544a2f0c83d
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.5.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL deepread_monkai-5.5.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
08831e2f80c715ebae39f02bc16aa32871bcbe60d70718a9718a2f6aee014c38
BLAKE2b-256 checksum
How to use checksums
e3338ea63180f88c0c9d7cde2847284a192a14403fc20e1aac26571824560c78
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.5.0-cp313-cp313-macosx_10_13_universal2.whl

Download URL deepread_monkai-5.5.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
02e46eea5ad39d29c5a15a2c4070690d52861fe74d5d32f73b8c61d3f7b3e261
BLAKE2b-256 checksum
How to use checksums
ed43b8becf40c711ee9ee79e77034d7d62c9297513afdf2001754f77d4c125cd
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.5.0-cp312-cp312-win_amd64.whl

Download URL deepread_monkai-5.5.0-cp312-cp312-win_amd64.whl
Size 1.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
6605c49b7d1d26e1910a93aeed4f6683c57461fdf1a9ae9db9ccc6920d09b9b5
BLAKE2b-256 checksum
How to use checksums
11f9798ebe6c8aed9ca08c077a3b48d52f3c575497743d5f8d75a7b0b039de63
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.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL deepread_monkai-5.5.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
3394b21f4f5b52db6a168e0a4bff65a78e24dac67ec75ec46889cd69d22f4df6
BLAKE2b-256 checksum
How to use checksums
0cbdfaa70abfcdc18dddb7e404fba94fa4abd3bf9bd084d24c6ce4085306e4c8
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.5.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL deepread_monkai-5.5.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
eede619e7948410fb370c09fc81215e2c38b3fbedc17cf857f4a780b0c572703
BLAKE2b-256 checksum
How to use checksums
de30902296dcf6bfe4089fd2b15da3b556bf9b176b7514077bc29d6405b38b02
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.5.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL deepread_monkai-5.5.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
fb6ee3480e47f599eb8d99d900380b7fe4247de17ed96c6449277a4a2a2ae475
BLAKE2b-256 checksum
How to use checksums
e88d1fcd06818cf86f1582a0dad37c738b9efcd7a41a177d9b34f5bbb66d5689
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.5.0-cp312-cp312-macosx_10_13_universal2.whl

Download URL deepread_monkai-5.5.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
b8abeca4282b6b11cadc4c2f640906dfde1ca65d7dcc8ba11024c58b2e17e420
BLAKE2b-256 checksum
How to use checksums
e7951331837049bf11fac1b5607ec1ea5df1c5e1907bf4f6a0408ef460bf165d
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.5.0-cp311-cp311-win_amd64.whl

Download URL deepread_monkai-5.5.0-cp311-cp311-win_amd64.whl
Size 1.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
7952051898fc69815ad4e2de9177d9cbdc7a67d897f5b3db2c7badef9fccafce
BLAKE2b-256 checksum
How to use checksums
f4b3b0f1b8ec0fb6bdf320e846b3a70e112efd4b4e28c9b9b8d89d2147e49ca5
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.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL deepread_monkai-5.5.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
abbcb20933ba2f9226965e722de639352f99b93472f1e267c64ec2f0f4df72eb
BLAKE2b-256 checksum
How to use checksums
e4a4cd812ee27fdedfad2cb2f2e9337c2cc42290d39c6702417beacf506d844a
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.5.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL deepread_monkai-5.5.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
34456288a72d66d811e7169841d89d63d1bb966298e953e79652545770011050
BLAKE2b-256 checksum
How to use checksums
7f8e5336028ab16b08302c69f8dabf2e48578b43a7769840f1680de46d7a3aa9
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.5.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL deepread_monkai-5.5.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
e7bab26455b87c09c9025208a733d3e81eaf403047f63e8dc26852756b568dc9
BLAKE2b-256 checksum
How to use checksums
d0e131ea880d9c028fe58864c48fe2945c23d2d804ba983bed6ee6e4eaf6ec97
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.5.0-cp311-cp311-macosx_10_9_universal2.whl

Download URL deepread_monkai-5.5.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
9ddc86526c14a6dd9504971da81132ccf9e9ffffe465f3b4fb8abd2b089048f6
BLAKE2b-256 checksum
How to use checksums
b32dac98b566c6f3fa1acf643d542bebf9a6391c13da0df007fb5fa25164d2ad
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.5.0-cp310-cp310-win_amd64.whl

Download URL deepread_monkai-5.5.0-cp310-cp310-win_amd64.whl
Size 1.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
043890196814dfd14c8e6da9a64982025ca103caec115860b42d9f2edd163d21
BLAKE2b-256 checksum
How to use checksums
b06af219794fadccca15c6d0978cb0ac1c3ca5811ce42cc0f3b961326765b8e2
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.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL deepread_monkai-5.5.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
5f9ef52ef62d69621046f980ab9ce6799d9c19f5d354763aae5f1e86784f2c1d
BLAKE2b-256 checksum
How to use checksums
644f0b3b0db604da3543780d811f18fb445ea411ef2b73ecd79a0032d176aadf
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.5.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL deepread_monkai-5.5.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
2e8918e6b7be36574afd4052ade9f620e8f4f1fb80eef5b2d777051599241958
BLAKE2b-256 checksum
How to use checksums
75c94fb059f63cd1917700f8f035e764e0ec7f9c2bdbc0c33d6e6f65fd44a120
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.5.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL deepread_monkai-5.5.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
a920b2b0a88ee7150b94f1453389fa0fdb4f7bcd4a31f0125e24c85b8c2ee0ef
BLAKE2b-256 checksum
How to use checksums
c4d957556ef670a66ead4f84af8774756fddb8ec36fad0b430c5c4bd3afcff72
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.5.0-cp310-cp310-macosx_10_9_universal2.whl

Download URL deepread_monkai-5.5.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
e5c71dc05dfe983b7d72fd5100aa53a5f63cb459f88e5a14d5995b55b7159743
BLAKE2b-256 checksum
How to use checksums
0c1505b31d15585803a36677ac23f0dbc5913cfe4cea4b994fb75278566dd065
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.5.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