1{ lib
2, aiohttp
3, buildPythonPackage
4, colorlog
5, fetchFromGitHub
6, python-dateutil
7, pythonOlder
8, requests
9, setuptools-scm
10}:
11
12buildPythonPackage rec {
13 pname = "pyisy";
14 version = "3.1.14";
15 format = "setuptools";
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchFromGitHub {
20 owner = "automicus";
21 repo = "PyISY";
22 rev = "refs/tags/v${version}";
23 hash = "sha256-OvWdKr8RlXRnAUMHSPhJDacvKeRa8QGPmGPQWLG2ouk=";
24 };
25
26 SETUPTOOLS_SCM_PRETEND_VERSION = version;
27
28 postPatch = ''
29 substituteInPlace setup.py \
30 --replace 'version_format="{tag}"' 'version="${version}"'
31 '';
32
33 nativeBuildInputs = [
34 setuptools-scm
35 ];
36
37 propagatedBuildInputs = [
38 aiohttp
39 colorlog
40 python-dateutil
41 requests
42 ];
43
44 # no tests implemented
45 doCheck = false;
46
47 pythonImportsCheck = [ "pyisy" ];
48
49 meta = with lib; {
50 description = "Python module to talk to ISY994 from UDI";
51 homepage = "https://github.com/automicus/PyISY";
52 changelog = "https://github.com/automicus/PyISY/releases/tag/v${version}";
53 license = licenses.asl20;
54 maintainers = with maintainers; [ dotlambda ];
55 };
56}