pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / development / python-modules / aiorecollect / default.nix
blob57a59497bbc62b822b94c8c1a1b37120551598aa
2   lib,
3   aiohttp,
4   aresponses,
5   buildPythonPackage,
6   fetchFromGitHub,
7   freezegun,
8   poetry-core,
9   pytest-asyncio,
10   pytestCheckHook,
11   pythonOlder,
14 buildPythonPackage rec {
15   pname = "aiorecollect";
16   version = "2023.12.0";
17   format = "pyproject";
19   disabled = pythonOlder "3.9";
21   src = fetchFromGitHub {
22     owner = "bachya";
23     repo = pname;
24     rev = "refs/tags/${version}";
25     hash = "sha256-Rj0+r7eERLY5VzmuDQH/TeVLfmvmKwPqcvd1b/To0Ts=";
26   };
28   postPatch = ''
29     # this is not used directly by the project
30     sed -i '/certifi =/d' pyproject.toml
31   '';
33   nativeBuildInputs = [ poetry-core ];
35   propagatedBuildInputs = [ aiohttp ];
37   __darwinAllowLocalNetworking = true;
39   nativeCheckInputs = [
40     aresponses
41     freezegun
42     pytest-asyncio
43     pytestCheckHook
44   ];
46   disabledTestPaths = [
47     # Ignore the examples directory as the files are prefixed with test_.
48     "examples/"
49   ];
51   pythonImportsCheck = [ "aiorecollect" ];
53   meta = with lib; {
54     description = "Python library for the Recollect Waste API";
55     longDescription = ''
56       aiorecollect is a Python asyncio-based library for the ReCollect
57       Waste API. It allows users to programmatically retrieve schedules
58       for waste removal in their area, including trash, recycling, compost
59       and more.
60     '';
61     homepage = "https://github.com/bachya/aiorecollect";
62     changelog = "https://github.com/bachya/aiorecollect/releases/tag/${version}";
63     license = with licenses; [ mit ];
64     maintainers = with maintainers; [ fab ];
65   };