Metadata-Version: 2.4
Name: sangaboard
Version: 0.4.0
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"
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.


## Contributors

- **Richard Bowman** (University of Glasgow, UK)  
  Wrote the initial version of the library when the board was specific to the OpenFlexure Microscope.

- **Julian Stirling** (Humanitarian Technology Trust, UK)  
  Contributed to the initial library and separated the codebase into an independent `sangaboard` package.

- **Boyko Vodenicharski** and **Filip Ayazi** (University of Cambridge, UK)  
  Added Python 3 support and endstop support.



## License

© 2026 Contributors. Released under the GNU GPL v3.0.


## 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)

## Developer notes


### Publishing


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