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