diff --git a/pkgs/development/python-modules/android-backup/default.nix b/pkgs/development/python-modules/android-backup/default.nix new file mode 100644 index 00000000000000..319c9514183ede --- /dev/null +++ b/pkgs/development/python-modules/android-backup/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pycrypto +, pythonOlder +, enum34 +, python +}: + +buildPythonPackage rec { + pname = "android-backup"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "bluec0re"; + repo = "android-backup-tools"; + rev = "v${version}"; + sha256 = "0c436hv64ddqrjs77pa7z6spiv49pjflbmgg31p38haj5mzlrqvw"; + }; + + propagatedBuildInputs = [ + pycrypto + ] ++ lib.optional (pythonOlder "3.4") enum34; + + checkPhase = '' + ${python.interpreter} -m android_backup.tests + ''; + + pythonImportsCheck = [ "android_backup" ]; + + meta = with lib; { + description = "Unpack and repack android backups"; + homepage = https://github.com/bluec0re/android-backup-tools; + license = licenses.asl20; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/croniter/default.nix b/pkgs/development/python-modules/croniter/default.nix index 30807035579026..577fef8d79d944 100644 --- a/pkgs/development/python-modules/croniter/default.nix +++ b/pkgs/development/python-modules/croniter/default.nix @@ -2,7 +2,7 @@ , buildPythonPackage , fetchPypi , python-dateutil -, pytest +, pytestCheckHook , pytz , natsort , tzlocal @@ -10,11 +10,11 @@ buildPythonPackage rec { pname = "croniter"; - version = "0.3.37"; + version = "1.0.9"; src = fetchPypi { inherit pname version; - sha256 = "12ced475dfc107bf7c6c1440af031f34be14cd97bbbfaf0f62221a9c11e86404"; + sha256 = "708532f70584207e23ef2989ca40f367e6238bfe050133a1aff43e1e0e6f6092"; }; propagatedBuildInputs = [ @@ -23,15 +23,11 @@ buildPythonPackage rec { ]; checkInputs = [ - pytest + pytestCheckHook pytz tzlocal ]; - checkPhase = '' - pytest src/croniter - ''; - meta = with lib; { description = "croniter provides iteration for datetime object with cron like format"; homepage = "https://github.com/kiorky/croniter"; diff --git a/pkgs/development/python-modules/python-miio/default.nix b/pkgs/development/python-modules/python-miio/default.nix index 78c89408ac2dac..54ee19545798cb 100644 --- a/pkgs/development/python-modules/python-miio/default.nix +++ b/pkgs/development/python-modules/python-miio/default.nix @@ -1,47 +1,71 @@ { lib , buildPythonPackage +, pythonOlder , fetchPypi -, appdirs +, poetry , click -, construct -, croniter , cryptography -, importlib-metadata -, pytest -, pytest-mock +, construct , zeroconf , attrs , pytz +, appdirs , tqdm , netifaces +, android-backup +, importlib-metadata +, croniter +, defusedxml +, pytestCheckHook +, pytest-mock +, pyyaml }: buildPythonPackage rec { pname = "python-miio"; - version = "0.5.4"; + version = "0.5.5.1"; + + disabled = pythonOlder "3.6"; + + format = "pyproject"; src = fetchPypi { inherit pname version; - sha256 = "5a6fd3bb2cc2f75cdfe5673f36a5a418144d08add6e53b384cb146e99f27bd39"; + sha256 = "sha256-3IBObrytkn6rLUT+wMlwzreqQ4AfCgxiMTJm2Iwm+5E="; }; postPatch = '' - substituteInPlace setup.py \ - --replace "zeroconf>=0.25.1,<0.26.0" "zeroconf" - substituteInPlace setup.py \ - --replace "pytz>=2019.3,<2020.0" "pytz" - substituteInPlace setup.py \ - --replace "cryptography>=2.9,<3.0" "cryptography" - ''; - - checkInputs = [ pytest pytest-mock]; - propagatedBuildInputs = [ appdirs click construct croniter cryptography importlib-metadata zeroconf attrs pytz tqdm netifaces ]; - - checkPhase = '' - pytest + substituteInPlace pyproject.toml \ + --replace 'croniter = "^0"' 'croniter = "*"' \ + --replace 'defusedxml = "^0.6"' 'defusedxml = "*"' ''; + nativeBuildInputs = [ + poetry + ]; + + propagatedBuildInputs = [ + click + cryptography + construct + zeroconf + attrs + pytz + appdirs + tqdm + netifaces + android-backup + croniter + defusedxml + ] ++ lib.optional (pythonOlder "3.8") importlib-metadata; + + checkInputs = [ + pytestCheckHook + pytest-mock + pyyaml + ]; + meta = with lib; { description = "Python library for interfacing with Xiaomi smart appliances"; homepage = "https://github.com/rytilahti/python-miio"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d40dbac446ba5d..b2629d8bb3816f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -370,6 +370,8 @@ in { amqplib = callPackage ../development/python-modules/amqplib { }; + android-backup = callPackage ../development/python-modules/android-backup { }; + androidtv = callPackage ../development/python-modules/androidtv { }; androguard = callPackage ../development/python-modules/androguard { };