1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 setuptools,
7 aiohttp,
8 incremental,
9 packaging,
10 systembridgemodels,
11 pytest-aiohttp,
12 pytest-socket,
13 pytestCheckHook,
14 syrupy,
15}:
16
17buildPythonPackage rec {
18 pname = "systembridgeconnector";
19 version = "4.1.6";
20 pyproject = true;
21
22 disabled = pythonOlder "3.11";
23
24 src = fetchFromGitHub {
25 owner = "timmo001";
26 repo = "system-bridge-connector";
27 tag = version;
28 hash = "sha256-E04ETXfrh+1OY8WsNNJEeYlnqQcHWR3CX/E7SOd7/24=";
29 };
30
31 postPatch = ''
32 substituteInPlace requirements_setup.txt \
33 --replace-fail ">=" " #"
34
35 substituteInPlace systembridgeconnector/_version.py \
36 --replace-fail ", dev=0" ""
37 '';
38
39 build-system = [
40 incremental
41 setuptools
42 ];
43
44 dependencies = [
45 aiohttp
46 packaging
47 systembridgemodels
48 ];
49
50 pythonImportsCheck = [ "systembridgeconnector" ];
51
52 nativeCheckInputs = [
53 pytest-aiohttp
54 pytest-socket
55 pytestCheckHook
56 syrupy
57 ];
58
59 __darwinAllowLocalNetworking = true;
60
61 disabledTests = [
62 "test_get_data"
63 "test_wait_for_response_timeout"
64 ];
65
66 pytestFlags = [ "--snapshot-warn-unused" ];
67
68 meta = {
69 changelog = "https://github.com/timmo001/system-bridge-connector/releases/tag/${version}";
70 description = "This is the connector package for the System Bridge project";
71 homepage = "https://github.com/timmo001/system-bridge-connector";
72 license = lib.licenses.asl20;
73 maintainers = with lib.maintainers; [ dotlambda ];
74 };
75}