1{
2 lib,
3 aiofiles,
4 aiohttp,
5 authcaptureproxy,
6 backoff,
7 beautifulsoup4,
8 buildPythonPackage,
9 certifi,
10 cryptography,
11 fetchFromGitLab,
12 poetry-core,
13 pyotp,
14 pythonOlder,
15 requests,
16 simplejson,
17 yarl,
18}:
19
20buildPythonPackage rec {
21 pname = "alexapy";
22 version = "1.29.8";
23 pyproject = true;
24
25 disabled = pythonOlder "3.10";
26
27 src = fetchFromGitLab {
28 owner = "keatontaylor";
29 repo = "alexapy";
30 tag = "v${version}";
31 hash = "sha256-AmczPJK7v1ymRT3XUUNzFR8GmDr9eZYGRH2FL3RvPsE=";
32 };
33
34 pythonRelaxDeps = [ "aiofiles" ];
35
36 build-system = [
37 poetry-core
38 ];
39
40 dependencies = [
41 aiofiles
42 aiohttp
43 authcaptureproxy
44 backoff
45 beautifulsoup4
46 certifi
47 cryptography
48 pyotp
49 requests
50 simplejson
51 yarl
52 ];
53
54 pythonImportsCheck = [ "alexapy" ];
55
56 # Module has no tests (only a websocket test which seems unrelated to the module)
57 doCheck = false;
58
59 meta = {
60 description = "Python Package for controlling Alexa devices (echo dot, etc) programmatically";
61 homepage = "https://gitlab.com/keatontaylor/alexapy";
62 changelog = "https://gitlab.com/keatontaylor/alexapy/-/blob/v${version}/CHANGELOG.md";
63 license = lib.licenses.asl20;
64 maintainers = with lib.maintainers; [ fab ];
65 };
66}