Skip to main content

Client for NHS Digital 's MESH messaging system

Project description

MESH Client

A Python client for NHS Digital's MESH API.

Installation

pip install mesh_client

Example use

from mesh_client import MeshClient, NHS_DEP_ENDPOINT
with MeshClient(
          NHS_DEP_ENDPOINT,
          'MYMAILBOX',
          'Password123!',
          cert=('/etc/certs/cert.pem', '/etc/certs/key.pem')  # Mesh uses SSL, so you'll need some certs
        ) as client:

    client.handshake()  # It will work without this, but Spine will complain
    message_ids = client.list_messages()
    first_message = client.retrieve_message(message_ids[0])
    print('Subject', first_message.subject)
    print('Message', first_message.read())
    first_message.acknowledge()

    # Alternatively, iterate
    for message in client.iterate_all_messages():
        with message: # With block will handle acknowledgement
            print('Message', message.read())

    client.send_message('RECIPIENT_MAILBOX', b'Hello World!', subject='Important message')

Guidance for contributors

You should be doing all your development in a virtualenv / venv. You can install everything you need for development with

pip install -r dev-requirements.txt

We use unittest for tests, and you can run the test suite locally with:

python -m unittest discover . '*_test.py'

We use tox for testing on multiple versions. To run the tox tests, just run:

tox

For releases, we use twine. The rough release process would be:

tox  # Re-run tests, just to be sure
git tag $CURRENT_VERSION
rm dist/*  # Get rid of previous distribution files
python -m build
twine upload -r testpypi dist/*
# Check artifacts are uploaded correctly, and that entry on PyPI looks correct
twine upload dist/*

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

Mesh Client-1.3.0.tar.gz (55.2 kB view details)

Uploaded Source

Built Distribution

Mesh_Client-1.3.0-py2.py3-none-any.whl (48.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file Mesh Client-1.3.0.tar.gz.

File metadata

  • Download URL: Mesh Client-1.3.0.tar.gz
  • Upload date:
  • Size: 55.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.9

File hashes

Hashes for Mesh Client-1.3.0.tar.gz
Algorithm Hash digest
SHA256 a689186e1b53d7838f72761845771a6879a998fafb45d01c5f409d3b973a9689
MD5 e2cba7355c56340eeac207c8b7c2ebba
BLAKE2b-256 0b7313f4a44c704d183d7c3c760e5fe676f7418ff840faf7940c4bf672f48551

See more details on using hashes here.

File details

Details for the file Mesh_Client-1.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: Mesh_Client-1.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 48.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.9

File hashes

Hashes for Mesh_Client-1.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b7586c7885e4592aba2c5e9afa9ce48974b560c61d2792940d2617f70179d7e8
MD5 3e1bcf3bc48cc85114ad80389997676c
BLAKE2b-256 528195c17997732fcfb6f4198d67963627e8bfad0388b86401adb2937d947415

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