diff --git a/pkgs/development/python-modules/aioambient/default.nix b/pkgs/development/python-modules/aioambient/default.nix index d60a62496cd9..b71574971fc8 100644 --- a/pkgs/development/python-modules/aioambient/default.nix +++ b/pkgs/development/python-modules/aioambient/default.nix @@ -16,18 +16,20 @@ buildPythonPackage rec { pname = "aioambient"; - version = "1.3.0"; + version = "2021.10.1"; format = "pyproject"; - disabled = pythonOlder "3.6"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "bachya"; repo = pname; rev = version; - sha256 = "sha256-blejTXyLe3B2kNytBh+zJz0Q0xDP+Vo2SV9gc7OX6S0="; + sha256 = "sha256-DCh/o7p+lO5BhN3JoLdhImkzfxoyqiscA/6CwwvAnc0="; }; postPatch = '' + # https://github.com/bachya/aioambient/pull/97 substituteInPlace pyproject.toml \ --replace 'websockets = ">=8.1,<10.0"' 'websockets = ">=8.1,<11.0"' ''; @@ -52,9 +54,13 @@ buildPythonPackage rec { ]; # Ignore the examples directory as the files are prefixed with test_ - disabledTestPaths = [ "examples/" ]; + disabledTestPaths = [ + "examples/" + ]; - pythonImportsCheck = [ "aioambient" ]; + pythonImportsCheck = [ + "aioambient" + ]; meta = with lib; { description = "Python library for the Ambient Weather API"; diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix index 890d43b01ff5..58b664b2cb1d 100644 --- a/pkgs/development/python-modules/aioesphomeapi/default.nix +++ b/pkgs/development/python-modules/aioesphomeapi/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "aioesphomeapi"; - version = "10.0.3"; + version = "10.2.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "esphome"; repo = pname; rev = "v${version}"; - sha256 = "sha256-9K67vmPaPSR6ODl3tpwwfRMY9DDD/2cCaDRRO38mHVU="; + sha256 = "sha256-SUM9P7qmP3LWANw8LiwMsT5sN1kZJvqeaBT/ZDmTtwE="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/awesomeversion/default.nix b/pkgs/development/python-modules/awesomeversion/default.nix index b5b59ef65508..b57a26060fd6 100644 --- a/pkgs/development/python-modules/awesomeversion/default.nix +++ b/pkgs/development/python-modules/awesomeversion/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "awesomeversion"; - version = "21.8.1"; + version = "21.10.1"; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "ludeeus"; repo = pname; rev = version; - sha256 = "sha256-eyo0dzmExJ7WCRAXFvB+ElWi5HTTzJ7XJsmxB2t6yfI="; + sha256 = "sha256-y+QU8T1Cb6FpRcRqhao4KPdE9XlU5C+GURaEuahC25E="; }; postPatch = '' diff --git a/pkgs/development/python-modules/greeclimate/default.nix b/pkgs/development/python-modules/greeclimate/default.nix index 78e02521f9e6..9e5b657d4219 100644 --- a/pkgs/development/python-modules/greeclimate/default.nix +++ b/pkgs/development/python-modules/greeclimate/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "greeclimate"; - version = "0.12.1"; + version = "0.12.3"; disabled = pythonOlder "3.6"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "cmroche"; repo = "greeclimate"; rev = version; - sha256 = "sha256-HO+JBlyRFkwijR3g75P7yOabK3LhNFFYevSn/aFStUE="; + sha256 = "sha256-7O21/eL/CcQmENJTGKfZCHjZcRN3pwuWZrmMMX3YPAg="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/ha-av/default.nix b/pkgs/development/python-modules/ha-av/default.nix new file mode 100644 index 000000000000..2e24dde84b41 --- /dev/null +++ b/pkgs/development/python-modules/ha-av/default.nix @@ -0,0 +1,46 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchPypi +, pkg-config +, ffmpeg +, numpy +, pytestCheckHook +, python +}: + +buildPythonPackage rec { + pname = "ha-av"; + version = "8.0.4rc1"; + format = "setuptools"; + + disabled = pythonOlder "3.5"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-txdi2/X6upqrACeHhHpEh4tGqgPpW/dyWda8y++7c3M="; + }; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + ffmpeg + ]; + + pythonImportsCheck = [ + "av" + "av._core" + ]; + + # tests fail to import av._core + doCheck = false; + + meta = with lib; { + homepage = "https://pypi.org/project/ha-av/"; + description = "Pythonic bindings for FFmpeg's libraries"; + license = licenses.bsd3; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/python-modules/pyefergy/default.nix b/pkgs/development/python-modules/pyefergy/default.nix index 042b6a858fa4..bee03f253a06 100644 --- a/pkgs/development/python-modules/pyefergy/default.nix +++ b/pkgs/development/python-modules/pyefergy/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "pyefergy"; - version = "0.1.0"; + version = "0.1.3"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "tkdrob"; repo = pname; rev = version; - sha256 = "0nm7dc5q4wvdpqxpirlc4nwm68lf3n2df6j5yy4m8wr294yb7a1k"; + sha256 = "sha256-TGvS/ntIRbkcMsD5y0QdqyLE2dcPUbX3d79jHc3ddd0="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pylitterbot/default.nix b/pkgs/development/python-modules/pylitterbot/default.nix index ac4531328fcf..50afee3058cc 100644 --- a/pkgs/development/python-modules/pylitterbot/default.nix +++ b/pkgs/development/python-modules/pylitterbot/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "pylitterbot"; - version = "2021.9.0"; + version = "2021.10.1"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "natekspencer"; repo = pname; rev = version; - sha256 = "sha256-S25x9k6vBwnmJq15y5PVUWaTujT9UNHvgIX9uH+N8dY="; + sha256 = "sha256-xE+H23AZR1OXfuLMvSuI7IeYKX7k2iEATHq5VheMLn4="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/simplisafe-python/default.nix b/pkgs/development/python-modules/simplisafe-python/default.nix index e61063a6a471..624b63ada618 100644 --- a/pkgs/development/python-modules/simplisafe-python/default.nix +++ b/pkgs/development/python-modules/simplisafe-python/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "simplisafe-python"; - version = "12.0.2"; + version = "2021.10.0"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "bachya"; repo = pname; rev = version; - sha256 = "sha256-/KnDsnx+Jrirj6uBkdao6PI2jhtzKqDK6cmmQgsO5T4="; + sha256 = "sha256-J0uMlczR7y5wDchaOjp5d3Vf36WfRmt7d51koGiNHBk="; }; nativeBuildInputs = [ poetry-core ]; diff --git a/pkgs/development/python-modules/spiderpy/default.nix b/pkgs/development/python-modules/spiderpy/default.nix index 166f821fb3ee..7970bbb84783 100644 --- a/pkgs/development/python-modules/spiderpy/default.nix +++ b/pkgs/development/python-modules/spiderpy/default.nix @@ -2,12 +2,14 @@ , buildPythonPackage , isPy27 , fetchFromGitHub +, poetry-core , requests }: buildPythonPackage rec { pname = "spiderpy"; - version = "1.5.0"; + version = "1.7.1"; + format = "pyproject"; disabled = isPy27; @@ -15,14 +17,18 @@ buildPythonPackage rec { owner = "peternijssen"; repo = "spiderpy"; rev = version; - sha256 = "1nbfjqwiyyl7lhkb4rvickxiy9nwynr2sxr1hpyv0vm09h6q8hsc"; + sha256 = "sha256-gQ/Y5c8+aSvoJzXI6eQ9rk0xDPxpi0xgO3xBKR+vVrY="; }; + nativeBuildInputs = [ + poetry-core + ]; + propagatedBuildInputs = [ requests ]; - # no unit tests implemented + # tests don't mock remote resources doCheck = false; pythonImportsCheck = [ "spiderpy.spiderapi" ]; diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix index 336d39e3c956..f28a5c6a72a6 100644 --- a/pkgs/development/python-modules/xknx/default.nix +++ b/pkgs/development/python-modules/xknx/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "xknx"; - version = "0.18.9"; + version = "0.18.12"; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "XKNX"; repo = pname; rev = version; - sha256 = "1dw1dqhd790wsa6v7bpcv921zf1y544ry7drwcfdcmprsm7hs42j"; + sha256 = "sha256-Wk6+IRIGMaOPOEVEyzalBKyK88Y2yfKKo6T0fKxeOOE="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix index 84e424cd3b08..bc99b462b7a8 100644 --- a/pkgs/development/python-modules/zeroconf/default.nix +++ b/pkgs/development/python-modules/zeroconf/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "zeroconf"; - version = "0.36.9"; + version = "0.36.11"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "jstasiak"; repo = "python-zeroconf"; rev = version; - sha256 = "sha256-V2AiKmL3laA6Kd2lOXZ7f+7L08zMtDfvhLxayylp1CQ="; + sha256 = "sha256-MGaikOO4vdBRCR+jYHr38FGOdg2rjypK5z0UY5lThY4="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix index ee0afa02733b..b7b07d23a5c5 100644 --- a/pkgs/development/python-modules/zha-quirks/default.nix +++ b/pkgs/development/python-modules/zha-quirks/default.nix @@ -9,13 +9,13 @@ buildPythonPackage rec { pname = "zha-quirks"; - version = "0.0.62"; + version = "0.0.63"; src = fetchFromGitHub { owner = "zigpy"; repo = "zha-device-handlers"; rev = version; - sha256 = "sha256-wXXdxE69EABrvJA8utrhLW4+8ixcyCraWHx2M3uE8mw="; + sha256 = "sha256-jAd/qT+uwylE/AOHFnkKWECHnxFFqgCtCp36mrqFZIE="; }; propagatedBuildInputs = [ diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index bd5f41fbf113..c41791a90540 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2,7 +2,7 @@ # Do not edit! { - version = "2021.10.7"; + version = "2021.11.0"; components = { "abode" = ps: with ps; [ abodepy ]; "accuweather" = ps: with ps; [ accuweather ]; @@ -243,7 +243,6 @@ "epsonworkforce" = ps: with ps; [ ]; # missing inputs: epsonprinter "eq3btsmart" = ps: with ps; [ construct ]; # missing inputs: python-eq3bt "esphome" = ps: with ps; [ aioesphomeapi aiohttp-cors ifaddr zeroconf ]; - "essent" = ps: with ps; [ ]; # missing inputs: PyEssent "etherscan" = ps: with ps; [ ]; # missing inputs: python-etherscan-api "eufy" = ps: with ps; [ ]; # missing inputs: lakeside "everlights" = ps: with ps; [ pyeverlights ]; @@ -379,7 +378,6 @@ "http" = ps: with ps; [ aiohttp-cors ]; "htu21d" = ps: with ps; [ smbus-cffi ]; # missing inputs: i2csense "huawei_lte" = ps: with ps; [ huawei-lte-api stringcase url-normalize ]; - "huawei_router" = ps: with ps; [ ]; "hue" = ps: with ps; [ aiohue ]; "huisbaasje" = ps: with ps; [ huisbaasje-client ]; "humidifier" = ps: with ps; [ ]; @@ -477,6 +475,7 @@ "logi_circle" = ps: with ps; [ aiohttp-cors ha-ffmpeg ]; # missing inputs: logi_circle "london_air" = ps: with ps; [ ]; "london_underground" = ps: with ps; [ ]; # missing inputs: london-tube-status + "lookin" = ps: with ps; [ aiolookin ]; "loopenergy" = ps: with ps; [ ]; # missing inputs: pyloopenergy "lovelace" = ps: with ps; [ ]; "luci" = ps: with ps; [ openwrt-luci-rpc ]; @@ -485,7 +484,6 @@ "lutron" = ps: with ps; [ pylutron ]; "lutron_caseta" = ps: with ps; [ aiolip pylutron-caseta ]; "lw12wifi" = ps: with ps; [ ]; # missing inputs: lw12 - "lyft" = ps: with ps; [ ]; # missing inputs: lyft_rides "lyric" = ps: with ps; [ aiohttp-cors aiolyric ]; "magicseaweed" = ps: with ps; [ ]; # missing inputs: magicseaweed "mailbox" = ps: with ps; [ aiohttp-cors ]; @@ -535,7 +533,7 @@ "mold_indicator" = ps: with ps; [ ]; "monoprice" = ps: with ps; [ ]; # missing inputs: pymonoprice "moon" = ps: with ps; [ ]; - "motion_blinds" = ps: with ps; [ ]; # missing inputs: motionblinds + "motion_blinds" = ps: with ps; [ aiohttp-cors ifaddr ]; # missing inputs: motionblinds "motioneye" = ps: with ps; [ aiohttp-cors motioneye-client ]; "mpchc" = ps: with ps; [ ]; "mpd" = ps: with ps; [ mpd2 ]; @@ -561,7 +559,6 @@ "nanoleaf" = ps: with ps; [ aionanoleaf ]; "neato" = ps: with ps; [ aiohttp-cors pybotvac ]; "nederlandse_spoorwegen" = ps: with ps; [ nsapi ]; - "nello" = ps: with ps; [ pynello ]; "ness_alarm" = ps: with ps; [ ]; # missing inputs: nessclient "nest" = ps: with ps; [ aiohttp-cors ha-ffmpeg python-nest ]; # missing inputs: google-nest-sdm "netatmo" = ps: with ps; [ pyturbojpeg aiohttp-cors hass-nabucasa pyatmo ]; @@ -599,7 +596,7 @@ "nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi "oasa_telematics" = ps: with ps; [ ]; # missing inputs: oasatelematics "obihai" = ps: with ps; [ pyobihai ]; - "octoprint" = ps: with ps; [ aiohttp-cors ifaddr netdisco zeroconf ]; + "octoprint" = ps: with ps; [ ]; # missing inputs: pyoctoprintapi "oem" = ps: with ps; [ ]; # missing inputs: oemthermostat "ohmconnect" = ps: with ps; [ defusedxml ]; "ombi" = ps: with ps; [ pyombi ]; @@ -826,7 +823,7 @@ "steam_online" = ps: with ps; [ ]; # missing inputs: steamodd "stiebel_eltron" = ps: with ps; [ pymodbus ]; # missing inputs: pystiebeleltron "stookalert" = ps: with ps; [ ]; # missing inputs: stookalert - "stream" = ps: with ps; [ aiohttp-cors av ]; + "stream" = ps: with ps; [ aiohttp-cors ha-av ]; "streamlabswater" = ps: with ps; [ streamlabswater ]; "stt" = ps: with ps; [ aiohttp-cors ]; "subaru" = ps: with ps; [ subarulink ]; @@ -904,7 +901,7 @@ "travisci" = ps: with ps; [ ]; # missing inputs: TravisPy "trend" = ps: with ps; [ numpy ]; "tts" = ps: with ps; [ aiohttp-cors mutagen ]; - "tuya" = ps: with ps; [ tuya-iot-py-sdk ]; + "tuya" = ps: with ps; [ ha-ffmpeg tuya-iot-py-sdk ]; "twentemilieu" = ps: with ps; [ twentemilieu ]; "twilio" = ps: with ps; [ aiohttp-cors twilio ]; "twilio_call" = ps: with ps; [ aiohttp-cors twilio ]; @@ -948,7 +945,7 @@ "vivotek" = ps: with ps; [ ]; # missing inputs: libpyvivotek "vizio" = ps: with ps; [ pyvizio ]; "vlc" = ps: with ps; [ python-vlc ]; - "vlc_telnet" = ps: with ps; [ ]; # missing inputs: python-telnet-vlc + "vlc_telnet" = ps: with ps; [ ]; # missing inputs: aiovlc "voicerss" = ps: with ps; [ ]; "volkszaehler" = ps: with ps; [ volkszaehler ]; "volumio" = ps: with ps; [ pyvolumio ]; @@ -973,7 +970,6 @@ "whois" = ps: with ps; [ python-whois ]; "wiffi" = ps: with ps; [ wiffi ]; "wilight" = ps: with ps; [ pywilight ]; - "wink" = ps: with ps; [ aiohttp-cors pubnubsub-handler python-wink ]; "wirelesstag" = ps: with ps; [ ]; # missing inputs: wirelesstagpy "withings" = ps: with ps; [ aiohttp-cors ]; # missing inputs: withings-api "wled" = ps: with ps; [ wled ]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index cf22845108e1..897057186607 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -37,19 +37,6 @@ let # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt (mkOverride "python-slugify" "4.0.1" "69a517766e00c1268e5bbfc0d010a0a8508de0b18d30ad5a1ff357f8ae724270") - # Pinned due to API changes in aioesphomeapi>=10.0.0 - (self: super: { - aioesphomeapi = super.aioesphomeapi.overridePythonAttrs (oldAttrs: rec { - version = "9.1.5"; - src = fetchFromGitHub { - owner = "esphome"; - repo = "aioesphomeapi"; - rev = "v${version}"; - sha256 = "sha256-PPag65ZMz9KZEe9FmiB42/DgeM0vJw5L0haAG/jBjqg="; - }; - }); - }) - # Pinned due to API changes in iaqualink>=2.0, remove after # https://github.com/home-assistant/core/pull/48137 was merged (self: super: { @@ -107,33 +94,6 @@ let # Pinned due to API changes in 0.1.0 (mkOverride "poolsense" "0.0.8" "09y4fq0gdvgkfsykpxnvmfv92dpbknnq5v82spz43ak6hjnhgcyp") - # Pinned due to missing simpliypy.errors.PendingAuthorizationError in simplisafe-python>12 which results in a failing import - (self: super: { - simplisafe-python = super.simplisafe-python.overridePythonAttrs (oldAttrs: rec { - version = "11.0.7"; - src = fetchFromGitHub { - owner = "bachya"; - repo = "simplisafe-python"; - rev = version; - sha256 = "02nrighkdcd5n9qgbizm9gyfnpgdm4iibw7y8nbyfaxpng069fzp"; - }; - checkInputs = oldAttrs.checkInputs ++ [ super.aioresponses ]; - }); - }) - - # Pinned due to changes in total-connect-client>0.58 which made the tests fails at the moment - (self: super: { - total-connect-client = super.total-connect-client.overridePythonAttrs (oldAttrs: rec { - version = "0.58"; - src = fetchFromGitHub { - owner = "craigjmidwinter"; - repo = "total-connect-client"; - rev = version; - sha256 = "1dqmgvgvwjh235wghygan2jnfvmn9vz789in2as3asig9cifix9z"; - }; - }); - }) - # home-assistant-frontend does not exist in python3.pkgs (self: super: { home-assistant-frontend = self.callPackage ./frontend.nix { }; @@ -167,7 +127,7 @@ let extraBuildInputs = extraPackages py.pkgs; # Don't forget to run parse-requirements.py after updating - hassVersion = "2021.10.7"; + hassVersion = "2021.11.0"; in with py.pkgs; buildPythonApplication rec { pname = "homeassistant"; @@ -184,7 +144,7 @@ in with py.pkgs; buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = version; - sha256 = "1kibny2hd91c011bv7g46sn5q9fg6wmrbwzwckwa737d6gj27c1y"; + sha256 = "1bhm2ahc9fvh3czhfim3la0vdwdis2r86fa0qldqpnh11v25hb2s"; }; # leave this in, so users don't have to constantly update their downstream patch handling @@ -195,8 +155,8 @@ in with py.pkgs; buildPythonApplication rec { postPatch = '' substituteInPlace setup.py \ --replace "bcrypt==3.1.7" "bcrypt" \ - --replace "jinja2==3.0.1" "jinja2" \ --replace "pip>=8.0.3,<20.3" "pip" \ + --replace "pyyaml==6.0" "pyyaml" \ --replace "yarl==1.6.3" "yarl==1.7.0" substituteInPlace tests/test_config.py --replace '"/usr"' '"/build/media"' ''; @@ -237,9 +197,12 @@ in with py.pkgs; buildPythonApplication rec { checkInputs = [ # test infrastructure (selectively from requirement_test.txt) + freezegun pytest-aiohttp + pytest-freezegun pytest-mock pytest-rerunfailures + pytest-socket pytest-xdist pytestCheckHook requests-mock diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index 7207a937c38d..5c2e18b6715c 100644 --- a/pkgs/servers/home-assistant/frontend.nix +++ b/pkgs/servers/home-assistant/frontend.nix @@ -4,11 +4,11 @@ buildPythonPackage rec { # the frontend version corresponding to a specific home-assistant version can be found here # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json pname = "home-assistant-frontend"; - version = "20211007.1"; + version = "20211103.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-wsDNLwzhpwH5vwdHRWhZGlumjFM8/S+kXProbD+VpE8="; + sha256 = "sha256-gny97mYHNwQ8KderebfLALCbIyddbwRoD5Ux6ahDdVk="; }; # there is nothing to strip in this package diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8aee3bc279bb..3178b4994ce9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3430,6 +3430,8 @@ in { hdate = callPackage ../development/python-modules/hdate { }; + ha-av = callPackage ../development/python-modules/ha-av { }; + ha-ffmpeg = callPackage ../development/python-modules/ha-ffmpeg { }; ha-philipsjs = callPackage ../development/python-modules/ha-philipsjs{ };