Experimental python bindings for CMMCore (the device abstraction layer for micro-manager) using nanobind.
This package can be used as a (mostly) drop-in replacement for pymmcore
. There are a few slight differences in behavior. You are encouraged to try it where you might use pymmcore; and let us know if you run into any issues!
pip install pymmcore-nano
Versioning is the same as for pymmcore.
MMCoreMajor.MMCoreMinor.MMCorePatch.DeviceInterface.pymmcore-nano-build
For example, the version 11.3.0.71.2
refers to:
git clone https://github.com/pymmcore-plus/pymmcore-nano.git git submodule update --initSetup dev environment (editable install)
Make sure you have uv installed: https://docs.astral.sh/uv/getting-started/installation/
This project uses just
as a task runner. If you have just
installed (e.g. brew install just
), you can fully setup the project with:
If you prefer not to install just
globally, you can install it with the rest of the project dependencies using uv. Then activate the environment and call just install
uv sync --no-install-project . .venv/bin/activate # Windows: .venv\Scripts\activate just install
This repo contains a few device adapters that are useful for testing, in src/mmCoreAndDevices/DeviceAdapters. These adapters are built as a part of the installation.
On windows, in order to build the SequenceTester device (optional) you will also need boost installed (e.g. choco install boost-msvc-14.3
, or similar version according to your version of visual studio)
Regardless of whether the environment is active, you can run:
or, if the environment is active and you have already run just install
To release a new version:
PYMMCORE_NANO_VERSION
value in _pymmcore_nano.cc
just version
just release
mmCoreAndDevices
source code
Rather than using git submodules, this repository checks in the mmCoreAndDevices
source code. This makes measuring C++ code coverage easier, as the mmCoreAndDevices
code is included in the same repository (see codecov results here), and it also makes it easier to make changes to the mmCoreAndDevices
code directly from this repository (e.g., to fix bugs or add features that are pending in the upstream repo).
To bring in new changes from the upstream mmCoreAndDevices
repository, you can run:
python scripts/update_sources.py
After updating, you can test the build and python code as usual.
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