Python's microscope package is a free and open source library for:
- Control of local and remote microscope devices
- Aggregation of microscope devices into complex microscopes
- Automating microscope experiments with hardware triggers
It is aimed at those that are building their own microscopes or want programmatic control for microscope experiments. More details can be found in the paper Python-Microscope: High performance control of arbitrarily complex and scalable bespoke microscopes and in the online documentation.
Python Microscope source distributions are available on PyPI and can be easily installed with pip:
pip install microscopeAlternatively, the development sources are available on GitHub.
This package does not provide a graphical user interface that a typical microscope user would expect. Instead, it provides the foundation over which such interfaces can be built. For a microscope graphical user interface in Python consider using Microscope-Cockpit.
This repository is a fork of the original repository to add support for W3C Web of Things (WoT) based control & data capture of microscopes. Its a work in progress and not ready for use yet.
A rough outline of new features being added in this fork include:
- support for protocols HTTP, MQTT and ZMQ
- support for WoT TDs and WoT Scripting API
- support for security schemes like basic, API key and OAuth2 OIDC for the HTTP protocol
Visit hololinked GitHub repository for a beginner friendly introduction and underlying framework.
To setup development environment, run the following commands:
uv venv
source .venv/bin/activate # On Windows use .venv\Scripts\activate
uv sync --group dev