1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytest-asyncio,
6 pytest-httpserver,
7 pytestCheckHook,
8 pythonOlder,
9 pyyaml,
10 requests,
11 setuptools,
12 tomli,
13 tomli-w,
14 types-pyyaml,
15 types-toml,
16 urllib3,
17}:
18
19buildPythonPackage rec {
20 pname = "responses";
21 version = "0.25.7";
22 pyproject = true;
23
24 disabled = pythonOlder "3.8";
25
26 __darwinAllowLocalNetworking = true;
27
28 src = fetchFromGitHub {
29 owner = "getsentry";
30 repo = "responses";
31 tag = version;
32 hash = "sha256-eiJwu0sRtr3S4yAnbsIak7g03CNqOTS16rNXoXRQumA=";
33 };
34
35 nativeBuildInputs = [ setuptools ];
36
37 propagatedBuildInputs = [
38 pyyaml
39 requests
40 types-pyyaml
41 types-toml
42 urllib3
43 ];
44
45 nativeCheckInputs = [
46 pytest-asyncio
47 pytest-httpserver
48 pytestCheckHook
49 tomli-w
50 ]
51 ++ lib.optionals (pythonOlder "3.11") [ tomli ];
52
53 pythonImportsCheck = [ "responses" ];
54
55 meta = with lib; {
56 description = "Python module for mocking out the requests Python library";
57 homepage = "https://github.com/getsentry/responses";
58 changelog = "https://github.com/getsentry/responses/blob/${src.tag}/CHANGES";
59 license = licenses.asl20;
60 maintainers = with maintainers; [ fab ];
61 };
62}