1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 pyrate-limiter,
7 pytestCheckHook,
8 pythonOlder,
9 requests-mock,
10 requests,
11 requests-cache,
12}:
13
14buildPythonPackage rec {
15 pname = "requests-ratelimiter";
16 version = "0.7.0";
17 pyproject = true;
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "JWCook";
23 repo = "requests-ratelimiter";
24 tag = "v${version}";
25 hash = "sha256-DS4BzS8AD4axniyV6jVYXWZ6cQLvMPp8tdGoBhYu51o=";
26 };
27
28 build-system = [ poetry-core ];
29
30 dependencies = [
31 pyrate-limiter
32 requests
33 ];
34
35 nativeCheckInputs = [
36 pytestCheckHook
37 requests-cache
38 requests-mock
39 ];
40
41 pythonImportsCheck = [ "requests_ratelimiter" ];
42
43 meta = with lib; {
44 # https://github.com/JWCook/requests-ratelimiter/issues/78
45 broken = lib.versionAtLeast pyrate-limiter.version "3";
46 description = "Module for rate-limiting for requests";
47 homepage = "https://github.com/JWCook/requests-ratelimiter";
48 changelog = "https://github.com/JWCook/requests-ratelimiter/blob/${src.rev}/HISTORY.md";
49 license = licenses.mit;
50 maintainers = with maintainers; [ mbalatsko ];
51 };
52}