diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/alexapy/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/alexapy/default.nix | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/alexapy/default.nix b/nixpkgs/pkgs/development/python-modules/alexapy/default.nix new file mode 100644 index 000000000000..559e00e3c81c --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/alexapy/default.nix @@ -0,0 +1,81 @@ +{ lib +, aiofiles +, aiohttp +, authcaptureproxy +, backoff +, beautifulsoup4 +, buildPythonPackage +, certifi +, cryptography +, fetchFromGitLab +, fetchpatch +, poetry-core +, pyotp +, pythonOlder +, pythonRelaxDepsHook +, requests +, simplejson +, yarl +}: + +buildPythonPackage rec { + pname = "alexapy"; + version = "1.26.8"; + format = "pyproject"; + + disabled = pythonOlder "3.10"; + + src = fetchFromGitLab { + owner = "keatontaylor"; + repo = "alexapy"; + rev = "refs/tags/v${version}"; + hash = "sha256-AjtSEqUbJ5e/TZIYMX+pwBSH35tEVrfCA6H/55yrZsk="; + }; + + patches = [ + # Switch to poetry-core, https://gitlab.com/keatontaylor/alexapy/-/merge_requests/342 + (fetchpatch { + name = "switch-poetry-core.patch"; + url = "https://gitlab.com/keatontaylor/alexapy/-/commit/843daec4ba1fb219f1c4f4a6ca01c9af73014e53.patch"; + hash = "sha256-wlCq0/NJx4Adh/o61FSMWMQU99PZkJ0U2yqxqOfvAa8="; + }) + ]; + + pythonRelaxDeps = [ + "aiofiles" + ]; + + nativeBuildInputs = [ + poetry-core + pythonRelaxDepsHook + ]; + + propagatedBuildInputs = [ + aiofiles + aiohttp + authcaptureproxy + backoff + beautifulsoup4 + certifi + cryptography + pyotp + requests + simplejson + yarl + ]; + + pythonImportsCheck = [ + "alexapy" + ]; + + # Module has no tests (only a websocket test which seems unrelated to the module) + doCheck = false; + + meta = with lib; { + description = "Python Package for controlling Alexa devices (echo dot, etc) programmatically"; + homepage = "https://gitlab.com/keatontaylor/alexapy"; + changelog = "https://gitlab.com/keatontaylor/alexapy/-/blob/${src.rev}/CHANGELOG.md"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} |