1{
2 lib,
3 python3Packages,
4 fetchFromGitHub,
5}:
6python3Packages.buildPythonApplication rec {
7 pname = "mpremote";
8 version = "1.25.0";
9
10 src = fetchFromGitHub {
11 owner = "micropython";
12 repo = "micropython";
13 tag = "v${version}";
14 hash = "sha256-Hk/DHMb9U/mLLVRKe+K3u5snxzW5BW3+bYRPFEAmUBQ=";
15 };
16 sourceRoot = "${src.name}/tools/mpremote";
17 format = "pyproject";
18
19 nativeBuildInputs = with python3Packages; [
20 hatchling
21 hatch-requirements-txt
22 hatch-vcs
23 ];
24 dependencies = with python3Packages; [
25 pyserial
26 importlib-metadata
27 ];
28
29 pythonImportsCheck = [ "mpremote" ];
30
31 meta = {
32 description = "Integrated set of utilities to remotely interact with and automate a MicroPython device over a serial connection";
33 homepage = "https://github.com/micropython/micropython/blob/master/tools/mpremote/README.md";
34 platforms = lib.platforms.unix;
35 license = lib.licenses.mit;
36 maintainers = with lib.maintainers; [ _999eagle ];
37 mainProgram = "mpremote";
38 };
39}