As someone triggering murko it would be useful to be able to import helper functions that will communicate with murko for me. We currently create our own of these at https://github.com/DiamondLightSource/mx-bluesky/blob/ffd273d13660ecb768597f16b11d0d12ff94b0f1/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py#L18 but it would be cleaner to be able to do something like:
pip install murko-client # Note this doesn't give you murko itself or any of the server dependencies
from murko.client import MurkoRequest, send_to_murko_and_get_results, MurkoResponse
my_request = MurkoRequest(...)
response: MurkoResponse = send_to_murko_and_get_results(murko_address, my_request)
This will mean that changes in protocol for murko will be very transparent to clients, they will only need to make sure they are on the correct version.
Acceptance Criteria
- I can install just the client for murko
- murko server uses the same data structures as murko client
client.py uses the client module
- There is lots of documentation in these client facing structures/functions
As someone triggering murko it would be useful to be able to import helper functions that will communicate with murko for me. We currently create our own of these at https://github.com/DiamondLightSource/mx-bluesky/blob/ffd273d13660ecb768597f16b11d0d12ff94b0f1/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py#L18 but it would be cleaner to be able to do something like:
pip install murko-client # Note this doesn't give you murko itself or any of the server dependenciesThis will mean that changes in protocol for murko will be very transparent to clients, they will only need to make sure they are on the correct version.
Acceptance Criteria
client.pyuses the client module