Skip to content

Create a client module #8

Description

@DominicOram

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions