Remote process communication for pymmcore-plus
This package provides experimental support for running pymmcore-plus in a remote process and communicating with it via RPC (currently mediated by Pyro5)
For now, please install from the main branch on github:
pip install git+https://github.com/pymmcore-plus/pymmcore-remote
pymmcore-remote
must be installed on both the server (microscope) side, and the client (controller) side.
On the microscope machine, you must also install micromanager device adapters:
More detail available in the pymmcore-plus documentation
Start a server on the machine with the microscope:
You can also specify the port with
--port
and the hostname with--host
. Runmmcore-remote --help
for more options.
Then, on the client side (or in a separate process), connect to the server using using pymmcore_remote.ClientCMMCorePlus
. ClientCMMCorePlus
accepts host
and port
arguments that must match the server (if you override the defaults).
from pymmcore_remote import ClientCMMCorePlus with ClientCMMCorePlus() as core: core.loadSystemConfiguration("path/to/config.cfg") # continue using core as you would with pymmcore_plus.CMMCorePlus
Commands are serialized and sent to the server, which executes them in the context of a CMMCorePlus
object. The results are then serialized and sent back to the client.
See the pymmcore-plus documentation for standard usage of the CMMCorePlus object.
This package is experimental: The goal is for the API to be identical to that of pymmcore-plus
, but there may be some differences, and various serialization issues may still be undiscovered. Please open an issue if you encounter any problems.
Data is currently shared between processes using python's shared memory module, which is a fast and efficient way to share memory buffers directly. However, this won't work for network access between different machines, so please open an issue to discuss your use case.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4