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