diff --git a/pkgs/development/python-modules/smpclient/default.nix b/pkgs/development/python-modules/smpclient/default.nix new file mode 100644 index 000000000000..7b51f0955b9d --- /dev/null +++ b/pkgs/development/python-modules/smpclient/default.nix @@ -0,0 +1,59 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + poetry-core, + async-timeout, + bleak, + intelhex, + pyserial, + smp, + pytest-asyncio, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "smpclient"; + version = "4.4.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "intercreate"; + repo = "smpclient"; + tag = version; + hash = "sha256-qbf0xGK1RYaeEIAsbkZ2cWj/MQrmVwm2IKmOkihxBDE="; + }; + + build-system = [ + poetry-core + ]; + + dependencies = [ + async-timeout + bleak + intelhex + pyserial + smp + ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + pythonRelaxDeps = [ + "smp" + ]; + + pythonImportsCheck = [ + "smpclient" + ]; + + meta = { + description = "Simple Management Protocol (SMP) Client for remotely managing MCU firmware"; + homepage = "https://github.com/intercreate/smpclient"; + changelog = "https://github.com/intercreate/smpclient/releases/tag/${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ otavio ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 607e0ec1757a..a72bd71169e8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -15854,6 +15854,8 @@ self: super: with self; { smp = callPackage ../development/python-modules/smp { }; + smpclient = callPackage ../development/python-modules/smpclient { }; + smpp-pdu = callPackage ../development/python-modules/smpp-pdu { }; smpplib = callPackage ../development/python-modules/smpplib { };