1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 wheel,
7 aiohttp,
8}:
9
10buildPythonPackage rec {
11 pname = "esphome-dashboard-api";
12 version = "1.2.3";
13 format = "pyproject";
14
15 src = fetchFromGitHub {
16 owner = "esphome";
17 repo = "dashboard-api";
18 rev = "refs/tags/${version}";
19 hash = "sha256-RFfS0xzRXoM6ETXmviiMPxffPzspjTqpkvHOlTJXN9g=";
20 };
21
22 postPatch = ''
23 substituteInPlace pyproject.toml \
24 --replace "setuptools~=65.6" "setuptools" \
25 --replace "wheel~=0.37.1" "wheel"
26 '';
27
28 nativeBuildInputs = [
29 setuptools
30 wheel
31 ];
32
33 propagatedBuildInputs = [ aiohttp ];
34
35 doCheck = false; # no tests
36
37 pythonImportsCheck = [ "esphome_dashboard_api" ];
38
39 meta = with lib; {
40 description = "API to interact with ESPHome Dashboard";
41 homepage = "https://github.com/esphome/dashboard-api";
42 changelog = "https://github.com/esphome/dashboard-api/releases/tag/${version}";
43 license = licenses.mit;
44 maintainers = with maintainers; [ hexa ];
45 };
46}