Metadata-Version: 2.2
Name: mahos
Version: 0.3.0
Summary: Measurement Automation Handling and Orchestration System
Author-email: Kosuke Tahara <ktaha@mosk.tytlabs.co.jp>
License: BSD License (BSD-3-Clause)
Project-URL: Homepage, https://github.com/ToyotaCRDL/mahos
Project-URL: Documentation, https://toyotacrdl.github.io/mahos
Project-URL: Repository, https://github.com/ToyotaCRDL/mahos.git
Project-URL: Changelog, https://github.com/ToyotaCRDL/mahos/blob/main/CHANGELOG.rst
Keywords: measurement automation,laboratory automation,instrumentation
Classifier: Programming Language :: Python :: 3
Requires-Python: <3.13,>=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: numpy~=1.26.4
Requires-Dist: scipy~=1.13.1
Requires-Dist: matplotlib~=3.9.0
Requires-Dist: pandas~=2.2.2
Requires-Dist: ipython~=8.24.0
Requires-Dist: scikit-learn~=1.5.1
Requires-Dist: lmfit~=1.3.1
Requires-Dist: pyzmq~=25.1.0
Requires-Dist: h5py~=3.11.0
Requires-Dist: msgpack~=1.0.5
Requires-Dist: toml~=0.10.2
Requires-Dist: PyQt6~=6.7.0
Requires-Dist: pyqtgraph~=0.13.3
Requires-Dist: networkx~=2.7.1
Requires-Dist: pytest~=8.2.1
Requires-Dist: pytest-timeout~=2.1.0
Requires-Dist: black~=24.3.0
Requires-Dist: flake8~=7.1.1
Requires-Dist: sphinx~=8.1.3
Requires-Dist: pydata-sphinx-theme~=0.16.1
Provides-Extra: inst
Requires-Dist: PyDAQmx~=1.4.6; extra == "inst"
Requires-Dist: PyVISA~=1.11.3; extra == "inst"
Requires-Dist: pywin32==303; sys_platform == "win32" and extra == "inst"
Requires-Dist: pythonnet~=3.0.1; sys_platform == "win32" and extra == "inst"
Requires-Dist: pypylon~=4.1.0; extra == "inst"
Requires-Dist: pulsestreamer~=1.6.0; extra == "inst"
Requires-Dist: pipython~=2.10.0.2; extra == "inst"

#####
MAHOS
#####

|build_badge| |paper_badge|

.. |build_badge| image:: https://github.com/ToyotaCRDL/mahos/actions/workflows/build.yaml/badge.svg

.. |paper_badge| image:: https://joss.theoj.org/papers/10.21105/joss.05938/status.svg
   :target: https://doi.org/10.21105/joss.05938

MAHOS: Measurement Automation Handling and Orchestration System.

This package currently includes the following.

- Base system for distributed measurement automation.
- Implementations of microscopy / optically detected magnetic resonance (ODMR) system
  for solid-state color center research, based on above.

Documentation
=============

`Documentation is browsable here <https://toyotacrdl.github.io/mahos/>`_.

You can also browse the documentation locally by ``make browse`` or
opening ``docs`` directory with a web browser.

Install
=======

Read the `Installation guide <https://toyotacrdl.github.io/mahos/installation.html>`_.

In short, we recommend editable installation with cloned repository:

#. Clone this repo somewhere.
#. Install the ``mahos`` package: ``pip install -e .`` or ``pip install -e .[inst]``
   (the latter installs optional packages for instrument drivers).
#. Test the installation with ``pytest``.

Run
===

To use the mahos-based system, you have to write a toml `configuration file <https://toyotacrdl.github.io/mahos/conf.html>`_ first.
With your config, use the `command line interface <https://toyotacrdl.github.io/mahos/cli.html>`_ to start the nodes and interact with them.

- The `tutorial <https://toyotacrdl.github.io/mahos/tutorial.html>`_ and corresponding `examples <https://github.com/ToyotaCRDL/mahos/tree/main/examples>`_ are provided to get used to these concepts.
- `Realistic examples <https://github.com/ToyotaCRDL/mahos/tree/main/examples/cfm>`_ are provided for confocal microscope / ODMR system for color centers.
- There is an `example config <https://github.com/ToyotaCRDL/mahos/blob/main/tests/conf.toml>`_ for the unit test too.
  Here you can observe main built-in measurement logics and GUIs with mock instruments.

Cite
====

If you publish a research work based on MAHOS, we would be grateful if you could cite `this paper <https://doi.org/10.21105/joss.05938>`_ . The BibTeX snippet can be copied below.

.. code-block:: bibtex

  @article{Tahara2023, doi = {10.21105/joss.05938}, url = {https://doi.org/10.21105/joss.05938}, year = {2023}, publisher = {The Open Journal}, volume = {8}, number = {91}, pages = {5938}, author = {Kosuke Tahara}, title = {MAHOS: Measurement Automation Handling and Orchestration System}, journal = {Journal of Open Source Software} }

License
=======

The mahos project is licensed under the `3-Clause BSD License <https://github.com/ToyotaCRDL/mahos/blob/main/LICENSE>`_.

Redistribution
--------------

The `GUI theme <https://github.com/ToyotaCRDL/mahos/tree/main/mahos/gui/breeze_resources>`_ is taken from `BreezeStyleSheets <https://github.com/Alexhuszagh/BreezeStyleSheets>`_ project,
which is licensed under the `MIT license: Copyright 2013-2014 Colin Duquesnoy and 2015-2016 Alex Huszagh <https://github.com/Alexhuszagh/BreezeStyleSheets/blob/main/LICENSE.md>`_.

A `file <https://github.com/ToyotaCRDL/mahos/blob/main/mahos/util/unit.py>`_ includes a function from the `pyqtgraph <https://github.com/pyqtgraph/pyqtgraph>`_ project,
which is licensed under the `MIT license: Copyright 2012 Luke Campagnola, University of North Carolina at Chapel Hill <https://github.com/pyqtgraph/pyqtgraph/blob/master/LICENSE.txt>`_.

Contributing
============

Please check out `Contribution Guidelines <https://toyotacrdl.github.io/mahos/contributing.html>`_.
