1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4
5# build-system
6, poetry-core
7
8# propagates
9, aiofiles
10, blinker
11, click
12, hypercorn
13, importlib-metadata
14, itsdangerous
15, jinja2
16, markupsafe
17, pydata-sphinx-theme
18, python-dotenv
19, typing-extensions
20, werkzeug
21
22# tests
23, hypothesis
24, mock
25, py
26, pytest-asyncio
27, pytestCheckHook
28}:
29
30buildPythonPackage rec {
31 pname = "quart";
32 version = "0.18.4";
33 format = "pyproject";
34
35 src = fetchFromGitHub {
36 owner = "pallets";
37 repo = "quart";
38 rev = "refs/tags/${version}";
39 hash = "sha256-iT/pePUtH1hwNIOG8Y/YbqCVseNXVOKC0nrXfB2RTlQ=";
40 };
41
42 nativeBuildInputs = [
43 poetry-core
44 ];
45
46 postPatch = ''
47 substituteInPlace pyproject.toml \
48 --replace "--no-cov-on-fail " ""
49 '';
50
51 propagatedBuildInputs = [
52 aiofiles
53 blinker
54 click
55 hypercorn
56 importlib-metadata
57 itsdangerous
58 jinja2
59 markupsafe
60 pydata-sphinx-theme
61 python-dotenv
62 typing-extensions
63 werkzeug
64 ];
65
66 pythonImportsCheck = [
67 "quart"
68 ];
69
70 nativeCheckInputs = [
71 hypothesis
72 mock
73 py
74 pytest-asyncio
75 pytestCheckHook
76 ];
77
78 disabledTestPaths = [
79 # remove after 0.18.4
80 "tests/test_signals.py"
81 ];
82
83 meta = with lib; {
84 description = "An async Python micro framework for building web applications";
85 homepage = "https://github.com/pallets/quart/";
86 changelog = "https://github.com/pallets/quart/blob/${src.rev}/CHANGES.rst";
87 license = licenses.mit;
88 maintainers = with maintainers; [ hexa ];
89 };
90}