> ## Documentation Index
> Fetch the complete documentation index at: https://jmail.world/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# JmailClient

> Client-Konstruktor und -Konfiguration

## Konstruktor

```python theme={null}
JmailClient(cache=True)
```

Erzeugt eine neue Client-Instanz.

### Parameter

**cache** `bool` (default: True)

Lokales, ETag-basiertes Datei-Caching unter `~/.cache/jmail/` aktivieren. Auf `False` setzen, um Daten immer neu herunterzuladen.

### Beispiel

```python theme={null}
from jmail import JmailClient

# Standard: Caching aktiviert
client = JmailClient()

# Kein Caching
client = JmailClient(cache=False)
```

## Methoden

| Methode | Rückgabewert | Beschreibung |
| - | - | - |
| [`manifest()`](https://jmail.world/docs/de/api-reference/jmail-client#manifest) | `dict` | API-Manifest mit Datensatz-Metadaten |
| [`emails(slim)`](https://jmail.world/docs/de/api-reference/emails) | `DataFrame` | E-Mail-Archiv |
| [`documents(include_text)`](https://jmail.world/docs/de/api-reference/documents) | `DataFrame` | Dokumentmetadaten und -text |
| [`photos()`](https://jmail.world/docs/de/api-reference/photos) | `DataFrame` | Foto-Metadaten |
| [`people()`](https://jmail.world/docs/de/api-reference/people) | `DataFrame` | Identifizierte Personen |
| [`photo_faces()`](https://jmail.world/docs/de/api-reference/photo-faces) | `DataFrame` | Bounding-Boxen für Gesichter |
| [`imessage_conversations()`](https://jmail.world/docs/de/api-reference/imessages) | `DataFrame` | iMessage-Konversationen |
| [`imessage_messages()`](https://jmail.world/docs/de/api-reference/imessages) | `DataFrame` | iMessage-Nachrichten |
| [`star_counts()`](https://jmail.world/docs/de/api-reference/star-counts) | `DataFrame` | Crowd-gestützte Sterne |
| [`release_batches()`](https://jmail.world/docs/de/api-reference/release-batches) | `DataFrame` | Informationen zu Veröffentlichungsbatches |
| [`url(dataset, fmt)`](https://jmail.world/docs/de/api-reference/jmail-client#url) | `str` | Direkte Datensatz-URL |

## `manifest()`

Ruft das API-Manifest mit Dataset-Metadaten und Prüfsummen ab.

```python theme={null}
manifest = client.manifest()
print(manifest)
```

**Gibt zurück:** `dict` -- geparstes JSON-Objekt von `data.jmail.world/v1/manifest.json`

## `url(dataset, fmt="parquet")`

Hole die rohe URL für eine Datensatzdatei. Nützlich, um sie direkt an DuckDB, Polars oder ein anderes Tool zu übergeben, das Parquet über HTTP lesen kann.

```python theme={null}
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` *required*

Name des Datasets. Einer der folgenden Werte: `emails`, `emails-slim`, `documents`, `photos`, `people`, `photo_faces`, `imessage_conversations`, `imessage_messages`, `star_counts`, `release_batches`.

**fmt** `str` (default: parquet)

Dateiformat. Entweder `parquet` oder `ndjson.gz`.

**Rückgabewert:** `str` -- vollständige URL


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.