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