1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonRelaxDepsHook,
6
7 # build-system
8 setuptools,
9
10 # dependencies
11 brotlicffi,
12 decorator,
13 flasgger,
14 flask,
15 greenlet,
16 six,
17 werkzeug,
18
19 # optional-dependencies
20 gunicorn,
21 gevent,
22
23 # tests
24 pytestCheckHook,
25}:
26
27buildPythonPackage rec {
28 pname = "httpbin";
29 version = "0.10.2";
30 format = "pyproject";
31
32 src = fetchPypi {
33 inherit pname version;
34 hash = "sha256-YyFIaYJhyGhOotK2JM3qhFtAKx/pFzbonfiGQIxjF6k=";
35 };
36
37 nativeBuildInputs = [
38 setuptools
39 pythonRelaxDepsHook
40 ];
41
42 pythonRelaxDeps = [ "greenlet" ];
43
44 propagatedBuildInputs = [
45 brotlicffi
46 decorator
47 flask
48 flasgger
49 greenlet
50 six
51 werkzeug
52 ];
53
54 passthru.optional-dependencies = {
55 mainapp = [
56 gunicorn
57 gevent
58 ];
59 };
60
61 nativeCheckInputs = [ pytestCheckHook ];
62
63 disabledTests = [
64 # Tests seems to be outdated
65 "test_anything"
66 "test_get"
67 "test_redirect_n_equals_to_1"
68 "test_redirect_n_higher_than_1"
69 "test_redirect_to_post"
70 "test_relative_redirect_n_equals_to_1"
71 "test_relative_redirect_n_higher_than_1"
72 ];
73
74 pythonImportsCheck = [ "httpbin" ];
75
76 meta = with lib; {
77 description = "HTTP Request and Response Service";
78 homepage = "https://github.com/psf/httpbin";
79 license = licenses.mit;
80 maintainers = with maintainers; [ ];
81 };
82}