1{ 2 lib, 3 aiohttp, 4 aioitertools, 5 buildPythonPackage, 6 django, 7 falcon, 8 fastapi, 9 fetchFromGitHub, 10 flask, 11 httpx, 12 isodate, 13 jsonschema, 14 jsonschema-path, 15 more-itertools, 16 multidict, 17 openapi-schema-validator, 18 openapi-spec-validator, 19 parse, 20 poetry-core, 21 pytest-aiohttp, 22 pytest-cov-stub, 23 pytestCheckHook, 24 responses, 25 requests, 26 starlette, 27 webob, 28 werkzeug, 29}: 30 31buildPythonPackage rec { 32 pname = "openapi-core"; 33 version = "0.19.5"; 34 pyproject = true; 35 36 src = fetchFromGitHub { 37 owner = "p1c2u"; 38 repo = "openapi-core"; 39 tag = version; 40 hash = "sha256-Q7Z6bq8TztNm2QLL7g23rOGnXVfiTDjquHAhcSWYlC4="; 41 }; 42 43 build-system = [ poetry-core ]; 44 45 pythonRelaxDeps = [ 46 "werkzeug" 47 ]; 48 49 dependencies = [ 50 isodate 51 more-itertools 52 parse 53 openapi-schema-validator 54 openapi-spec-validator 55 werkzeug 56 jsonschema-path 57 jsonschema 58 ]; 59 60 optional-dependencies = { 61 aiohttp = [ 62 aiohttp 63 multidict 64 ]; 65 django = [ django ]; 66 falcon = [ falcon ]; 67 fastapi = [ fastapi ]; 68 flask = [ flask ]; 69 requests = [ requests ]; 70 starlette = [ 71 aioitertools 72 starlette 73 ]; 74 }; 75 76 __darwinAllowLocalNetworking = true; 77 78 nativeCheckInputs = [ 79 httpx 80 pytest-aiohttp 81 pytest-cov-stub 82 pytestCheckHook 83 responses 84 webob 85 ] ++ lib.flatten (lib.attrValues optional-dependencies); 86 87 disabledTestPaths = [ 88 # Requires secrets and additional configuration 89 "tests/integration/contrib/django/" 90 ]; 91 92 pythonImportsCheck = [ 93 "openapi_core" 94 "openapi_core.validation.request.validators" 95 "openapi_core.validation.response.validators" 96 ]; 97 98 meta = with lib; { 99 changelog = "https://github.com/python-openapi/openapi-core/releases/tag/${version}"; 100 description = "Client-side and server-side support for the OpenAPI Specification v3"; 101 homepage = "https://github.com/python-openapi/openapi-core"; 102 license = licenses.bsd3; 103 maintainers = with maintainers; [ dotlambda ]; 104 }; 105}