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-pre-commit-plugin

Via pip:

pip install poetry
poetry self add 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.23.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

jmapc-0.2.23-py3-none-any.whl (36.6 kB view details)

Uploaded Python 3

File details

Details for the file jmapc-0.2.23.tar.gz.

File metadata

  • Download URL: jmapc-0.2.23.tar.gz
  • Upload date:
  • Size: 27.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jmapc-0.2.23.tar.gz
Algorithm Hash digest
SHA256 c1e8a54f922dca1dbb9aca2fb541fd0c3acc7a582c773aa3a440177f48d67542
MD5 effb88bd2b3a5d95d59560b3e090775b
BLAKE2b-256 36688d06d545ebc1323182b17eecffa5600ab2acaf8e9667d0e2c3d20be7db7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for jmapc-0.2.23.tar.gz:

Publisher: cd.yml on smkent/jmapc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jmapc-0.2.23-py3-none-any.whl.

File metadata

  • Download URL: jmapc-0.2.23-py3-none-any.whl
  • Upload date:
  • Size: 36.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jmapc-0.2.23-py3-none-any.whl
Algorithm Hash digest
SHA256 7bc429764b7edc4b377d3c05c2e9aeabaf725c4ad3a529463aa962473e6dfd7d
MD5 501d0ddc93613a5ac0e52d691e843156
BLAKE2b-256 fee96b9fbac4023ee66557ee73d1e9982824fb64048a83e46d56171e2d34d069

See more details on using hashes here.

Provenance

The following attestation bundles were made for jmapc-0.2.23-py3-none-any.whl:

Publisher: cd.yml on smkent/jmapc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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