1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 importlib-metadata,
7 pytest-asyncio,
8 pytest-cov-stub,
9 pytestCheckHook,
10 pythonOlder,
11 toml,
12}:
13
14buildPythonPackage rec {
15 pname = "aiolimiter";
16 version = "1.2.1";
17 format = "pyproject";
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "mjpieters";
23 repo = "aiolimiter";
24 tag = "v${version}";
25 hash = "sha256-wgHR0GzaPXlhL4ErklFqmWNFO49dvd5X5MgyYHVH4Eo=";
26 };
27
28 nativeBuildInputs = [ poetry-core ];
29
30 propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
31
32 nativeCheckInputs = [
33 pytest-asyncio
34 pytest-cov-stub
35 pytestCheckHook
36 toml
37 ];
38
39 pythonImportsCheck = [ "aiolimiter" ];
40
41 meta = with lib; {
42 description = "Implementation of a rate limiter for asyncio";
43 homepage = "https://github.com/mjpieters/aiolimiter";
44 changelog = "https://github.com/mjpieters/aiolimiter/blob/v${version}/CHANGELOG.md";
45 license = with licenses; [ mit ];
46 maintainers = with maintainers; [ fab ];
47 };
48}