1{
2 lib,
3 aiohttp,
4 buildPythonPackage,
5 coreutils,
6 fetchFromGitHub,
7 google-auth,
8 google-auth-oauthlib,
9 google-cloud-pubsub,
10 pydantic,
11 pytest-aiohttp,
12 pytest-asyncio,
13 pytestCheckHook,
14 pythonOlder,
15 requests-oauthlib,
16 setuptools,
17}:
18
19buildPythonPackage rec {
20 pname = "google-nest-sdm";
21 version = "3.0.4";
22 pyproject = true;
23
24 disabled = pythonOlder "3.10";
25
26 src = fetchFromGitHub {
27 owner = "allenporter";
28 repo = "python-google-nest-sdm";
29 rev = "refs/tags/${version}";
30 hash = "sha256-zYHrS9y15dcyDhOoky7sB2BYkpTL3PoyNbNewKKl19E=";
31 };
32
33 build-system = [ setuptools ];
34
35 dependencies = [
36 aiohttp
37 google-auth
38 google-auth-oauthlib
39 google-cloud-pubsub
40 pydantic
41 requests-oauthlib
42 ];
43
44 __darwinAllowLocalNetworking = true;
45
46 nativeCheckInputs = [
47 coreutils
48 pytest-aiohttp
49 pytest-asyncio
50 pytestCheckHook
51 ];
52
53 pythonImportsCheck = [ "google_nest_sdm" ];
54
55 disabledTests = [
56 "test_clip_preview_transcode"
57 "test_event_manager_event_expiration_with_transcode"
58 ];
59
60 meta = with lib; {
61 description = "Module for Google Nest Device Access using the Smart Device Management API";
62 homepage = "https://github.com/allenporter/python-google-nest-sdm";
63 changelog = "https://github.com/allenporter/python-google-nest-sdm/releases/tag/${version}";
64 license = licenses.asl20;
65 maintainers = with maintainers; [ fab ];
66 mainProgram = "google_nest";
67 };
68}