Metadata-Version: 2.4
Name: sangaboard
Version: 0.4.1
Summary: Communication to the Sangaboard unipolar motor driver
Author-email: OpenFlexure Project <contact@openflexure.org>
Project-URL: Homepage, https://gitlab.com/openflexure/sangaboard/pysangaboard
Keywords: arduino,serial,motor-driver
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: pyserial
Requires-Dist: semantic-version
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: sphinx; extra == "dev"
Requires-Dist: furo; extra == "dev"
Requires-Dist: sphinx-autobuild; extra == "dev"
Requires-Dist: sphinx-new-tab-link; extra == "dev"
Dynamic: license-file

# pySangaboard

This is the Python module that communicates with the Sangaboard, an open-source board for driving unipolar stepper motors. It also supports older versions of the Sangaboard based on an Arduino Nano and a pair of Darlington driver ICs.

The Sangaboard is the motor board designed for the [OpenFlexure Microscope](https://openflexure.org), but it can also be used to drive unipolar stepper motors for other applications.

Sangboards can be purchased from many of the vendors that [sell OpenFlexure Microscope kits](https://openflexure.org/about/vendors).


## Installation

Install from PyPI:

```bash
pip install sangaboard
```

## Documentation


The documentation is available on [Read the Docs](https://sangaboard.readthedocs.io/en/latest/index.html)

To edit the documentation either edit the docstrings or the `.rst` files in the `docs` directory. The docs can be built locally with:

`sphinx-autobuild docs _build/html --watch sangaboard`

## Developer notes

For development install the dev dependencies and do a editable install:

```bash
pip install -e .[dev]
```

### Publishing


```bash
pip install build twine
python -m build
twine check dist/*
twine upload dist/*
```
