Skip to main content

Biblioteca para extração inteligente de documentos PDF com IA

Project description

DeepRead

Biblioteca Python para extracao inteligente de documentos PDF com IA

PyPI Python 3.9+ License: MIT CI Quality Seal


Caracteristicas

  • Autenticacao por Token - HMAC-SHA256 com timing-safe validation
  • Extracao Inteligente - Extrai informacoes de PDFs usando LLMs (OpenAI / Azure OpenAI)
  • OCR Automatico - Detecta e processa documentos escaneados (Azure AI Vision)
  • Structured Output - Respostas tipadas com Pydantic
  • Async + Sync - APIs sincrona e assincrona com batch processing
  • Resiliencia - Retry com backoff exponencial e circuit breaker
  • Cache - Cache LRU com TTL para evitar reprocessamento
  • Page Range - Filtre paginas especificas por posicao (inicio/fim)
  • Streaming - Modo lazy para economia de memoria
  • Tracking de Custos - Monitore tokens e custos por requisicao

Instalacao

pip install DeepRead.Monkai

Com OCR (Azure AI Vision):

pip install DeepRead.Monkai[ocr]

Desenvolvimento:

pip install DeepRead.Monkai[dev]

Uso Rapido

1. Obter Token de Acesso

O token de acesso e fornecido pela equipe Monkai. Para solicitar: contato@monkai.com.br

export DEEPREAD_API_TOKEN="dr_seu_token_fornecido_pela_monkai"
export OPENAI_API_KEY="sk-..."

2. Processar Documento

import os
from deepread import DeepRead, Question, QuestionConfig
from pydantic import BaseModel, Field

class ExtractionResponse(BaseModel):
    valor: str = Field(description="Valor extraido")
    unidade: str = Field(default="", description="Unidade de medida")
    confianca: float = Field(default=1.0, ge=0, le=1)

question = Question(
    config=QuestionConfig(id="quantidade", name="Extracao de Quantidade"),
    system_prompt="Voce e um especialista em extracao de dados de documentos.",
    user_prompt="Analise o texto e extraia a quantidade mencionada.\n\nTexto:\n{texto}",
    keywords=["quantidade", "litros", "volume", "total"],
    response_model=ExtractionResponse
)

dr = DeepRead(
    api_token=os.getenv("DEEPREAD_API_TOKEN"),
    openai_api_key=os.getenv("OPENAI_API_KEY"),
    model="gpt-5.1",
    verbose=True
)

dr.add_question(question)
result = dr.process("documento.pdf")

print(f"Resposta: {result.get_answer('quantidade')}")
print(f"Tokens: {result.total_metrics.tokens}")
print(f"Custo: ${result.total_metrics.cost_usd:.4f}")

3. Multiplas Perguntas com Page Range

from deepread import PageRange

dr.add_questions([
    Question(
        config=QuestionConfig(id="preco", name="Preco"),
        user_prompt="Extraia o preco: {texto}",
        keywords=["preco", "valor", "R$"],
        page_range=PageRange(start=1, end=5, from_position="start")
    ),
    Question(
        config=QuestionConfig(id="conclusao", name="Conclusao"),
        user_prompt="Extraia a conclusao: {texto}",
        keywords=["conclusao", "resultado"],
        page_range=PageRange(start=1, end=3, from_position="end")
    ),
])

result = dr.process("documento.pdf")
for r in result.results:
    print(f"{r.question_name}: {r.answer}")

4. Classificacao de Documentos

from deepread import Classification
from typing import Literal

class ClassificacaoDoc(BaseModel):
    classificacao: Literal["APROVADO", "REPROVADO", "REVISAR"]
    justificativa: str
    confianca: float = Field(ge=0, le=1)

classification = Classification(
    system_prompt="Voce e um classificador de documentos.",
    user_prompt="Baseado nos dados extraidos, classifique o documento:\n\n{dados}",
    response_model=ClassificacaoDoc
)

dr.set_classification(classification)
result = dr.process("documento.pdf", classify=True)
print(f"Classificacao: {result.classification}")

5. Processamento em Lote

from pathlib import Path

docs = list(Path("documentos/").glob("*.pdf"))
results = dr.process_batch(docs, classify=True, max_workers=4)

for r in results:
    print(f"{r.document.filename}: {r.get_answer('preco')}")

6. API Assincrona

import asyncio

async def main():
    dr = DeepRead(
        api_token=os.getenv("DEEPREAD_API_TOKEN"),
        openai_api_key=os.getenv("OPENAI_API_KEY"),
    )
    dr.add_question(question)

    result = await dr.process_async("documento.pdf")
    print(result.get_answer("quantidade"))

    results = await dr.process_batch_async(docs, max_concurrency=5)

asyncio.run(main())

7. Cache e Resiliencia

dr = DeepRead(
    api_token=os.getenv("DEEPREAD_API_TOKEN"),
    openai_api_key=os.getenv("OPENAI_API_KEY"),
    enable_cache=True,
    cache_ttl=3600,
    max_retries=3,
    circuit_breaker=True,
    circuit_breaker_threshold=5,
    circuit_breaker_timeout=60,
    streaming=True,
)

result = dr.process("documento.pdf")
print(f"Cache stats: {dr.cache_stats}")

8. Multiplos Tipos de Input

result = dr.process("documento.pdf")

result = dr.process("https://exemplo.com/doc.pdf")

with open("doc.pdf", "rb") as f:
    result = dr.process(f.read(), filename="doc.pdf")

import io
buffer = io.BytesIO(pdf_bytes)
result = dr.process(buffer, filename="doc.pdf")

CLI

CLI machine-friendly para automação e uso por agentes de IA. Toda saída é JSON em stdout, erros em stderr, e o exit code reflete sucesso (0) ou falha (≥1).

Instalação

pip install "DeepRead.Monkai[cli]"

Comandos

Comando Descrição
version Mostra a versão instalada
models Lista modelos LLM disponíveis com pricing
schemas Lista schemas pré-construídos com seus campos
extract <pdf> Extração one-shot de um único PDF
run <config> <target> Executa extração com YAML config (single ou batch)
init <output> Gera um arquivo YAML de configuração

Exemplos

# Versão
deepread version

# Listar modelos disponíveis
deepread models

# Listar schemas pré-construídos
deepread schemas

# Extração one-shot com schema pré-construído
export DEEPREAD_API_TOKEN=dr_...
export OPENAI_API_KEY=sk-...
deepread extract documento.pdf --schema DadosContrato

# Extração one-shot com prompt customizado
deepread extract documento.pdf \
  --prompt "Extraia o valor total do documento: {texto}" \
  --keywords "valor,total,R$" \
  --pages 1-5

# Gerar config YAML para uso recorrente
deepread init config.yaml --schema DadosContrato

# Executar com config (single)
deepread run config.yaml documento.pdf -o resultado.json

# Executar em lote (diretório)
deepread run config.yaml ./documentos/ -o resultados.csv -f csv

Flags do extract

Flag Env var Descrição
--token DEEPREAD_API_TOKEN Token do DeepRead
--api-key OPENAI_API_KEY Chave OpenAI
--schema / -s Nome de schema pré-construído
--prompt / -p Prompt customizado (deve conter {texto})
--model / -m Modelo: fast/balanced/complete/economic ou nome direto
--ocr OCR mode: off/auto/force
--keywords / -k Keywords separadas por vírgula
--pages Range de páginas (1-5 ou last-3)
--format / -f Saída: json/csv/text
--verbose / -v Logs detalhados em stderr
--quiet / -q Suprime stderr

Configuração via YAML

Para usar Azure OpenAI ou customizar parâmetros mais finos, rode deepread init para gerar um config base com seção auth que resolve ${ENV_VAR} automaticamente:

deepread:
  model: balanced
  ocr: off
  max_retries: 3
  enable_cache: false

auth:
  api_token: ${DEEPREAD_API_TOKEN}
  openai_api_key: ${OPENAI_API_KEY}
  # Para Azure OpenAI:
  # provider: azure
  # azure_api_key: ${AZURE_API_KEY}
  # azure_endpoint: https://seu-recurso.openai.azure.com
  # azure_deployment: gpt-4o
  # azure_api_version: 2024-02-15-preview

questions:
  - id: extracao
    name: Extração
    prompt: "Extraia as informações principais: {texto}"
    schema: DadosContrato

Exit codes

Code Significado
0 Sucesso
1 Falha genérica
2 Erro de configuração (chave/token ausente)
3 Arquivo não encontrado
4 Erro de execução (rede, API, etc.)

Azure OpenAI

export OPENAI_PROVIDER=azure
export AZURE_API_KEY="sua-chave-azure"
export AZURE_API_ENDPOINT="https://seu-recurso.openai.azure.com"
export AZURE_API_VERSION="2024-02-15-preview"
export AZURE_DEPLOYMENT_NAME="gpt-4o"
dr = DeepRead(
    api_token=os.getenv("DEEPREAD_API_TOKEN"),
    provider="azure",
    azure_api_key="sua-chave-azure",
    azure_endpoint="https://seu-recurso.openai.azure.com",
    azure_deployment="gpt-4o",
)
Parametro OpenAI Azure OpenAI
provider "openai" (default) "azure"
openai_api_key Obrigatorio Nao usado
azure_api_key Nao usado Obrigatorio
azure_endpoint Nao usado Obrigatorio
azure_deployment Nao usado Obrigatorio
model Nome do modelo Ignorado (usa deployment)

Google Gemini

DeepRead supports Google Gemini via the AI Studio API. Install the extra and set your API key:

pip install "DeepRead.Monkai[google]"
export GOOGLE_API_KEY="your-key-here"

Use provider="google":

from deepread import DeepRead

dr = DeepRead(
    api_token="dr_xxx",
    provider="google",
    model="balanced",  # -> gemini-2.5-flash
)
result = dr.process("document.pdf")

Model aliases for Google:

Alias Gemini model
fast gemini-2.5-flash-lite
balanced gemini-2.5-flash
complete gemini-2.5-pro
economic gemini-2.5-flash-lite

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


Modelos Disponiveis

print(DeepRead.available_models())
# {
#     "fast": "gpt-4.1",
#     "balanced": "gpt-5.1",
#     "complete": "gpt-5-2025-08-07",
#     "economic": "gpt-5-mini-2025-08-07"
# }

API Reference

DeepRead

Metodo Descricao
add_question(question) Adiciona uma pergunta
add_questions(questions) Adiciona multiplas perguntas
remove_question(id) Remove uma pergunta
clear_questions() Remove todas as perguntas
set_classification(config) Configura classificacao
process(document) Processa um documento (sync)
process_async(document) Processa um documento (async)
process_batch(documents, max_workers) Processa lote (sync, com ThreadPool)
process_batch_async(documents, max_concurrency) Processa lote (async, com Semaphore)
clear_cache() Limpa o cache
cache_stats Retorna hits/misses/size do cache
available_models() Lista modelos disponiveis
create_question(...) Factory method para Question

DeepRead Constructor

Parametro Tipo Default Descricao
api_token str - Token de autenticacao (obrigatorio)
openai_api_key str env Chave API OpenAI
model str gpt-5.1 Modelo LLM
verbose bool False Logs detalhados
max_retries int 3 Retries para erros transientes
enable_cache bool False Habilita cache LRU
cache_ttl int 3600 TTL do cache em segundos
streaming bool False Modo lazy (economia de memoria)
circuit_breaker bool False Habilita circuit breaker
circuit_breaker_threshold int 5 Falhas para abrir circuito
circuit_breaker_timeout int 60 Segundos para recovery
max_file_size_mb float 50 Limite de tamanho do arquivo
max_pages int 500 Limite de paginas
provider str openai Provider: openai ou azure

Question

Campo Tipo Descricao
config QuestionConfig Configuracao basica (id, name)
system_prompt str Prompt de sistema
user_prompt str Template do prompt (use {texto})
keywords list[str] Keywords para filtrar paginas
page_range PageRange Range de paginas (opcional)
response_model BaseModel Modelo Pydantic (opcional)

PageRange

Campo Tipo Descricao
start int Pagina inicial (1-indexed)
end int Pagina final (None = ate o fim)
from_position str "start" ou "end"

ProcessingResult

Campo Tipo Descricao
document DocumentMetadata Metadados do documento
results list[Result] Resultados por pergunta
classification dict Classificacao (se aplicavel)
total_metrics ProcessingMetrics Metricas totais

ProcessingMetrics

Campo Tipo Descricao
time_seconds float Tempo de processamento
tokens int Total de tokens
prompt_tokens int Tokens do prompt
completion_tokens int Tokens da resposta
cost_usd float Custo em USD
model str Modelo utilizado

Estrutura do Projeto

deepread/
├── __init__.py          # Exports principais
├── reader.py            # Classe DeepRead (sync + async)
├── config.py            # Modelos, precos, configuracoes
├── utils.py             # PDF loading, filtragem, metadata
├── ocr.py               # Azure AI Vision OCR
├── cache.py             # Cache LRU com TTL
├── resilience.py        # Retry + Circuit Breaker
├── exceptions.py        # Excecoes customizadas
├── auth/
│   ├── __init__.py
│   ├── token.py         # HMAC-SHA256 token validation
│   └── exceptions.py    # Excecoes de autenticacao
└── models/
    ├── __init__.py
    ├── question.py      # Question, QuestionConfig, PageRange
    ├── result.py        # Result, ProcessingResult, Metrics
    ├── classification.py # Classification
    └── schemas.py       # Schemas de exemplo (DadosContrato, etc)

Documentacao

Documento Descricao
Instalacao Guia de instalacao e configuracao
Guia Rapido Comece em 5 minutos
Autenticacao Sistema de tokens
Perguntas Configuracao de perguntas e extracao
Classificacao Classificacao de documentos
OCR Reconhecimento optico de caracteres
Schemas Modelos de dados e estruturas
API Reference Referencia completa da API
Exemplos Exemplos praticos (01-07)
Certificacao Certificado de qualidade

Certificacao de Qualidade

Este projeto foi auditado e certificado pelo Claude AI Quality Seal.

Dimensao Score
Seguranca 8.7/10
Usabilidade 8.2/10
Escalabilidade 7.8/10
Qualidade de Codigo 8.0/10
Global 8.18/10

Classificacao: PROFISSIONAL Serial: DR-CQA-DE8364E7-116B6022-D40E375D-42BB4E3B

Ver certificado completo | Ver certificado HTML


Suporte


Desenvolvido por Monkai

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

deepread_monkai-3.0.3-cp313-cp313-win_amd64.whl (972.3 kB view details)

Uploaded CPython 3.13Windows x86-64

deepread_monkai-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

deepread_monkai-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (6.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

deepread_monkai-3.0.3-cp313-cp313-macosx_10_13_universal2.whl (2.0 MB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

deepread_monkai-3.0.3-cp312-cp312-win_amd64.whl (977.7 kB view details)

Uploaded CPython 3.12Windows x86-64

deepread_monkai-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

deepread_monkai-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

deepread_monkai-3.0.3-cp312-cp312-macosx_10_13_universal2.whl (2.1 MB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

deepread_monkai-3.0.3-cp311-cp311-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.11Windows x86-64

deepread_monkai-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

deepread_monkai-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

deepread_monkai-3.0.3-cp311-cp311-macosx_10_9_universal2.whl (2.1 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

deepread_monkai-3.0.3-cp310-cp310-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.10Windows x86-64

deepread_monkai-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

deepread_monkai-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (6.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

deepread_monkai-3.0.3-cp310-cp310-macosx_10_9_universal2.whl (2.1 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

File details

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

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4b38eb37111fb0470222cc65cc6900929aae8475309c24633271d712cfa26983
MD5 9d2b6738cffe6462afb5831dab556e0e
BLAKE2b-256 1a93314ee15dc98a0fdc7e8e2cbea6187d8a955675a37f7a2c0ec74a3dc1dc01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ee3f1f3a7b8601767836e202d9d70af212234cc15b40dfe01a27f4add71ce8f6
MD5 25222889daa81f65f3970707be98c5d6
BLAKE2b-256 0d77ab78b4723cbbd3115e7c4908d13e44fe6a39b926f0c2ed3183ad9b85df07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 0a3488317b9c6bcc5eaf4e0f64ed9178895135652ec8dc9dc8d992c0ca598235
MD5 77a35cfd8d57306a7098992148094728
BLAKE2b-256 38fc555eb74790d594d18e8632b0b27ba821dbaad348d5a1f1b2e2c1acc63e44

See more details on using hashes here.

File details

Details for the file deepread_monkai-3.0.3-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 a7e3ce061fa5a726e9211c65ff4ca137e6b11e3b80853863221f59008646fbdd
MD5 4bd3893549ae5ba7c0d41fede1fd9c23
BLAKE2b-256 0e7ce7e463b7e3280158b2efce72174fa7b79b29c5f05828ae683796e53269a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 159daf337acebcd955eecac58439282ba483a935cb84abae3d04769a95b521e5
MD5 5ace6a9ea8a2e4141dfb27a2b6bba388
BLAKE2b-256 9634d101f8c13b9edc9841e13386a1578eb5a42280027f7cf2e915672c490727

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c1bd8a263ac55330d3f16ecbfe71a06d149c4dca4bb8b6f3126a8bbe97d340c9
MD5 88a9b6cea6a6764cecea34d8ecafaa2c
BLAKE2b-256 1a08faac09905df577e34fd5dd1fe035cd5872ea4b008ba20ed8e9afebfc40da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 6ddabf3c93e442ef0644209b9f93fe5e3f846d345da0afed881c7902c66af372
MD5 eb63145d071469daa7854d114c9fed4a
BLAKE2b-256 66a1d74925731eef791e162fc824aba7286aafde9c074391dd16cb259ed22f66

See more details on using hashes here.

File details

Details for the file deepread_monkai-3.0.3-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 715170e5bd811f2c6aac339e8290f145b39ce347406b263286d758c9e6249236
MD5 074892f80cce0895270ee3d9cc9647ea
BLAKE2b-256 ba5fc6d1f07ac7d73669a76cedd6699eb0785b392ad265a526019ee645319454

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f0b85e079d56505aa3ccd269be22b0244333db46778c0290001561a7995acc2a
MD5 1dde7c1e3ad3ab8b4772452c91129ab7
BLAKE2b-256 19db62cbe2b4fd538256357cfeb1eb76ca7402a4352df0c41dd4136d93c934d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 4cb360f31b52bd755893f7244cd7eb9fee6fb8f7d4aa309034cb0ae1ba38a0b7
MD5 c9e5bdfe20a219499b40336a1bc50a10
BLAKE2b-256 416bc557d626291286546f0156894496b5097c92f380171c687db6adbda3e43c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 a49f771f0cc40186901c59c58207a2c324ea86e2ac27d16fc45c6b81dac7f718
MD5 2c49ab5a6e67fedc010af5d8c997a5e2
BLAKE2b-256 e375c51492ef49d3e1db091456d3f51bbb89ca14a2230e99bd1ab797fa0efdc9

See more details on using hashes here.

File details

Details for the file deepread_monkai-3.0.3-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1c873222598d4b110ceb247c7532d7ac058a59d59bc67918ee09f3f2cb927704
MD5 3bc10c6e18ed2a63c31a44da79ac278b
BLAKE2b-256 20e175dd2de12b515d957441003c15644790a152ed779eadb04c16f06aef7329

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6c674b13fbe9a0c463109bd945e1d9aa28ea183abcca428cde7ddfea46a10c41
MD5 1a7df30c451230f52c6618e8559b30bc
BLAKE2b-256 717377b1de017f93e0db63493ab728730d16ef2fca14b0da5e405e586ad73b01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8d858e81dda206457bacd733193478bb1fffa1001680ef7a25f9bda6a676b946
MD5 3927ac30611735b23a3f0b69e972153d
BLAKE2b-256 a6bbf7d5e2def6c4de5db9af7e3c4757586e7f83688ef714664037543275a6b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 aa19e6fc2116008515a95a71f30e5fc0dfd788b0b1655326a2ca69bdd644fca9
MD5 1b4da158293cab175b165483952478c6
BLAKE2b-256 3002aa6535ffbfa65b354ccce32af940f7d0697f0c2878123ad815df65538646

See more details on using hashes here.

File details

Details for the file deepread_monkai-3.0.3-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for deepread_monkai-3.0.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7282652046a60126719f568bc9b664c3bcb2099f0611843f8a542c54f6ffb271
MD5 384f8813951e0767b0df32705621f407
BLAKE2b-256 4729f543755713df8cb3d6ead2823fcb52848138a91a4f215b017a307f195eb6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page