1{
2 lib,
3 aiohttp,
4 apispec,
5 buildPythonPackage,
6 fetchFromGitHub,
7 jinja2,
8 packaging,
9 pytest-aiohttp,
10 pytestCheckHook,
11 pythonOlder,
12 setuptools,
13 webargs,
14}:
15
16buildPythonPackage rec {
17 pname = "aiohttp-apispec";
18 version = "3.0.0b2";
19 pyproject = true;
20
21 disabled = pythonOlder "3.6";
22
23 src = fetchFromGitHub {
24 owner = "maximdanilchenko";
25 repo = "aiohttp-apispec";
26 tag = "v${version}";
27 hash = "sha256-C+/M25oCLTNGGEUj2EyXn3UjcvPvDYFmmUW8IOoF1uU=";
28 };
29
30 postPatch = ''
31 substituteInPlace tests/conftest.py \
32 --replace-fail 'aiohttp_app(loop,' 'aiohttp_app(event_loop,' \
33 --replace-fail 'return loop.run_until_complete' 'return event_loop.run_until_complete'
34 '';
35
36 build-system = [ setuptools ];
37
38 dependencies = [
39 aiohttp
40 apispec
41 jinja2
42 packaging
43 webargs
44 ];
45
46 nativeCheckInputs = [
47 pytest-aiohttp
48 pytestCheckHook
49 ];
50
51 pythonImportsCheck = [ "aiohttp_apispec" ];
52
53 meta = with lib; {
54 description = "Build and document REST APIs with aiohttp and apispec";
55 homepage = "https://github.com/maximdanilchenko/aiohttp-apispec/";
56 license = licenses.mit;
57 maintainers = [ ];
58 };
59}