Merge pull request #214108 from dotlambda/home-assistant-abode

home-assistant: support abode component
This commit is contained in:
Martin Weinelt
2023-02-02 16:19:35 +00:00
committed by GitHub
8 changed files with 336 additions and 29 deletions
@@ -1,26 +0,0 @@
{ lib, buildPythonPackage, fetchFromGitHub, pytestCheckHook, colorlog, lomond
, requests, isPy3k, requests-mock }:
buildPythonPackage rec {
pname = "abodepy";
version = "1.2.2";
disabled = !isPy3k;
src = fetchFromGitHub {
owner = "MisterWil";
repo = pname;
rev = "v${version}";
sha256 = "sha256-GrvNCgWGGBbUUONwS18csh4/A0MMkSk5Z6LlDhlQqok=";
};
propagatedBuildInputs = [ colorlog lomond requests ];
nativeCheckInputs = [ pytestCheckHook requests-mock ];
meta = with lib; {
homepage = "https://github.com/MisterWil/abodepy";
description = "An Abode alarm Python library running on Python 3";
license = licenses.mit;
maintainers = with maintainers; [ jamiemagee ];
};
}
@@ -0,0 +1,73 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, poetry-core
, beautifulsoup4
, boto3
, lxml
, pdoc
, pytestCheckHook
, requests-mock
}:
buildPythonPackage rec {
pname = "bx-py-utils";
version = "75";
disabled = pythonOlder "3.9";
format = "pyproject";
src = fetchFromGitHub {
owner = "boxine";
repo = "bx_py_utils";
rev = "refs/tags/v${version}";
hash = "sha256-+RHt5QTXxuaY1tDe1M66TrQfT9I7X56oVQAW36mzSwM=";
};
nativeBuildInputs = [
poetry-core
];
pythonImportsCheck = [
"bx_py_utils.anonymize"
"bx_py_utils.auto_doc"
"bx_py_utils.compat"
"bx_py_utils.dict_utils"
"bx_py_utils.environ"
"bx_py_utils.error_handling"
"bx_py_utils.file_utils"
"bx_py_utils.graphql_introspection"
"bx_py_utils.hash_utils"
"bx_py_utils.html_utils"
"bx_py_utils.iteration"
"bx_py_utils.path"
"bx_py_utils.processify"
"bx_py_utils.rison"
"bx_py_utils.stack_info"
"bx_py_utils.string_utils"
"bx_py_utils.test_utils"
"bx_py_utils.text_tools"
];
nativeCheckInputs = [
beautifulsoup4
boto3
lxml
pdoc
pytestCheckHook
requests-mock
];
disabledTestPaths = [
"bx_py_utils_tests/tests/test_project_setup.py"
];
meta = {
description = "Various Python utility functions";
homepage = "https://github.com/boxine/bx_py_utils";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -0,0 +1,99 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, fetchPypi
, fetchpatch
, setuptools
, setuptools-scm
, requests
, lomond
, colorlog
, keyring
, requests-toolbelt
, jaraco_collections
, jaraco-context
, jaraco_classes
, jaraco-net
, more-itertools
, importlib-resources
, bx-py-utils
, platformdirs
, jaraco_itertools
, pytestCheckHook
, requests-mock
}:
buildPythonPackage rec {
pname = "jaraco-abode";
version = "3.2.1";
disabled = pythonOlder "3.7";
format = "pyproject";
src = fetchFromGitHub {
owner = "jaraco";
repo = "jaraco.abode";
rev = "refs/tags/v${version}";
hash = "sha256-ZDdZba1oTOPaUm+r4fWC5E3ni/k8kXo6t5AWQTvfd5E=";
};
patches = [
# https://github.com/jaraco/jaraco.abode/issues/19
(fetchpatch {
name = "specify-options-package-data.patch";
url = "https://github.com/jaraco/jaraco.abode/commit/8deebf57162fa097243d2b280942b6b7f95174c8.patch";
hash = "sha256-Iu2uw9D+nMdVJZyoecEkwQaJH1oSzFN/ZLXKPZPGuPk=";
})
];
nativeBuildInputs = [
setuptools
setuptools-scm
];
SETUPTOOLS_SCM_PRETEND_VERSION = version;
propagatedBuildInputs = [
requests
lomond
colorlog
keyring
requests-toolbelt
jaraco_collections
jaraco-context
jaraco_classes
jaraco-net
more-itertools
importlib-resources
bx-py-utils
platformdirs
jaraco_itertools
];
pythonImportsCheck = [ "jaraco.abode" ];
nativeCheckInputs = [
pytestCheckHook
requests-mock
];
preCheck = ''
export HOME=$TEMP
'';
disabledTests = [
"_cookie_string"
"test_cookies"
"test_empty_cookies"
"test_invalid_cookies"
];
meta = with lib; {
homepage = "https://github.com/jaraco/jaraco.abode";
description = "Library interfacing to the Abode home security system";
license = licenses.mit;
maintainers = with maintainers; [ jamiemagee dotlambda ];
};
}
@@ -0,0 +1,55 @@
{ lib
, stdenv
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, setuptools
, setuptools-scm
, jaraco_text
, jaraco_collections
, keyring
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "jaraco-email";
version = "3.1.0";
disabled = pythonOlder "3.7";
format = "pyproject";
src = fetchFromGitHub {
owner = "jaraco";
repo = "jaraco.email";
rev = "refs/tags/v${version}";
hash = "sha256-MR/SX5jmZvEMULgvQbh0JBZjIosNCPWl1wvEoJbdw4Y=";
};
nativeBuildInputs = [
setuptools
setuptools-scm
];
SETUPTOOLS_SCM_PRETEND_VERSION = version;
propagatedBuildInputs = [
jaraco_text
jaraco_collections
keyring
];
pythonImportsCheck = [ "jaraco.email" ];
nativeCheckInputs = [
pytestCheckHook
];
meta = {
changelog = "https://github.com/jaraco/jaraco.email/blob/${src.rev}/CHANGES.rst";
description = "E-mail facilities by jaraco";
homepage = "https://github.com/jaraco/jaraco.email";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -0,0 +1,97 @@
{ lib
, stdenv
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, setuptools
, setuptools-scm
, more-itertools
, beautifulsoup4
, mechanize
, keyring
, requests
, feedparser
, jaraco_text
, jaraco_logging
, jaraco-email
, jaraco_functools
, jaraco_collections
, path
, python-dateutil
, pathvalidate
, jsonpickle
, ifconfig-parser
, pytestCheckHook
, cherrypy
, importlib-resources
, requests-mock
}:
buildPythonPackage rec {
pname = "jaraco-net";
version = "9.3.0";
disabled = pythonOlder "3.7";
format = "pyproject";
src = fetchFromGitHub {
owner = "jaraco";
repo = "jaraco.net";
rev = "refs/tags/v${version}";
hash = "sha256-Ks8e3xPjIWgSO0PSpjMYftxAuDt3ilogoDFuJqfN74o=";
};
nativeBuildInputs = [
setuptools
setuptools-scm
];
SETUPTOOLS_SCM_PRETEND_VERSION = version;
propagatedBuildInputs = [
more-itertools
beautifulsoup4
mechanize
keyring
requests
feedparser
jaraco_text
jaraco_logging
jaraco-email
jaraco_functools
jaraco_collections
path
python-dateutil
pathvalidate
jsonpickle
] ++ lib.optionals stdenv.isDarwin [
ifconfig-parser
];
pythonImportsCheck = [ "jaraco.net" ];
nativeCheckInputs = [
pytestCheckHook
cherrypy
importlib-resources
requests-mock
];
disabledTestPaths = [
# doesn't actually contain tests
"fabfile.py"
# require networking
"jaraco/net/ntp.py"
"jaraco/net/scanner.py"
"tests/test_cookies.py"
];
meta = {
changelog = "https://github.com/jaraco/jaraco.net/blob/${src.rev}/CHANGES.rst";
description = "Networking tools by jaraco";
homepage = "https://github.com/jaraco/jaraco.net";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -7,7 +7,8 @@
"3_day_blinds" = ps: with ps; [
];
"abode" = ps: with ps; [
]; # missing inputs: jaraco.abode
jaraco-abode
];
"accuweather" = ps: with ps; [
accuweather
];
@@ -4427,6 +4428,7 @@
};
# components listed in tests/components for which all dependencies are packaged
supportedComponentsWithTests = [
"abode"
"accuweather"
"acmeda"
"adax"
+1
View File
@@ -33,6 +33,7 @@ in
### Deprecated aliases - for backward compatibility
mapAliases ({
abodepy = jaraco-abode; # added 2023-02-01
aioh2 = throw "aioh2 has been removed because it is abandoned and broken."; # Added 2022-03-30
ansible-base = throw "ansible-base has been removed, because it is end of life"; # added 2022-03-30
anyjson = throw "anyjson has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
+8 -2
View File
@@ -18,8 +18,6 @@ self: super: with self; {
aardwolf = callPackage ../development/python-modules/aardwolf { };
abodepy = callPackage ../development/python-modules/abodepy { };
absl-py = callPackage ../development/python-modules/absl-py { };
accuweather = callPackage ../development/python-modules/accuweather { };
@@ -1487,6 +1485,8 @@ self: super: with self; {
bundlewrap = callPackage ../development/python-modules/bundlewrap { };
bx-py-utils = callPackage ../development/python-modules/bx-py-utils { };
bx-python = callPackage ../development/python-modules/bx-python { };
bwapy = callPackage ../development/python-modules/bwapy { };
@@ -4788,10 +4788,14 @@ self: super: with self; {
janus = callPackage ../development/python-modules/janus { };
jaraco-abode = callPackage ../development/python-modules/jaraco-abode { };
jaraco_classes = callPackage ../development/python-modules/jaraco_classes { };
jaraco_collections = callPackage ../development/python-modules/jaraco_collections { };
jaraco-email = callPackage ../development/python-modules/jaraco-email { };
jaraco-context = callPackage ../development/python-modules/jaraco-context { };
jaraco_functools = callPackage ../development/python-modules/jaraco_functools { };
@@ -4800,6 +4804,8 @@ self: super: with self; {
jaraco_logging = callPackage ../development/python-modules/jaraco_logging { };
jaraco-net = callPackage ../development/python-modules/jaraco-net { };
jaraco_stream = callPackage ../development/python-modules/jaraco_stream { };
jaraco-test = callPackage ../development/python-modules/jaraco-test { };