1{
2 lib,
3 aiohttp,
4 aresponses,
5 buildPythonPackage,
6 certifi,
7 fetchFromGitHub,
8 freezegun,
9 poetry-core,
10 pyjwt,
11 pytest-aiohttp,
12 pytest-asyncio,
13 pytestCheckHook,
14 pythonOlder,
15 pytz,
16 titlecase,
17 types-pytz,
18}:
19
20buildPythonPackage rec {
21 pname = "aioridwell";
22 version = "2025.09.0";
23 format = "pyproject";
24
25 disabled = pythonOlder "3.8";
26
27 src = fetchFromGitHub {
28 owner = "bachya";
29 repo = "aioridwell";
30 tag = version;
31 hash = "sha256-lZ4Hmf1OruKTUMkpPYhqkqj+j+yeckXynjxa1oOtXzc=";
32 };
33
34 nativeBuildInputs = [ poetry-core ];
35
36 propagatedBuildInputs = [
37 aiohttp
38 certifi
39 pyjwt
40 pytz
41 titlecase
42 ];
43
44 __darwinAllowLocalNetworking = true;
45
46 nativeCheckInputs = [
47 aresponses
48 freezegun
49 pytest-aiohttp
50 pytest-asyncio
51 pytestCheckHook
52 types-pytz
53 ];
54
55 disabledTests = [
56 # AssertionError: assert datetime.date(...
57 "test_get_next_pickup_event"
58 ];
59
60 disabledTestPaths = [
61 # Ignore the examples directory as the files are prefixed with test_
62 "examples/"
63 ];
64
65 pythonImportsCheck = [ "aioridwell" ];
66
67 meta = with lib; {
68 description = "Python library for interacting with Ridwell waste recycling";
69 homepage = "https://github.com/bachya/aioridwell";
70 changelog = "https://github.com/bachya/aioridwell/releases/tag/${version}";
71 license = with licenses; [ mit ];
72 maintainers = with maintainers; [ fab ];
73 };
74}