1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 setuptools,
7 # build inputs
8 jsonref,
9 jsonschema,
10 python-dateutil,
11 pyyaml,
12 requests,
13 simplejson,
14 six,
15 swagger-spec-validator,
16 pytz,
17 msgpack,
18 # check inputs
19 pytestCheckHook,
20 mock,
21}:
22
23buildPythonPackage rec {
24 pname = "bravado-core";
25 version = "6.6.1";
26 pyproject = true;
27
28 disabled = pythonOlder "3.7";
29
30 src = fetchFromGitHub {
31 owner = "Yelp";
32 repo = "bravado-core";
33 rev = "v${version}";
34 hash = "sha256-kyHmZNPl5lLKmm5i3TSi8Tfi96mQHqaiyBfceBJcOdw=";
35 };
36
37 nativeBuildInputs = [ setuptools ];
38
39 propagatedBuildInputs = [
40 jsonref
41 jsonschema # jsonschema[format-nongpl]
42 python-dateutil
43 pyyaml
44 requests
45 simplejson
46 six
47 swagger-spec-validator
48 pytz
49 msgpack
50 ]
51 ++ jsonschema.optional-dependencies.format-nongpl;
52
53 nativeCheckInputs = [ pytestCheckHook ];
54
55 checkInputs = [ mock ];
56
57 pythonImportsCheck = [ "bravado_core" ];
58
59 disabledTestPaths = [
60 # skip benchmarks
61 "tests/profiling"
62 # take too long to run
63 "tests/spec/Spec"
64 ];
65
66 meta = with lib; {
67 description = "Library for adding Swagger support to clients and servers";
68 homepage = "https://github.com/Yelp/bravado-core";
69 changelog = "https://github.com/Yelp/bravado-core/blob/v${version}/CHANGELOG.rst";
70 license = licenses.bsd3;
71 maintainers = with maintainers; [
72 vanschelven
73 nickcao
74 ];
75 };
76}