Merge pull request #272576 from NixOS/home-assistant

home-assistant: 2023.11.3 -> 2023.12.0
This commit is contained in:
Martin Weinelt 2023-12-10 14:51:43 +01:00 committed by GitHub
commit ebfca42b8b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
51 changed files with 1235 additions and 350 deletions

View File

@ -157,7 +157,7 @@ in {
default = [];
example = literalExpression ''
with pkgs.home-assistant-custom-components; [
prometheus-sensor
prometheus_sensor
];
'';
description = lib.mdDoc ''
@ -523,7 +523,6 @@ in {
"bluetooth_tracker"
"bthome"
"default_config"
"eq3btsmart"
"eufylife_ble"
"esphome"
"fjaraskupan"

View File

@ -182,7 +182,7 @@ in {
hass.wait_until_succeeds("journalctl -u home-assistant.service | grep -q 'We found a custom integration prometheus_sensor which has not been tested by Home Assistant'")
with subtest("Check that lovelace modules are referenced and fetchable"):
hass.succeed("grep -q 'mini-graph-card-bundle.js' '${configDir}/ui-lovelace.yaml'")
hass.succeed("grep -q 'mini-graph-card-bundle.js' '${configDir}/configuration.yaml'")
hass.succeed("curl --fail http://localhost:8123/local/nixos-lovelace-modules/mini-graph-card-bundle.js")
with subtest("Check that optional dependencies are in the PYTHONPATH"):

View File

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "aiocomelit";
version = "0.6.0";
version = "0.6.2";
format = "pyproject";
disabled = pythonOlder "3.10";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "chemelli74";
repo = "aiocomelit";
rev = "refs/tags/v${version}";
hash = "sha256-bs+iSe4vu0ej4SQww6mvQqboVKfQrkd9OirBLGbU3gs=";
hash = "sha256-Pqds4RwDxaUyZUIGTK0JOjsKbyB7j3uOfunbLXsKANk=";
};
postPatch = ''

View File

@ -22,7 +22,7 @@
buildPythonPackage rec {
pname = "aioesphomeapi";
version = "18.5.2";
version = "19.2.1";
pyproject = true;
disabled = pythonOlder "3.9";
@ -31,7 +31,7 @@ buildPythonPackage rec {
owner = "esphome";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-kj4FHsNsGsMxK+EI1jgqBfvldkyAoBkCTGT1yiZMmzY=";
hash = "sha256-WSWGO0kI1m6oaImUYZ6m5WKJ+xPs/rtn5wVq1bDr+bE=";
};
nativeBuildInputs = [

View File

@ -60,6 +60,17 @@ buildPythonPackage rec {
"tests/test_ip_pairing.py"
];
disabledTests = [
# AttributeError: 'MockedAsyncServiceInfo' object has no attribute '_set_properties'
"test_discover_find_one_unpaired"
"test_find_device_id_case_lower"
"test_find_device_id_case_upper"
"test_discover_missing_csharp"
"test_discover_csharp_case"
"test_discover_device_id_case_lower"
"test_discover_device_id_case_upper"
];
pythonImportsCheck = [
"aiohomekit"
];

View File

@ -0,0 +1,39 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, aiohttp
, zlib-ng
}:
buildPythonPackage rec {
pname = "aiohttp-zlib-ng";
version = "0.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "bdraco";
repo = "aiohttp-zlib-ng";
rev = "v${version}";
hash = "sha256-dTNwt4eX6ZQ8ySK2/9ziVbc3KFg2aL/EsiBWaJRC4x8=";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
zlib-ng
];
pythonImportsCheck = [ "aiohttp_zlib_ng" ];
meta = with lib; {
description = "Enable zlib_ng on aiohttp";
homepage = "https://github.com/bdraco/aiohttp-zlib-ng";
changelog = "https://github.com/bdraco/aiohttp-zlib-ng/blob/${src.rev}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ ];
};
}

View File

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "aiowithings";
version = "1.0.3";
version = "2.0.0";
pyproject = true;
disabled = pythonOlder "3.11";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "joostlek";
repo = "python-withings";
rev = "refs/tags/v${version}";
hash = "sha256-n76bpFIWUfztTDEg32uopxukAtvFT3tdbtqWOLghi4I=";
hash = "sha256-wVLoM1Lq1fchyjOOmn+6wVzEAra8x2uK6qaiocVqzmw=";
};
postPatch = ''

View File

@ -3,13 +3,14 @@
, fetchFromGitHub
, poetry-core
, aiohttp
, aiohttp-retry
, pythonOlder
, pyjwt
}:
buildPythonPackage rec {
pname = "apple-weatherkit";
version = "1.0.4";
version = "1.1.1";
format = "pyproject";
disabled = pythonOlder "3.11";
@ -18,7 +19,7 @@ buildPythonPackage rec {
owner = "tjhorner";
repo = "python-weatherkit";
rev = "refs/tags/v${version}";
hash = "sha256-G/0hyK2rjdSSnVnvAUGyDvsfNMHVgAD7NHfNFmdBCNA=";
hash = "sha256-ZwHomiRkoV2Oi5c7qgTOKdu6R8dFfiVBi5XQMxrQvIU=";
};
nativeBuildInputs = [
@ -27,6 +28,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [
aiohttp
aiohttp-retry
pyjwt
] ++ pyjwt.optional-dependencies.crypto;

View File

@ -9,14 +9,15 @@
, pytest-timeout
, pytestCheckHook
, pythonOlder
, setuptools
, voluptuous
, zigpy
}:
buildPythonPackage rec {
pname = "bellows";
version = "0.36.8";
format = "setuptools";
version = "0.37.1";
pyproject = true;
disabled = pythonOlder "3.8";
@ -24,9 +25,19 @@ buildPythonPackage rec {
owner = "zigpy";
repo = "bellows";
rev = "refs/tags/${version}";
hash = "sha256-+p3As+fi6mw9i5q2klFTM9QQ2JoQarwrphc6tB6C94M=";
hash = "sha256-JkaCM9XOdGZE9/C2BUV3g9QL5+k/HlVYd4WsAMS2mgk=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace '"setuptools-git-versioning<2"' "" \
--replace 'dynamic = ["version"]' 'version = "${version}"'
'';
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
click
click-log

View File

@ -11,14 +11,15 @@
, pytestCheckHook
, python
, respx
, setuptools
, time-machine
, tzdata
}:
buildPythonPackage rec {
pname = "bimmer-connected";
version = "0.14.3";
format = "setuptools";
version = "0.14.6";
pyproject = true;
disabled = pythonOlder "3.6";
@ -26,22 +27,28 @@ buildPythonPackage rec {
owner = "bimmerconnected";
repo = "bimmer_connected";
rev = "refs/tags/${version}";
hash = "sha256-I/MKjdEu69uis5f/Xuk4H6ynC71IQmfASLr07PdEBXE=";
hash = "sha256-/FL9czp5x/BcKSXXzT19kgGiPFd61BpU7HLtgyyHlIs=";
};
nativeBuildInputs = [
pbr
setuptools
];
PBR_VERSION = version;
propagatedBuildInputs = [
httpx
pillow
pycryptodome
pyjwt
];
passthru.optional-dependencies = {
china = [
pillow
];
};
postInstall = ''
cp -R bimmer_connected/tests/responses $out/${python.sitePackages}/bimmer_connected/tests/
'';
@ -51,7 +58,7 @@ buildPythonPackage rec {
pytestCheckHook
respx
time-machine
];
] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
preCheck = ''
export TZDIR=${tzdata}/${python.sitePackages}/tzdata/zoneinfo

View File

@ -3,8 +3,9 @@
, aresponses
, buildPythonPackage
, fetchFromGitHub
, mashumaro
, orjson
, poetry-core
, pydantic
, pytest-asyncio
, pytestCheckHook
, pythonOlder
@ -13,7 +14,7 @@
buildPythonPackage rec {
pname = "elgato";
version = "5.0.0";
version = "5.1.1";
format = "pyproject";
disabled = pythonOlder "3.11";
@ -22,7 +23,7 @@ buildPythonPackage rec {
owner = "frenck";
repo = "python-elgato";
rev = "refs/tags/v${version}";
hash = "sha256-TI5wu2FYVUMvgDkbktcwPLnTSD8XUSy8qwOCdrsiopk=";
hash = "sha256-g0po3BtY2uiOmuyWVA+o08c3I86SE4zmvo1ps8HpNNw=";
};
postPatch = ''
@ -38,7 +39,8 @@ buildPythonPackage rec {
propagatedBuildInputs = [
aiohttp
pydantic
mashumaro
orjson
yarl
];

View File

@ -0,0 +1,84 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
# build-system
, poetry-core
# dependencies
, cryptography
, http-ece
, protobuf
, requests
# docs
, sphinx
, sphinxHook
, sphinx-autodoc-typehints
, sphinx-rtd-theme
# tests
, async-timeout
, requests-mock
, pytest-asyncio
, pytest-mock
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "firebase-messaging";
version = "0.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "sdb9696";
repo = "firebase-messaging";
rev = version;
hash = "sha256-e3Ny3pnAfOpNERvvtE/jqSDIsM+YwLq/hbw753QpJ6o=";
};
outputs = [
"out"
"doc"
];
nativeBuildInputs = [
poetry-core
sphinxHook
] ++ passthru.optional-dependencies.docs;
propagatedBuildInputs = [
cryptography
http-ece
protobuf
requests
];
passthru.optional-dependencies = {
docs = [
sphinx
sphinx-autodoc-typehints
sphinx-rtd-theme
];
};
pythonImportsCheck = [
"firebase_messaging"
];
nativeCheckInputs = [
async-timeout
requests-mock
pytest-asyncio
pytest-mock
pytestCheckHook
];
meta = with lib; {
description = "A library to subscribe to GCM/FCM and receive notifications within a python application";
homepage = "https://github.com/sdb9696/firebase-messaging";
changelog = "https://github.com/sdb9696/firebase-messaging/blob/${src.rev}/CHANGELOG.rst";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}

View File

@ -7,6 +7,7 @@
, ciso8601
, cryptography
, fetchFromGitHub
, fetchpatch
, pycognito
, pytest-aiohttp
, pytest-timeout
@ -32,12 +33,13 @@ buildPythonPackage rec {
hash = "sha256-r4Huvn9mBqnASpUd+drwORE+fApLV/l6Y3aO/UIiEC8=";
};
postPatch = ''
substituteInPlace setup.py \
--replace "acme==" "acme>=" \
--replace "pycognito==" "pycognito>=" \
--replace "snitun==" "snitun>=" \
'';
patches = [
(fetchpatch {
# Add missing wait_for_close mock in AiohttpClientMockResponse
url = "https://github.com/NabuCasa/hass-nabucasa/commit/097607e0fe30932ca5cba0c50fda125f90f5f3de.patch";
hash = "sha256-ZSh+1kGBb6ltNnd0RaDECXiJDEGJBOw1wN2HXPgfy+o=";
})
];
nativeBuildInputs = [
setuptools

View File

@ -4,8 +4,8 @@
, pythonOlder
# propagates
, importlib-resources
, pyyaml
, unicode-rbnf
# tests
, pytestCheckHook
@ -13,21 +13,22 @@
let
pname = "hassil";
version = "1.2.5";
version = "1.5.1";
in
buildPythonPackage {
inherit pname version;
format = "setuptools";
disabled = pythonOlder "3.9";
src = fetchPypi {
inherit pname version;
hash = "sha256-udOkZILoba2+eR8oSFThsB846COaIXawwRYhn261mCA=";
hash = "sha256-GLvDT8BUBvEzgiqKaXokF912g3fOH+KsXnmeOXIwe9U=";
};
propagatedBuildInputs = [
pyyaml
] ++ lib.optionals (pythonOlder "3.9") [
importlib-resources
unicode-rbnf
];
nativeCheckInputs = [
@ -35,7 +36,7 @@ buildPythonPackage {
];
meta = with lib; {
changelog = "https://github.com/home-assistant/hassil/releases/tag/v${version}";
changelog = "https://github.com/home-assistant/hassil/blob/v${version}/CHANGELOG.md";
description = "Intent parsing for Home Assistant";
homepage = "https://github.com/home-assistant/hassil";
license = licenses.asl20;

View File

@ -3,8 +3,9 @@
, aresponses
, buildPythonPackage
, fetchFromGitHub
, mashumaro
, orjson
, poetry-core
, pydantic
, pytest-asyncio
, pytestCheckHook
, pythonOlder
@ -12,46 +13,47 @@
buildPythonPackage rec {
pname = "open-meteo";
version = "0.2.1";
version = "0.3.1";
format = "pyproject";
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "frenck";
repo = "python-open-meteo";
rev = "v${version}";
sha256 = "0i8jmhd29vvkpfxs9l5wy8525ngs79mnc7si2j9b1nc41xrv91f6";
hash = "sha256-IB+dfQ4bb4dMYYQUVH9YbP3arvfgt4SooPlOKP3AVI8=";
};
postPatch = ''
# Upstream doesn't set a version for the pyproject.toml
substituteInPlace pyproject.toml \
--replace "0.0.0" "${version}" \
--replace "--cov" ""
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
aresponses
pydantic
mashumaro
orjson
];
nativeCheckInputs = [
aresponses
pytest-asyncio
pytestCheckHook
];
postPatch = ''
# Upstream doesn't set a version for the pyproject.toml
substituteInPlace pyproject.toml \
--replace "0.0.0" "${version}" \
--replace "--cov" "" \
--replace 'aiohttp = "^3.8.1"' 'aiohttp = "^3.8.0"'
'';
pythonImportsCheck = [
"open_meteo"
];
meta = with lib; {
changelog = "https://github.com/frenck/python-open-meteo/releases/tag/v${version}";
description = "Python client for the Open-Meteo API";
homepage = "https://github.com/frenck/python-open-meteo";
license = licenses.mit;

View File

@ -4,16 +4,17 @@
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pydantic
, mashumaro
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, syrupy
, yarl
}:
buildPythonPackage rec {
pname = "pvo";
version = "2.0.0";
version = "2.1.1";
format = "pyproject";
disabled = pythonOlder "3.11";
@ -22,7 +23,7 @@ buildPythonPackage rec {
owner = "frenck";
repo = "python-pvoutput";
rev = "refs/tags/v${version}";
hash = "sha256-SvsrvGwIAlj/8hdk90+rxigVrx6n3YInvF/4eux2H04=";
hash = "sha256-Js8oPEMxJyWK1E6GDm1xwm2BilnV3WBM6Hibf6oFOKE=";
};
postPatch = ''
@ -38,7 +39,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [
aiohttp
pydantic
mashumaro
yarl
];
@ -46,6 +47,7 @@ buildPythonPackage rec {
aresponses
pytest-asyncio
pytestCheckHook
syrupy
];
pythonImportsCheck = [

View File

@ -1,30 +1,36 @@
{ lib
, aiohttp
, async-timeout
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pythonOlder
}:
buildPythonPackage rec {
pname = "pycfdns";
version = "2.0.1";
format = "setuptools";
version = "3.0.0";
pyproject = true;
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "ludeeus";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-f6kxYX/dg16OWYpw29dH4Z26ncLZCYyHKGc4fzoCld0=";
hash = "sha256-bLzDakxKq8fcjEKSxc6D5VN9gfAu1M3/zaAU2UYnwSs=";
};
postPatch = ''
substituteInPlace setup.py \
--replace 'version="master",' 'version="${version}",'
substituteInPlace pyproject.toml \
--replace 'version="0",' 'version="${version}",'
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
async-timeout
];
# Project has no tests

View File

@ -5,13 +5,14 @@
, fetchFromGitHub
, prompt-toolkit
, pycryptodome
, pydantic
, pythonOlder
, setuptools
}:
buildPythonPackage rec {
pname = "pykoplenti";
version = "1.0.0";
version = "1.2.2";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -20,7 +21,7 @@ buildPythonPackage rec {
owner = "stegm";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-XBOKf3i8xywU/1Kzl+VI1Qnkp9ohpSuDX3AnotD32oo=";
hash = "sha256-2sGkHCIGo1lzLurvQBmq+16sodAaK8v+mAbIH/Gd3+E=";
};
nativeBuildInputs = [
@ -35,11 +36,17 @@ buildPythonPackage rec {
propagatedBuildInputs = [
aiohttp
click
prompt-toolkit
pycryptodome
pydantic
];
passthru.optional-dependencies = {
CLI = [
click
prompt-toolkit
];
};
# Project has no tests
doCheck = false;

View File

@ -72,6 +72,10 @@ buildPythonPackage rec {
disabledTests = [
# Tests often hang
"test_connected"
] ++ lib.optionals (lib.versionAtLeast aiohttp.version "3.9.0") [
"test_split_serial_packet"
"test_serial_poll"
"test_simulator"
];
meta = with lib; {

View File

@ -21,20 +21,23 @@ buildPythonPackage rec {
hash = "sha256-r+f2+vEXJdQGDlbs/MhraFgEmsAf32PU282blLRLjzc=";
};
postPatch = ''
substituteInPlace setup.py \
--replace "aiohttp>=3.8.0,<4.0.0" "aiohttp<=4.0.0"
'';
propagatedBuildInputs = [
aiohttp
];
# https://github.com/andrewsayre/pysmartthings/issues/80
doCheck = lib.versionOlder aiohttp.version "3.9.0";
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
];
postPatch = ''
substituteInPlace setup.py \
--replace "aiohttp>=3.8.0,<4.0.0" "aiohttp<=4.0.0"
'';
pythonImportsCheck = [
"pysmartthings"
];

View File

@ -55,6 +55,12 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTests = lib.optionals (lib.versionAtLeast aiohttp.version "3.9.0") [
# https://github.com/liudger/python-bsblan/issues/808
"test_http_error400"
"test_not_authorized_401_response"
];
pythonImportsCheck = [
"bsblan"
];

View File

@ -1,37 +1,42 @@
{ lib
, aiohttp
, aresponses
, awesomeversion
, async-timeout
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, protobuf
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, syrupy
}:
buildPythonPackage rec {
pname = "python-homewizard-energy";
version = "2.1.2";
version = "4.1.1";
format = "pyproject";
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "DCSBL";
repo = pname;
repo = "python-homewizard-energy";
rev = "refs/tags/v${version}";
hash = "sha256-iyDRhTV5GSBTVK7ccJhUOrCpE9YuiI1vJM4XroCyIwE=";
hash = "sha256-p7uwodjC+wTGrlKf4i4ZRTPg9Qh9krsmwPpWNdF6J4U=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'version = "0.0.0"' 'version = "${version}"'
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
awesomeversion
aiohttp
async-timeout
];
__darwinAllowLocalNetworking = true;
@ -40,6 +45,7 @@ buildPythonPackage rec {
aresponses
pytest-asyncio
pytestCheckHook
syrupy
];
pythonImportsCheck = [
@ -48,8 +54,8 @@ buildPythonPackage rec {
meta = with lib; {
description = "Library to communicate with HomeWizard Energy devices";
homepage = "https://github.com/DCSBL/python-homewizard-energy";
changelog = "https://github.com/DCSBL/python-homewizard-energy/releases/tag/v${version}";
homepage = "https://github.com/homewizard/python-homewizard-energy";
changelog = "https://github.com/homewizard/python-homewizard-energy/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};

View File

@ -5,11 +5,11 @@
# build
, setuptools
, wheel
# propagates
, aiohttp
, aiorun
, async-timeout
, coloredlogs
, dacite
, orjson
@ -28,7 +28,7 @@
buildPythonPackage rec {
pname = "python-matter-server";
version = "4.0.2";
version = "5.0.3";
format = "pyproject";
disabled = pythonOlder "3.10";
@ -37,17 +37,22 @@ buildPythonPackage rec {
owner = "home-assistant-libs";
repo = "python-matter-server";
rev = "refs/tags/${version}";
hash = "sha256-fyVvmYznYuhDhU3kApXgXjkPdwhJFxoFq3U87ichmt8=";
hash = "sha256-bR6AVoy9f02RKZ57dnHTDAv5LTCcd/qBbzMDRKsGbfM=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'version = "0.0.0"' 'version = "${version}"'
'';
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [
aiohttp
aiorun
async-timeout
coloredlogs
dacite
orjson

View File

@ -1,54 +0,0 @@
{ lib
, aiohttp
, beautifulsoup4
, buildPythonPackage
, fetchFromGitHub
, pkce
, poetry-core
, pythonOlder
}:
buildPythonPackage rec {
pname = "python-myq";
version = "3.1.13";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "Python-MyQ";
repo = "Python-MyQ";
rev = "refs/tags/v${version}";
hash = "sha256-kW03swRXZdkh45I/up/FIxv0WGBRqTlDt1X71Ow/hrg=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace "poetry-core==1.6.1" "poetry-core"
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
beautifulsoup4
pkce
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [
"pymyq"
];
meta = with lib; {
description = "Python wrapper for MyQ API";
homepage = "https://github.com/Python-MyQ/Python-MyQ";
changelog = "https://github.com/Python-MyQ/Python-MyQ/releases/tag/v${version}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -1,7 +1,6 @@
{ lib
, stdenv
, aiohttp
, alexapy
, async-timeout
, buildPythonPackage
, click
@ -20,7 +19,7 @@
buildPythonPackage rec {
pname = "python-roborock";
version = "0.35.3";
version = "0.36.2";
format = "pyproject";
disabled = pythonOlder "3.10";
@ -29,12 +28,12 @@ buildPythonPackage rec {
owner = "humbertogontijo";
repo = "python-roborock";
rev = "refs/tags/v${version}";
hash = "sha256-3XTVHs+mLePudLnr+bAN4pHvHtUcE0D5Hw+50Vxhlzw=";
hash = "sha256-FyoYAXWdNANxZJ9EKyfRrywKPJmSyt8QRPBlrk9jRIw=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace "poetry-core==1.6.1" "poetry-core"
--replace "poetry-core==1.7.0" "poetry-core"
'';
pythonRelaxDeps = [
@ -47,7 +46,6 @@ buildPythonPackage rec {
];
propagatedBuildInputs = [
alexapy
aiohttp
async-timeout
click

View File

@ -1,10 +1,8 @@
{ lib
, aiohttp
, aresponses
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pydantic
, pytestCheckHook
, pytest-asyncio
, pythonOlder
@ -12,16 +10,16 @@
buildPythonPackage rec {
pname = "pytraccar";
version = "1.0.0";
format = "pyproject";
version = "2.0.0";
pyproject = true;
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "ludeeus";
repo = pname;
rev = version;
hash = "sha256-ngyLe6sbTTQ7n4WdV06OlQnn/vqkD+JUruyMYS1Ym+Q=";
repo = "pytraccar";
rev = "refs/tags/${version}";
hash = "sha256-7QGgI+DDYbordBx4LbtCvPWyEh6ur2RrSKMuDlwRlTo=";
};
nativeBuildInputs = [
@ -30,11 +28,12 @@ buildPythonPackage rec {
propagatedBuildInputs = [
aiohttp
pydantic
];
# https://github.com/ludeeus/pytraccar/issues/31
doCheck = lib.versionOlder aiohttp.version "3.9.0";
nativeCheckInputs = [
aresponses
pytestCheckHook
pytest-asyncio
];
@ -56,6 +55,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python library to handle device information from Traccar";
homepage = "https://github.com/ludeeus/pytraccar";
changelog = "https://github.com/ludeeus/pytraccar/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};

View File

@ -2,26 +2,29 @@
, buildPythonPackage
, fetchPypi
, aiohttp
, async-timeout
, lxml
, pythonOlder
, setuptools
}:
buildPythonPackage rec {
pname = "pytrafikverket";
version = "0.3.8";
format = "setuptools";
version = "0.3.9.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-3p2tKFuzgl+VFRRXV66MRgcL1XS8xxDqMOUZw+Ql/5E=";
hash = "sha256-F0BMpZVzSK0i+tdvN//KZQqgxFrfLf0SCNztKCs6BYQ=";
};
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
aiohttp
async-timeout
lxml
];

View File

@ -5,21 +5,26 @@
, pytestCheckHook
, pythonAtLeast
, pythonOlder
, setuptools
}:
buildPythonPackage rec {
pname = "restrictedpython";
version = "6.2";
format = "setuptools";
version = "7.0";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
pname = "RestrictedPython";
inherit version;
hash = "sha256-23Prfjs5ZQ8NIdEMyN2pwOKYbmIclLDF3jL7De46CK8=";
hash = "sha256-U3BK+7w1D9yPskVEE2e+Zxyfg4CGkgGy6EUudPzj2xQ=";
};
nativeBuildInputs = [
setuptools
];
nativeCheckInputs = [
pytestCheckHook
pytest-mock

View File

@ -2,6 +2,7 @@
, asyncclick
, buildPythonPackage
, fetchPypi
, firebase-messaging
, oauthlib
, poetry-core
, pytest-asyncio
@ -40,6 +41,12 @@ buildPythonPackage rec {
requests-oauthlib
];
passthru.optional-dependencies = {
listen = [
firebase-messaging
];
};
nativeCheckInputs = [
pytest-asyncio
pytest-mock

View File

@ -0,0 +1,43 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
# build-system
, setuptools
# tests
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "unicode-rbnf";
version = "1.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "rhasspy";
repo = "unicode-rbnf";
rev = "v${version}";
hash = "sha256-xwnfqWwQJKCJ4G+8eVaySTJAHxhwKYAqLHaCsxtBIl0=";
};
nativeBuildInputs = [
setuptools
];
pythonImportsCheck = [
"unicode_rbnf"
];
nativeCheckInputs = [
pytestCheckHook
];
meta = with lib; {
changelog = "https://github.com/rhasspy/unicode-rbnf/v${version}/master/CHANGELOG.md";
description = "A pure Python implementation of ICU's rule-based number format engine";
homepage = "https://github.com/rhasspy/unicode-rbnf";
license = licenses.mit;
maintainers = with maintainers; [ hexa ];
};
}

View File

@ -6,7 +6,6 @@
# build-system
, setuptools
, setuptools-git-versioning
, wheel
# dependencies
, async-timeout
@ -27,20 +26,19 @@
buildPythonPackage rec {
pname = "universal-silabs-flasher";
version = "0.0.14";
format = "pyproject";
version = "0.0.15";
pyproject = true;
src = fetchFromGitHub {
owner = "NabuCasa";
repo = "universal-silabs-flasher";
rev = "v${version}";
hash = "sha256-0c9b571gJXFOAe5ct8O/qy7D6rDosmBHDYEv6odLQ2s=";
hash = "sha256-5hA1i2XzKzQDRrZfOaA6I3X7hU+nSd7HpcHHNIzZO7g=";
};
nativeBuildInputs = [
setuptools
setuptools-git-versioning
wheel
];
propagatedBuildInputs = [
@ -65,6 +63,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "universal_silabs_flasher" ];
meta = with lib; {
changelog = "https://github.com/NabuCasa/universal-silabs-flasher/releases/tag/v${version}";
description = "Flashes Silicon Labs radios running EmberZNet or CPC multi-pan firmware";
homepage = "https://github.com/NabuCasa/universal-silabs-flasher";
license = licenses.gpl3Only;

View File

@ -1,4 +1,5 @@
{ lib
, aiohttp
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
@ -11,7 +12,7 @@
buildPythonPackage rec {
pname = "vallox-websocket-api";
version = "3.3.0";
version = "4.0.2";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -20,7 +21,7 @@ buildPythonPackage rec {
owner = "yozik04";
repo = "vallox_websocket_api";
rev = "refs/tags/${version}";
hash = "sha256-wlkb6aa2UtqjrbNA26TUH+ZKvOM64An+lol+MCdQh3U=";
hash = "sha256-a9cYYRAKX9sY9fQhefLWgyvk0vQl7Ao3zvw0SAtFW/Q=";
};
nativeBuildInputs = [
@ -28,6 +29,7 @@ buildPythonPackage rec {
];
propagatedBuildInputs = [
aiohttp
construct
websockets
];
@ -40,6 +42,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "vallox_websocket_api" ];
meta = {
changelog = "https://github.com/yozik04/vallox_websocket_api/releases/tag/${version}";
description = "Async API for Vallox ventilation units";
homepage = "https://github.com/yozik04/vallox_websocket_api";
license = lib.licenses.lgpl3Only;

View File

@ -3,17 +3,19 @@
, aresponses
, buildPythonPackage
, fetchFromGitHub
, mashumaro
, orjson
, poetry-core
, pydantic
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, syrupy
, yarl
}:
buildPythonPackage rec {
pname = "vehicle";
version = "2.0.0";
version = "2.2.1";
format = "pyproject";
disabled = pythonOlder "3.11";
@ -22,25 +24,9 @@ buildPythonPackage rec {
owner = "frenck";
repo = "python-vehicle";
rev = "refs/tags/v${version}";
hash = "sha256-EbjrAfbqVY336RHBWq81KM+oHixen+38aUTnWZQ+nCs=";
hash = "sha256-mu30v4iZoOYfQZc1P45UZaor6hf+i+gOvGcVGcQYzTo=";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
pydantic
yarl
];
nativeCheckInputs = [
aresponses
pytest-asyncio
pytestCheckHook
];
postPatch = ''
# Upstream doesn't set a version for the pyproject.toml
substituteInPlace pyproject.toml \
@ -48,6 +34,24 @@ buildPythonPackage rec {
--replace "--cov" ""
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
mashumaro
orjson
yarl
];
nativeCheckInputs = [
aresponses
pytest-asyncio
pytestCheckHook
syrupy
];
pythonImportsCheck = [
"vehicle"
];

View File

@ -1,6 +1,12 @@
{ lib
, buildPythonPackage
, fetchPypi
, fetchFromGitHub
# build-system
, setuptools
# optional-dependencies
, zeroconf
# tests
, wyoming-faster-whisper
@ -10,12 +16,24 @@
buildPythonPackage rec {
pname = "wyoming";
version = "1.2.0";
format = "setuptools";
version = "1.3.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-mgNhc8PMRrwfvGZEcgIvQ/P2dysdDo2juvZccvb2C/g=";
src = fetchFromGitHub {
owner = "rhasspy";
repo = "wyoming";
rev = "refs/tags/${version}";
hash = "sha256-UoXB+r72O9RaBvtXCEC1TAjjovYEYLqvv07GuQh0iCE=";
};
nativeBuildInputs = [
setuptools
];
passthru.optional-dependencies = {
zeroconf = [
zeroconf
];
};
pythonImportsCheck = [
@ -34,8 +52,9 @@ buildPythonPackage rec {
};
meta = with lib; {
changelog = "https://github.com/rhasspy/wyoming/releases/tag/${version}";
description = "Protocol for Rhasspy Voice Assistant";
homepage = "https://pypi.org/project/wyoming/";
homepage = "https://github.com/rhasspy/wyoming";
license = licenses.mit;
maintainers = with maintainers; [ hexa ];
};

View File

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "yolink-api";
version = "0.3.3";
version = "0.3.4";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "YoSmart-Inc";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-Kg7EvMoFMNm7+Upxo1RIyzrOFsz9dQu1YYiEuetlXBk=";
hash = "sha256-wDZlzl178SIXxo5SacbbXWHhF4wOsjBU4a9h0jBYA4c=";
};
nativeBuildInputs = [

View File

@ -1,6 +1,5 @@
{ lib
, stdenv
, cython
, cython_3
, async-timeout
, buildPythonPackage
, fetchFromGitHub
@ -15,7 +14,7 @@
buildPythonPackage rec {
pname = "zeroconf";
version = "0.119.0";
version = "0.128.0";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -24,11 +23,16 @@ buildPythonPackage rec {
owner = "jstasiak";
repo = "python-zeroconf";
rev = "refs/tags/${version}";
hash = "sha256-VaqKk2WrRLZM2tfx3+y9GngEc6rMcw0b12ExFVfDYf4=";
hash = "sha256-44Ibjbimpl+KSnQ2QMwVg79F38gdWPYTR/ZRyW7JHEU=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace "Cython>=3.0.5" "Cython"
'';
nativeBuildInputs = [
cython
cython_3
poetry-core
setuptools
];

View File

@ -2,26 +2,47 @@
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, setuptools
, zigpy
}:
buildPythonPackage rec {
pname = "zha-quirks";
version = "0.0.106";
format = "setuptools";
version = "0.0.107";
pyproject = true;
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "zigpy";
repo = "zha-device-handlers";
rev = "refs/tags/${version}";
hash = "sha256-+sL3AbjDg0Kl6eqMwVAN9W85QKJqFR1ANKz1E958KeA=";
hash = "sha256-JHf6PZDK7yjyHjjUhkNpqEINCaY916wX5rXaw1Fx1ro=";
};
patches = [
(fetchpatch {
# https://github.com/zigpy/zha-device-handlers/pull/2787
name = "zigpy-0.60-compat.patch";
url = "https://github.com/zigpy/zha-device-handlers/commit/f497ccd2437ae9a24b9afdb84f11fc27a30df211.patch";
hash = "sha256-ICatiA0QRmfJ4Vf4LWyUJI5TLeWoikII49HSBir5WNI=";
})
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace ', "setuptools-git-versioning<2"' "" \
--replace 'dynamic = ["version"]' 'version = "${version}"'
'';
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
aiohttp
zigpy

View File

@ -6,13 +6,14 @@
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, setuptools
, zigpy
}:
buildPythonPackage rec {
pname = "zigpy-deconz";
version = "0.21.1";
format = "setuptools";
version = "0.22.0";
pyproject = true;
disabled = pythonOlder "3.7";
@ -20,9 +21,19 @@ buildPythonPackage rec {
owner = "zigpy";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-YRJMIpC6Zk5sQjGyzdEbQEeYgFJzIbxe4BReayceu10=";
hash = "sha256-pdWWI+yZh0uf2TzVbyJFIrxM2zfmaPG/PGZWaNNrZ6M=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace ', "setuptools-git-versioning<2"' "" \
--replace 'dynamic = ["version"]' 'version = "${version}"'
'';
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
pyserial
pyserial-asyncio

View File

@ -6,26 +6,35 @@
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, setuptools
, zigpy
}:
buildPythonPackage rec {
pname = "zigpy-xbee";
version = "0.19.0";
format = "setuptools";
# https://github.com/Martiusweb/asynctest/issues/152
# broken by upstream python bug with asynctest and
# is used exclusively by home-assistant with python 3.8
version = "0.20.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "zigpy";
repo = "zigpy-xbee";
rev = "refs/tags/${version}";
hash = "sha256-KUXXOySuPFNKcW3O08FBYIfm4WwVjOuIF+GefmKnwl0=";
hash = "sha256-Ja9U/X9YblS6uUD7MX3t2tItG9AMiNF7OFgvIotdvQs=";
};
buildInputs = [
postPatch = ''
substituteInPlace pyproject.toml \
--replace ', "setuptools-git-versioning<2"' "" \
--replace 'dynamic = ["version"]' 'version = "${version}"'
'';
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
pyserial
pyserial-asyncio
zigpy

View File

@ -9,13 +9,14 @@
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, setuptools
, zigpy
}:
buildPythonPackage rec {
pname = "zigpy-zigate";
version = "0.11.0";
format = "setuptools";
version = "0.12.0";
pyproject = true;
disabled = pythonOlder "3.8";
@ -23,9 +24,19 @@ buildPythonPackage rec {
owner = "zigpy";
repo = "zigpy-zigate";
rev = "refs/tags/${version}";
hash = "sha256-eGN2QvPHZ8gfPPFdUbAP9cs43jzUHDBS/w1tni1shB0=";
hash = "sha256-wziXUFYSUXhzWHM870jphG12h99WVzqiYimtIbkXyM0=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace ', "setuptools-git-versioning<2"' "" \
--replace 'dynamic = ["version"]' 'version = "${version}"'
'';
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
gpiozero
pyserial

View File

@ -10,14 +10,15 @@
, pytest-timeout
, pytestCheckHook
, pythonOlder
, setuptools
, voluptuous
, zigpy
}:
buildPythonPackage rec {
pname = "zigpy-znp";
version = "0.11.6";
format = "setuptools";
version = "0.12.0";
pyproject = true;
disabled = pythonOlder "3.7";
@ -25,12 +26,18 @@ buildPythonPackage rec {
owner = "zigpy";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-K85AmksP/dXKL4DQKadyvjK7y5x6yEgc6vDJAPfblTw=";
hash = "sha256-nPk//1MMvtWf2iLZZ/2vJoBdFEJBmy8RBMwSFzfnNT8=";
};
nativeBuildInputs = [
setuptools
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace "timeout = 20" "timeout = 300"
--replace "timeout = 20" "timeout = 300" \
--replace ', "setuptools-git-versioning<2"' "" \
--replace 'dynamic = ["version"]' 'version = "${version}"'
'';
propagatedBuildInputs = [

View File

@ -14,12 +14,11 @@
, pythonOlder
, setuptools
, voluptuous
, wheel
}:
buildPythonPackage rec {
pname = "zigpy";
version = "0.58.1";
version = "0.60.0";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -28,7 +27,7 @@ buildPythonPackage rec {
owner = "zigpy";
repo = "zigpy";
rev = "refs/tags/${version}";
hash = "sha256-i2P9QyhT/UQ8Xu0IfQ2OzAxIiMF4H04Jkz3/6e2FCpY=";
hash = "sha256-1i92YyOIoWSMDHgfnXiXQuvDnmEPlSHwoSLmmsoTkDU=";
};
postPatch = ''
@ -39,7 +38,6 @@ buildPythonPackage rec {
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [

View File

@ -0,0 +1,70 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
# build-system
, cmake
, setuptools
# native dependencies
, zlib-ng
# tests
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "zlib-ng";
version = "0.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pycompression";
repo = "python-zlib-ng";
rev = "v${version}";
hash = "sha256-dZnX94SOuV1/zTYUecnRe6DDKf5nAvydHn7gESVQ6hs=";
};
nativeBuildInputs = [
cmake
setuptools
];
dontUseCmakeConfigure = true;
env.PYTHON_ZLIB_NG_LINK_DYNAMIC = true;
buildInputs = [
zlib-ng
];
pythonImportsCheck = [
"zlib_ng"
];
nativeCheckInputs = [
pytestCheckHook
];
preCheck = ''
rm -rf src
'';
disabledTests = [
# commandline tests fail to find the built module
"test_compress_fast_best_are_exclusive"
"test_compress_infile_outfile"
"test_compress_infile_outfile_default"
"test_decompress_cannot_have_flags_compression"
"test_decompress_infile_outfile"
"test_decompress_infile_outfile_error"
];
meta = with lib; {
description = "A drop-in replacement for Python's zlib and gzip modules using zlib-ng";
homepage = "https://github.com/pycompression/python-zlib-ng";
changelog = "https://github.com/pycompression/python-zlib-ng/blob/${src.rev}/CHANGELOG.rst";
license = licenses.psfl;
maintainers = with maintainers; [ hexa ];
};
}

File diff suppressed because it is too large Load Diff

View File

@ -30,24 +30,16 @@ let
# Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
(self: super: {
aioairq = super.aioairq.overridePythonAttrs (oldAttrs: rec {
version = "0.2.4";
src = fetchFromGitHub {
owner = "CorantGmbH";
repo = "aioairq";
rev = "refs/tags/v${version}";
hash = "sha256-+5FyBfsB3kjyX/V9CdZ072mZ3THyvALyym+uk7/kZLo=";
};
});
# https://github.com/home-assistant/core/pull/101913
aiohttp = super.aiohttp.overridePythonAttrs (old: rec {
version = "3.8.5";
version = "3.9.1";
src = fetchPypi {
inherit (old) pname;
inherit version;
hash = "sha256-uVUuxSzBR9vxlErHrJivdgLlHqLc0HbtGUyjwNHH0Lw=";
hash = "sha256-j8Sah6wmnUUp2kWHHi/7aHTod3nD0OLM2BPAiZIhI50=";
};
patches = [];
doCheck = false;
});
aiowatttime = super.aiowatttime.overridePythonAttrs (oldAttrs: rec {
@ -60,6 +52,15 @@ let
};
});
aioresponses = super.aioresponses.overridePythonAttrs (oldAttrs: rec {
pname = "aioresponses";
version = "0.7.6";
src = fetchPypi {
inherit pname version;
hash = "sha256-95XZ29otYXdIQOfjL1Nm9FdS0a3Bt0yTYq/QFylsfuE=";
};
});
astral = super.astral.overridePythonAttrs (oldAttrs: rec {
pname = "astral";
version = "2.2";
@ -105,10 +106,10 @@ let
rev = "refs/tags/${version}";
hash = "sha256-iqlKfpnETLqQwy5sNcK2x/TgmuN2hCfYoHEFK2WWVXI=";
};
nativeBuildInputs = with super; [
nativeBuildInputs = with self; [
setuptools
];
propagatedBuildInputs = with super; [
propagatedBuildInputs = with self; [
aenum
aiohttp
pydantic
@ -135,11 +136,6 @@ let
};
});
# moto tests are a nuissance
moto = super.moto.overridePythonAttrs (_: {
doCheck = false;
});
notifications-android-tv = super.notifications-android-tv.overridePythonAttrs (oldAttrs: rec {
version = "0.1.5";
format = "setuptools";
@ -151,11 +147,11 @@ let
hash = "sha256-adkcUuPl0jdJjkBINCTW4Kmc16C/HzL+jaRZB/Qr09A=";
};
nativeBuildInputs = with super; [
nativeBuildInputs = with self; [
setuptools
];
propagatedBuildInputs = with super; [
propagatedBuildInputs = with self; [
requests
];
@ -183,15 +179,6 @@ let
};
});
p1monitor = super.p1monitor.overridePythonAttrs (oldAttrs: rec {
version = "2.1.1";
src = fetchFromGitHub {
inherit (oldAttrs.src) owner repo;
rev = "refs/tags/v${version}";
hash = "sha256-VHY5AWxt5BZd1NQKzsgubEZBLKAlDNm8toyEazPUnDU=";
};
});
psutil = super.psutil.overridePythonAttrs (oldAttrs: rec {
version = "5.9.6";
src = fetchPypi {
@ -324,7 +311,7 @@ let
extraBuildInputs = extraPackages python.pkgs;
# Don't forget to run parse-requirements.py after updating
hassVersion = "2023.11.3";
hassVersion = "2023.12.0";
in python.pkgs.buildPythonApplication rec {
pname = "homeassistant";
@ -337,18 +324,18 @@ in python.pkgs.buildPythonApplication rec {
# don't try and fail to strip 6600+ python files, it takes minutes!
dontStrip = true;
# Primary source is the pypi sdist, because it contains translations
src = fetchPypi {
inherit pname version;
hash = "sha256-llGHI6LVpTo9m2RMtcDSkW2wWraje2OkVFx5P7lzZ30=";
};
# Secondary source is git for tests
gitSrc = fetchFromGitHub {
# Primary source is the git, which has the tests and allows bisecting the core
src = fetchFromGitHub {
owner = "home-assistant";
repo = "core";
rev = "refs/tags/${version}";
hash = "sha256-KD53O+UlAjGfVGp4kbLgpgU7j0A+KqZZT492WmeCOnQ=";
hash = "sha256-d7H6U5wRU1mOAU5YFyy7gtttsG9p1g7iDxZcaK+cAOg=";
};
# Secondary source is pypi sdist for translations
sdist = fetchPypi {
inherit pname version;
hash = "sha256-TspjqX98adi6cYe/raV1FB5Xy59F4jWJukw1pkuP+Sw=";
};
nativeBuildInputs = with python.pkgs; [
@ -378,10 +365,9 @@ in python.pkgs.buildPythonApplication rec {
"yarl"
];
# copy tests early, so patches apply as they would to the git repo
# extract translations from pypi sdist
prePatch = ''
cp --no-preserve=mode --recursive ${gitSrc}/tests ./
chmod u+x tests/auth/providers/test_command_line_cmd.sh
tar --extract --gzip --file $sdist --strip-components 1 --wildcards "**/translations"
'';
# leave this in, so users don't have to constantly update their downstream patch handling
@ -481,6 +467,8 @@ in python.pkgs.buildPythonApplication rec {
"--deselect tests/test_config.py::test_merge"
# AssertionError: assert 'WARNING' not in '2023-11-10 ...nt abc[L]>\n'"
"--deselect=tests/helpers/test_script.py::test_multiple_runs_repeat_choose"
# SystemError: PyThreadState_SetAsyncExc failed
"--deselect=tests/helpers/test_template.py::test_template_timeout"
# tests are located in tests/
"tests"
];

View File

@ -4,7 +4,7 @@ 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 = "20231030.2";
version = "20231206.0";
format = "wheel";
src = fetchPypi {
@ -12,7 +12,7 @@ buildPythonPackage rec {
pname = "home_assistant_frontend";
dist = "py3";
python = "py3";
hash = "sha256-qzodzqWpAXZjwBJkiCyBi5zzfpEqqtauJn2PKZ5UtJ0=";
hash = "sha256-RZRZ7feaW47DRCIKsesdkURG24ZacD2y3O3ppasbftk=";
};
# there is nothing to strip in this package

View File

@ -20,7 +20,7 @@
buildPythonPackage rec {
pname = "home-assistant-intents";
version = "2023.10.16";
version = "2023.12.05";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -29,7 +29,7 @@ buildPythonPackage rec {
owner = "home-assistant";
repo = "intents-package";
rev = "refs/tags/${version}";
hash = "sha256-qW5KzABEEBw2tu5+fAoWd8nCxuvTzEU14M8iaSo2WzE=";
hash = "sha256-BVcvlmX5+w7b9uNHA4ZP6Ebj+7ROUgEaAmXAGQrby+s=";
fetchSubmodules = true;
};

View File

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "homeassistant-stubs";
version = "2023.11.3";
version = "2023.12.0";
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-x3FcUmbUYAUKGAPb85SqJk1kTWFKxpJSX2J+rTRj1KY=";
hash = "sha256-14zxVCxYtmEe71f+wqgvT/lKiv7DMN7PaeYrkQG4kMQ=";
};
nativeBuildInputs = [

View File

@ -192,11 +192,11 @@ class HomeAssistant:
async def update_core(self, old_version: str, new_version: str) -> None:
old_sdist_hash = str(await Nix.eval("home-assistant.src.outputHash"))
old_sdist_hash = str(await Nix.eval("home-assistant.sdist.outputHash"))
new_sdist_hash = await Nurl.prefetch("https://pypi.org/project/homeassistant/", new_version)
print(f"sdist: {old_sdist_hash} -> {new_sdist_hash}")
old_git_hash = str(await Nix.eval("home-assistant.gitSrc.outputHash"))
old_git_hash = str(await Nix.eval("home-assistant.src.outputHash"))
new_git_hash = await Nurl.prefetch("https://github.com/home-assistant/core/", new_version)
print(f"git: {old_git_hash} -> {new_git_hash}")

View File

@ -312,6 +312,7 @@ mapAliases ({
pymssql = throw "pymssql has been abandoned upstream."; # added 2020-05-04
PyMVGLive = pymvglive; # added 2023-02-19
pymyq = python-myq; # added 2023-10-20
python-myq = throw "python-myq has been removed, as the service provider has decided to block its API requests"; # added 2023-12-07
pyqt4 = throw "pyqt4 has been removed, because it depended on the long EOL qt4"; # added 2022-06-09
pyramid_beaker = pyramid-beaker; # added 2023-08-23
pyramid_chameleon = pyramid-chameleon; # added 2023-08-23

View File

@ -250,6 +250,8 @@ self: super: with self; {
aiohttp-wsgi = callPackage ../development/python-modules/aiohttp-wsgi { };
aiohttp-zlib-ng = callPackage ../development/python-modules/aiohttp-zlib-ng { };
aioitertools = callPackage ../development/python-modules/aioitertools { };
aiobiketrax = callPackage ../development/python-modules/aiobiketrax { };
@ -3974,6 +3976,8 @@ self: super: with self; {
fire = callPackage ../development/python-modules/fire { };
firebase-messaging = callPackage ../development/python-modules/firebase-messaging { };
fireflyalgorithm = callPackage ../development/python-modules/fireflyalgorithm { };
firetv = callPackage ../development/python-modules/firetv { };
@ -10714,8 +10718,6 @@ self: super: with self; {
pymvglive = callPackage ../development/python-modules/pymvglive { };
python-myq = callPackage ../development/python-modules/python-myq { };
pymysensors = callPackage ../development/python-modules/pymysensors { };
pymysql = callPackage ../development/python-modules/pymysql { };
@ -15453,6 +15455,8 @@ self: super: with self; {
unicodedata2 = callPackage ../development/python-modules/unicodedata2 { };
unicode-rbnf = callPackage ../development/python-modules/unicode-rbnf { };
unicode-slugify = callPackage ../development/python-modules/unicode-slugify { };
unicorn = callPackage ../development/python-modules/unicorn {
@ -16321,6 +16325,10 @@ self: super: with self; {
zipstream-ng = callPackage ../development/python-modules/zipstream-ng { };
zlib-ng = callPackage ../development/python-modules/zlib-ng {
inherit (pkgs) zlib-ng;
};
zm-py = callPackage ../development/python-modules/zm-py { };
zodb = callPackage ../development/python-modules/zodb { };