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

home-assistant: support abode component

Changed files
+336 -29
pkgs
development
python-modules
abodepy
bx-py-utils
jaraco-abode
jaraco-email
jaraco-net
servers
home-assistant
top-level
-26
pkgs/development/python-modules/abodepy/default.nix
···
-
{ 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 ];
-
};
-
}
+73
pkgs/development/python-modules/bx-py-utils/default.nix
···
+
{ 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 ];
+
};
+
}
+99
pkgs/development/python-modules/jaraco-abode/default.nix
···
+
{ 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 ];
+
};
+
}
+55
pkgs/development/python-modules/jaraco-email/default.nix
···
+
{ 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 ];
+
};
+
}
+97
pkgs/development/python-modules/jaraco-net/default.nix
···
+
{ 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 ];
+
};
+
}
+3 -1
pkgs/servers/home-assistant/component-packages.nix
···
"3_day_blinds" = ps: with ps; [
];
"abode" = ps: with ps; [
-
]; # missing inputs: jaraco.abode
+
jaraco-abode
+
];
"accuweather" = ps: with ps; [
accuweather
];
···
};
# components listed in tests/components for which all dependencies are packaged
supportedComponentsWithTests = [
+
"abode"
"accuweather"
"acmeda"
"adax"
+1
pkgs/top-level/python-aliases.nix
···
### 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
pkgs/top-level/python-packages.nix
···
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 { };
···
bunch = callPackage ../development/python-modules/bunch { };
bundlewrap = callPackage ../development/python-modules/bundlewrap { };
+
+
bx-py-utils = callPackage ../development/python-modules/bx-py-utils { };
bx-python = callPackage ../development/python-modules/bx-python { };
···
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 { };
···
jaraco_itertools = callPackage ../development/python-modules/jaraco_itertools { };
jaraco_logging = callPackage ../development/python-modules/jaraco_logging { };
+
+
jaraco-net = callPackage ../development/python-modules/jaraco-net { };
jaraco_stream = callPackage ../development/python-modules/jaraco_stream { };