Saltar al contenido principal

Constructor

JmailClient(cache=True)
Crear una nueva instancia de cliente.

Parámetros

cache
bool
predeterminado:"True"
Activa el almacenamiento en caché local de archivos basado en ETag en ~/.cache/jmail/. Ponlo en False para descargar siempre datos nuevos.

Ejemplo

from jmail import JmailClient

# Por defecto: almacenamiento en caché habilitado
client = JmailClient()

# Sin almacenamiento en caché
client = JmailClient(cache=False)

Métodos

MétodoDevuelveDescripción
manifest()dictManifiesto de la API con metadatos del conjunto de datos
emails(slim)DataFrameArchivo de correos electrónicos
documents(include_text)DataFrameMetadatos y texto de documentos
photos()DataFrameMetadatos de las fotos
people()DataFramePersonas identificadas
photo_faces()DataFrameCajas delimitadoras de rostros
imessage_conversations()DataFrameConversaciones de iMessage
imessage_messages()DataFrameMensajes de iMessage
star_counts()DataFrameEstrellas generadas por la comunidad
release_batches()DataFrameInformación sobre los lotes de publicación
url(dataset, fmt)strURL sin procesar del conjunto de datos

manifest()

Obtén el manifiesto de la API con los metadatos de los datasets y sus sumas de verificación.
manifest = client.manifest()
print(manifest)
Devuelve: dict — JSON parseado de data.jmail.world/v1/manifest.json

url(dataset, fmt="parquet")

Obtén la URL directa del archivo del conjunto de datos. Útil para pasarla directamente a DuckDB, Polars o cualquier herramienta que lea Parquet sobre HTTP.
url = client.url("emails-slim")
# "https://data.jmail.world/v1/emails-slim.parquet"

url = client.url("documents", fmt="ndjson.gz")
# "https://data.jmail.world/v1/documents.ndjson.gz"
dataset
str
requerido
Nombre del conjunto de datos. Uno de los siguientes: emails, emails-slim, documents, photos, people, photo_faces, imessage_conversations, imessage_messages, star_counts, release_batches.
fmt
str
predeterminado:"parquet"
Formato de archivo. Puede ser parquet o ndjson.gz.
Devuelve: str — URL completa