1{
2 buildPythonPackage,
3 fetchPypi,
4 lib,
5 pythonAtLeast,
6 flit-core,
7 marshmallow,
8 pytestCheckHook,
9 pytest-aiohttp,
10 webtest,
11 webtest-aiohttp,
12 flask,
13 django,
14 bottle,
15 tornado,
16 pyramid,
17 falcon,
18 aiohttp,
19 fetchpatch,
20}:
21
22buildPythonPackage rec {
23 pname = "webargs";
24 version = "8.7.0";
25 pyproject = true;
26
27 src = fetchPypi {
28 inherit pname version;
29 hash = "sha256-DGF97BntTx/2skfNc4VelJ2HBS1xkAk4tx8Mr9kvGRs=";
30 };
31
32 patches = [
33 (fetchpatch {
34 url = "https://github.com/marshmallow-code/webargs/commit/a6a5043ee34b0a22885b3625de6d4fdffc3b715b.patch";
35 hash = "sha256-EFe76SAklgmBjfM6K8PkB0vHMCSlZ9EKAW9AbnxKmPA=";
36 })
37 ];
38
39 build-system = [ flit-core ];
40
41 dependencies = [ marshmallow ];
42
43 nativeCheckInputs = [
44 pytestCheckHook
45 pytest-aiohttp
46 webtest
47 webtest-aiohttp
48 flask
49 django
50 bottle
51 tornado
52 pyramid
53 falcon
54 aiohttp
55 ];
56
57 pythonImportsCheck = [ "webargs" ];
58
59 meta = with lib; {
60 description = "Declarative parsing and validation of HTTP request objects, with built-in support for popular web frameworks";
61 homepage = "https://github.com/marshmallow-code/webargs";
62 license = licenses.mit;
63 maintainers = with maintainers; [ cript0nauta ];
64 };
65}