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