JMAP client library for Python
Project description
jmapc: A JMAP client library for Python
Currently implemented:
- Basic models
- Request methods:
Core/echo
Email/changes
Email/copy
Email/get
Email/query
Email/queryChanges
Email/set
EmailSubmission/*
(get
,changes
,query
,queryChanges
,set
)Identity/*
(get
,changes
,set
)Mailbox/*
(get
,changes
,query
,queryChanges
,set
)SearchSnippet/*
(get
)Thread/*
(get
,changes
)- Arbitrary methods via the
CustomMethod
class
- Fastmail-specific methods:
- Combined requests with support for result references
- Basic JMAP method response error handling
- EventSource event handling
- Unit tests for basic functionality and methods
Installation
pip install jmapc
Examples
Any of the included examples can be invoked with poetry run
:
JMAP_HOST=jmap.example.com \
JMAP_API_TOKEN=ness__pk_fire \
poetry 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
Development
Poetry installation
Via pipx
:
pip install pipx
pipx install poetry
pipx inject poetry poetry-dynamic-versioning poetry-pre-commit-plugin
Via pip
:
pip install poetry
poetry self add poetry-dynamic-versioning poetry-pre-commit-plugin
Development tasks
- Setup:
poetry install
- Run static checks:
poetry run poe lint
orpoetry run pre-commit run --all-files
- Run static checks and tests:
poetry run poe test
Created from smkent/cookie-python using cookiecutter
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
jmapc-0.2.22.tar.gz
(31.8 kB
view details)
Built Distribution
jmapc-0.2.22-py3-none-any.whl
(36.9 kB
view details)
File details
Details for the file jmapc-0.2.22.tar.gz
.
File metadata
- Download URL: jmapc-0.2.22.tar.gz
- Upload date:
- Size: 31.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57a4f2b65f9fc1b9a41b2bf5d7d5fb29a876bdf7233f39e67f197ee263f94b58 |
|
MD5 | 251b35b62668bafbb2f8c11ca9181577 |
|
BLAKE2b-256 | 01be13ecf7c09ab59000da7b7afa816eab2bce8eed1c79003b1d50b730d41234 |
File details
Details for the file jmapc-0.2.22-py3-none-any.whl
.
File metadata
- Download URL: jmapc-0.2.22-py3-none-any.whl
- Upload date:
- Size: 36.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d9b868671bf6aadd27212876f32a1a3947de4f89a9941c7f211525e2e5647d7 |
|
MD5 | 36867299456eb76a520d4fba93668bbd |
|
BLAKE2b-256 | aeeb0e1706f95d5d095476ac85ed01a54fc2567952621fd6dbd481ac681cb830 |