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
virtualenv .venv
source .venv/bin/activate
pip install -r dev-requirements.txt
pip install -e .
# if using asdf
pip install tox-asdf
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/*
git push --tags
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
Mesh Client-1.6.0.tar.gz
(53.6 kB
view hashes)
Built Distribution
Close
Hashes for Mesh_Client-1.6.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c343cd5eca15008259434d97a371e690c873e8b75d8039f81ed108e3b889b612 |
|
MD5 | dd77e093d5cdd9001dca9ec5a682c215 |
|
BLAKE2b-256 | 6d5b58469fcc3676d9c23f4c4d1398246314c84338c3a056425ed0606cb4e68d |