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 = pname;
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 ] ++ jsonschema.optional-dependencies.format-nongpl;
51
52 nativeCheckInputs = [ pytestCheckHook ];
53
54 checkInputs = [ mock ];
55
56 pythonImportsCheck = [ "bravado_core" ];
57
58 disabledTestPaths = [
59 # skip benchmarks
60 "tests/profiling"
61 # take too long to run
62 "tests/spec/Spec"
63 ];
64
65 meta = with lib; {
66 description = "Library for adding Swagger support to clients and servers";
67 homepage = "https://github.com/Yelp/bravado-core";
68 changelog = "https://github.com/Yelp/bravado-core/blob/v${version}/CHANGELOG.rst";
69 license = licenses.bsd3;
70 maintainers = with maintainers; [
71 vanschelven
72 nickcao
73 ];
74 };
75}