[![](https://openthread.io/static/images/icon-github.svg)View source on GitHub](https://github.com/openthread/ot-docs/tree/main/site/en/guides/pyspinel/index.md)

Pyspinel, available on the [pyspinel GitHub repository](https://github.com/openthread/pyspinel), is a Python CLI
for the [Spinel](https://openthread.io/platforms/co-processor#spinel_protocol) protocol, used to
configure and manage [OpenThread NCPs or RCPs](https://openthread.io/platforms/co-processor). This CLI is primarily
targeted to CI tests, but can be used manually to experiment with and test
OpenThread Co-Processor instances.

Pyspinel is used to:

- Add simulated Co-Processor testing to continuous integration.
- Automate testing of testbeds running Co-Processor firmware on hardware.
- Debug Co-Processor builds of OpenThread.
- Convert an OpenThread Co-Processor into a packet sniffer.

> [!NOTE]
> **Note:** Pyspinel is supported for NCP and RCP builds of OpenThread on Linux and macOS. Windows 10 or later is only supported for packet sniffing with the [Wireshark extcap plugin](https://openthread.io/guides/pyspinel/sniffer-extcap).

## Contribute

You can contribute to the ongoing development of Pyspinel by submitting bug
reports and feature requests to the [Issue Tracker](https://github.com/openthread/pyspinel/issues).