diff --git a/pkgs/development/python-modules/aio-geojson-client/default.nix b/pkgs/development/python-modules/aio-geojson-client/default.nix index 06f74202743b..04dfa69f8912 100644 --- a/pkgs/development/python-modules/aio-geojson-client/default.nix +++ b/pkgs/development/python-modules/aio-geojson-client/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "aio-geojson-client"; - version = "0.19"; + version = "0.20"; pyproject = true; disabled = pythonOlder "3.8"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "exxamalte"; repo = "python-aio-geojson-client"; rev = "refs/tags/v${version}"; - hash = "sha256-ia8nfU5/dcLq3ctJTvpDmvB24mCjO3JrkfQsuXPR+xs="; + hash = "sha256-GASjsOCZ4lSK0+VtIuVxFNxjMCbHkUGy/KSBtGLSaXw="; }; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/aio-geojson-generic-client/default.nix b/pkgs/development/python-modules/aio-geojson-generic-client/default.nix index 4d10c5724970..343f47d2aca4 100644 --- a/pkgs/development/python-modules/aio-geojson-generic-client/default.nix +++ b/pkgs/development/python-modules/aio-geojson-generic-client/default.nix @@ -8,6 +8,7 @@ , pytest-asyncio , pytestCheckHook , pythonOlder +, pythonRelaxDepsHook , pytz , setuptools }: @@ -29,9 +30,15 @@ buildPythonPackage rec { __darwinAllowLocalNetworking = true; nativeBuildInputs = [ + pythonRelaxDepsHook setuptools ]; + pythonRelaxDeps = [ + # geojson>=2.4.0,<3, but we have 3.x + "geojson" + ]; + propagatedBuildInputs = [ aiohttp aio-geojson-client diff --git a/pkgs/development/python-modules/aioshelly/default.nix b/pkgs/development/python-modules/aioshelly/default.nix index 9c53be328f50..832bd768a8bd 100644 --- a/pkgs/development/python-modules/aioshelly/default.nix +++ b/pkgs/development/python-modules/aioshelly/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "aioshelly"; - version = "7.0.0"; + version = "7.1.0"; format = "setuptools"; disabled = pythonOlder "3.9"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "home-assistant-libs"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-+sE/nppRu6XTvXzWlXc+4clLOI/KvVdfRDl9FUhy8fg="; + hash = "sha256-W8oAJ7q4cAWq+RF4Hwd8cuPkEZQorsBnjmos5tVSBzc="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/bluetooth-adapters/default.nix b/pkgs/development/python-modules/bluetooth-adapters/default.nix index 4458815e03ae..765f4340ceb9 100644 --- a/pkgs/development/python-modules/bluetooth-adapters/default.nix +++ b/pkgs/development/python-modules/bluetooth-adapters/default.nix @@ -17,16 +17,16 @@ buildPythonPackage rec { pname = "bluetooth-adapters"; - version = "0.16.2"; - format = "pyproject"; + version = "0.17.0"; + pyproject = true; disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "Bluetooth-Devices"; - repo = pname; + repo = "bluetooth-adapters"; rev = "refs/tags/v${version}"; - hash = "sha256-2Z+COsWsIezcslCN50oZRTquAXsmxxp7fAjyGScoRq8="; + hash = "sha256-7j55+bCScoqtYJ/1lmqsPk3j+dbs+VfPTzTiwdVg0Pw="; }; postPatch = '' diff --git a/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix b/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix index b9cd8bec9f08..2a39c28d0fdb 100644 --- a/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix +++ b/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "bluetooth-auto-recovery"; - version = "1.2.3"; + version = "1.3.0"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "Bluetooth-Devices"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-1ytiTIAV00Wk2zqZKRAsstVLuyzPEGBISz0g0ssC5Eo="; + hash = "sha256-4DFi7UrEQgU7dckUuGxj/sWyystx8NYb6xK4hyurKKo="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/brother/default.nix b/pkgs/development/python-modules/brother/default.nix index 5e90a4e90132..54bb6bff1b32 100644 --- a/pkgs/development/python-modules/brother/default.nix +++ b/pkgs/development/python-modules/brother/default.nix @@ -2,7 +2,7 @@ , buildPythonPackage , fetchFromGitHub , dacite -, pysnmplib +, pysnmp-lextudio , pytest-asyncio , pytest-error-for-skips , pytestCheckHook @@ -30,7 +30,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ dacite - pysnmplib + pysnmp-lextudio ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/freebox-api/default.nix b/pkgs/development/python-modules/freebox-api/default.nix index 950b2d4caee4..4758712f0fb4 100644 --- a/pkgs/development/python-modules/freebox-api/default.nix +++ b/pkgs/development/python-modules/freebox-api/default.nix @@ -5,6 +5,7 @@ , poetry-core , pytestCheckHook , pythonOlder +, pythonRelaxDepsHook , urllib3 }: @@ -24,6 +25,11 @@ buildPythonPackage rec { nativeBuildInputs = [ poetry-core + pythonRelaxDepsHook + ]; + + pythonRelaxDeps = [ + "urllib3" ]; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/habluetooth/default.nix b/pkgs/development/python-modules/habluetooth/default.nix index 759bd04b6ab5..9e347d9a1553 100644 --- a/pkgs/development/python-modules/habluetooth/default.nix +++ b/pkgs/development/python-modules/habluetooth/default.nix @@ -1,31 +1,31 @@ { lib -, buildPythonPackage -, fetchFromGitHub -, cython -, poetry-core -, setuptools -, wheel , bleak -, pytestCheckHook , bleak-retry-connector , bluetooth-adapters , bluetooth-auto-recovery , bluetooth-data-tools +, buildPythonPackage +, cython +, fetchFromGitHub +, poetry-core +, pytestCheckHook , pythonOlder +, setuptools +, wheel }: buildPythonPackage rec { pname = "habluetooth"; - version = "2.0.2"; + version = "2.1.0"; pyproject = true; - disabled = pythonOlder "3.9"; + disabled = pythonOlder "3.10"; src = fetchFromGitHub { owner = "Bluetooth-Devices"; repo = "habluetooth"; rev = "refs/tags/v${version}"; - hash = "sha256-3HyFKg+JR48MQrWmOjOQV2qhVHRHLnJHvtvBajXPDMg="; + hash = "sha256-oPdKmaj2wKgOQw7QYwOQc8efcNtQiGryZgNJ+bbB6L8="; }; postPatch = '' diff --git a/pkgs/development/python-modules/home-assistant-bluetooth/default.nix b/pkgs/development/python-modules/home-assistant-bluetooth/default.nix index eb43493f25e7..8d58ea765509 100644 --- a/pkgs/development/python-modules/home-assistant-bluetooth/default.nix +++ b/pkgs/development/python-modules/home-assistant-bluetooth/default.nix @@ -18,10 +18,10 @@ buildPythonPackage rec { pname = "home-assistant-bluetooth"; - version = "1.11.0"; + version = "1.12.0"; pyproject = true; - disabled = pythonOlder "3.10"; + disabled = pythonOlder "3.11"; src = fetchFromGitHub { owner = "home-assistant-libs"; diff --git a/pkgs/development/python-modules/mcstatus/default.nix b/pkgs/development/python-modules/mcstatus/default.nix index 865e2a6ee774..cf817adbaaaa 100644 --- a/pkgs/development/python-modules/mcstatus/default.nix +++ b/pkgs/development/python-modules/mcstatus/default.nix @@ -13,16 +13,16 @@ buildPythonPackage rec { pname = "mcstatus"; - version = "11.1.0"; - format = "pyproject"; + version = "11.1.1"; + pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "py-mine"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-LYhd35FsredNaMgMfkj7LntNK3NRoVpniEUT6WHoXx8="; + hash = "sha256-P8Su5P/ztyoXZBVvm5uCMDn4ezeg11oRSQ0QCyIJbVw="; }; postPatch = '' diff --git a/pkgs/development/python-modules/meteofrance-api/default.nix b/pkgs/development/python-modules/meteofrance-api/default.nix index 4aee704e605a..1a1e14d8ee41 100644 --- a/pkgs/development/python-modules/meteofrance-api/default.nix +++ b/pkgs/development/python-modules/meteofrance-api/default.nix @@ -4,6 +4,7 @@ , poetry-core , pytestCheckHook , pythonOlder +, pythonRelaxDepsHook , pytz , requests , requests-mock @@ -27,6 +28,11 @@ buildPythonPackage rec { nativeBuildInputs = [ poetry-core + pythonRelaxDepsHook + ]; + + pythonRelaxDeps = [ + "urllib3" ]; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/miauth/default.nix b/pkgs/development/python-modules/miauth/default.nix index a48690ab0b07..486878140e04 100644 --- a/pkgs/development/python-modules/miauth/default.nix +++ b/pkgs/development/python-modules/miauth/default.nix @@ -1,6 +1,6 @@ { lib , buildPythonPackage -, fetchFromGitHub +, fetchPypi , pythonOlder , pythonRelaxDepsHook @@ -15,20 +15,16 @@ , pytestCheckHook }: -buildPythonPackage { +buildPythonPackage rec { pname = "miauth"; - version = "0.9.1"; + version = "0.9.7"; pyproject = true; disabled = pythonOlder "3.10"; - src = fetchFromGitHub { - owner = "dnandha"; - repo = "miauth"; - # Release is not tagged properly, https://github.com/dnandha/miauth/issues/15 - # rev = "refs/tags/${version}"; - rev = "refs/tags/release"; - hash = "sha256-+aoY0Eyd9y7xQTA3uSC6YIZisViilsHlFaOXmhPMcBY="; + src = fetchPypi { + inherit pname version; + hash = "sha256-2/4nFInpdY8fb/b+sXhgT6ZPtEgBV+KHMyLnxIp6y/U="; }; nativeBuildInputs = [ @@ -45,12 +41,14 @@ buildPythonPackage { cryptography ]; + nativeCheckInputs = [ + pytestCheckHook + ]; + pythonImportsCheck = [ "miauth" ]; - doCheck = false; # no tests - meta = with lib; { description = "Authenticate and interact with Xiaomi devices over BLE"; homepage = "https://github.com/dnandha/miauth"; diff --git a/pkgs/development/python-modules/pyasyncore/default.nix b/pkgs/development/python-modules/pyasyncore/default.nix new file mode 100644 index 000000000000..716076e4e34f --- /dev/null +++ b/pkgs/development/python-modules/pyasyncore/default.nix @@ -0,0 +1,35 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, setuptools +}: + +buildPythonPackage rec { + pname = "pyasyncore"; + version = "1.0.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonrob"; + repo = "pyasyncore"; + rev = "v${version}"; + hash = "sha256-8U46q1QIjBkFh04NkAHZ0XRutlzpJHZWAqDZJj3tdEk="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + pythonImportsCheck = [ + "asyncore" + ]; + + doCheck = false; # no tests + + meta = with lib; { + description = "Make asyncore available for Python 3.12 onwards"; + homepage = "https://github.com/simonrob/pyasyncore"; + license = licenses.unfree; # FIXME: nix-init did not found a license + maintainers = with maintainers; [ ]; + }; +} diff --git a/pkgs/development/python-modules/pysnmp-lextudio/default.nix b/pkgs/development/python-modules/pysnmp-lextudio/default.nix new file mode 100644 index 000000000000..4e7d123d49cb --- /dev/null +++ b/pkgs/development/python-modules/pysnmp-lextudio/default.nix @@ -0,0 +1,71 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub + +# build-system +, poetry-core + +# dependencies +, pyasn1 +, pyasyncore +, pysmi-lextudio +, pysnmpcrypto + +# tests +, pytestCheckHook +, pytest-asyncio +}: + +buildPythonPackage rec { + pname = "pysnmp-lextudio"; + version = "5.0.33"; + pyproject = true; + + src = fetchFromGitHub { + owner = "lextudio"; + repo = "pysnmp"; + rev = "v${version}"; + hash = "sha256-IXYpR7JnuHmcjtdCs1C+rPHS9IZ93MN/Zuw4Pu1l/4A="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + pyasn1 + pyasyncore + pysmi-lextudio + pysnmpcrypto + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + ]; + + disabledTests = [ + # Temporary failure in name resolutionc + "test_custom_asn1_mib_search_path" + "test_send_notification" + "test_send_trap" + "test_send_v3_inform_notification" + "test_usm_sha_aes128" + "test_v1_get" + "test_v1_next" + "test_v1_set" + "test_v2c_bulk" + ]; + + pythonImportsCheck = [ + "pysnmp" + ]; + + meta = with lib; { + description = "Python SNMP library"; + homepage = "https://github.com/lextudio/pysnmp"; + changelog = "https://github.com/lextudio/pysnmp/blob/${src.rev}/CHANGES.txt"; + license = licenses.bsd2; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/python-modules/pysnmpcrypto/default.nix b/pkgs/development/python-modules/pysnmpcrypto/default.nix new file mode 100644 index 000000000000..ffeb9dddfbd8 --- /dev/null +++ b/pkgs/development/python-modules/pysnmpcrypto/default.nix @@ -0,0 +1,57 @@ +{ lib +, buildPythonPackage +, fetchPypi + +# build-system +, setuptools + +# dependencies +, cryptography +, pycryptodomex + +# tests +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "pysnmpcrypto"; + version = "0.0.4"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-tjX7Ox7GY3uaADP1BQYhThbrhFdLHSWrAnu95MqlUSk="; + }; + + postPatch = '' + # ValueError: invalid literal for int() with base 10: 'post0' in File "", line 104, in + substituteInPlace setup.py --replace \ + "observed_version = [int(x) for x in setuptools.__version__.split('.')]" \ + "observed_version = [36, 2, 0]" + ''; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + cryptography + pycryptodomex + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "pysnmpcrypto" + ]; + + meta = with lib; { + description = "Strong crypto support for Python SNMP library"; + homepage = "https://github.com/etingof/pysnmpcrypto"; + changelog = "https://github.com/etingof/pysnmpcrypto/blob/${version}/CHANGES.txt"; + license = licenses.bsd2; + maintainers = with maintainers; [ ]; + }; +} diff --git a/pkgs/development/python-modules/xiaomi-ble/default.nix b/pkgs/development/python-modules/xiaomi-ble/default.nix index 985acfef6758..c79e41d82545 100644 --- a/pkgs/development/python-modules/xiaomi-ble/default.nix +++ b/pkgs/development/python-modules/xiaomi-ble/default.nix @@ -11,6 +11,7 @@ , pycryptodomex , pytestCheckHook , pythonOlder +, pythonRelaxDepsHook , sensor-state-data }: @@ -30,12 +31,16 @@ buildPythonPackage rec { postPatch = '' substituteInPlace pyproject.toml \ - --replace " --cov=xiaomi_ble --cov-report=term-missing:skip-covered" "" \ - --replace 'pycryptodomex = ">=3.18.0"' 'pycryptodomex = ">=3.17.0"' + --replace " --cov=xiaomi_ble --cov-report=term-missing:skip-covered" "" ''; nativeBuildInputs = [ poetry-core + pythonRelaxDepsHook + ]; + + pythonRelaxDeps = [ + "pycryptodomex" ]; propagatedBuildInputs = [ diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 128aad8115e3..dd1a4c03e49f 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 = "2024.1.2"; + version = "2024.1.3"; components = { "3_day_blinds" = ps: with ps; [ ]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 72f9fd11c796..bdd5ff488430 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -63,6 +63,21 @@ let ]; }); + aiopurpleair = super.aiopurpleair.overridePythonAttrs (oldAttrs: rec { + version = "2022.12.1"; + src = fetchFromGitHub { + owner = "bachya"; + repo = "aiopurpleair"; + rev = "refs/tags/${version}"; + hash = "sha256-YmJH4brWkTpgzyHwu9UnIWrY5qlDCmMtvF+KxQFXwfk="; + }; + postPatch = '' + substituteInPlace pyproject.toml --replace \ + '"setuptools >= 35.0.2", "wheel >= 0.29.0", "poetry>=0.12"' \ + '"poetry-core"' + ''; + }); + aiopvapi = super.aiopvapi.overridePythonAttrs (oldAttrs: rec { version = "2.0.4"; src = fetchFromGitHub { @@ -183,16 +198,6 @@ let }; }); - mcstatus = super.mcstatus.overridePythonAttrs (oldAttrs: rec { - version = "11.0.0"; - src = fetchFromGitHub { - owner = "py-mine"; - repo = "mcstatus"; - rev = "refs/tags/v${version}"; - hash = "sha256-1jPIsFEJ17kjtCBiX4IvSf2FxYw9DkH3MrrJ85N71tc="; - }; - }); - notifications-android-tv = super.notifications-android-tv.overridePythonAttrs (oldAttrs: rec { version = "0.1.5"; format = "setuptools"; @@ -433,7 +438,7 @@ let extraBuildInputs = extraPackages python.pkgs; # Don't forget to run parse-requirements.py after updating - hassVersion = "2024.1.2"; + hassVersion = "2024.1.3"; in python.pkgs.buildPythonApplication rec { pname = "homeassistant"; @@ -451,13 +456,13 @@ in python.pkgs.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = "refs/tags/${version}"; - hash = "sha256-FlGSVYgKDw0x4l1z1qe+cUAuzFH0XrE2o7LC2ByY5Bo="; + hash = "sha256-Yrv7THolGNylSK1BKUvEzxL8uAQWkOBOWAX00fJBAuQ="; }; # Secondary source is pypi sdist for translations sdist = fetchPypi { inherit pname version; - hash = "sha256-ijs9RNx17JI0nSHCBB3ysgrM4OdOtcH/96O9DcrTtFQ="; + hash = "sha256-Mj00aTkummsPpUtQ5iUG9xOJ4ra6Sfu8uklwroMXoy0="; }; nativeBuildInputs = with python.pkgs; [ @@ -469,6 +474,7 @@ in python.pkgs.buildPythonApplication rec { "awesomeversion" "ciso8601" "cryptography" + "home-assistant-bluetooth" "httpx" "lru-dict" "orjson" diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix index 5c7df2c404b4..bd3c4154f067 100644 --- a/pkgs/servers/home-assistant/stubs.nix +++ b/pkgs/servers/home-assistant/stubs.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "homeassistant-stubs"; - version = "2024.1.2"; + version = "2024.1.3"; format = "pyproject"; disabled = python.version != home-assistant.python.version; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "KapJI"; repo = "homeassistant-stubs"; rev = "refs/tags/${version}"; - hash = "sha256-yUchqjstie+LETY5QnOPc2XpL4MAbXVDHVDYL9v6vFo="; + hash = "sha256-Bvjn4wqy0kxkL7rnfPwf2v2+Q3tGiTo8YuBv3WmQUc8="; }; nativeBuildInputs = [ diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 98b63bc08c6d..78d5c0902414 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10066,6 +10066,8 @@ self: super: with self; { pyasuswrt = callPackage ../development/python-modules/pyasuswrt { }; + pyasyncore = callPackage ../development/python-modules/pyasyncore { }; + pyathena = callPackage ../development/python-modules/pyathena { }; pyatmo = callPackage ../development/python-modules/pyatmo { }; @@ -11289,6 +11291,10 @@ self: super: with self; { pysnmp = callPackage ../development/python-modules/pysnmp { }; + pysnmpcrypto = callPackage ../development/python-modules/pysnmpcrypto { }; + + pysnmp-lextudio = callPackage ../development/python-modules/pysnmp-lextudio { }; + pysnmp-pyasn1 = callPackage ../development/python-modules/pysnmp-pyasn1 { }; pysnmp-pysmi = callPackage ../development/python-modules/pysnmp-pysmi { };