jmapc¶
A JMAP client library for Python
Currently implemented:
- Basic models
- Request methods:
Core/echoEmail/changesEmail/copyEmail/getEmail/queryEmail/queryChangesEmail/setEmailSubmission/*(get,changes,query,queryChanges,set)Identity/*(get,changes,set)Mailbox/*(get,changes,query,queryChanges,set)SearchSnippet/*(get)Thread/*(get,changes)- Arbitrary methods via the
CustomMethodclass - Fastmail-specific methods:
MaskedEmail/*(get,set)- Combined requests with support for result references
- Basic JMAP method response error handling
- EventSource event handling
- Unit tests for basic functionality and methods
Installation¶
Install in any environment where pip is available:
pip install jmapc
Installation in projects¶
Install in a project, such as with uv or poetry:
uv add jmapc
poetry add jmapc
Examples¶
Any of the included examples can be invoked with uv run:
JMAP_HOST=jmap.example.com \
JMAP_API_TOKEN=ness__pk_fire \
uv run examples/identity_get.py
If successful, examples/identity_get.py should output something like:
Identity 12345 is for Ness at ness@onett.example.com
Identity 67890 is for Ness at ness-alternate@onett.example.com
Project template¶
This project is generated and maintained with copier-python.
