1{
2 lib,
3 aiohttp,
4 aioresponses,
5 buildPythonPackage,
6 fetchFromGitHub,
7 mashumaro,
8 orjson,
9 pytest-asyncio,
10 pytestCheckHook,
11 python-dotenv,
12 pythonOlder,
13 setuptools,
14 syrupy,
15 yarl,
16}:
17
18buildPythonPackage rec {
19 pname = "bring-api";
20 version = "1.1.0";
21 pyproject = true;
22
23 disabled = pythonOlder "3.11";
24
25 src = fetchFromGitHub {
26 owner = "miaucl";
27 repo = "bring-api";
28 tag = version;
29 hash = "sha256-OxY9G7zy5VSpTOARoManJNvMg6ghIK0KJunanSgXKm0=";
30 };
31
32 build-system = [ setuptools ];
33
34 dependencies = [
35 # https://github.com/miaucl/bring-api/blob/1.0.0/requirements.txt
36 # pyproject.toml is out of sync
37 aiohttp
38 yarl
39 mashumaro
40 orjson
41 ];
42
43 nativeCheckInputs = [
44 aioresponses
45 pytest-asyncio
46 pytestCheckHook
47 python-dotenv
48 syrupy
49 ];
50
51 pythonImportsCheck = [ "bring_api" ];
52
53 meta = with lib; {
54 description = "Module to access the Bring! shopping lists API";
55 homepage = "https://github.com/miaucl/bring-api";
56 changelog = "https://github.com/miaucl/bring-api/releases/tag/${src.tag}";
57 license = licenses.mit;
58 maintainers = with maintainers; [ fab ];
59 };
60}