1{ lib
2, aiohttp
3, aresponses
4, buildPythonPackage
5, fetchFromGitHub
6, packaging
7, poetry-core
8, pydantic
9, pytest-asyncio
10, pytest-mock
11, pytestCheckHook
12, pythonOlder
13, yarl
14}:
15
16buildPythonPackage rec {
17 pname = "python-bsblan";
18 version = "0.5.7";
19 format = "pyproject";
20
21 disabled = pythonOlder "3.9";
22
23 src = fetchFromGitHub {
24 owner = "liudger";
25 repo = pname;
26 rev = "v${version}";
27 hash = "sha256-eavARej+R8SPNuwX6LOGr43SJi1AuZszThJVG00vKhQ=";
28 };
29
30 nativeBuildInputs = [
31 poetry-core
32 ];
33
34 propagatedBuildInputs = [
35 aiohttp
36 packaging
37 pydantic
38 yarl
39 ];
40
41 checkInputs = [
42 aresponses
43 pytest-asyncio
44 pytest-mock
45 pytestCheckHook
46 ];
47
48 postPatch = ''
49 substituteInPlace pyproject.toml \
50 --replace 'version = "0.0.0"' 'version = "${version}"' \
51 --replace "--cov" ""
52 '';
53
54 pythonImportsCheck = [
55 "bsblan"
56 ];
57
58 meta = with lib; {
59 description = "Module to control and monitor an BSBLan device programmatically";
60 homepage = "https://github.com/liudger/python-bsblan";
61 license = with licenses; [ mit ];
62 maintainers = with maintainers; [ fab ];
63 };
64}