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

Total release size: 85.0 MB

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

Download URL deepread_monkai-5.6.0-cp313-cp313-win_amd64.whl
Size 1.1 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
a1b420d14e44e107f77b7ee3c1782745e28600c303085c47dc14b269bd0454ea
BLAKE2b-256 checksum
How to use checksums
7e562c90a0935f20b0a94f72ed636352bc03ca090f96bd3ad27ad3d540c3a45e
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.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL deepread_monkai-5.6.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
5bea4235ff8362410d4523fd64b5c0a4e48a19adc0999f521601734f9ed920e4
BLAKE2b-256 checksum
How to use checksums
ef7dcf1efd9e83fb455392a8e31e1a1e915e577abc3c1f64bc3065d6ce6919bb
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.6.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL deepread_monkai-5.6.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
f001f5970c500f750fc85d143e9f1fabe0ddd580a4e1e34eca974214ef9755d4
BLAKE2b-256 checksum
How to use checksums
37ce82cf6a0ee493d05f32c1109182bc5339e93574ff394deae81ab931b9ec68
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.6.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL deepread_monkai-5.6.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
c5fe49213a228d19ddcce235b8d66cdc47ce491fc5ec19029e71d6a3b8450ee6
BLAKE2b-256 checksum
How to use checksums
61ddd57fa5272bdc145fa19dadcece3751ec758b7bb66874bccf0ecbc66b7e93
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.6.0-cp313-cp313-macosx_10_13_universal2.whl

Download URL deepread_monkai-5.6.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
16d246e61e4343eb5e7a98ab45331646f43a39c7bcd52246005f1897b9be0792
BLAKE2b-256 checksum
How to use checksums
d684f4d0375f230441da7dc811ea4c697172f4ee689dad2198d1f4ec91b9b44e
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.6.0-cp312-cp312-win_amd64.whl

Download URL deepread_monkai-5.6.0-cp312-cp312-win_amd64.whl
Size 1.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
663b7a028db20a9e08f12e381eeb2ef8022ed31fd36753fc3f325f3646714e6a
BLAKE2b-256 checksum
How to use checksums
ddb94fd5c65da9de9da3a6e47b27f40d647d353c32c4825a86666781a5a53256
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.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL deepread_monkai-5.6.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
ba1083da15fd8887e364d9983f01515ea5f242605a46d8f87aa2d85a1c91f513
BLAKE2b-256 checksum
How to use checksums
4d31760f93f1e62c496dbceb78ede5dbd4700e9587cbcca2bd4457765387539e
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.6.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL deepread_monkai-5.6.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
708e8f5a83e5a6bcbe0ad5112dbe4f382529702c82ad23446adbb0ee37f8dad8
BLAKE2b-256 checksum
How to use checksums
9a0629d1e0de9c5840f3c4ddb5765815d641541e617e2633f0b634d79616bf98
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.6.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL deepread_monkai-5.6.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
6116a232412575822a9cf2ef2dd6a851d3ecd1d01f355fd00dc25ead71b4626b
BLAKE2b-256 checksum
How to use checksums
0d94625c05270d4f7a8b7b957a0905479d623c8be28d6fe329424971473fa600
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.6.0-cp312-cp312-macosx_10_13_universal2.whl

Download URL deepread_monkai-5.6.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
4f4ce2695ef93a54d2ad16631dadc31bd889313bdda055e5edd8ca07a2f1b1a2
BLAKE2b-256 checksum
How to use checksums
826025f99bff2c0b671bd238505ca960512e3d2a531d3e24bdb310e828a9fe7d
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.6.0-cp311-cp311-win_amd64.whl

Download URL deepread_monkai-5.6.0-cp311-cp311-win_amd64.whl
Size 1.2 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
5852f06ba97c94f847f5ef76d5a41e2de69c3dbedccace835e9b8ac6088335a6
BLAKE2b-256 checksum
How to use checksums
0f3f76751e416b21b4cb1ca7bbae790f676282f384a234f59f69bf22b82e2fb4
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.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL deepread_monkai-5.6.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
c456d0dbf2298b4897e2e378be5cb7cec1f52d334b759da850f570d0f2ee1bde
BLAKE2b-256 checksum
How to use checksums
328599255df67c7930c066890147a4f08e5e822f5ab3b59d26bebedba042acfe
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.6.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL deepread_monkai-5.6.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
69c86056d546c5f836ba8663e995166f60c79fc4e58e16cb4243a6d1dc75a8c9
BLAKE2b-256 checksum
How to use checksums
9d09da862b954f2d97a40e4bcbbc6c16589d2d21580a158c14b7ef83bdb2e14f
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.6.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL deepread_monkai-5.6.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
1af26ee73c6280143480dd3231944bc9afb31ccb29faf48f6fd093fb2b4eb11f
BLAKE2b-256 checksum
How to use checksums
e676ad588248bcffdb382d760dd881be5422d94524e510081723ae8d8e2996ee
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.6.0-cp311-cp311-macosx_10_9_universal2.whl

Download URL deepread_monkai-5.6.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
6df2eda91822e7acbc105c201de826702ddfc9ab1550ffa417e64e4d6914cc8c
BLAKE2b-256 checksum
How to use checksums
5e96b718a8d71f3c3ace1ce3eed0eb8f4891e46bfa247276df4e22f4efff8e65
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.6.0-cp310-cp310-win_amd64.whl

Download URL deepread_monkai-5.6.0-cp310-cp310-win_amd64.whl
Size 1.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
280d81ca5951e0a71fb694ed1c6a3535e98c63f8706543fd2ae8c96def4c6899
BLAKE2b-256 checksum
How to use checksums
fb045a0755ce47f9302eeae388f5dae6a989d6b02e21f45e1364197a2140d073
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.6.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL deepread_monkai-5.6.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
0882f81ef15e9d5cb79c3e5598842cb6f60a9dee8567ea13263dd6a7060c5e5a
BLAKE2b-256 checksum
How to use checksums
591428ee7a9a0d30d75d54b6df36fbff09f2209663929423a47766e4d72b3f87
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.6.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL deepread_monkai-5.6.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
61821a9b9c7683b426721e8d25ffd6c89bf00603fad507dc36e538c78eab2def
BLAKE2b-256 checksum
How to use checksums
4e26fe7f34db937df6aa1e4f9ebabe45920f5e806abfa84f0d958f5877e0be55
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.6.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL deepread_monkai-5.6.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
5b2515001eacac23e32561cd331d0131ad7c2cd5ed110396d4cbed430e79e343
BLAKE2b-256 checksum
How to use checksums
604548e79ccafca195a06b6895e824dc05e954d3e1b914a2e52732bc43e30590
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.6.0-cp310-cp310-macosx_10_9_universal2.whl

Download URL deepread_monkai-5.6.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
b628221bbbfcf2945b205a62656eb07ca6ddc90353fd070272597a7a4045a272
BLAKE2b-256 checksum
How to use checksums
7b58f0b6a28a7faf039bc410e0a8726c83a94c07ad0c4dd2c6b68222e475943c
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.6.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