Skip to main content

JMAP client library for Python

Project description

jmapc: A JMAP client library for Python

PyPI PyPI - Python Version Build codecov GitHub stars

jmapc

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

jmapc is available on PyPI:

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 or poetry run pre-commit run --all-files
  • Run static checks and tests: poetry run poe test

Created from smkent/cookie-python using cookiecutter

Project details


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)

Uploaded Source

Built Distribution

jmapc-0.2.22-py3-none-any.whl (36.9 kB view details)

Uploaded Python 3

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

Hashes for jmapc-0.2.22.tar.gz
Algorithm Hash digest
SHA256 57a4f2b65f9fc1b9a41b2bf5d7d5fb29a876bdf7233f39e67f197ee263f94b58
MD5 251b35b62668bafbb2f8c11ca9181577
BLAKE2b-256 01be13ecf7c09ab59000da7b7afa816eab2bce8eed1c79003b1d50b730d41234

See more details on using hashes here.

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

Hashes for jmapc-0.2.22-py3-none-any.whl
Algorithm Hash digest
SHA256 7d9b868671bf6aadd27212876f32a1a3947de4f89a9941c7f211525e2e5647d7
MD5 36867299456eb76a520d4fba93668bbd
BLAKE2b-256 aeeb0e1706f95d5d095476ac85ed01a54fc2567952621fd6dbd481ac681cb830

See more details on using hashes here.

Supported by

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