{"library":"smp","title":"smp: Simple Management Protocol","type":"library","description":"smp is a Python implementation of the Simple Management Protocol (SMP) for remotely managing MCU firmware, commonly used with Zephyr and MCUboot. Version 4.0.2 is current, supporting Python >=3.9. The library provides client and server functionality for MCU management including image upload, shell, file system, and task statistics. Releases occur every few months.","language":"python","status":"active","last_verified":"Fri May 01","install":{"commands":["pip install smp"],"cli":{"name":"smp","version":"sh: 1: smp: not found"}},"imports":["from smp import SMPClient","from smp import Group"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":null,"github":"https://github.com/JPHutchins/smp","docs":"https://jphutchins.github.io/smp/","changelog":null,"pypi":"https://pypi.org/project/smp/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"import asyncio\nfrom smp import SMPClient, Group\n\nasync def main():\n    client = SMPClient(\"tcp://localhost:6500\")\n    await client.connect()\n    # Get echo response\n    echo = await client.echo(data=b\"hello\")\n    print(\"Echo:\", echo)\n    # List groups\n    groups = await client.get_group_list()\n    print(\"Groups:\", groups)\n    await client.disconnect()\n\nasyncio.run(main())","lang":"python","description":"Connect to a remote MCU over TCP, send an echo request, and list management groups.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}