home-assistant: 2026.6.4 -> 2026.7.1 (#538525)
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
diff --git a/spraycharles/lib/analyze.py b/spraycharles/lib/analyze.py
|
||||
index 537f6db..424f87e 100755
|
||||
--- a/spraycharles/lib/analyze.py
|
||||
+++ b/spraycharles/lib/analyze.py
|
||||
@@ -4,7 +4,7 @@ from enum import Enum
|
||||
from rich.table import Table
|
||||
|
||||
from spraycharles.lib.logger import console, logger
|
||||
-from spraycharles.lib.utils import discord, slack, teams, SMBStatus, SprayResult, HookSvc
|
||||
+from spraycharles.lib.utils import discord, slack, SMBStatus, SprayResult, HookSvc
|
||||
|
||||
|
||||
class Analyzer:
|
||||
@@ -210,8 +210,6 @@ class Analyzer:
|
||||
pass
|
||||
case HookSvc.SLACK:
|
||||
slack(self.webhook, self.host)
|
||||
- case HookSvc.TEAMS:
|
||||
- teams(self.webhook, self.host)
|
||||
case HookSvc.DISCORD:
|
||||
discord(self.webhook, self.host)
|
||||
case _:
|
||||
diff --git a/spraycharles/lib/utils/__init__.py b/spraycharles/lib/utils/__init__.py
|
||||
index 59eda99..3615e4c 100644
|
||||
--- a/spraycharles/lib/utils/__init__.py
|
||||
+++ b/spraycharles/lib/utils/__init__.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-from spraycharles.lib.utils.notify import discord, teams, slack, HookSvc
|
||||
+from spraycharles.lib.utils.notify import discord, slack, HookSvc
|
||||
from spraycharles.lib.utils.ntlm_challenger import main as ntlm_challenger
|
||||
from spraycharles.lib.utils.smbstatus import SMBStatus
|
||||
from spraycharles.lib.utils.sprayresult import SprayResult
|
||||
diff --git a/spraycharles/lib/utils/notify.py b/spraycharles/lib/utils/notify.py
|
||||
index f39d10d..f0d62f9 100644
|
||||
--- a/spraycharles/lib/utils/notify.py
|
||||
+++ b/spraycharles/lib/utils/notify.py
|
||||
@@ -1,12 +1,10 @@
|
||||
from enum import Enum
|
||||
-import pymsteams
|
||||
from discord_webhook import DiscordWebhook
|
||||
import requests
|
||||
|
||||
|
||||
class HookSvc(str, Enum):
|
||||
SLACK = "Slack"
|
||||
- TEAMS = "Teams"
|
||||
DISCORD = "Discord"
|
||||
|
||||
|
||||
@@ -18,12 +16,6 @@ def slack(webhook, host):
|
||||
response.raise_for_status() # Raises an error for bad responses
|
||||
|
||||
|
||||
-def teams(webhook, host):
|
||||
- notify = pymsteams.connectorcard(webhook)
|
||||
- notify.text(f"Credentials guessed for host: {host}")
|
||||
- notify.send()
|
||||
-
|
||||
-
|
||||
def discord(webhook, host):
|
||||
notify = DiscordWebhook(
|
||||
@@ -18,13 +18,16 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
|
||||
pythonRelaxDeps = true;
|
||||
|
||||
# https://github.com/Tw1sm/spraycharles/pull/34
|
||||
pythonRemoveDeps = [ "pymsteams" ];
|
||||
patches = [ ./drop-teams.patch ];
|
||||
|
||||
build-system = with python3.pkgs; [ poetry-core ];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
discord-webhook
|
||||
impacket
|
||||
numpy
|
||||
pymsteams
|
||||
pyyaml
|
||||
requests
|
||||
requests-ntlm
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
fetchFromGitHub,
|
||||
mashumaro,
|
||||
orjson,
|
||||
pyprojectVersionPatchHook,
|
||||
pytest-aiohttp,
|
||||
pytest-cov-stub,
|
||||
pytest-timeout,
|
||||
@@ -16,23 +17,25 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiohasupervisor";
|
||||
version = "0.4.3";
|
||||
version = "0.5.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "home-assistant-libs";
|
||||
repo = "python-supervisor-client";
|
||||
tag = version;
|
||||
hash = "sha256-h22y62f+pdoHYKqPeKNGFkVS7/IMWbxaAoDLomwAB40=";
|
||||
hash = "sha256-qIj3kiKSo0aUj7b250c39FqxU3jV6uegmBlxR6wOkQ8=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail 'version = "0.0.0"' 'version = "${version}"' \
|
||||
--replace-fail "setuptools>=68.0,<82.1" "setuptools" \
|
||||
--replace-fail ', "wheel>=0.40,<0.47"' ""
|
||||
--replace-fail "setuptools>=68.0,<82.1" "setuptools"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
pyprojectVersionPatchHook
|
||||
];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
|
||||
@@ -19,14 +19,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "aiohomeconnect";
|
||||
version = "0.36.1";
|
||||
version = "0.38.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MartinHjelmare";
|
||||
repo = "aiohomeconnect";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-dzDNwqAYS1Sqhcd9koNTtSkXZ/t78WC/YIKOaA4uqzI=";
|
||||
hash = "sha256-KJlkJXxbTSA1j/lvCAsIEheF5h2HQpJXVmiM3dyINPw=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "aiolifx-themes";
|
||||
version = "1.0.3";
|
||||
version = "1.0.4";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.12";
|
||||
@@ -22,7 +22,7 @@ buildPythonPackage (finalAttrs: {
|
||||
owner = "Djelibeybi";
|
||||
repo = "aiolifx-themes";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Y92ze+zrkz+fxQNFFSR5V9sPJMN0/dfIRwT6UhXo0+U=";
|
||||
hash = "sha256-FTQu8dvm3myRsMC2SKlvIk0MkRIuDPVv5Zxnw5IrPv4=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiolifx";
|
||||
version = "1.2.1";
|
||||
version = "1.2.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aiolifx";
|
||||
repo = "aiolifx";
|
||||
tag = version;
|
||||
hash = "sha256-9FTsY/VFfzLlDEjF8ueBQxr30YasdQwei1/KfHiXwMo=";
|
||||
hash = "sha256-v2001UY12HTi1pgugfRQSUg1R6uZAfVpwCASZZW9S0o=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "aiopnsense";
|
||||
version = "1.0.8";
|
||||
version = "1.1.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.14";
|
||||
@@ -24,7 +24,7 @@ buildPythonPackage (finalAttrs: {
|
||||
owner = "Snuffy2";
|
||||
repo = "aiopnsense";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-pJVYbf81/vZRi5elhNhiscXrEqDRLiIrik8N9GcR6yQ=";
|
||||
hash = "sha256-Ffp0CTYqqeeB8462luTvpa2dp2QOxztkipretBqaKig=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "aioshelly";
|
||||
version = "13.26.1";
|
||||
version = "13.26.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "home-assistant-libs";
|
||||
repo = "aioshelly";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-mOqHHgyx1Eevhr8BHkfFQa7g6x7vt9KJe4E72fr9HPg=";
|
||||
hash = "sha256-LNMFFi3afbDFezr32zr85lNX1TIdo8BF04yDfc2AIA0=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
aiohttp,
|
||||
async-timeout,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "asmog";
|
||||
version = "0.0.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-k8dC3g2oY/b4w4m7Y/HUy/6/3Tm1kntx9tjoyXqDaJE=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
aiohttp
|
||||
async-timeout
|
||||
];
|
||||
|
||||
# Project doesn't ship the tests
|
||||
# https://github.com/kstaniek/python-ampio-smog-api/issues/2
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "asmog" ];
|
||||
|
||||
meta = {
|
||||
description = "Python module for Ampio Smog Sensors";
|
||||
homepage = "https://github.com/kstaniek/python-ampio-smog-api";
|
||||
license = with lib.licenses; [ asl20 ];
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
};
|
||||
})
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
async-timeout,
|
||||
pysnmp,
|
||||
poetry-core,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "atenpdu";
|
||||
version = "0.7.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-+UQVCizqpyVe7nuQUYwSBOtiTwW+0LVH1HaaucnIg9k=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
dependencies = [
|
||||
async-timeout
|
||||
pysnmp
|
||||
];
|
||||
|
||||
# Module has no test
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "atenpdu" ];
|
||||
|
||||
meta = {
|
||||
description = "Python interface to control ATEN PE PDUs";
|
||||
homepage = "https://github.com/mtdcr/pductl";
|
||||
changelog = "https://github.com/mtdcr/pductl/releases/tag/${version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
mainProgram = "pductl";
|
||||
broken = lib.versionAtLeast pysnmp.version "7";
|
||||
};
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
bluepy,
|
||||
buildPythonPackage,
|
||||
csrmesh,
|
||||
fetchPypi,
|
||||
pycryptodome,
|
||||
requests,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "avion";
|
||||
version = "0.10";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-v/0NwFmxDZ9kEOx5qs5L9sKzOg/kto79syctg0Ah+30=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# https://github.com/mjg59/python-avion/pull/16
|
||||
substituteInPlace setup.py \
|
||||
--replace "bluepy>==1.1.4" "bluepy>=1.1.4"
|
||||
'';
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
bluepy
|
||||
csrmesh
|
||||
pycryptodome
|
||||
requests
|
||||
];
|
||||
|
||||
# Module has no test
|
||||
doCheck = false;
|
||||
|
||||
# bluepy/uuids.json is not found
|
||||
# pythonImportsCheck = [ "avion" ];
|
||||
|
||||
meta = {
|
||||
description = "Python API for controlling Avi-on Bluetooth dimmers";
|
||||
homepage = "https://github.com/mjg59/python-avion";
|
||||
license = with lib.licenses; [ gpl3Plus ];
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
};
|
||||
})
|
||||
@@ -1,40 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
btlewrap,
|
||||
bluepy,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "beewi-smartclim";
|
||||
version = "0.0.10";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alemuro";
|
||||
repo = "beewi_smartclim";
|
||||
tag = version;
|
||||
hash = "sha256-xdr545Q4DFhup2BCMZZ1WYWgt97qT6oipIHWcsp90+A=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
btlewrap
|
||||
bluepy
|
||||
];
|
||||
|
||||
# No tests available
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "beewi_smartclim" ];
|
||||
|
||||
meta = {
|
||||
description = "Library to read data from BeeWi SmartClim sensor using Bluetooth LE";
|
||||
homepage = "https://github.com/alemuro/beewi_smartclim";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.jamiemagee ];
|
||||
};
|
||||
}
|
||||
@@ -21,14 +21,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "bluetooth-adapters";
|
||||
version = "2.3.0";
|
||||
version = "2.4.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = "bluetooth-adapters";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-r/qDwlIVa7VBkhepmuFqwtlJ7WYUTiYRKikhURTgLH8=";
|
||||
hash = "sha256-d1vHb1WvsumlvilwuV6yfTwMXViLqeosSSM3LijIGYY=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -15,14 +15,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "dbus-fast";
|
||||
version = "5.0.17";
|
||||
version = "5.0.22";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = "dbus-fast";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-wZ4ufGua56weOuaOkyjBIzDex/gjmLeAczYzeLQRFwo=";
|
||||
hash = "sha256-tYgsaXOo1zYjWebcWZyGIIbYHCJApwhRnuYcHOP+ZUs=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
aiohttp,
|
||||
buildPythonPackage,
|
||||
docopt,
|
||||
fetchPypi,
|
||||
pyyaml,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "eliqonline";
|
||||
version = "1.2.2";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "hOUN4cA4pKVioIrfJM02GOnZdDRc7xbNtvHfoD3//bM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
docopt
|
||||
pyyaml
|
||||
];
|
||||
|
||||
# Project has no tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "eliqonline" ];
|
||||
|
||||
meta = {
|
||||
description = "Python client to the Eliq Online API";
|
||||
mainProgram = "eliqonline";
|
||||
homepage = "https://github.com/molobrakos/eliqonline";
|
||||
license = lib.licenses.lgpl3Only;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
@@ -8,14 +8,14 @@
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "fido2";
|
||||
version = "2.1.1";
|
||||
version = "2.2.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-8TefhFhwzH/GTH8HMjw85B6MlsNwVOeeCs1WMLP+xaw=";
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-hXh0KKlMP46vcvD/MK+6mDtVmhsbeVyTMYyBtK1AYsQ=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
@@ -28,7 +28,10 @@ buildPythonPackage rec {
|
||||
pcsc = [ pyscard ];
|
||||
};
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
]
|
||||
++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies;
|
||||
|
||||
pytestFlags = [
|
||||
"-v"
|
||||
@@ -40,8 +43,8 @@ buildPythonPackage rec {
|
||||
meta = {
|
||||
description = "Provides library functionality for FIDO 2.0, including communication with a device over USB";
|
||||
homepage = "https://github.com/Yubico/python-fido2";
|
||||
changelog = "https://github.com/Yubico/python-fido2/releases/tag/${version}";
|
||||
changelog = "https://github.com/Yubico/python-fido2/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.bsd2;
|
||||
maintainers = with lib.maintainers; [ prusnak ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "forecast-solar";
|
||||
version = "5.0.0";
|
||||
version = "5.0.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "home-assistant-libs";
|
||||
repo = "forecast_solar";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-gFa1jq4Dq6fWqL/3eY+OGcJU+T+R6TZs8CX1ynnW+pU=";
|
||||
hash = "sha256-fvmi5kwVAScVlGpxutjH8nl0lJx/VnQEVoj9a1UY7r4=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
setuptools,
|
||||
requests,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "gitterpy";
|
||||
version = "0.1.7";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-nmZ6sVjrHRLfvXMr/fYiN+a4Wly87YKwAR+heP/sNkE=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [ requests ];
|
||||
|
||||
# Package has no tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "gitterpy" ];
|
||||
|
||||
meta = {
|
||||
description = "Python interface for the Gitter API";
|
||||
homepage = "https://github.com/MichaelYusko/GitterPy";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.jamiemagee ];
|
||||
};
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
setuptools,
|
||||
requests,
|
||||
xmltodict,
|
||||
urllib3,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "greenwavereality";
|
||||
version = "0.5.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-bNTO9qHoOe3A7TYiUwLBVq4eWyGoIfCoguizM1hKk/Y=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
requests
|
||||
xmltodict
|
||||
urllib3
|
||||
];
|
||||
|
||||
# Module has no tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "greenwavereality" ];
|
||||
|
||||
meta = {
|
||||
description = "Control of Greenwave Reality Lights";
|
||||
homepage = "https://github.com/dfiel/greenwavereality";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.jamiemagee ];
|
||||
};
|
||||
}
|
||||
@@ -20,14 +20,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "habluetooth";
|
||||
version = "6.8.1";
|
||||
version = "6.26.5";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = "habluetooth";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-a6qYBCN4nlJ0KRqGSbE6D5YySrvhi2kqAArMKa5A6sM=";
|
||||
hash = "sha256-IM3M4fWTdD4wT3UsNiLZq7QX3p9pf+lR3x84vuOICMM=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
let
|
||||
pname = "hassil";
|
||||
version = "3.7.0";
|
||||
version = "3.8.0";
|
||||
in
|
||||
buildPythonPackage rec {
|
||||
inherit pname version;
|
||||
@@ -26,7 +26,7 @@ buildPythonPackage rec {
|
||||
owner = "home-assistant";
|
||||
repo = "hassil";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-C3nx8w0y4RsHq9txwdSfgS9BMcY4TyZiBOq4QIq5w+0=";
|
||||
hash = "sha256-b+ykT6P9yG8jZZN92K76uBaKTJpV6lkcqP3AAYbj3dU=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "hole";
|
||||
version = "0.9.1";
|
||||
version = "0.9.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "home-assistant-ecosystem";
|
||||
repo = "python-hole";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-rIKb6GeULi2ooNtWD2a23JQxO9HkXiUYy0AroYeVeKU=";
|
||||
hash = "sha256-j9fwetfxc0HG+Ly+MpRYL3jDHAwtt+Ls3tUcizHuUrg=";
|
||||
};
|
||||
|
||||
build-system = [ hatchling ];
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "infrared-protocols";
|
||||
version = "5.8.1";
|
||||
version = "6.3.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "home-assistant-libs";
|
||||
repo = "infrared-protocols";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-CSVnH+U/dqp5vjA4eWEJEFT0LZgaAG3OC1rcgyKIcJE=";
|
||||
hash = "sha256-6kyb0a0cCwVSS4evDGg0Z7wLGhDUHnLeXUJ9PW+fhHk=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "iometer";
|
||||
version = "1.0.1";
|
||||
version = "1.0.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "iometer-gmbh";
|
||||
repo = "iometer.py";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-ksf/nZHv4/JRHo5OrFp6lgPF62DD37ELFfUVkL+TDEo=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-50tq+z1+8CX58Yj6GztYXStHMG+IncOHDgwK8WhxVcQ=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
{
|
||||
aiosqlite,
|
||||
asyncpg,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
pytest-asyncio,
|
||||
pytestCheckHook,
|
||||
pytest-cov-stub,
|
||||
setuptools,
|
||||
sqlalchemy,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "knx-telegram-store";
|
||||
version = "0.4.0";
|
||||
pyproject = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "XKNX";
|
||||
repo = "knx-telegram-store";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-t4Bmm5n9+XSBiR2Rvm6UKAKweH9fQuZwaNqG1W2q3Co=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
optional-dependencies = {
|
||||
postgres = [
|
||||
asyncpg
|
||||
sqlalchemy
|
||||
];
|
||||
sqlite = [
|
||||
aiosqlite
|
||||
sqlalchemy
|
||||
];
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-asyncio
|
||||
pytest-cov-stub
|
||||
pytestCheckHook
|
||||
]
|
||||
++ finalAttrs.passthru.optional-dependencies.sqlite;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"knx_telegram_store"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Standalone, host-agnostic Python library for KNX telegram persistence";
|
||||
homepage = "https://github.com/XKNX/knx-telegram-store";
|
||||
changelog = "https://github.com/XKNX/knx-telegram-store/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ hexa ];
|
||||
};
|
||||
})
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "mozart-api";
|
||||
version = "5.3.1.108.2";
|
||||
version = "6.2.0.44.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "mozart_api";
|
||||
inherit (finalAttrs) version;
|
||||
hash = "sha256-ilUSGgc4m6iMBUuSI7qt7c4DAE8cOPTzLGeQ4JQAB8U=";
|
||||
hash = "sha256-HJKxw49hGjVedjpCzxfbL8v6b6MXXqE96hlL5U64r5Y=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "msmart-ng";
|
||||
version = "2026.4.1";
|
||||
version = "2026.7.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mill1000";
|
||||
repo = "midea-msmart";
|
||||
tag = version;
|
||||
hash = "sha256-kWKdNu5IxBly+4SMIFYF1V3s5stpTbYvvcXpVtG51vM=";
|
||||
hash = "sha256-OW5++yd+o2KqaFWTo/RiLjK1HO2l9WSDxkiX3lYtaUs=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -15,14 +15,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "music-assistant-client";
|
||||
version = "1.3.5";
|
||||
version = "1.3.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "music-assistant";
|
||||
repo = "client";
|
||||
tag = version;
|
||||
hash = "sha256-1yJTn8gnEFkoWGQHItpdO77ltE1Ai5z9hmJvakxyi24=";
|
||||
hash = "sha256-uK3suOFhRJT6ji5ksdH3Y4iO9ysdbyZWVNTThJvGiGc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -23,14 +23,14 @@ buildPythonPackage (finalAttrs: {
|
||||
pname = "music-assistant-models";
|
||||
# Must be compatible with music-assistant-client package
|
||||
# nixpkgs-update: no auto update
|
||||
version = "1.1.115";
|
||||
version = "1.1.139";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "music-assistant";
|
||||
repo = "models";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-oEXL0B8JNH4PcltpES375ov7QGs+gtYKlMGr1B7BlKY=";
|
||||
hash = "sha256-AT+R0Sor3aDqydGfT8gJfk9/rEpqEOad5ytnGnW7B1U=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
diff --git a/opuslib_next/api/__init__.py b/opuslib_next/api/__init__.py
|
||||
index dc498b2..b2ded08 100644
|
||||
--- a/opuslib_next/api/__init__.py
|
||||
+++ b/opuslib_next/api/__init__.py
|
||||
@@ -15,7 +15,7 @@ __copyright__ = "Copyright (c) 2025, Kalicyh"
|
||||
__license__ = "BSD 3-Clause License"
|
||||
|
||||
|
||||
-lib_location = find_library("opus")
|
||||
+lib_location = "@libopus@"
|
||||
|
||||
if lib_location is None:
|
||||
# find opus library in macOS
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
hatchling,
|
||||
libopus,
|
||||
pytestCheckHook,
|
||||
replaceVars,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "opuslib-next";
|
||||
version = "1.3.0";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kalicyh";
|
||||
repo = "opuslib-next";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-rR1tsijKUBUH3bZZSISsx1JUO35TZevcTcfPtoQow/E=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(replaceVars ./ctypes.patch {
|
||||
libopus = "${lib.getLib libopus}/lib/libopus${stdenv.hostPlatform.extensions.sharedLibrary}";
|
||||
})
|
||||
];
|
||||
|
||||
build-system = [
|
||||
hatchling
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libopus
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"opuslib_next"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Python bindings to the libopus, IETF low-delay audio codec";
|
||||
homepage = "https://github.com/kalicyh/opuslib-next";
|
||||
changelog = "https://github.com/kalicyh/opuslib-next/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ hexa ];
|
||||
};
|
||||
})
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "ouman-eh-800-api";
|
||||
version = "0.5.0";
|
||||
version = "1.0.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.13";
|
||||
@@ -22,7 +22,7 @@ buildPythonPackage (finalAttrs: {
|
||||
owner = "Markus98";
|
||||
repo = "ouman-eh-800-api";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-1CEn44Uw+OH4DXcATt6qvsi3Ce4ghorWyS7lBhO2lH4=";
|
||||
hash = "sha256-lY6aC2d31M4I5O1J9vIBH83MMiJ941cMixTsGP5I0OM=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pajgps-api";
|
||||
version = "0.3.1";
|
||||
version = "0.4.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skipperro";
|
||||
repo = "pajgps-api";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-OJbWF5KcqyRud0Sfx7rME+mXIjiZQD9UxD3vpeV6RWY=";
|
||||
hash = "sha256-7NVr75ss9vUjyn0Yz+bpZVdN4gDx4gvpdDV1bWLKOIQ=";
|
||||
};
|
||||
|
||||
build-system = [ hatchling ];
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "py-ccm15";
|
||||
version = "0.1.2";
|
||||
version = "1.1.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||
# Therefore it should not be marked unstable
|
||||
# upstream issue: https://github.com/ocalvo/py-ccm15/issues/10
|
||||
tag = "v${version}";
|
||||
hash = "sha256-QfitJzCFk0gnlcCvvKzuI4fS1lVm79q4xaDZFKKt458=";
|
||||
hash = "sha256-qEowsu7ebnD5eCR7SiWEqLwR3yqoqOnuw4wSQm4rmHQ=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "py-synologydsm-api";
|
||||
version = "2.10.1";
|
||||
version = "2.10.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mib1185";
|
||||
repo = "py-synologydsm-api";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-3NfI+wth0UTBbByFIsUgyyu7SCmbpNu8necNl7KOAxY=";
|
||||
hash = "sha256-LILtlgUCSL+107axBZOIjqbS4kAXWLxt9936tpvW3XA=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyanglianwater";
|
||||
version = "3.2.3";
|
||||
version = "3.2.4";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pantherale0";
|
||||
repo = "pyanglianwater";
|
||||
tag = version;
|
||||
hash = "sha256-hXHkRiKnv59TW1Wr2aJcMvW65SQbkfSokGjh9AvmN3s=";
|
||||
hash = "sha256-AkdWWiw1FMs/uuJNSocMBpReXY2mrxouQfWuu4ntRWY=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -2,28 +2,34 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools-scm,
|
||||
hatchling,
|
||||
hatch-vcs,
|
||||
aiohttp,
|
||||
pydantic,
|
||||
pytz,
|
||||
voluptuous,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pygti";
|
||||
version = "0.10.0";
|
||||
version = "1.1.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vigonotion";
|
||||
repo = "pygti";
|
||||
tag = version;
|
||||
hash = "sha256-2T4Yw4XEOkv+IWyB4Xa2dPu929VH0tLeUjQ5S8EVXz0=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-B+jz91xoN7GiU4PnJTG5Kt1eA4ST63d+ZEgRrr9Xio8=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools-scm ];
|
||||
build-system = [
|
||||
hatchling
|
||||
hatch-vcs
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
aiohttp
|
||||
pydantic
|
||||
pytz
|
||||
voluptuous
|
||||
];
|
||||
@@ -38,10 +44,10 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/vigonotion/pygti/releases/tag/${src.tag}";
|
||||
changelog = "https://github.com/vigonotion/pygti/releases/tag/${finalAttrs.src.tag}";
|
||||
description = "Access public transport information in Hamburg, Germany";
|
||||
homepage = "https://github.com/vigonotion/pygti";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ dotlambda ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -7,27 +7,32 @@
|
||||
fido2,
|
||||
keyring,
|
||||
keyrings-alt,
|
||||
protobuf,
|
||||
pydantic,
|
||||
pytest-mock,
|
||||
pytest-socket,
|
||||
pytestCheckHook,
|
||||
pythonAtLeast,
|
||||
requests,
|
||||
rich,
|
||||
setuptools,
|
||||
setuptools-scm,
|
||||
srp,
|
||||
tinyhtml,
|
||||
typer,
|
||||
tzlocal,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pyicloud";
|
||||
version = "2.4.1";
|
||||
version = "2.6.5";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "timlaing";
|
||||
repo = "pyicloud";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-6Z5YhEqRzThQM5nHG0o+q4Rm/+A/ss3N6RDRz6mPJm4=";
|
||||
hash = "sha256-wlBVQPGGt8Q6EeLceORfRn+MtRKtmum+z3WAG6ZR+2Q=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
@@ -41,16 +46,27 @@ buildPythonPackage (finalAttrs: {
|
||||
fido2
|
||||
keyring
|
||||
keyrings-alt
|
||||
protobuf
|
||||
pydantic
|
||||
requests
|
||||
srp
|
||||
tinyhtml
|
||||
tzlocal
|
||||
];
|
||||
|
||||
optional-dependencies = {
|
||||
cli = [
|
||||
rich
|
||||
typer
|
||||
];
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-mock
|
||||
pytest-socket
|
||||
pytestCheckHook
|
||||
];
|
||||
]
|
||||
++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies;
|
||||
|
||||
pythonImportsCheck = [ "pyicloud" ];
|
||||
|
||||
|
||||
@@ -12,16 +12,16 @@
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pyipma";
|
||||
version = "3.0.9";
|
||||
version = "3.0.10";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dgomes";
|
||||
repo = "pyipma";
|
||||
tag = version;
|
||||
hash = "sha256-1EUOkNwNoZQEetJ5v6httas0S0a3bHLv/lDRXQsT/Ds=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-f1V+8So8TmR9Cu2fjD3B7EqeJd9e1G9cgCNytGul2Eo=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
@@ -41,6 +41,11 @@ buildPythonPackage rec {
|
||||
|
||||
pythonImportsCheck = [ "pyipma" ];
|
||||
|
||||
disabledTests = [
|
||||
# Test requires network access
|
||||
"test_retrieve_returns_json_response_from_api"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# Tests require network access
|
||||
"tests/test_auxiliar.py"
|
||||
@@ -51,8 +56,8 @@ buildPythonPackage rec {
|
||||
meta = {
|
||||
description = "Library to retrieve information from Instituto Português do Mar e Atmosfera";
|
||||
homepage = "https://github.com/dgomes/pyipma";
|
||||
changelog = "https://github.com/dgomes/pyipma/releases/tag/${src.tag}";
|
||||
changelog = "https://github.com/dgomes/pyipma/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pylamarzocco";
|
||||
version = "2.3.0";
|
||||
version = "2.4.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zweckj";
|
||||
repo = "pylamarzocco";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-DNlUdnJjaYUfz8X8UmzqjHwj+WGmRQZQGDkHUjrAJ7E=";
|
||||
hash = "sha256-9wqSF67MNxnGvDDDVY9epI3hoV8M20L3Fyz80/x8G74=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
{
|
||||
lib,
|
||||
aiohttp,
|
||||
aiointercept,
|
||||
aioresponses,
|
||||
buildPythonPackage,
|
||||
deepdiff,
|
||||
fastmcp,
|
||||
fetchFromGitHub,
|
||||
hatchling,
|
||||
pycognito,
|
||||
@@ -18,14 +20,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pylitterbot";
|
||||
version = "2025.4.0";
|
||||
version = "2025.6.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "natekspencer";
|
||||
repo = "pylitterbot";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-k10QYIdV8EFGR/366IZ6OaXbK+kEcaz3Awdwu116zHA=";
|
||||
hash = "sha256-shn218uasWtZidnmhAVU0bG9BVfrN/0Gy1iy01LGfrc=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
@@ -34,8 +36,10 @@ buildPythonPackage (finalAttrs: {
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
aiointercept
|
||||
aiohttp
|
||||
deepdiff
|
||||
fastmcp
|
||||
pycognito
|
||||
pyjwt
|
||||
];
|
||||
|
||||
@@ -21,14 +21,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pymodbus";
|
||||
version = "3.12.1";
|
||||
version = "3.13.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pymodbus-dev";
|
||||
repo = "pymodbus";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ISfAqZu6BSuXoISo8me7Z7BjvoEj6c2KgvuScjEiqd4=";
|
||||
hash = "sha256-gaCD3bhwBXF08vn3v9OU2mT1WJycrqgtxUC8sRLmZ8Y=";
|
||||
};
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
requests,
|
||||
setuptools,
|
||||
setuptools-scm,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pymsteams";
|
||||
version = "0.2.5";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rveachkc";
|
||||
repo = "pymsteams";
|
||||
tag = version;
|
||||
hash = "sha256-Ze25mcXCRaon6qzWzcltD8kwJTfrG2w5jMswXymmKo4=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
dependencies = [ requests ];
|
||||
|
||||
# Tests require network access
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "pymsteams" ];
|
||||
|
||||
meta = {
|
||||
description = "Python module to interact with Microsoft Teams";
|
||||
homepage = "https://github.com/rveachkc/pymsteams";
|
||||
changelog = "https://github.com/rveachkc/pymsteams/releases/tag/${version}";
|
||||
license = with lib.licenses; [ asl20 ];
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
@@ -15,19 +15,22 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pyomie";
|
||||
version = "1.1.1";
|
||||
version = "1.1.3";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "luuuis";
|
||||
repo = "pyomie";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-BOaOClTXeoRxWb2aJKN6+lQRCLAShvHPXsUZBbH0mno=";
|
||||
hash = "sha256-gsCPqKBzQ0nA47WT30PesGuJ4/jicYsFXl04KQ8H/KQ=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
pythonRelaxDeps = [ "typer" ];
|
||||
pythonRelaxDeps = [
|
||||
"click"
|
||||
"typer"
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
aiohttp
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
backoff,
|
||||
boto3,
|
||||
buildPythonPackage,
|
||||
cattrs,
|
||||
fetchFromGitHub,
|
||||
hatchling,
|
||||
pyhumps,
|
||||
pytest-asyncio,
|
||||
pytestCheckHook,
|
||||
warrant-lite,
|
||||
@@ -15,14 +15,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pyoverkiz";
|
||||
version = "1.20.6";
|
||||
version = "2.0.3";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "iMicknl";
|
||||
repo = "python-overkiz-api";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Zbz4l5bPvFQaek6/Nbn+PzAzLS3l2PyetuxOBVsuLPk=";
|
||||
hash = "sha256-kKaT9YimH9o5yI7x9T9TSrcvwKEQ5M/HRnZp5S4xbGE=";
|
||||
};
|
||||
|
||||
build-system = [ hatchling ];
|
||||
@@ -31,11 +31,16 @@ buildPythonPackage (finalAttrs: {
|
||||
aiohttp
|
||||
attrs
|
||||
backoff
|
||||
boto3
|
||||
pyhumps
|
||||
warrant-lite
|
||||
cattrs
|
||||
];
|
||||
|
||||
optional-dependencies = {
|
||||
nexity = [
|
||||
boto3
|
||||
warrant-lite
|
||||
];
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
redis,
|
||||
|
||||
# test
|
||||
aiohttp,
|
||||
pytestCheckHook,
|
||||
pytest-asyncio,
|
||||
pytest-xdist,
|
||||
@@ -22,14 +23,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyrate-limiter";
|
||||
version = "4.1.0";
|
||||
version = "4.4.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vutran1710";
|
||||
repo = "PyrateLimiter";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-2gWbabdRqwWiC4xbMx/VGBwwMcygVMKJswXgd4Ia+xE=";
|
||||
hash = "sha256-DT4WyGrayI12Sid6yLOit68vW/YT4cHsRYjd4oo0/J8=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
@@ -55,6 +56,7 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
aiohttp
|
||||
filelock
|
||||
pytestCheckHook
|
||||
pytest-asyncio
|
||||
|
||||
@@ -4,25 +4,29 @@
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
setuptools-scm,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pyrisco";
|
||||
version = "0.7.0";
|
||||
version = "0.8.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OnFreund";
|
||||
repo = "pyrisco";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-moFKikAIBLWfkpADjNKqZd3jAg5LPapubB1pGmx8OPo=";
|
||||
hash = "sha256-tzCwimkSLazD6LtimFUcRjOvnvSlYY1MpJLZ2u4WgUg=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
build-system = [
|
||||
setuptools
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
dependencies = [ aiohttp ];
|
||||
|
||||
# Project has no tests
|
||||
# All tests require cloud access
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "pyrisco" ];
|
||||
|
||||
@@ -29,10 +29,6 @@ buildPythonPackage (finalAttrs: {
|
||||
version = "0.6";
|
||||
pyproject = true;
|
||||
|
||||
# Almost all tests fail with:
|
||||
# RuntimeError: There is no current event loop in thread 'MainThread'
|
||||
disabled = pythonAtLeast "3.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KimiNewt";
|
||||
repo = "pyshark";
|
||||
@@ -58,6 +54,8 @@ buildPythonPackage (finalAttrs: {
|
||||
(replaceVars ./hardcode-tshark-path.patch {
|
||||
tshark = lib.getExe' wireshark-cli "tshark";
|
||||
})
|
||||
# Compat for Python 3.14 asyncio changes
|
||||
./py314-compat.patch
|
||||
];
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/src";
|
||||
@@ -81,6 +79,13 @@ buildPythonPackage (finalAttrs: {
|
||||
# KeyError: 'Packet of index 0 does not exist in capture'
|
||||
"test_getting_packet_summary"
|
||||
]
|
||||
++ lib.optionals (pythonAtLeast "3.14") [
|
||||
# _pickle.PicklingError: logger cannot be pickled
|
||||
"test_iterate_empty_psml_capture"
|
||||
# configparser.NoSectionError: No section: 'tshark'
|
||||
# Path is mocked, and yet...
|
||||
"test_get_tshark_path"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# fails on darwin
|
||||
# _pickle.PicklingError: logger cannot be pickled
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
diff --git a/src/pyshark/capture/capture.py b/src/pyshark/capture/capture.py
|
||||
index b7aef6e..8967398 100644
|
||||
--- a/src/pyshark/capture/capture.py
|
||||
+++ b/src/pyshark/capture/capture.py
|
||||
@@ -182,25 +182,16 @@ class Capture:
|
||||
asyncio.set_event_loop(self.eventloop)
|
||||
else:
|
||||
try:
|
||||
- self.eventloop = asyncio.get_event_loop_policy().get_event_loop()
|
||||
+ self.eventloop = asyncio.get_running_loop()
|
||||
except RuntimeError:
|
||||
- if threading.current_thread() != threading.main_thread():
|
||||
- # Ran not in main thread, make a new eventloop
|
||||
+ try:
|
||||
+ # Python <3.14: may return an existing non-running loop.
|
||||
+ self.eventloop = asyncio.get_event_loop()
|
||||
+ except RuntimeError:
|
||||
+ # Python 3.14+: no loop exists for this thread.
|
||||
self.eventloop = asyncio.new_event_loop()
|
||||
asyncio.set_event_loop(self.eventloop)
|
||||
- else:
|
||||
- raise
|
||||
- if os.name == "posix" and isinstance(threading.current_thread(), threading._MainThread):
|
||||
- # The default child watchers (ThreadedChildWatcher) attach_loop method is empty!
|
||||
- # While using pyshark with ThreadedChildWatcher, asyncio could raise a ChildProcessError
|
||||
- # "Unknown child process pid %d, will report returncode 255"
|
||||
- # This led to a TSharkCrashException in _cleanup_subprocess.
|
||||
- # Using the SafeChildWatcher fixes this issue, but it is slower.
|
||||
- # SafeChildWatcher O(n) -> large numbers of processes are slow
|
||||
- # ThreadedChildWatcher O(1) -> independent of process number
|
||||
- # asyncio.get_child_watcher().attach_loop(self.eventloop)
|
||||
- asyncio.set_child_watcher(asyncio.SafeChildWatcher())
|
||||
- asyncio.get_child_watcher().attach_loop(self.eventloop)
|
||||
+
|
||||
|
||||
def _packets_from_tshark_sync(self, packet_count=None, existing_process=None):
|
||||
"""Returns a generator of packets.
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pysmlight";
|
||||
version = "0.3.2";
|
||||
version = "0.5.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "smlight-tech";
|
||||
repo = "pysmlight";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-LsHxHHBTJCeB78y2Zv4ESzMwBDH2DB49uGyrmO8IVo0=";
|
||||
hash = "sha256-zqb2rfY3JDnIhlaevqX+/ppX5YhB8xUeIrrM4OQKEq0=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -19,14 +19,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "python-bsblan";
|
||||
version = "6.0.1";
|
||||
version = "6.1.5";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "liudger";
|
||||
repo = "python-bsblan";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-4ds/zYedmdLA7zLe2KoJ4DMzHJC8459KjZIJlHrfWEQ=";
|
||||
hash = "sha256-D3uhEk4VK9kpuwPh3R+oswMaQZQfuTIUwvUnb5HAMFM=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
protobuf,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-clementine-remote";
|
||||
version = "1.0.3";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jjmontesl";
|
||||
repo = "python-clementine-remote";
|
||||
tag = version;
|
||||
hash = "sha256-tPaxRBvt+tW4yV5Ap3YxMQxK3o7BJF3nP/wzBJeDgic=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [ protobuf ];
|
||||
|
||||
# Project has no tests
|
||||
doCheck = false;
|
||||
|
||||
env = {
|
||||
# https://github.com/jjmontesl/python-clementine-remote/pull/7
|
||||
PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION = "python";
|
||||
};
|
||||
|
||||
pythonImportsCheck = [ "clementineremote" ];
|
||||
|
||||
meta = {
|
||||
description = "Python library and CLI for the Clementine Music Player remote protocol";
|
||||
homepage = "https://github.com/jjmontesl/python-clementine-remote";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = [ lib.maintainers.jamiemagee ];
|
||||
};
|
||||
}
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "python-duco-connectivity";
|
||||
version = "0.5.0";
|
||||
version = "0.7.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ronaldvdmeer";
|
||||
repo = "python-duco-connectivity";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-AH8EhC0v8GDNvPSUaTownV9d4upvKRiO//2sipGHz9g=";
|
||||
hash = "sha256-Txm7l7fVkEcUIX2J5CEF3OLLgTiT9O/xva0tSCCMZpI=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -9,21 +9,25 @@
|
||||
pytestCheckHook,
|
||||
pytest-asyncio,
|
||||
setuptools,
|
||||
setuptools-scm,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "python-openevse-http";
|
||||
version = "0.3.4";
|
||||
version = "1.0.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firstof9";
|
||||
repo = "python-openevse-http";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-H5kRn8TmTpaX1qf94N2l1qOm03upFzHFistZDLFu/Zs=";
|
||||
hash = "sha256-X87nS/h+Lh//rf8pNrlX22HOpT3Bz/6QgWBfQEaDQP8=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
build-system = [
|
||||
setuptools
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
aiohttp
|
||||
|
||||
@@ -8,18 +8,19 @@
|
||||
pytest-asyncio,
|
||||
pytestCheckHook,
|
||||
setuptools,
|
||||
websockets,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-pooldose";
|
||||
version = "0.9.1";
|
||||
version = "0.9.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lmaertin";
|
||||
repo = "python-pooldose";
|
||||
tag = version;
|
||||
hash = "sha256-1WHNiVPquL/D5lpN27iXSA2cWU+VjCPIcW9Th65axVA=";
|
||||
hash = "sha256-eSFe3PRKhVMuwJ7XUHRec8nPilSxGUQ1T2k2loLubUg=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
@@ -28,6 +29,7 @@ buildPythonPackage rec {
|
||||
aiofiles
|
||||
aiohttp
|
||||
getmac
|
||||
websockets
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "pooldose" ];
|
||||
|
||||
@@ -15,23 +15,26 @@
|
||||
pycryptodome,
|
||||
pycryptodomex,
|
||||
pyrate-limiter,
|
||||
pyshark,
|
||||
pytest-asyncio,
|
||||
pytestCheckHook,
|
||||
pyyaml,
|
||||
vacuum-map-parser-roborock,
|
||||
click-shell,
|
||||
syrupy,
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "python-roborock";
|
||||
version = "5.14.0";
|
||||
version = "5.25.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Python-roborock";
|
||||
repo = "python-roborock";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-SqFU7hhcykP/VSSiPLQPi62iAkgcSw6vwmXq+FpIt9w=";
|
||||
hash = "sha256-Uj7rr9vAdZBseeePQU1/3bILwsI0P2CDy1bGu6R90Cg=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
@@ -44,24 +47,31 @@ buildPythonPackage (finalAttrs: {
|
||||
dependencies = [
|
||||
aiohttp
|
||||
aiomqtt
|
||||
click
|
||||
construct
|
||||
paho-mqtt
|
||||
protobuf
|
||||
pycryptodome
|
||||
pyrate-limiter
|
||||
vacuum-map-parser-roborock
|
||||
click-shell
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ pycryptodomex ];
|
||||
|
||||
optional-dependencies.cli = [
|
||||
click
|
||||
click-shell
|
||||
pyyaml
|
||||
pyshark
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
aioresponses
|
||||
freezegun
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
syrupy
|
||||
];
|
||||
writableTmpDirAsHomeHook
|
||||
]
|
||||
++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies;
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
|
||||
@@ -4,19 +4,20 @@
|
||||
fetchFromGitHub,
|
||||
hatchling,
|
||||
hatch-vcs,
|
||||
aiofiles,
|
||||
aiohttp,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pywmspro";
|
||||
version = "0.3.5";
|
||||
version = "0.4.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mback2k";
|
||||
repo = "pywmspro";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-01jXkSZfmBIzrz0B/4/KLcAU4jUQGDfle4sE4saraJo=";
|
||||
hash = "sha256-gpAAGrM/dLSD7rCbYM9O3hVCvDb0QA0joZG7h+jTfCg=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
@@ -24,7 +25,10 @@ buildPythonPackage (finalAttrs: {
|
||||
hatch-vcs
|
||||
];
|
||||
|
||||
dependencies = [ aiohttp ];
|
||||
dependencies = [
|
||||
aiofiles
|
||||
aiohttp
|
||||
];
|
||||
|
||||
# Package has no tests
|
||||
doCheck = false;
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "rf-protocols";
|
||||
version = "4.2.0";
|
||||
version = "4.3.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "home-assistant-libs";
|
||||
repo = "rf-protocols";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-F0pvEg+Cns3czK/yI6M0hpgRpk67jUgRKqgzCBYmgUY=";
|
||||
hash = "sha256-g2e+iQXBaoGO1Yv5v+xpiM+beecErI58Ua5/FODg8Bo=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
pyserial,
|
||||
pyyaml,
|
||||
setuptools,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "scsgate";
|
||||
version = "0.1.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flavio";
|
||||
repo = "scsgate";
|
||||
tag = version;
|
||||
hash = "sha256-wVzXKOKljENAKppod+guqm+0XMPenLgOsZzMQVTBo+k=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
pyserial
|
||||
pyyaml
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
pythonImportsCheck = [ "scsgate" ];
|
||||
|
||||
meta = {
|
||||
description = "Python module to interact with SCSGate";
|
||||
homepage = "https://github.com/flavio/scsgate";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.jamiemagee ];
|
||||
};
|
||||
}
|
||||
@@ -20,14 +20,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "serialx";
|
||||
version = "1.8.1";
|
||||
version = "1.8.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "puddly";
|
||||
repo = "serialx";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-89lRB96lit4XxPhACnZ3Lv01G0IcddlwyPTttrWwsLQ=";
|
||||
hash = "sha256-/Bx8TnO3h+Pk/Tg5YSYO96cK5PfJVwqRG0qdLJntNpQ=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "teltasync";
|
||||
version = "0.3.1";
|
||||
version = "0.4.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromCodeberg {
|
||||
owner = "dmho";
|
||||
repo = "teltasync";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-TXVdOT0EAwza/rgLPjMnBUCuq+2PwLoRAXvYTz2CT+0=";
|
||||
hash = "sha256-xR4Rh2TnnsXAqicRDBQyhwpUh5zl5cWS6BuyxY/RFsE=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "thinqconnect";
|
||||
version = "1.0.12";
|
||||
version = "1.0.13";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "thinq-connect";
|
||||
repo = "pythinqconnect";
|
||||
tag = version;
|
||||
hash = "sha256-LOIqh/f9NiaBpkJqre1TejdUN0gbguSM3s8faGPcf54=";
|
||||
hash = "sha256-0efPQ0fvBLi+Bp+JbBMRJPYFqRKBVpPQFyQ9rvHpEnY=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
setuptools,
|
||||
bluepy,
|
||||
pycryptodome,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "tikteck";
|
||||
version = "0.4";
|
||||
pyproject = true;
|
||||
|
||||
# github doesn't have any tags unfortunately
|
||||
src = fetchPypi {
|
||||
pname = "tikteck";
|
||||
inherit version;
|
||||
hash = "sha256-KEbGT2RXLFMQ49gltOYcbE+ebJ1kiXzhT0DIeVXsSJM=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
bluepy
|
||||
pycryptodome
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "tikteck" ];
|
||||
|
||||
# no upstream tests exist
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Control Tikteck Bluetooth LED bulbs";
|
||||
homepage = "https://github.com/mjg59/python-tikteck";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ ethancedwards8 ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
jinja2,
|
||||
pandas,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "tinyhtml";
|
||||
version = "1.3.0";
|
||||
pyproject = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "niklasf";
|
||||
repo = "python-tinyhtml";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-1DPQFszrNsGNEpEl4c1SNdnNfwi3bcHzCrOWdu+dTGA=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pandas
|
||||
jinja2
|
||||
];
|
||||
|
||||
# https://github.com/niklasf/python-tinyhtml/blob/master/tox.ini
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
python -m doctest README.rst
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [
|
||||
"tinyhtml"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Tiny library to safely render compact HTML5 from Python expressions";
|
||||
homepage = "https://github.com/niklasf/python-tinyhtml";
|
||||
changelog = "https://github.com/niklasf/python-tinyhtml/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ hexa ];
|
||||
};
|
||||
})
|
||||
@@ -39,14 +39,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "uiprotect";
|
||||
version = "10.17.0";
|
||||
version = "15.4.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "uilibs";
|
||||
repo = "uiprotect";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-q02gSnEruUM1sF4LnMWwqNRzbFhZRRxTZ3pAuRb+XDc=";
|
||||
hash = "sha256-qsGLheVKhIM1aEq/KRsclf3ZQtRhtX/S8cQ5Aem8dEw=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
requests,
|
||||
urllib3,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "unifiled";
|
||||
version = "1.1";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "florisvdk";
|
||||
repo = "unifiled";
|
||||
rev = "v${version}";
|
||||
sha256 = "1nmqxxhwa0isxdb889nhbp7w4axj1mcrwd3pr9d8nhpw4yj9h3vq";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
requests
|
||||
urllib3
|
||||
];
|
||||
|
||||
# Project doesn't have any tests
|
||||
doCheck = false;
|
||||
pythonImportsCheck = [ "unifiled" ];
|
||||
|
||||
meta = {
|
||||
description = "Python module for Ubiquiti Unifi LED controller";
|
||||
homepage = "https://github.com/florisvdk/unifiled";
|
||||
license = with lib.licenses; [ mit ];
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
@@ -3,20 +3,20 @@
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
opuslib,
|
||||
opuslib-next,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "voip-utils";
|
||||
version = "0.3.5";
|
||||
version = "0.4.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "home-assistant-libs";
|
||||
repo = "voip-utils";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-/HSbtP9UAGOs4aZmdinijCMe16HtBH7YuhFM7h158lc=";
|
||||
hash = "sha256-kvuNqiBjcDQ53X6LbnOp2WNh8QOu+ExjhfgKWBoSsH0=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -26,9 +26,9 @@ buildPythonPackage rec {
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
pythonRelaxDeps = [ "opuslib" ];
|
||||
pythonRelaxDeps = [ "opuslib-next" ];
|
||||
|
||||
dependencies = [ opuslib ];
|
||||
dependencies = [ opuslib-next ];
|
||||
|
||||
pythonImportsCheck = [ "voip_utils" ];
|
||||
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "vsure";
|
||||
version = "2.6.9";
|
||||
version = "2.8.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-BdUQB7usj1UwMS4AewUtaWWTl1otamCviX2MF/+x9ic=";
|
||||
hash = "sha256-FC2aRsfxBGO8HaEHGJWweKgZzz8UG/03oB/E+hOAe/w=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "yoto-api";
|
||||
version = "3.2.0";
|
||||
version = "4.3.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cdnninja";
|
||||
repo = "yoto_api";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-pzU+qResc+fqC1nhwbCYNNXKrD1aAjXZujjgL/5AGkc=";
|
||||
hash = "sha256-Hy2OE8jol/ttZ1MsIC4EzkYa72DINwcjsHflo8+a7xo=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -8,12 +8,13 @@
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
time-machine,
|
||||
zha,
|
||||
zigpy,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "zha-quirks";
|
||||
version = "1.2.0";
|
||||
version = "2.1.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.12";
|
||||
@@ -22,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "zigpy";
|
||||
repo = "zha-device-handlers";
|
||||
tag = version;
|
||||
hash = "sha256-mDcvVwqzSmszaJDahzkRNteiO4C/eU+BqTdBpWj5yGw=";
|
||||
hash = "sha256-VSMGUeLx8oQ8kfGj48hcceNQTEAP98svz1MCvw5KiVc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -35,6 +36,7 @@ buildPythonPackage rec {
|
||||
|
||||
dependencies = [
|
||||
aiohttp
|
||||
zha
|
||||
zigpy
|
||||
];
|
||||
|
||||
|
||||
@@ -1,30 +1,32 @@
|
||||
{
|
||||
lib,
|
||||
attrs,
|
||||
bellows,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
freezegun,
|
||||
frozendict,
|
||||
looptime,
|
||||
pyprojectVersionPatchHook,
|
||||
pyserial,
|
||||
pyserial-asyncio-fast,
|
||||
pytest-asyncio_0,
|
||||
pytest-timeout,
|
||||
pytest-xdist,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
zha-quirks,
|
||||
zigpy,
|
||||
zigpy-deconz,
|
||||
zigpy-xbee,
|
||||
zigpy-zigate,
|
||||
zigpy-ziggurat,
|
||||
zigpy-znp,
|
||||
zha,
|
||||
zha-quirks,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "zha";
|
||||
version = "1.4.1";
|
||||
version = "2.0.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.12";
|
||||
@@ -33,7 +35,7 @@ buildPythonPackage (finalAttrs: {
|
||||
owner = "zigpy";
|
||||
repo = "zha";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-Jf8k/4z7eERiV2jwDzhV990sLBebasEKe5/0WbX1hYc=";
|
||||
hash = "sha256-cLE30i+3dqmtasHZKgW16zThMwWbZ8wh/GFtrgWmpfE=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -50,14 +52,14 @@ buildPythonPackage (finalAttrs: {
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
attrs
|
||||
bellows
|
||||
pyserial
|
||||
pyserial-asyncio-fast
|
||||
zha-quirks
|
||||
frozendict
|
||||
zigpy
|
||||
zigpy-deconz
|
||||
zigpy-xbee
|
||||
zigpy-zigate
|
||||
zigpy-ziggurat
|
||||
zigpy-znp
|
||||
];
|
||||
|
||||
@@ -68,10 +70,13 @@ buildPythonPackage (finalAttrs: {
|
||||
pytest-timeout
|
||||
pytest-xdist
|
||||
pytestCheckHook
|
||||
zha-quirks
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "zha" ];
|
||||
|
||||
doCheck = false; # infinite recursion with zhaquirks
|
||||
|
||||
disabledTests = [
|
||||
# Tests are long-running and often keep hanging
|
||||
"test_check_available_no_basic_cluster_handler"
|
||||
@@ -100,6 +105,10 @@ buildPythonPackage (finalAttrs: {
|
||||
"test_gateway_startup_failure" # Failed first attempt, passed second, flaky
|
||||
];
|
||||
|
||||
passthru.tests = {
|
||||
pytest = zha.overridePythonAttrs { doCheck = true; };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Zigbee Home Automation";
|
||||
homepage = "https://github.com/zigpy/zha";
|
||||
|
||||
@@ -37,6 +37,10 @@ buildPythonPackage rec {
|
||||
zigpy
|
||||
];
|
||||
|
||||
# lacking zigpy 2.0 compat
|
||||
# https://github.com/zigpy/zigpy-xbee/pull/179
|
||||
doCheck = false;
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
aiohttp,
|
||||
mashumaro,
|
||||
pyprojectVersionPatchHook,
|
||||
pytest-asyncio,
|
||||
pytestCheckHook,
|
||||
zigpy,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "zigpy-ziggurat";
|
||||
version = "1.0.1";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zigpy";
|
||||
repo = "zigpy-ziggurat";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-/yOj4ktxEmfFCiZwJVrYqY0PXnZUi8/LwuaUgxTfBCs=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# finds version 0.0.1 instead of 1.0.1
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail ', "setuptools-git-versioning<3"' ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
pyprojectVersionPatchHook
|
||||
];
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
aiohttp
|
||||
mashumaro
|
||||
zigpy
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"zigpy_ziggurat"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Zigpy radio library for communicating with the Ziggurat stack";
|
||||
homepage = "https://github.com/zigpy/zigpy-ziggurat";
|
||||
changelog = "https://github.com/zigpy/zigpy-ziggurat/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ hexa ];
|
||||
};
|
||||
})
|
||||
@@ -23,14 +23,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "zigpy";
|
||||
version = "1.5.1";
|
||||
version = "2.0.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zigpy";
|
||||
repo = "zigpy";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-AbVVv/3a/FZuk+VWLereCF7NEwu4u8HjZrsXsfarSZA=";
|
||||
hash = "sha256-EQ77zEitOV3m+Jc/UrRpWFHrQm+4qA+jdBrHd4dCySg=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Do not edit!
|
||||
|
||||
{
|
||||
version = "2026.6.4";
|
||||
version = "2026.7.1";
|
||||
components = {
|
||||
"3_day_blinds" =
|
||||
ps: with ps; [
|
||||
@@ -42,10 +42,6 @@
|
||||
ps: with ps; [
|
||||
accuweather
|
||||
];
|
||||
"acer_projector" =
|
||||
ps: with ps; [
|
||||
serialx
|
||||
];
|
||||
"acmeda" =
|
||||
ps: with ps; [
|
||||
aiopulse
|
||||
@@ -245,10 +241,6 @@
|
||||
"amp_motorization" =
|
||||
ps: with ps; [
|
||||
];
|
||||
"ampio" =
|
||||
ps: with ps; [
|
||||
asmog
|
||||
];
|
||||
"analytics" =
|
||||
ps: with ps; [
|
||||
aiohasupervisor
|
||||
@@ -369,6 +361,9 @@
|
||||
ps: with ps; [
|
||||
sharp-aquos-rc
|
||||
];
|
||||
"aqvify" =
|
||||
ps: with ps; [
|
||||
]; # missing inputs: pyaqvify
|
||||
"aranet" =
|
||||
ps: with ps; [
|
||||
aioesphomeapi
|
||||
@@ -422,7 +417,7 @@
|
||||
ps: with ps; [
|
||||
aiohasupervisor
|
||||
paho-mqtt
|
||||
];
|
||||
]; # missing inputs: arwn-client
|
||||
"aseko_pool_live" =
|
||||
ps: with ps; [
|
||||
aioaseko
|
||||
@@ -454,10 +449,6 @@
|
||||
ps: with ps; [
|
||||
pyatag
|
||||
];
|
||||
"aten_pe" =
|
||||
ps: with ps; [
|
||||
atenpdu
|
||||
];
|
||||
"atlanticcityelectric" =
|
||||
ps: with ps; [
|
||||
];
|
||||
@@ -551,9 +542,8 @@
|
||||
serialx
|
||||
zeroconf
|
||||
];
|
||||
"avion" =
|
||||
"avosdim" =
|
||||
ps: with ps; [
|
||||
avion
|
||||
];
|
||||
"awair" =
|
||||
ps: with ps; [
|
||||
@@ -643,10 +633,6 @@
|
||||
ps: with ps; [
|
||||
pybbox
|
||||
];
|
||||
"beewi_smartclim" =
|
||||
ps: with ps; [
|
||||
beewi-smartclim
|
||||
];
|
||||
"bge" =
|
||||
ps: with ps; [
|
||||
];
|
||||
@@ -905,6 +891,9 @@
|
||||
"button" =
|
||||
ps: with ps; [
|
||||
];
|
||||
"bwt" =
|
||||
ps: with ps; [
|
||||
];
|
||||
"caldav" =
|
||||
ps: with ps; [
|
||||
caldav
|
||||
@@ -1005,6 +994,32 @@
|
||||
ps: with ps; [
|
||||
pychannels
|
||||
];
|
||||
"chef_iq" =
|
||||
ps: with ps; [
|
||||
aioesphomeapi
|
||||
aiohasupervisor
|
||||
aioruuvigateway
|
||||
aioshelly
|
||||
aiousbwatcher
|
||||
bleak
|
||||
bleak-esphome
|
||||
bleak-retry-connector
|
||||
bluetooth-adapters
|
||||
bluetooth-auto-recovery
|
||||
bluetooth-data-tools
|
||||
dbus-fast
|
||||
esphome-dashboard-api
|
||||
ha-ffmpeg
|
||||
habluetooth
|
||||
hassil
|
||||
home-assistant-intents
|
||||
ifaddr
|
||||
mutagen
|
||||
pymicro-vad
|
||||
pyspeex-noise
|
||||
serialx
|
||||
zeroconf
|
||||
]; # missing inputs: chefiq-ble
|
||||
"chess_com" =
|
||||
ps: with ps; [
|
||||
chess-com-api
|
||||
@@ -1029,10 +1044,6 @@
|
||||
ps: with ps; [
|
||||
python-citybikes
|
||||
];
|
||||
"clementine" =
|
||||
ps: with ps; [
|
||||
python-clementine-remote
|
||||
];
|
||||
"clickatell" =
|
||||
ps: with ps; [
|
||||
];
|
||||
@@ -1114,7 +1125,7 @@
|
||||
];
|
||||
"command_line" =
|
||||
ps: with ps; [
|
||||
jsonpath
|
||||
jsonpath-python
|
||||
];
|
||||
"compensation" =
|
||||
ps: with ps; [
|
||||
@@ -1567,6 +1578,10 @@
|
||||
ps: with ps; [
|
||||
aioecowitt
|
||||
];
|
||||
"edifier_infrared" =
|
||||
ps: with ps; [
|
||||
infrared-protocols
|
||||
];
|
||||
"edimax" =
|
||||
ps: with ps; [
|
||||
pyedimax
|
||||
@@ -1615,10 +1630,6 @@
|
||||
ps: with ps; [
|
||||
elgato
|
||||
];
|
||||
"eliqonline" =
|
||||
ps: with ps; [
|
||||
eliqonline
|
||||
];
|
||||
"elkm1" =
|
||||
ps: with ps; [
|
||||
elkm1-lib
|
||||
@@ -1675,6 +1686,9 @@
|
||||
"energie_vanons" =
|
||||
ps: with ps; [
|
||||
];
|
||||
"energieleser" =
|
||||
ps: with ps; [
|
||||
]; # missing inputs: energieleser
|
||||
"energy" =
|
||||
ps: with ps; [
|
||||
fnv-hash-fast
|
||||
@@ -1707,6 +1721,9 @@
|
||||
ps: with ps; [
|
||||
enturclient
|
||||
];
|
||||
"envertech_evt800" =
|
||||
ps: with ps; [
|
||||
]; # missing inputs: pyenvertechevt800
|
||||
"environment_canada" =
|
||||
ps: with ps; [
|
||||
env-canada
|
||||
@@ -2276,7 +2293,6 @@
|
||||
];
|
||||
"gitter" =
|
||||
ps: with ps; [
|
||||
gitterpy
|
||||
];
|
||||
"glances" =
|
||||
ps: with ps; [
|
||||
@@ -2441,14 +2457,15 @@
|
||||
ps: with ps; [
|
||||
greenplanet-energy-api
|
||||
];
|
||||
"greencell" =
|
||||
ps: with ps; [
|
||||
aiohasupervisor
|
||||
paho-mqtt
|
||||
]; # missing inputs: greencell_client
|
||||
"greeneye_monitor" =
|
||||
ps: with ps; [
|
||||
greeneye-monitor
|
||||
];
|
||||
"greenwave" =
|
||||
ps: with ps; [
|
||||
greenwavereality
|
||||
];
|
||||
"group" =
|
||||
ps: with ps; [
|
||||
];
|
||||
@@ -2531,6 +2548,9 @@
|
||||
"heiwa" =
|
||||
ps: with ps; [
|
||||
];
|
||||
"helty" =
|
||||
ps: with ps; [
|
||||
]; # missing inputs: pyhelty
|
||||
"heos" =
|
||||
ps: with ps; [
|
||||
pyheos
|
||||
@@ -2977,6 +2997,9 @@
|
||||
ps: with ps; [
|
||||
aioimmich
|
||||
];
|
||||
"imou" =
|
||||
ps: with ps; [
|
||||
]; # missing inputs: pyimouapi
|
||||
"improv_ble" =
|
||||
ps: with ps; [
|
||||
aioesphomeapi
|
||||
@@ -3120,6 +3143,9 @@
|
||||
ps: with ps; [
|
||||
ha-iotawattpy
|
||||
];
|
||||
"iotorero" =
|
||||
ps: with ps; [
|
||||
];
|
||||
"iotty" =
|
||||
ps: with ps; [
|
||||
iottycloud
|
||||
@@ -3212,8 +3238,7 @@
|
||||
];
|
||||
"itach" =
|
||||
ps: with ps; [
|
||||
pyitachip2ir
|
||||
];
|
||||
]; # missing inputs: pyitachip2ir2
|
||||
"itunes" =
|
||||
ps: with ps; [
|
||||
];
|
||||
@@ -3358,6 +3383,10 @@
|
||||
ps: with ps; [
|
||||
kiwiki-client
|
||||
];
|
||||
"klik_aan_klik_uit" =
|
||||
ps: with ps; [
|
||||
rf-protocols
|
||||
];
|
||||
"kmtronic" =
|
||||
ps: with ps; [
|
||||
pykmtronic
|
||||
@@ -3367,12 +3396,16 @@
|
||||
knocki
|
||||
];
|
||||
"knx" =
|
||||
ps: with ps; [
|
||||
ps:
|
||||
with ps;
|
||||
[
|
||||
home-assistant-frontend
|
||||
knx-frontend
|
||||
knx-telegram-store
|
||||
xknx
|
||||
xknxproject
|
||||
];
|
||||
]
|
||||
++ knx-telegram-store.optional-dependencies.sqlite;
|
||||
"kodi" =
|
||||
ps: with ps; [
|
||||
pykodi
|
||||
@@ -3723,9 +3756,6 @@
|
||||
psutil-home-assistant
|
||||
sqlalchemy
|
||||
];
|
||||
"logentries" =
|
||||
ps: with ps; [
|
||||
];
|
||||
"logger" =
|
||||
ps: with ps; [
|
||||
];
|
||||
@@ -3945,6 +3975,9 @@
|
||||
ps: with ps; [
|
||||
python-melcloud
|
||||
];
|
||||
"melcloud_home" =
|
||||
ps: with ps; [
|
||||
]; # missing inputs: aiomelcloudhome
|
||||
"melissa" =
|
||||
ps: with ps; [
|
||||
py-melissa-climate
|
||||
@@ -4023,18 +4056,6 @@
|
||||
ps: with ps; [
|
||||
pycsspeechtts
|
||||
];
|
||||
"microsoft_face" =
|
||||
ps: with ps; [
|
||||
pyturbojpeg
|
||||
];
|
||||
"microsoft_face_detect" =
|
||||
ps: with ps; [
|
||||
pyturbojpeg
|
||||
];
|
||||
"microsoft_face_identify" =
|
||||
ps: with ps; [
|
||||
pyturbojpeg
|
||||
];
|
||||
"miele" =
|
||||
ps: with ps; [
|
||||
pymiele
|
||||
@@ -4274,7 +4295,6 @@
|
||||
];
|
||||
"msteams" =
|
||||
ps: with ps; [
|
||||
pymsteams
|
||||
];
|
||||
"mta" =
|
||||
ps: with ps; [
|
||||
@@ -4418,6 +4438,9 @@
|
||||
ps: with ps; [
|
||||
neurio
|
||||
];
|
||||
"nexen" =
|
||||
ps: with ps; [
|
||||
];
|
||||
"nexia" =
|
||||
ps: with ps; [
|
||||
nexia
|
||||
@@ -4886,6 +4909,7 @@
|
||||
universal-silabs-flasher
|
||||
zeroconf
|
||||
zha
|
||||
zha-quirks
|
||||
];
|
||||
"otp" =
|
||||
ps: with ps; [
|
||||
@@ -4900,9 +4924,12 @@
|
||||
ourgroceries
|
||||
];
|
||||
"overkiz" =
|
||||
ps: with ps; [
|
||||
ps:
|
||||
with ps;
|
||||
[
|
||||
pyoverkiz
|
||||
];
|
||||
]
|
||||
++ pyoverkiz.optional-dependencies.nexity;
|
||||
"overseerr" =
|
||||
ps: with ps; [
|
||||
aiohasupervisor
|
||||
@@ -5504,7 +5531,11 @@
|
||||
"raspberry_pi" =
|
||||
ps: with ps; [
|
||||
aiohasupervisor
|
||||
aiousbwatcher
|
||||
ha-silabs-firmware-client
|
||||
psutil-home-assistant
|
||||
serialx
|
||||
universal-silabs-flasher
|
||||
];
|
||||
"raspyrfm" =
|
||||
ps: with ps; [
|
||||
@@ -5592,7 +5623,7 @@
|
||||
];
|
||||
"rest" =
|
||||
ps: with ps; [
|
||||
jsonpath
|
||||
jsonpath-python
|
||||
xmltodict
|
||||
];
|
||||
"rest_command" =
|
||||
@@ -5807,7 +5838,7 @@
|
||||
"scrape" =
|
||||
ps: with ps; [
|
||||
beautifulsoup4
|
||||
jsonpath
|
||||
jsonpath-python
|
||||
lxml
|
||||
xmltodict
|
||||
];
|
||||
@@ -5821,10 +5852,6 @@
|
||||
"script" =
|
||||
ps: with ps; [
|
||||
];
|
||||
"scsgate" =
|
||||
ps: with ps; [
|
||||
scsgate
|
||||
];
|
||||
"search" =
|
||||
ps: with ps; [
|
||||
];
|
||||
@@ -6297,6 +6324,9 @@
|
||||
];
|
||||
"srp_energy" =
|
||||
ps: with ps; [
|
||||
fnv-hash-fast
|
||||
psutil-home-assistant
|
||||
sqlalchemy
|
||||
srpenergy
|
||||
];
|
||||
"ssdp" =
|
||||
@@ -6406,7 +6436,7 @@
|
||||
];
|
||||
"swisscom" =
|
||||
ps: with ps; [
|
||||
];
|
||||
]; # missing inputs: python-swisscom-internet-box
|
||||
"switch" =
|
||||
ps: with ps; [
|
||||
];
|
||||
@@ -6446,6 +6476,29 @@
|
||||
];
|
||||
"switchbot_cloud" =
|
||||
ps: with ps; [
|
||||
aiohasupervisor
|
||||
aiousbwatcher
|
||||
bleak
|
||||
bleak-retry-connector
|
||||
bluetooth-adapters
|
||||
bluetooth-auto-recovery
|
||||
bluetooth-data-tools
|
||||
cronsim
|
||||
dbus-fast
|
||||
ha-ffmpeg
|
||||
habluetooth
|
||||
hass-nabucasa
|
||||
hassil
|
||||
home-assistant-intents
|
||||
matter-ble-proxy
|
||||
matter-python-client
|
||||
mutagen
|
||||
openai
|
||||
pymicro-vad
|
||||
pyspeex-noise
|
||||
pyturbojpeg
|
||||
securetar
|
||||
serialx
|
||||
switchbot-api
|
||||
];
|
||||
"switcher_kis" =
|
||||
@@ -6718,10 +6771,6 @@
|
||||
pytibber
|
||||
sqlalchemy
|
||||
];
|
||||
"tikteck" =
|
||||
ps: with ps; [
|
||||
tikteck
|
||||
];
|
||||
"tile" =
|
||||
ps: with ps; [
|
||||
pytile
|
||||
@@ -7018,10 +7067,6 @@
|
||||
ps: with ps; [
|
||||
unifi-discovery
|
||||
];
|
||||
"unifiled" =
|
||||
ps: with ps; [
|
||||
unifiled
|
||||
];
|
||||
"unifiprotect" =
|
||||
ps: with ps; [
|
||||
uiprotect
|
||||
@@ -7314,6 +7359,9 @@
|
||||
ps: with ps; [
|
||||
aiowatttime
|
||||
];
|
||||
"wattwaechter" =
|
||||
ps: with ps; [
|
||||
]; # missing inputs: aio-wattwaechter
|
||||
"waze_travel_time" =
|
||||
ps: with ps; [
|
||||
pywaze
|
||||
@@ -7686,6 +7734,7 @@
|
||||
serialx
|
||||
universal-silabs-flasher
|
||||
zha
|
||||
zha-quirks
|
||||
];
|
||||
"zhong_hong" =
|
||||
ps: with ps; [
|
||||
@@ -7792,6 +7841,7 @@
|
||||
"aprs"
|
||||
"apsystems"
|
||||
"aquacell"
|
||||
"aqualogic"
|
||||
"aranet"
|
||||
"arcam_fmj"
|
||||
"arve"
|
||||
@@ -7947,6 +7997,7 @@
|
||||
"econet"
|
||||
"ecovacs"
|
||||
"ecowitt"
|
||||
"edifier_infrared"
|
||||
"edl21"
|
||||
"efergy"
|
||||
"egauge"
|
||||
@@ -7974,6 +8025,7 @@
|
||||
"enocean"
|
||||
"enphase_envoy"
|
||||
"environment_canada"
|
||||
"envisalink"
|
||||
"epic_games_store"
|
||||
"epion"
|
||||
"epson"
|
||||
@@ -8213,6 +8265,7 @@
|
||||
"kiosker"
|
||||
"kira"
|
||||
"kitchen_sink"
|
||||
"klik_aan_klik_uit"
|
||||
"kmtronic"
|
||||
"knocki"
|
||||
"knx"
|
||||
@@ -8259,7 +8312,6 @@
|
||||
"locative"
|
||||
"lock"
|
||||
"logbook"
|
||||
"logentries"
|
||||
"logger"
|
||||
"lojack"
|
||||
"london_air"
|
||||
@@ -8305,9 +8357,6 @@
|
||||
"mfi"
|
||||
"microbees"
|
||||
"microsoft"
|
||||
"microsoft_face"
|
||||
"microsoft_face_detect"
|
||||
"microsoft_face_identify"
|
||||
"miele"
|
||||
"mikrotik"
|
||||
"mill"
|
||||
@@ -8559,6 +8608,7 @@
|
||||
"ruuvitag_ble"
|
||||
"rympro"
|
||||
"sabnzbd"
|
||||
"saj"
|
||||
"samsung_infrared"
|
||||
"samsungtv"
|
||||
"sanix"
|
||||
@@ -8748,6 +8798,7 @@
|
||||
"ukraine_alarm"
|
||||
"unifi"
|
||||
"unifi_access"
|
||||
"unifi_direct"
|
||||
"unifi_discovery"
|
||||
"unifiprotect"
|
||||
"universal"
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "andrew-codechimp";
|
||||
domain = "battery_notes";
|
||||
version = "3.4.7";
|
||||
version = "3.4.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit owner;
|
||||
repo = "HA-Battery-Notes";
|
||||
tag = version;
|
||||
hash = "sha256-28yWBODUDJXSmuHgBI5+kLsPjpRM2OxUQnU1nGz83v0=";
|
||||
hash = "sha256-Kc4ATfEEi8SRvl10msLotmBa3/RNff2yD4moRPsk8j8=";
|
||||
};
|
||||
|
||||
# has no tests
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
buildHomeAssistantComponent (finalAttrs: {
|
||||
owner = "mrk-its";
|
||||
domain = "blitzortung";
|
||||
version = "1.5.0";
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mrk-its";
|
||||
repo = "homeassistant-blitzortung";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-hed7XBBV7LID12Md0FWA0KkAjEH0RB7MQ1XJOm0W3sw=";
|
||||
hash = "sha256-8/KIPOmQdaaSFFrjliBBNjboPx8ewzG9/W/grBuex6s=";
|
||||
};
|
||||
|
||||
dependencies = [
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "luuquangvu";
|
||||
domain = "blueprints_updater";
|
||||
version = "2.9.1";
|
||||
version = "2.9.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit owner;
|
||||
repo = "blueprints-updater";
|
||||
tag = version;
|
||||
hash = "sha256-OGQ6lE14w84C88QJv5w+mNBGg7gbCtqb9nde47FkL6A=";
|
||||
hash = "sha256-b6DBrG1c7reIomg9/ZrQgDig976PAbCKIl9AfA/RtmY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "dckiller51";
|
||||
domain = "bodymiscale";
|
||||
version = "2026.5.6";
|
||||
version = "2026.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit owner;
|
||||
repo = domain;
|
||||
rev = version;
|
||||
hash = "sha256-IUGQrUVaDw4XlxFGzYsSeg4Y1UxQgbOECL6OiB3cdsg=";
|
||||
hash = "sha256-xBxK5V+DwXkoaC0D5HNlH2hHn+W2KUJAZ7rk0KxIy4U=";
|
||||
};
|
||||
|
||||
dependencies = [
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "thomasloven";
|
||||
domain = "browser_mod";
|
||||
version = "2.13.5";
|
||||
version = "3.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit owner;
|
||||
repo = "hass-browser_mod";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-uVMefvOiw0CMcpOSo8dJn4NazZxACvPscV4GqtyQXSY=";
|
||||
hash = "sha256-s9b5JeMyT7pYyHWJtuqw2xVHrmU98kG5dBE4aBsJ+u8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -27,7 +27,7 @@ buildHomeAssistantComponent rec {
|
||||
|
||||
npmDeps = fetchNpmDeps {
|
||||
inherit src;
|
||||
hash = "sha256-eX7dyDxcaPMhTOAhAbcw7beP3cwBKRz457OZgp3LRAA=";
|
||||
hash = "sha256-p+1yRZVyo/EunNjBkdkl8xajZO4U7KpdIu1GzU7L8gE=";
|
||||
};
|
||||
|
||||
npmBuildScript = "build";
|
||||
|
||||
@@ -19,13 +19,13 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "danielcherubini";
|
||||
domain = "elegoo_printer";
|
||||
version = "2.9.0";
|
||||
version = "2.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "danielcherubini";
|
||||
repo = "elegoo-homeassistant";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-lKRi90H48w9jndljoSyaHY4cVh4/qEkGGOkEs5GVk1o=";
|
||||
hash = "sha256-8L4uJC9TmZ4lkEAQzDUd2txAGPveA/3iiIYzguLtOSA=";
|
||||
};
|
||||
|
||||
dependencies = [
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "magico13";
|
||||
domain = "emporia_vue";
|
||||
version = "0.12.1";
|
||||
version = "0.12.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "magico13";
|
||||
repo = "ha-emporia-vue";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-kdTM5keDxRNz46uwq+tXIv7Hz80lxmbQVVzk7bmRm1w=";
|
||||
hash = "sha256-3S9ko1CN8eM3xVl91bwfLnRwU5T5bgXnY6slQ3u8Lk4=";
|
||||
};
|
||||
|
||||
dependencies = [
|
||||
@@ -22,6 +22,7 @@ buildHomeAssistantComponent rec {
|
||||
];
|
||||
|
||||
ignoreVersionRequirement = [
|
||||
"boto3"
|
||||
"pyemvue"
|
||||
];
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "mletenay";
|
||||
domain = "goodwe";
|
||||
version = "0.9.9.30";
|
||||
version = "0.9.9.31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mletenay";
|
||||
repo = "home-assistant-goodwe-inverter";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-/R0HBR1369gjjdCInbFzUaBEclw4PJDmgRGHtlUNvCA=";
|
||||
hash = "sha256-aq3m1+XBE0f/+r3RiSXU1XFq+vUwKs0phis2B34c/8w=";
|
||||
};
|
||||
|
||||
dependencies = [
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "mill1000";
|
||||
domain = "midea_ac";
|
||||
version = "2026.4.0";
|
||||
version = "2026.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mill1000";
|
||||
repo = "midea-ac-py";
|
||||
tag = version;
|
||||
hash = "sha256-XYajDvp7K1pBlVhT553Rqa8Hi/mA8AWwchTUN4PZ+iw=";
|
||||
hash = "sha256-lZfhZRvKdeisjQAHjYxPsyS2YL486wLtuf4ERw57vZ4=";
|
||||
};
|
||||
|
||||
dependencies = [ msmart-ng ];
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "BottlecapDave";
|
||||
domain = "octopus_energy";
|
||||
version = "18.3.1";
|
||||
version = "18.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit owner;
|
||||
repo = "HomeAssistant-OctopusEnergy";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-5Cjaq4DIe11hx/goKxGDSj6zyOb3H16s8KqlFRzhOYs=";
|
||||
hash = "sha256-KSnpebEUzp25PsBMFqCajdnTINk51hdswmV9rGtG+3Q=";
|
||||
};
|
||||
|
||||
dependencies = [ pydantic ];
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "amitfin";
|
||||
domain = "oref_alert";
|
||||
version = "6.20.1";
|
||||
version = "6.20.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "amitfin";
|
||||
repo = "oref_alert";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-O4A4Aiddq4YzPx5g9akCepWjEeFdlwTWe5xkPtAmuYE=";
|
||||
hash = "sha256-jDrSFIFlp9BVytIVUiW3lAKAmG6N0NYS0TaUxQC26eE=";
|
||||
};
|
||||
|
||||
# Do not publish cards, currently broken, attempting to write to nix store.
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
buildHomeAssistantComponent (finalAttrs: {
|
||||
owner = "geappliances";
|
||||
domain = "smarthq";
|
||||
version = "1.1.0";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "geappliances";
|
||||
repo = "geappliances-smarthq-integration";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-LTLlkl4Mh0nSZfNVyLEItVPnQkM1nnDkPjsM98otp3w=";
|
||||
hash = "sha256-8DAnALqtFuMfEXF4Kcu/RMmcK2LS7TLrvgrFP+Jwo/4=";
|
||||
};
|
||||
|
||||
dependencies = [
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "frenck";
|
||||
domain = "spook";
|
||||
version = "4.0.1";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit owner;
|
||||
repo = domain;
|
||||
tag = "v${version}";
|
||||
hash = "sha256-0IihrhATgraGmuMRnrbGTUrtlXAR+CooENSIKSWIknY=";
|
||||
hash = "sha256-tIVEI5oZcvI0uyCQfajb1WVldkx7aQF8gV0UBWYPUnI=";
|
||||
};
|
||||
|
||||
patches = [ ./remove-sub-integration-symlink-hack.patch ];
|
||||
|
||||
+5
-55
@@ -1,17 +1,8 @@
|
||||
diff --git a/custom_components/spook/__init__.py b/custom_components/spook/__init__.py
|
||||
index 1abc79d..68d48d1 100644
|
||||
index 4223fac..6891ee9 100644
|
||||
--- a/custom_components/spook/__init__.py
|
||||
+++ b/custom_components/spook/__init__.py
|
||||
@@ -22,8 +22,6 @@ from .services import SpookServiceManager
|
||||
from .util import (
|
||||
async_forward_setup_entry,
|
||||
async_setup_all_entity_ids_cache_invalidation,
|
||||
- link_sub_integrations,
|
||||
- unlink_sub_integrations,
|
||||
)
|
||||
|
||||
if TYPE_CHECKING:
|
||||
@@ -35,48 +33,6 @@ if TYPE_CHECKING:
|
||||
@@ -33,49 +33,6 @@ if TYPE_CHECKING:
|
||||
|
||||
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||
"""Set up from a config entry."""
|
||||
@@ -57,53 +48,12 @@ index 1abc79d..68d48d1 100644
|
||||
- severity=ir.IssueSeverity.WARNING,
|
||||
- translation_key="restart_required",
|
||||
- )
|
||||
|
||||
-
|
||||
# Forward async_setup_entry to ectoplasms
|
||||
await async_forward_setup_entry(hass, entry)
|
||||
@@ -131,4 +87,3 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||
|
||||
@@ -117,4 +74,3 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||
|
||||
async def async_remove_entry(hass: HomeAssistant, _: ConfigEntry) -> None:
|
||||
"""Remove a config entry."""
|
||||
- await hass.async_add_executor_job(unlink_sub_integrations, hass)
|
||||
diff --git a/custom_components/spook/util.py b/custom_components/spook/util.py
|
||||
index 6aea27c..1437913 100644
|
||||
--- a/custom_components/spook/util.py
|
||||
+++ b/custom_components/spook/util.py
|
||||
@@ -284,37 +284,6 @@ async def async_forward_platform_entry_setups_to_ectoplasm(
|
||||
)
|
||||
|
||||
|
||||
-def link_sub_integrations(hass: HomeAssistant) -> bool:
|
||||
- """Link Spook sub integrations."""
|
||||
- LOGGER.debug("Linking up Spook sub integrations")
|
||||
-
|
||||
- changes = False
|
||||
- for manifest in Path(__file__).parent.rglob("integrations/*/manifest.json"):
|
||||
- LOGGER.debug("Linking Spook sub integration: %s", manifest.parent.name)
|
||||
- dest = Path(hass.config.config_dir) / "custom_components" / manifest.parent.name
|
||||
- if not dest.exists():
|
||||
- src = (
|
||||
- Path(hass.config.config_dir)
|
||||
- / "custom_components"
|
||||
- / DOMAIN
|
||||
- / "integrations"
|
||||
- / manifest.parent.name
|
||||
- )
|
||||
- dest.symlink_to(src)
|
||||
- changes = True
|
||||
- return changes
|
||||
-
|
||||
-
|
||||
-def unlink_sub_integrations(hass: HomeAssistant) -> None:
|
||||
- """Unlink Spook sub integrations."""
|
||||
- LOGGER.debug("Unlinking Spook sub integrations")
|
||||
- for manifest in Path(__file__).parent.rglob("integrations/*/manifest.json"):
|
||||
- LOGGER.debug("Unlinking Spook sub integration: %s", manifest.parent.name)
|
||||
- dest = Path(hass.config.config_dir) / "custom_components" / manifest.parent.name
|
||||
- if dest.exists():
|
||||
- dest.unlink()
|
||||
-
|
||||
-
|
||||
@callback
|
||||
def async_get_all_area_ids(hass: HomeAssistant) -> set[str]:
|
||||
"""Return all area IDs, known to Home Assistant."""
|
||||
|
||||
@@ -10,20 +10,15 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "AN3Orik";
|
||||
domain = "systemair";
|
||||
version = "1.0.25";
|
||||
version = "1.0.26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit owner;
|
||||
repo = "systemair";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-K8Boix6muKsaNOpIw2WothjREbawHeKprHnW8RerxRg=";
|
||||
hash = "sha256-tY/5gEjMCbrVwIyEsWWsB/ePju9+8wgbi23XLdCVKrA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace custom_components/systemair/manifest.json \
|
||||
--replace-fail "pymodbus==" "pymodbus>="
|
||||
'';
|
||||
|
||||
dependencies = [
|
||||
pymodbus
|
||||
async-timeout
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "marq24";
|
||||
domain = "tibber_local";
|
||||
version = "2026.6.1";
|
||||
version = "2026.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit owner;
|
||||
repo = "ha-tibber-pulse-local";
|
||||
tag = version;
|
||||
hash = "sha256-HalEHJg3+6D+3TXVsfdlxL3HvSqXUcaSrW1owtRPff8=";
|
||||
hash = "sha256-Mssjizh9DcA6fldwl6QmmgG8aOVwvF5d0akqrkArM5g=";
|
||||
};
|
||||
|
||||
dependencies = [
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "make-all";
|
||||
domain = "tuya_local";
|
||||
version = "2026.6.2";
|
||||
version = "2026.6.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit owner;
|
||||
repo = "tuya-local";
|
||||
tag = version;
|
||||
hash = "sha256-4897QCslPQ/5Rt1U6EcapUav7XMa65i+5aXbMyv9mxE=";
|
||||
hash = "sha256-VJ2c8wegviirCT+hygg9LKPN5ZLqxfkQl6zayaXZRU0=";
|
||||
};
|
||||
|
||||
dependencies = [
|
||||
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
diff --git a/rollup.config.js b/rollup.config.js
|
||||
index 9a8b5a17..cb0b7e62 100644
|
||||
--- a/rollup.config.js
|
||||
+++ b/rollup.config.js
|
||||
@@ -1,4 +1,5 @@
|
||||
import commonjs from '@rollup/plugin-commonjs';
|
||||
+import fs from 'node:fs';
|
||||
import image from '@rollup/plugin-image';
|
||||
import json from '@rollup/plugin-json';
|
||||
import { nodeResolve } from '@rollup/plugin-node-resolve';
|
||||
@@ -27,11 +28,16 @@ const serveopts = {
|
||||
},
|
||||
};
|
||||
|
||||
+const hasDotGit = fs.existsSync('git');
|
||||
+const gitInfoPlugin = hasDotGit
|
||||
+ ? [gitInfo.default({ enableBuildDate: true, updateVersion: false })]
|
||||
+ : [];
|
||||
+
|
||||
/**
|
||||
* @type {import('rollup').RollupOptions['plugins']}
|
||||
*/
|
||||
const plugins = [
|
||||
- gitInfo.default({ enableBuildDate: true, updateVersion: false }),
|
||||
+ ...gitInfoPlugin,
|
||||
styles({
|
||||
modules: false,
|
||||
// Behavior of inject mode, without actually injecting style
|
||||
@@ -55,7 +61,7 @@ const plugins = [
|
||||
inlineSources: dev,
|
||||
exclude: ['dist/**', 'tests/**/*.test.ts'],
|
||||
}),
|
||||
- json({ exclude: 'package.json' }),
|
||||
+ json({ exclude: hasDotGit ? 'package.json' : undefined }),
|
||||
replace({
|
||||
preventAssignment: true,
|
||||
values: {
|
||||
+9
-2
@@ -16,16 +16,23 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "dermotduffy";
|
||||
repo = "advanced-camera-card";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-GHSyDdKGgPPMbcPIqlQbRA0V8gPd1YsId8gqPF0VgTs=";
|
||||
leaveDotGit = true; # gitInfo plugin
|
||||
hash = "sha256-NdWP2nYzDEzmO4DpwVUpn3/KsungKNOzOQf8FxZ4fGw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove after upstream updates to Yarn 4.14
|
||||
# https://github.com/dermotduffy/advanced-camera-card/blob/main/package.json#L201
|
||||
./yarn-4.14-support.patch
|
||||
|
||||
# Drop hard dependency on .git repo during build
|
||||
./gitinfo.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace package.json \
|
||||
--replace-fail "0.0.0-dev" "${finalAttrs.version}"
|
||||
'';
|
||||
|
||||
missingHashes = ./missing-hashes.json;
|
||||
|
||||
offlineCache = yarn-berry_4.fetchYarnBerryDeps {
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "auto-entities";
|
||||
version = "2.5.0";
|
||||
version = "2.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Lint-Free-Technology";
|
||||
repo = "lovelace-auto-entities";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-qKhxVLD4NbkCzpUNX5UkjEjLOMQ7ZvHHLVLTrcunTPQ=";
|
||||
hash = "sha256-2lIeFtskvUq1ZrHinCXrv/VBtI06tZn7YwRAMvBm/uk=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-Z+9Lp1AzrY2I+unpBxdbr9rkfcIe/dDblB3MDSd2D8w=";
|
||||
npmDepsHash = "sha256-XZcb5gFRGiC4Xj97ExDtRFXWRHbyWEOIp7spUzoS9EA=";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "bubble-card";
|
||||
version = "3.2.3";
|
||||
version = "3.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Clooos";
|
||||
repo = "Bubble-Card";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-X6Oh+0VcVSvr2JydMqWVzYFonxdsewi0lrrFVXtb/BA=";
|
||||
hash = "sha256-ofGIq6DLA2VQj5Gm/Dc+DZfwWZI3frAFzXO7MJDM610=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-jyw8U99R7M3JJwu30ADefAitm4lWWVHEwq108gWZpfg=";
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "lovelace-card-mod";
|
||||
version = "4.2.1";
|
||||
version = "4.2.1-202604";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "thomasloven";
|
||||
repo = "lovelace-card-mod";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-16aA9VaSuWZ1i9UBGp9vb7N1H5vfcLOiqppjPoqphM0=";
|
||||
hash = "sha256-56nGxdA1RTkXZpcuQ6LOuRtGoBjTQtH2jKCN3omZCN0=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-tJsEGsVTmU1Hakumv9dsurwHpJ791wwRYpoAi2uAclA=";
|
||||
npmDepsHash = "sha256-RZP3zWz7ZHob/QySF/6XTYOYuulGZUBQXG79fHHJfug=";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "custom-brand-icons";
|
||||
version = "2026.06.4";
|
||||
version = "2026.07.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elax46";
|
||||
repo = "custom-brand-icons";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-9wipxsj4KcwgPDo6nanMrSpuDAMAAM72EQISkTOczbs=";
|
||||
hash = "sha256-fmvWUt3Q+9ydvHB7t8z3/9mCLuF/llpoUo6e8K2rn/g=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-ZTl9+vXEBR3pvksaLWof8y1WnoL2tAL3KuPzZn7VjjE=";
|
||||
|
||||
@@ -12,20 +12,20 @@ let
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "custom-sidebar";
|
||||
version = "15.0.0";
|
||||
version = "16.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elchininet";
|
||||
repo = "custom-sidebar";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-0bS760GfIO/LdQD6lNEKhiIW5lyCu35cTi0g3GaGQ5M=";
|
||||
hash = "sha256-ST7wgxl9bpsHvguYbZQYYWO1KkinSrNCrbugVBJGvJo=";
|
||||
};
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-zmWZhOx1Pl7O5T5vNdff/nZC1juwm66YOVIMjuNoBYg=";
|
||||
hash = "sha256-SbjE9u2RZ8M6GHxk7NkvyihGDiO6v/1LHywvaP8OcQM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -12,20 +12,20 @@ let
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "kiosk-mode";
|
||||
version = "14.0.0";
|
||||
version = "14.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nemesisre";
|
||||
repo = "kiosk-mode";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-FWSWG+tWRDGHDd9uvVmD8vGlHkJ9tf02S+8RWGAu+10=";
|
||||
hash = "sha256-eQ2dYXmx4nnk/1bbTayPezPyghBo5UbNWf3USY20ePg=";
|
||||
};
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-Ci1RENFsJwWBEUUSKbAvbRGTHn2rfIOXLsdGKamzRRE=";
|
||||
hash = "sha256-bCtk+cqWnYvPo4VsvLaN+m0LIlP8jgb951aIf1emGZg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user