#api-client #specification #protobuf #grpc #settings #min-know #minknow-api

minknow-api-rust

Protobuf and gRPC specifications for the MinKNOW API with a Rust implementation

5 unstable releases

0.3.0 May 26, 2023
0.2.2 May 26, 2023
0.2.1 May 25, 2023
0.2.0 Dec 4, 2022
0.1.0 Nov 28, 2022

#142 in #settings

Custom license

105KB
576 lines

MinKNOW API Rust Client

This is currently an early implementation and should not be used in production settings. This is NOT an official ONT project.

A rust implementation of the minknow_api client for interacting with MinKNOW. More information on MinKNOW and minknow_api client, see the minknow_api python client repository.

Note that this library attempts to match the interfaces of the minknow_api python client, however, in some cases, additional interfaces have been added to simplify client usage.

Contributing

Prequisites:

  • Rust
  • Cargo
  • MinKNOW >=22.10.7 installed and running locally

End to end tests associated with the minknow-api-rust client currently interact directly with a running minknow instance to create simulated devices. The following setup must be performed prior to running tests:

  1. Create a developer API token by opening the MinKNOW desktop application and navigating to 'Host Settings' -> 'API Access Tokens'.
  2. An environment variable must reference this token, run export MINKNOW_API_TEST_TOKEN={created_token}
  3. An environment variable must reference the self-signed certificate provided with the MinKNOW installation (for example, on MacOS run export MINKNOW_TRUSTED_CA="/Applications/MinKNOW.app/Contents/Resources/conf/rpc-certs/ca.crt")

Once above prerequisites tests can be run with cargo test --tests.

Dependencies

~18–30MB
~543K SLoC