1{
2 lib,
3 aiohttp,
4 aresponses,
5 awesomeversion,
6 backoff,
7 buildPythonPackage,
8 fetchFromGitHub,
9 mashumaro,
10 orjson,
11 poetry-core,
12 pytest-asyncio,
13 pytest-cov-stub,
14 pytestCheckHook,
15 syrupy,
16 yarl,
17}:
18
19buildPythonPackage rec {
20 pname = "demetriek";
21 version = "1.3.0";
22 pyproject = true;
23
24 src = fetchFromGitHub {
25 owner = "frenck";
26 repo = "python-demetriek";
27 tag = "v${version}";
28 hash = "sha256-6vzQaifvQ24LpSQFwPMvEvb1wuyv0iRpLCFHFO9V7sc=";
29 };
30
31 postPatch = ''
32 # Upstream doesn't set a version for the pyproject.toml
33 substituteInPlace pyproject.toml \
34 --replace-fail "0.0.0" "${version}"
35 '';
36
37 build-system = [ poetry-core ];
38
39 dependencies = [
40 aiohttp
41 awesomeversion
42 backoff
43 mashumaro
44 orjson
45 yarl
46 ];
47
48 nativeCheckInputs = [
49 aresponses
50 pytest-asyncio
51 pytest-cov-stub
52 pytestCheckHook
53 syrupy
54 ];
55
56 pythonImportsCheck = [ "demetriek" ];
57
58 __darwinAllowLocalNetworking = true;
59
60 meta = with lib; {
61 description = "Python client for LaMetric TIME devices";
62 homepage = "https://github.com/frenck/python-demetriek";
63 changelog = "https://github.com/frenck/python-demetriek/releases/tag/${src.tag}";
64 license = licenses.mit;
65 maintainers = with maintainers; [ fab ];
66 };
67}