1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, isodate
5, dictpath
6, openapi-spec-validator
7, openapi-schema-validator
8, six
9, lazy-object-proxy
10, attrs
11, werkzeug
12, parse
13, more-itertools
14, pytestCheckHook
15, falcon
16, flask
17, django
18, djangorestframework
19, responses
20, mock
21}:
22
23buildPythonPackage rec {
24 pname = "openapi-core";
25 version = "0.14.2";
26
27 src = fetchFromGitHub {
28 owner = "p1c2u";
29 repo = "openapi-core";
30 rev = version;
31 sha256 = "1npsibyf8zx6z230yl19kyap8g25kqvgm7z1w6rm6jxv58yqsp7r";
32 };
33
34 postPatch = ''
35 sed -i "/^addopts/d" setup.cfg
36 '';
37
38 propagatedBuildInputs = [
39 isodate
40 dictpath
41 openapi-spec-validator
42 openapi-schema-validator
43 six
44 lazy-object-proxy
45 attrs
46 werkzeug
47 parse
48 more-itertools
49 ];
50
51 checkInputs = [
52 pytestCheckHook
53 falcon
54 flask
55 django
56 djangorestframework
57 responses
58 mock
59 ];
60
61 disabledTestPaths = [
62 # AttributeError: 'str' object has no attribute '__name__'
63 "tests/integration/validation"
64 ];
65
66 disabledTests = [
67 # TypeError: Unexpected keyword arguments passed to pytest.raises: message
68 "test_string_format_invalid_value"
69 ];
70
71 pythonImportsCheck = [
72 "openapi_core"
73 "openapi_core.validation.request.validators"
74 "openapi_core.validation.response.validators"
75 ];
76
77 meta = with lib; {
78 description = "Client-side and server-side support for the OpenAPI Specification v3";
79 homepage = "https://github.com/p1c2u/openapi-core";
80 license = licenses.bsd3;
81 maintainers = with maintainers; [ dotlambda ];
82 };
83}