1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 cbor2,
7 crcmod,
8 eval-type-backport,
9 pydantic,
10 pytestCheckHook,
11}:
12
13buildPythonPackage rec {
14 pname = "smp";
15 version = "3.3.2";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "JPHutchins";
20 repo = "smp";
21 tag = version;
22 hash = "sha256-klMFJOKGSy6s16M+9wQhSvLSWdNPO/IMNdY5RW+wyFc=";
23 };
24
25 build-system = [
26 poetry-core
27 ];
28
29 dependencies = [
30 cbor2
31 crcmod
32 eval-type-backport
33 pydantic
34 ];
35
36 nativeCheckInputs = [
37 pytestCheckHook
38 ];
39
40 pythonImportsCheck = [
41 "smp"
42 ];
43
44 meta = {
45 description = "Simple Management Protocol (SMP) for remotely managing MCU firmware";
46 homepage = "https://github.com/JPHutchins/smp";
47 changelog = "https://github.com/JPHutchins/smp/releases/tag/${src.tag}";
48 license = lib.licenses.asl20;
49 maintainers = with lib.maintainers; [ otavio ];
50 };
51}