1{ lib
2, aiohttp
3, aiohttp-jinja2
4, aiohttp-remotes
5, aiohttp-swagger
6, buildPythonPackage
7, clickclick
8, decorator
9, fetchFromGitHub
10, fetchpatch
11, flask
12, inflection
13, jsonschema
14, openapi-spec-validator
15, pytest-aiohttp
16, pytestCheckHook
17, pythonOlder
18, pyyaml
19, requests
20, swagger-ui-bundle
21, testfixtures
22}:
23
24buildPythonPackage rec {
25 pname = "connexion";
26 version = "2.9.0";
27 disabled = pythonOlder "3.6";
28
29 src = fetchFromGitHub {
30 owner = "zalando";
31 repo = pname;
32 rev = version;
33 sha256 = "13smcg2w24zr2sv1968g9p9m6f18nqx688c96qdlmldnszgzf5ik";
34 };
35
36 propagatedBuildInputs = [
37 aiohttp
38 aiohttp-jinja2
39 aiohttp-swagger
40 clickclick
41 flask
42 inflection
43 jsonschema
44 openapi-spec-validator
45 pyyaml
46 requests
47 swagger-ui-bundle
48 ];
49
50 checkInputs = [
51 aiohttp-remotes
52 decorator
53 pytest-aiohttp
54 pytestCheckHook
55 testfixtures
56 ];
57
58 patches = [
59 # No minor release for later versions, https://github.com/zalando/connexion/pull/1402
60 (fetchpatch {
61 name = "allow-later-flask-and-werkzeug-releases.patch";
62 url = "https://github.com/zalando/connexion/commit/4a225d554d915fca17829652b7cb8fe119e14b37.patch";
63 sha256 = "0dys6ymvicpqa3p8269m4yv6nfp58prq3fk1gcx1z61h9kv84g1k";
64 })
65 ];
66
67 pythonImportsCheck = [ "connexion" ];
68
69 meta = with lib; {
70 description = "Swagger/OpenAPI First framework on top of Flask";
71 homepage = "https://github.com/zalando/connexion/";
72 license = licenses.asl20;
73 maintainers = with maintainers; [ elohmeier ];
74 };
75}