Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

JPHutchins/smp

Open more actions menu

Repository files navigation

Simple Management Protocol (SMP)

smp implements serialization and deserialization of the Simple Management Protocol.

The SMP specification can be found here.

If you'd like a library that implements the serial (UART or USB), Bluetooth (BLE), and UDP transport layers for SMP, take a look at smpclient.

If you need an SMP CLI application to interact with device firmware, then try smpmgr.

Install

smp is distributed by PyPI and can be installed with uv, pip, and other dependency managers.

User Documentation

Documentation is in the source code so that it is available to your editor. An online version is generated and available here.

Development Quickstart

Assumes that you've already setup your development environment.

Tasks are defined in tasks.py and run with camas.

  1. run uv sync when pulling in new changes
  2. run uv run camas fix to auto-format and apply lint fixes
  3. run uv run camas to run the default checks
  4. run uv run camas matrix to check against all supported Python versions
  5. add library dependencies with uv:
    uv add <my_new_dependency>
    
  6. add development dependencies:
    uv add --group dev <my_dev_dependency>
    

Development Environment Setup

Install Dependencies

Create the venv

uv sync

Verify Your Setup

uv run camas

Enable the githooks

git config core.hooksPath .githooks

About

Simple Management Protocol (SMP) for remotely managing MCU firmware

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.